樹(shù)莓派還能這么玩?
大家好,我是小麥。
樹(shù)莓派,相信大家都有所耳聞,能做很多有趣的項(xiàng)目,今天給大家介紹一個(gè)基于樹(shù)莓派的手勢(shì)識(shí)別的項(xiàng)目。
最后會(huì)送五本書(shū)。
關(guān)于手勢(shì)感知手的形狀和運(yùn)動(dòng)的能力可能是改善跨各種技術(shù)領(lǐng)域和平臺(tái)的用戶體驗(yàn)的重要組成部分;
例如,可以通過(guò)對(duì)手部的動(dòng)作,伸出的手指數(shù)量以及手指變化的動(dòng)態(tài)來(lái)執(zhí)行某些特定的操作。
在樹(shù)莓派上可以通過(guò)GPIO控制外部設(shè)備來(lái)響應(yīng)這些特定操作,就實(shí)現(xiàn)了手勢(shì)互動(dòng),是一個(gè)非常酷的應(yīng)用。
MediaPipe Hands 是一種高解析度的手部和手指跟蹤解決方案。
它使用機(jī)器學(xué)習(xí) (ML) 從單幀中推斷出一只手的 21 個(gè) 3D 地標(biāo)(Landmarks)。
MediaPipe Hands 利用一個(gè)由多個(gè)模型組成的 ML 管道協(xié)同工作:一個(gè)手掌檢測(cè)模型,它對(duì)完整圖像進(jìn)行操作并返回一個(gè)定向的手部邊界框。
其中21個(gè)點(diǎn)可以將手部的每個(gè)關(guān)鍵點(diǎn)都表示出來(lái)。
我們舉個(gè)例子,假設(shè)我先要判斷食指的指頭尖在屏幕中的X,Y坐標(biāo)信息,那么我們就需要獲取landmark為8在屏幕中出現(xiàn)時(shí)所在的位置信息。
然后通過(guò)openCV的circle方法就可以繪制一個(gè)圈,在屏幕上判斷手指所在的位置就可以觸發(fā)一些靈異事件。
例如,手指滑向坐標(biāo)位置為:(10,20)到(20, 40) 這個(gè)區(qū)間的時(shí)候,我們觸發(fā)一個(gè)操作,在屏幕的圖像上疊加一個(gè)圖片或者文字。
就能實(shí)現(xiàn)一個(gè)很好玩兒的應(yīng)用了,大家可以開(kāi)開(kāi)腦洞,鬼屋逃生里面可以用到的應(yīng)用。哈哈!
渲染合成的手部圖像是不是感覺(jué)很清晰明了?
如何在樹(shù)莓派上安裝?1 下載燒錄系統(tǒng)并接入攝像頭這一步建議通過(guò)下載etcher工具和官方鏡像文件,燒錄完成。
燒錄軟件:https://etcher.io/
官方鏡像: https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-legacy
建議32bit的,因?yàn)?4bit的因?yàn)閙mal支持不好,導(dǎo)致樹(shù)莓派libcamera-lib不好用。
攝像頭安裝非常簡(jiǎn)單,參考下圖進(jìn)行安裝即可,兩側(cè)向上拔起卡銷(xiāo),然后插入FPC排線,然后按下卡銷(xiāo),注意保持水平和注意方向即可。
執(zhí)行命令:
sudo apt update sudo apt –y install vim virtualenv
執(zhí)行:
virtualenv –p python3 venv
篇幅原因,中間省略了一部分實(shí)現(xiàn)過(guò)程和示例代碼,后臺(tái)回復(fù)【手勢(shì)識(shí)別】即可獲取構(gòu)建實(shí)例的文檔;
手勢(shì)識(shí)別 1
手勢(shì)識(shí)別 2
本文內(nèi)容選自李偉斌老師的新書(shū)《樹(shù)莓派4與人工智能實(shí)戰(zhàn)項(xiàng)目》。
帶你深入了解樹(shù)莓派和人工智能的世界
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。