DIY窮人版谷歌眼鏡,自定義手勢操控,樹莓派再一次被開發新玩法
本文經AI新媒體量子位(公眾號ID:QbitAI)授權轉載,轉載請聯系出處。
通過帥氣的手勢,操控投影在眼前的電子成像,這不就是科幻片里的基礎配置嘛。
現在,有人把它從科幻電影中帶入了現實。動動手指,實現對眼前世界的掌控。
熱衷于制作智能小物件的油管博主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平臺,供感興趣的觀眾自己復刻。
參考鏈接:
https://www.tomshardware.com/news/raspberry-pi-smart-glasses-recognize-hand-gestures
https://www.youtube.com/watch?v=60Os5Iqdbsw
https://www.youtube.com/watch?v=Gu4oOYo38rQ
GitHub鏈接:
https://github.com/Teneppa/CameraStream
https://github.com/Teneppa/HandTrackingBrightnessControl