三行代碼實(shí)時(shí)追蹤你的手,只要有瀏覽器就夠了 | Demo·代碼
一位叫做Victor Dibia的程序猿說,“三行代碼”就能實(shí)時(shí)追蹤你的手,只要有個(gè)瀏覽器。
栗子 發(fā)自 凹非寺
量子位 報(bào)道 | 公眾號(hào) QbitAI
“Are You OK?”
“O!K!”
人臉不管做了多么一言難盡的表情,五官也不太會(huì)四處亂跑。
手就不一樣了,手勢(shì)百媚千嬌,鏡頭看到的畫面就百媚千嬌。
所以,AI怎么識(shí)別手呢?
一位叫做Victor Dibia的程序猿說,“三行代碼”就能實(shí)時(shí)追蹤你的手,只要有個(gè)瀏覽器。
你還可以用手在屏幕上涂鴉,成為實(shí)至名歸的靈魂畫“手”:
Victor說,只要召喚出他的Handtrack.js庫,模型便可以在網(wǎng)頁上跑起來。
他還提供了線上Demo給大家玩耍。
十魔亂舞
進(jìn)了Demo,按下開始檢測的按鈕,打開攝像頭,就可以放飛自我了。
在下的手不甚優(yōu)美,但還是忍不住亂舞了好一陣子。
手指自由揮舞,邊框就敏捷地跟隨。
除了隨性活動(dòng)手指之外,還嘗試了一下狼人夜間的戰(zhàn)術(shù)交流:
翻譯一下:你,起跳預(yù)言家,給8號(hào)發(fā)個(gè)查殺。
(作為一個(gè)菜雞玩家,通常夜里是輪不到我分配工作的,此處純屬借機(jī)過癮。)
書歸正傳,手勢(shì)頻繁變換,AI依然緊追不舍;
除了打叉叉的時(shí)候,只識(shí)別了一只手。也許是因?yàn)槭值膫?cè)面朝著屏幕,面積小,不容易識(shí)別吧。
如果你伸了兩只手,AI卻畫了三個(gè)邊框,可以調(diào)整一下左邊的滑動(dòng)條:
這是置信閾值 (Confidence Threshold) ,默認(rèn)0.7,分值高于0.7就會(huì)認(rèn)定是手,顯示出邊框;如果調(diào)高到0.8,那些得分0.7的疑似人手,就不會(huì)顯示邊框了。
除此之外,Demo也有涂鴉功能:
鑒于在下繪畫功力有限,略去動(dòng)態(tài)展示,大家可以自己去畫一波。
模型如何食用?
Handtrack.js庫,是程序猿用TensorFlow.js搭起來的。
里面的模型是用Egohands數(shù)據(jù)集養(yǎng)成,4800張人手的圖片,背景有室內(nèi)也有戶外。
有了它,就不用自己訓(xùn)練模型了。直接拿來用,方法有兩種:
第一種方法是在腳本標(biāo)簽 (Script Tag) 里,填上它的URL:
1<script src="https://cdn.jsdelivr.net/npm/handtrackjs/dist/handtrack.min.js"> </script>
把腳本標(biāo)簽添加到html頁面之后,就可以用handTrack變量來引出這個(gè)庫了:
1 const img = document.getElementById('img');
2 handTrack.load().then(model => {
3 model.detect(img).then(predictions => {
4 console.log('Predictions: ', predictions) // bbox predictions
5 });
6 });
上面這幾句代碼,是給手加了邊框。只要提交每一幀視頻,就可以追蹤里面的手了,不論是攝像頭實(shí)時(shí)拍攝的,還是已經(jīng)拍好的視頻。
第二種方法,是把這個(gè)庫當(dāng)做一個(gè)NPM包來安裝:
1 npm install --save handtrackjs
然后,從NPM導(dǎo)入就可以了。
Victor說,大家可以用這個(gè)方法,來開發(fā)自己喜歡的應(yīng)用。比如,做個(gè)游戲:
One More Thing
這個(gè)模型是訓(xùn)練好了。
但Victor說,也不是不讓大家訓(xùn)練。
還說,想自己養(yǎng)成一只實(shí)時(shí)手部追蹤模型的同學(xué)們,可以參照這個(gè)項(xiàng)目 (600星) :
https://github.com/victordibia/handtracking
最后,送你Handtrack.js庫的源代碼:
https://github.com/victordibia/handtrack.js
線上Demo傳送門:
https://victordibia.github.io/handtrack.js/
Egohands數(shù)據(jù)集:
EgoHands: A Dataset for Hands in Complex Egocentric Interactions
- 馬云正式卸任后,阿里巴巴開盤跌0.87%2019-09-10
- AI獨(dú)角獸云知聲,已完成一期科創(chuàng)板IPO輔導(dǎo)2019-10-17
- 亞馬遜在華拓展云計(jì)算團(tuán)隊(duì),挑戰(zhàn)阿里巴巴和騰訊2019-10-16
- IDC:今年上半年中國公有云服務(wù)市場規(guī)模達(dá)54.2億美元2019-11-07



