Mirru展示用Google MediaPipes手部追踪控制藍牙假手
- [新浪VR]Mirru是一個正在開發中的開源Android應用,其可通過手部追踪技術來幫助用戶控制機器假手。利用這個免費的工具,你可以立即將各種手部動作映射到機器人假手(可以以低成本進行3D打印和組裝)。團隊表示:“我們希望提供一種廉價、直觀、開放的端到端解決方案來替代當前昂貴且繁瑣的專有技術。”......
Mirru是一個正在開發中的開源Android應用,其可通過手部追踪技術來幫助用戶控制機器假手。利用這個免費的工具,你可以立即將各種手部動作映射到機器人假手(可以以低成本進行3D打印和組裝)。團隊表示:“我們希望提供一種廉價、直觀、開放的端到端解決方案來替代當前昂貴且繁瑣的專有技術。”
Mirru團隊由位於巴黎的獨立設計師與技術專家維奧萊塔·洛佩茲(Violeta López)和弗拉基米爾·赫爾曼德(Vladimir Hermand)組成。為了啟動這個項目,團隊參加了Tweag的Open Source Fellowship項目,從而獲得相關的資金、指導和數據工程專業知識。
相關的Fellowship項目為期三個月,而團隊的目標是開發一個利用計算機視覺技術來控制藍牙假手的初始版Android應用,然後在Google Play商店免費提供。在MediaPipe的幫助下,團隊快速地原型化所述應用程序,因為其不必構建自己的機器學模型(沒有資源或訓練數據)。
1。為什麼使用手部追踪?
利用能夠用於手部追踪的前置攝像頭和智能手機,這可以帶來一種全新的、經濟實惠的的多功用假肢控制方式。
假設我是一名左手截肢者,並擁有一個機器假肢。我每天都需要假肢來執行不同的夾點操作。例如,我需要假肢擺出捏指姿態來拾取小物品,或者擺出半握拳狀來拾取水果或杯子之類的物品。我可以通過肌電肌肉傳感器來改變和執行相應的夾點模式,例如,通過彎曲和放鬆上肢肌肉來打開和關閉操作模式。這種肌電肌肉傳感器是身體和假體之間的主要接口。
然而,這並不像看上去那麼容易。控制肌電傳感器需要耗費大量的時間以慣和掌握,而且很多人從來沒有這樣做過。醫生為你安裝傳感器同樣價格不菲,尤其是對於發展中國家或沒有醫療保險的人士。最後,目前大多數設備的夾點數量限制在10個以下,只有少數型號提供了創建自定義夾點的方法,但通常非常麻煩。
Mirru提供了一個替代接口。只需使用幾乎人人都擁有的智能手機,你就可以實時將手部動作映射到假肢,並以直觀的方式與其通信。這同時允許用戶能夠快速編程無限量的假手夾點。目前,Mirru不涉及肌電圖,因為可靠的肌肉傳感器價格昂貴。編程的夾點需要通過Android手機觸發。所以,這個應用程序的第一版更適合諸如掃地、看書、或者拿杯子或購物袋這樣的活動。在未來,團隊希望將肌電傳感器與手部追踪相結合。
用Mirru應用程序編程一個夾點如下面的GIF動圖所示:假設我想用機械假手抓住一個物品,我需要將假肢放到所述物品前面,然後另一隻真手在Android手機前面擺出相應的動作。這時,Mirru會將這個動作實時映射到假肢。然後,我可以鎖定假肢鎖,並解放我的真手。最後,我可以保存這個夾點供日後使用,並將其添加到我的夾點庫中。
2。Brunel Hand和Mirru Arduino Sketch
為了實現幫助盡可能多的人能夠打印、組裝和控制自己的假肢,團隊設計了Mirru這個android應用,並用於操作通過支持藍牙型Arduino板和伺服電機進行控制的機器假手。
在項目中,團隊3D打印並組裝了一個由Open Bionics製造的開源機械手Brunel。首先,團隊3D打印了CC Attribution-Sharealike 4.0 International License許可下的3D打印文檔,然後購買了必要的伺服系統、彈簧和螺絲來裝配假手。這只假肢的成本大約為500歐元。
Brunel Hand配備了基於肌電的固件和由Open Bionics開發的PCB板,但由於它只有4個伺服電機,你可以使用任何微控制器。團隊最終使用Adafruit ESP32來實現藍牙功能,並創建了一個Arduino Sketch供用戶自行下載、定制和上傳。然後,你可以下載Mirru應用程序,並將其用作3D打印假手的控制界面。
3。用MediaPipe進行手部追踪
業內有一系列的手部追踪計算機視覺解決方案可用於這個項目,但團隊需要一個快速的,開源的解決方案,不需要自行訓練模型,並能夠可靠地用於便攜式設備,如智能手機。
MediaPipe為手部追踪提供了出色的開箱即用支持,由於團隊沒有可用的訓練數據或資源從零開始創建模型,所以它非常適合這個項目。團隊能夠輕鬆地構建Android示例應用。更好的是,團隊不需要對現成的手部追踪模型進行任何調整,因為hand landmark模型為原型提供了所有必要的輸出。
當對真實用戶測試假肢時,許多人都對這款應用能夠以如此快速地映射手部動作感到印象深刻。
4。將3D MediaPipe轉化成機器假手的輸入
為了實現Mirru應用程序的目標,團隊需要使用手部追踪來實時地,獨立地控制Brunel Hand的每個手指。對於這個假肢,食指、中指和無名指通過伺服裝置驅動,而後者以0到180度的角度移動;0表示手指完全豎直,180表示手指完全向下彎曲。由於缺乏足夠的訓練數據,團隊無法從零開始創建一個模型來為計算所述地伺服角度,所以洛佩茲和赫爾曼德選擇使用一種啟發式方法,將默認的landmark輸出與原型所需的硬件輸入相關聯。
團隊一開始不確定3D landmark中的估計深度(Z)坐標是否足夠精確並用以轉換輸入,或者它是否僅限於2D。作為第一步,團隊記錄了一個示例數據集,並在Jupyter Notebook用Plotly實現了點的可視化。考慮到這項技術只使用一個攝像頭,沒有任何深度傳感器,坐標的質量和精度立刻給團隊留下了深刻的印象。正如MediaPipe文檔中提到地一樣,Z坐標與X/Y坐標的比例略有不同,但這似乎並沒有對原型構成重大挑戰。
考慮到3D landmark的準確性,團隊選擇3D計算以將landmark輸出與假肢所需的輸入相關聯。在相關的方法中,團隊計算手指方向和手掌定義的平面法線之間的角度,從而計算手指相對於手掌的銳角。角度為0度對應於手指的最大閉合度,角度為180度表示手指完全伸出。可以通過計算從手指底部的landmark到指尖的landmark的向量來計算手指的方向。
團隊通過選擇手掌平面的三個點來計算手掌法線。使用Landmark 0作為參考點,團隊計算邊1和邊2的向量,併計算向量的叉積以得到手掌法線。最後計算手指方向與手掌法線的夾角。它以弧度為單位返回用於計算度數的角度。
團隊必須進行額外的處理來匹配假手拇指的自由度。拇指的運動方式比其他手指更複雜。為了允許應用程序使用拇指,團隊對拇指方向和手掌法線進行了類似的計算,但使用了不同的landmark。
一旦在Android手機計算了伺服角度,團隊就可以通過藍牙將相關值發送到Arduino板,Arduino板將伺服移動到正確的位置。由於模型輸出中存在一定的噪點,團隊在管道中添加了一個平滑步驟。這一步驟非常重要,因為機器手指的運動就不會過於抖動而無法精確抓握。
5。總結
Mirru應用程序和Mirru Arduino Sketch的設計是為了幫助任何人用自己的真手和Android手機來控制一個開源的假肢。這是一個新穎和低成本的肌肉傳感方案替代品。另外,MediaPipe已經證明它是實現手部追踪組件的正確工具。Mirru團隊能夠快速開始使用MediaPipe的現成解決方案,無需收集任何訓練數據或從零開始設計模型。從追踪點到機械手的實時轉換速度特別快,這讓Mirru的用戶感到非常興奮,並為假肢的未來開闢了眾多可能性。
至於Mirru應用程序的當前狀態,團隊尚未實現記錄和保存序列長於靜態夾點位置的移動手勢。例如,記錄手指彈奏鋼琴的連串動作。但團隊表示,假肢的未來存在眾多等待挖掘的可能性。
對於將MediaPipe手部追踪功能與現有肌電假肢相結合的潛力,團隊感到非常興奮,因為這將為實時創建和保存定制假肢夾點提供強大而先進的方法。另外,在MediaPipe的幫助下,團隊能夠提供一種開源的專有假肢替代方法,無需使用肌電傳感器,無需拜訪假肢醫生,而且成本要比市場中的已有方案要低得多,同時源代碼可以由其他開發者定制和構建。團隊非常期待開源社區的其他想法,以及手部追踪技術能給假肢用戶和製造商帶來什麼。
Source: 新浪VR
Website: Original URL
藍牙,Google,Media,設計,專業
Previous New Non-Profit Honors Local Man, Makes Races Accessible to Disabled Athletes Next An incredible gift : Students invent wheelchair stroller for teacher's husband