透過帥氣的手勢,操控投影在眼前的電子成像,這基本上是科幻片裡的標準配置。
現在,有人把它從科幻電影中帶入了現實。動動手指,實現對眼前世界的掌控。
熱衷於製作智慧型小物件的Youtube Teemu Laurila,利用樹莓派DIY了一副可辨識自訂手勢的AR眼鏡。
將自己想設置的手勢錄入裝置,即可做到炫酷操作。
不知道能不能這樣做?
自製AR眼鏡中的世界
捏住手指上下拉,就可以完成調整亮度指令。(這是你的第一人稱視角)
對手勢辨識,疊加顯示在鏡頭成像中。
再來一個更直觀點的視角,透過眼鏡看看效果。
DIY過程
AR眼鏡本身就充滿了科技感,讓現實世界充滿賽博龐克的味道。 那不如更炫酷一點。打個響指,就能執行行命令? 想做到這點首先需要設計出裝置會包含有哪些部分。
除了本體眼鏡框架,硬體部分還包括了透鏡組,0.6 mm PETG投影鏡片,配件部分由聚乳酸材料3D列印製成。 畢竟它是智慧裝置的DIY,樹莓派是一定要出場的。而軟體部分,手勢辨識程式依賴於python開源項目MediaPipe。
除此之外,Teemu Laurila還寫了兩個程式腳本。
一個是透過捏手指控制亮度的應用示例,另一個是捕獲即時影片中的手勢傳送到電腦進行處理,並透過智慧型眼鏡疊加顯示。
條件都齊了,那麼動手組裝起來試試
經歷多次調整,各部分零件最終組合成如下裝置。
想讓程式在裝置上可用,首先,需要一個樹莓派支援這些程式運作。隨後設置好記憶體、驅動程式、運行環境、多媒體介面、網路等條件,讓整個裝置超頻運作。 硬體軟體環境都準備好以後,再調整應用程式。
應用程式功能的核心——手勢辨識模型由3個框架組成,包括手掌辨識模型BlazePalm(用於辨識手的整體框架和方向)、Landmark模型(辨識立體手部節點)、手勢辨識模型(將辨識到的節點分類成一系列手勢)。
辨識演算法的訓練過程中,BlazePalm模型辨識手掌初始位置,對行動端的即時辨識進行最佳化。
在BlazePalm辨識到的手掌範圍內,Landmark模型辨識其中21個立體節點座標。
手勢辨識模型則在此基礎上,根據關節角度辨識每根手指狀態,將狀態映射到預定義的手勢上,預測基礎靜態手勢。
透過樹莓派Zero W,捕手勢資訊,再把圖像資訊傳輸到電腦中,由手勢辨識AI進行處理。之後再回傳給裝置,發出對應的手勢命令,並同步在投影圖像中。
它的前世今生
有攝像鏡頭,有微型投影儀,還有電腦處理器,同時還是單側投影顯示。這樣的AR眼鏡好像在哪裡見過。
沒錯,就連用到的手勢辨識程式碼也都是谷歌開源的。
雖然沒有谷歌智慧型眼鏡類似智慧型手機的功能,但是相比其語音控制和觸控功能,Teemu Laurila的智慧型眼鏡選擇了使用自訂手勢觸發命令,更多一分黑科技的味道。
另外,谷歌眼鏡攝影鏡頭只用來拍照錄影,Teemu Laurila的攝影鏡頭還承擔了接受手勢指令、傳達指令功能。同時,投影也選擇了更大尺寸的方形鏡片,方便視野觀察。
這款裝置已經是Teemu Laurila完成的第二版智慧型眼鏡,在外觀和性能上均有最佳化。
材料的選擇上,採用了0.6mm厚度投影鏡片替代1mm厚度;以聚乳酸材料代替丙烯酸;增加了螺栓固定支架,放棄使用膠水。
最重要的最佳化是,照相機使用方形透鏡讓畫面更清晰。
Teemu Laurila將自己補充的兩段程式碼,分享在了GitHub平台,供感興趣的觀眾自己複刻。
資料來源:
- Raspberry Pi Smart Glasses Recognize Hand Gestures with AI
- https://www.youtube.com/watch?v=60Os5Iqdbsw
- https://www.youtube.com/watch?v=Gu4oOYo38rQ
GitHub連結
加入電腦王Facebook粉絲團