魔法一樣隔空在屏幕寫(xiě)字,捏起手指就能實(shí)現(xiàn)!
本文經(jīng)AI新媒體量子位(公眾號(hào)ID:QbitAI)授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)聯(lián)系出處。
空中畫(huà)符的中二技能,誰(shuí)不想擁有呢?
不如捏一只萬(wàn)能的AI來(lái)當(dāng)魔法畫(huà)筆吧。
這是一個(gè)用來(lái)寫(xiě)寫(xiě)畫(huà)畫(huà)的手部跟蹤程序,開(kāi)發(fā)者將它命名為YoHa(Your Hand Tracking)。
這個(gè)程序基于TensorFlow.js實(shí)現(xiàn)了實(shí)時(shí)識(shí)別功能,能達(dá)到不卡頓、無(wú)延遲的效果。
捏起手指就可以變成畫(huà)筆,清空畫(huà)布也只需握拳就能辦到。

用YoHa給自己畫(huà)特效的效果這么好,難怪可以獲得555顆星。
這只AI怎么玩?
這款手勢(shì)識(shí)別程序已經(jīng)開(kāi)源,開(kāi)發(fā)者Benjamin大方地提供給了所有人使用“魔法”的機(jī)會(huì)。
既可以安裝在自己的電腦上來(lái)玩,一行代碼就能輕松實(shí)現(xiàn)。
npm install @handtracking.io/yoha
也可以在線(xiàn)試玩,直接用網(wǎng)頁(yè)下載模型寫(xiě)寫(xiě)畫(huà)畫(huà)。

雖然YoHa目前只能對(duì)捏手指和握拳兩個(gè)指令動(dòng)作做出功能響應(yīng),但是因?yàn)橛蠺ensorFlow.js加持,它的性能可一點(diǎn)都不低。
21個(gè)手部關(guān)節(jié)定位,左右手方向檢測(cè),手部姿勢(shì)檢測(cè)等都可以實(shí)時(shí)實(shí)現(xiàn)。

來(lái)看看“買(mǎi)家秀”是不是也一樣秀。

原來(lái)成為不了法師只是因?yàn)榉漠?huà)太丑
如此好玩的AI背后,究竟是什么原理呢?
YoHa模型使用TensorFlow.js深度學(xué)習(xí)框架來(lái)進(jìn)行從頭訓(xùn)練,開(kāi)發(fā)過(guò)程包含了訓(xùn)練步驟和推理步驟兩大部分。
它的模型訓(xùn)練階段利用了自定義神經(jīng)網(wǎng)絡(luò),以自定義數(shù)據(jù)集作為訓(xùn)練數(shù)據(jù),而在線(xiàn)實(shí)時(shí)推理則用到了TensorFlow.js推理框架。
不過(guò),因?yàn)門(mén)ensorFlow.js規(guī)模的限制,比起電腦,YoHa在移動(dòng)設(shè)備上的表現(xiàn)較差。
另外,YoHa的本地運(yùn)行速度也比在線(xiàn)試玩快很多,果然馴服AI還是得先帶回家里養(yǎng)。
手勢(shì)識(shí)別有什么用?
YoHa的開(kāi)發(fā)者Benjamin提到,制作這個(gè)項(xiàng)目一開(kāi)始是為了增加網(wǎng)絡(luò)的互動(dòng)性:
“現(xiàn)有的解決方案沒(méi)有我想要的,所以我給自己創(chuàng)建了新的解決方案”
不愧是動(dòng)手能力強(qiáng)的大佬,沒(méi)有自己想要的,那就自己造一個(gè)。
手勢(shì)識(shí)別這么火,干脆多開(kāi)發(fā)一些玩法,添加更豐富的功能讓VR/AR更好玩。
針對(duì)之前提到的YoHa性能缺陷,Benjamin也給玩家提供了高性能備選方案:通用手勢(shì)識(shí)別模型MediaPipe。
如果高端玩家對(duì)性能有更高追求,可以在這個(gè)經(jīng)典模型基礎(chǔ)上進(jìn)行功能擴(kuò)展。
比如不久前以MediaPipe為基礎(chǔ)開(kāi)發(fā)的類(lèi)似項(xiàng)目air-drawing,在玩法上和YoHa稍有不同。

感興趣的話(huà),自己去馴服一只AI來(lái)寫(xiě)字畫(huà)畫(huà)吧。
GitHub地址:
https://github.com/handtracking-io/yoha
試玩地址:
https://handtracking.io/draw_demo/
https://loicmagne.github.io/air-drawing/