1. 程式人生 > 資訊 >DIY 窮人版谷歌眼鏡,自定義手勢操控,樹莓派再一次被開發新玩法

DIY 窮人版谷歌眼鏡,自定義手勢操控,樹莓派再一次被開發新玩法

通過帥氣的手勢,操控投影在眼前的電子成像,這不就是科幻片裡的基礎配置嘛。

現在,有人把它從科幻電影中帶入了現實。動動手指,實現對眼前世界的掌控。

熱衷於製作智慧小物件的油管博主 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 平臺,供感興趣的觀眾自己復刻。