菜鳥程序員開發(fā)系統(tǒng)識別火影手勢,收獲大把二次元粉絲
日漫看多了,連程序猿也被煽動得中二起來。
可能是很多人的第一部中二動漫,什么影分身之術、螺旋丸、通靈術等這些手勢被我們玩了又玩,永遠都玩不膩。畢竟,“沒有什么敵人是螺旋丸解決不了的,如果一個不行,那就再搓一個”。
但是,手勢太多也容易搞混。這不,一位初學深度學習一年的印度小哥AngryCoder不僅把里面的手勢學了個遍,還用機器學習開發(fā)了一個系統(tǒng),專門來識別這些手勢。
畫風大概就是這樣:
在YouTube上,這個項目也受到了大家的追捧,網(wǎng)友們都贊不絕口:兄弟這也太棒了吧,我老是認不出新的手勢,有它就好了!
同樣作為資深阿宅的文摘菌怎么能錯過這個寶藏項目呢?文摘菌扒了一下這個項目和神秘的AngryCoder小哥,疫情期間,來一起回憶這部神動漫,重新點燃中二之魂吧!
二次元的深度學習,中二患者狂加buff!
其實,AngryCoder大概一年前才開始接觸深度學習,他表示從逐漸接觸到熟練掌握神經(jīng)網(wǎng)絡的過程中,就被萬能的神經(jīng)網(wǎng)絡深深地折服了。
不過,這時小哥也遇到了瓶頸,他表示,越往后就越不知道自己能夠利用這項技術為這個世界做點什么。(這熟悉的日漫男主內(nèi)心活動)
靈光一閃,小哥決定還是回到自己的二次元世界,順便把自己對刷了好幾遍的成果用上。
熟悉的小伙伴都知道,里面的每個手勢都有不同的作用,比如文摘菌最喜歡的影分身之術,當按照結(jié)印順序做出手勢后,就可以創(chuàng)造出和你一樣的身體。
但是,各種功能和修煉等級配合不同的手勢,很難全部記下來,在艱難抉擇之下,小哥最后選擇了下圖的這些手勢進行識別:
小哥沒有選擇從零搭建神經(jīng)網(wǎng)絡,而是利用了深度學習庫Keras訓練了一個卷積神經(jīng)系統(tǒng),用來進行物體識別。他表示,從頭開始訓練雖然酷,但是真的太!難!了!
小哥接下來也在視頻中向大家解釋了識別系統(tǒng)背后的原理。
首先,你需要觀看不下五遍,把所有的手勢和咒語,最好連“輸出全靠吼”的技能全都記好筆記,每天認真復習。
然后就到了真正面對敵人的時候了,當你準確做出上述手勢之一,系統(tǒng)會將你的手勢進行識別,將其轉(zhuǎn)化成1和0的計算機語言,再將其送入訓練好的模型中進行識別,就可以得出最后的結(jié)果了。
以下圖為例,系統(tǒng)識別到,該手勢有80%的可能是Ram,10%的可能是Bird,10%的可能是Dragon。
最后,也獲得了這樣的效果:
可以看到,系統(tǒng)準確地識別出了“dog”的手勢,也能在無手勢時顯示“no sign”字樣。
最后,對于那些連第一步都做不到的假粉,小哥也送上了貼心小禮物(此時需要配上程序猿的笑聲):
菜鳥阿宅程序猿勇闖三次元:現(xiàn)實太殘酷
看了AngryCoder的視頻,文摘菌深感這個小哥肯定也是個深陷二次元的有趣靈魂。
從YouTube主頁上初步判斷,小哥正式“營業(yè)”時間不超過一年,除了手勢識別外,小哥還用Python玩了一把谷歌的Dino,還嘗試用自己的聲音刪除電子郵件???這病得不輕啊。
在這些項目中,除了識別火影手勢,小哥在4周前也用機器學習做了家居物體的識別,我們先來看幾個成功的例子,可以看到,不管是單個牙刷的識別,還是杯子、桌子多個物體識別都不在話下。
接下來,我們來看看失敗的例子,比如在電風扇面前,系統(tǒng)給出了“toilet 67%”的結(jié)果,這時小哥也忍不住了,在視頻下方直接開罵。
在被小哥寄予厚望的抱枕識別上,系統(tǒng)也只是給出了“tie 68%”的結(jié)果。
三次元的世界太殘酷了,還是乖乖躲回自己的二次元好了!
最后,可能也是想集二次元程序猿之力,小哥在YouTube下方留下了Discord群聊邀請鏈接,感興趣的朋友可一定不要錯過了,就是手機驗證、郵箱驗證、證明你不是機器人這一系列操作令人窒息。