日(rì)漫看多了,连程序猿(yuán)也被煽动得中二起来。
《火(huǒ)影忍者》可能是很多人的第一部中(zhōng)二动漫,什么影分身之术、螺旋丸、通(tōng)灵术等这些手势被我们玩了又玩,永(yǒng)远都玩不(bú)会腻。毕竟(jìng),“没有什么(me)敌人是螺旋丸(wán)解决不了(le)的,如果一(yī)个不(bú)行,那(nà)就(jiù)再(zài)搓一个”。
但是,手势太多也容易搞混。这不,一位(wèi)初(chū)学(xué)深度学(xué)习一年的印度(dù)小哥(gē)AngryCoder不仅把《火(huǒ)影忍者》里面的手势学了个遍,还用机器学习开发了一个系统,专(zhuān)门来识别(bié)这些手势。
画风大概就(jiù)是这样:
在YouTube上,这个项目也受到了(le)大家(jiā)的追捧,网友们都赞不绝口:兄弟这也太棒了吧,我老是认不出新的(de)手势,有它就好了!
同样作为资深阿宅的文摘(zhāi)菌怎(zěn)么能(néng)错过这个宝藏项(xiàng)目呢?文摘菌扒了一下(xià)这个(gè)项目和神(shén)秘的(de)AngryCoder小(xiǎo)哥,疫情期间(jiān),来一起回忆这部神动(dòng)漫(màn),重新点燃中二(èr)之(zhī)魂吧!
二次元的深度学习,中(zhōng)二患者狂(kuáng)加buff!
其实,AngryCoder大概一年前才开(kāi)始接触深(shēn)度(dù)学习,他表示从逐渐接触到熟练掌(zhǎng)握神经网络的(de)过程中(zhōng),就被(bèi)万能的(de)神经网络深深地折服了。
不(bú)过,这时小哥也遇到(dào)了瓶颈(jǐng),他(tā)表示,越往(wǎng)后(hòu)就越不知道自己能够利用这项技术为(wéi)这个世界(jiè)做点什么。(这熟悉的日漫男主内心活动(dòng))
灵(líng)光(guāng)一闪,小哥决定还是回到自己的二次元世界,顺便把自(zì)己对《火影忍者》刷了好几遍的成果(guǒ)用上。
熟悉《火影忍者》的小伙伴都知(zhī)道,《火(huǒ)影忍者》里面的每个手(shǒu)势都有(yǒu)不同的(de)作用,比如文摘菌最喜欢(huān)的影分(fèn)身之(zhī)术,当按照(zhào)结印顺序做出手势(shì)后,就可以创造出和你一样的(de)身体。
但(dàn)是,各种(zhǒng)功能(néng)和修炼等级配合不同的手势,很(hěn)难全(quán)部记下来,在艰难抉择之(zhī)下,小哥最后选择了下图(tú)的这些手势进行识(shí)别:
小哥没有选择从零搭(dā)建(jiàn)神经网络(luò),而是利(lì)用了深度学(xué)习库Keras训练了一个卷积神经系统,用来进行(háng)物体识别。他(tā)表示,从头(tóu)开(kāi)始训练虽(suī)然酷,但(dàn)是真的太!难!了(le)!
小哥接(jiē)下来也在(zài)视频(pín)中(zhōng)向大(dà)家解释了(le)识(shí)别系统背后的原理(lǐ)。
首先,你(nǐ)需要观看《火影忍(rěn)者》不下五遍,把所有的手势和咒语,最好连“输出全靠吼”的技能全都记好笔记,每天认真复习。
然后就到(dào)了真正面对敌人的(de)时候了,当你准(zhǔn)确做出上(shàng)述手(shǒu)势之一(yī),系统会将你的手势进行(háng)识别,将其转化成1和0的计算机语言(yán),再将其送入训练(liàn)好的模型中进行识(shí)别,就(jiù)可以(yǐ)得出最后的结果了。
以下图为例,系统识别到,该手势有80%的可能是Ram,10%的可能是Bird,10%的可能是Dragon。
最(zuì)后,也获得了(le)这(zhè)样的效果:
可以(yǐ)看到,系统准确(què)地识别出(chū)了(le)“dog”的手(shǒu)势,也能(néng)在无手势时显(xiǎn)示(shì)“no sign”字样。
最后,对于那些连第一步都做不到的《火影(yǐng)忍者》假粉,小哥也送上了贴心小礼物(此时需要配上程序猿的笑声):
菜(cài)鸟阿宅程序猿勇闯三次元:现实太(tài)残酷
看了AngryCoder的视频(pín),文摘菌深感(gǎn)这个小哥肯(kěn)定也是个深陷二次元的有趣灵魂。
从YouTube主页上初步判断(duàn),小哥正(zhèng)式(shì)“营业”时(shí)间不超过(guò)一年,除了《火影忍者(zhě)》手势识别外,小哥还用Python玩了一把谷(gǔ)歌的Dino,还尝试用自(zì)己的声音删除电子邮件???这病得不轻啊。
在这些项目中(zhōng),除了识别火影(yǐng)手势,小哥在4周前也用机器学(xué)习做了家(jiā)居物体(tǐ)的识别,我们(men)先来看几个成功的例子,可以看到,不管是(shì)单个(gè)牙(yá)刷的识别(bié),还是杯子、桌(zhuō)子(zǐ)多个物(wù)体识别都(dōu)不在话下。
接下来,我们(men)来看看失败的(de)例子,比如在电风扇(shàn)面前,系统给出了“toilet 67%”的结果(guǒ),这时小哥也(yě)忍不住了,在视频下方直接(jiē)开骂。
在(zài)被小哥寄予厚望的抱枕识别上,系统也只是给出了“tie 68%”的结果。
三次元(yuán)的世界太残酷了,还是乖乖躲回自己的二次元(yuán)好了!
最后,可(kě)能(néng)也是(shì)想集(jí)二次元程序(xù)猿之力,小(xiǎo)哥在YouTube下方留下(xià)了Discord群(qún)聊(liáo)邀(yāo)请链接,感(gǎn)兴趣的朋友(yǒu)可一定不要错过了,就是(shì)手机验证、邮箱验证、证明你不是机器人这一系列操作令人窒息。