2019年8月28日 星期三

.谷歌開源「 AI 手勢辨識」算法

Google is Designing An Advanced Hand Gesture Recognition Sensor


源:科技行者



谷歌公司的科學家們研究出一種新的電腦視覺方法,用於實現手部感知。該方案能夠在實機實驗中,僅憑一幀圖像辨識出一隻手(或者多只手)上的 21 個 3D 點位。只要在手機上就能進行即時追蹤,並且還能同時追蹤多只手,可辨識遮擋。

即時手形與動作跟蹤方案,一直是手語辨識與手勢控制系統中,最為核心的組成部分,同時在部分增加現實體驗中,也扮演著重要角色。然而,現有技術往往因為遮擋,或者缺乏對比模式等問題的困擾,無法提供理想的可靠性。

面對這一現實挑戰,谷歌公司的科學家們研究出一種新的電腦視覺方法,用於實現手部感知。作為幕後推手,機器學習技術為提供了強大助力。根據介紹,該方案能夠在實機實驗中僅憑一幀圖像辨識出一隻手(或者多只手)上的 21 個 3D 點位。與目前市面的手勢辨識技術相比,谷歌的全新技術,不需要依賴桌上型電腦來計算,只要在手機上就能進行即時追蹤,並且還能同時追蹤多只手,可辨識遮擋。

谷歌开源「AI手势识别」算法

早在今年6月,谷歌就在 2019 電腦視覺與模式辨識大會上,公佈了此項技術的預覽版本。2月之後,谷歌於美國時間8月20日正式宣佈,將該技術整合於引入 MediaPipe 當中。

MediaPipe 是一套開源跨平台框架,用於建構多模應用機器學習流水線,可以處理不同模態(例如視訊與音訊)中的感知數據。該項目的源代碼,以及端到端使用場景,目前都已經在 GitHub 上全面公開。

谷歌开源「AI手势识别」算法

研究工程師Valentin Bazarevsky和Fan Zhang在博文他們的當中寫道:「感知手部形狀與運動姿態的能力,有望成為改善各類技術表現,及平台用戶體驗的重要助力。

我們希望將這種手部感知功能,交付至更為廣泛的研究與開發社區處,利用大家的力量,共同促進創新用例的出現,刺激新的應用方式,並開拓出前所未有的研究途徑。」

據瞭解,谷歌的這一技術包含三套串聯工作的AI模型:一個手掌探測模型(BlazePalm)用於分析框體,並返回手部動作邊框;一個手部標記模型(Landmark),用於查看由手掌探測器定義的裁剪後圖像區域,並返回 3D 位點;一個手勢辨識模型,用於將之前計算得出的位點,歸類為一組手勢。

BlazePalm:手部辨識絕不像聽起來那麼簡單。GlazePalm必須能夠解決手部遮擋,這一現實難題。為此,谷歌團隊訓練出一款手掌探測器 BlazePalm ——注意,是手掌而不是手部。他們認為,對拳頭這類物體進行邊界框描繪,在難度上要比跟蹤手指低得多。

具體地,BlazePalm 可以辨識多種不同手掌大小,具備較大的縮放範圍,還能辨識手部遮擋,能透過辨識手臂、軀幹或個人特徵等資訊準確定位手部。

除此之外,這種方式還有另一大優勢,就是能夠很好地相容握手等特殊場景,利用忽略其它寬高比條件的方形邊框模擬手掌,從而將所需的 3D 點數,縮減至以往的三分之一到五分之一。據統計,經過訓練之後, BlazePalm 辨識手掌的準確率可以達到 95.7%。

谷歌开源「AI手势识别」算法

Landmark:在手掌檢測之後,手部標記模型開始接管,負責在檢測到的手部區域之內,建立21個由手到肘的 3D 定位坐標。在訓練當中,模型要求研究人員手動注釋多達 3 萬份真實場景下的圖像,並立足多種背景對相應座標,進行渲染和映射,最終創建出高質量的合成手部模型。據統計,在經過訓練後,算法的平均回歸誤差可降低到 13.4%。

手勢辨識模型:流水線上的最後一步是手勢辨識,該模型利用關節旋轉角度,來確定每根手指的狀態(如彎曲或伸直),並將手指狀態集合與預定義的手勢映射起來,進而預測基礎的靜態手勢。Bazarevsky 和 Zhang 介紹稱,該模型能夠辨識來自多種文化(例如美國、歐洲與亞洲)的算數手勢,以及握拳、「OK」、「搖滾」、「蜘蛛人」等常見手勢。

除此之外,這些模型也可以執行對應的單獨任務,例如利用顯卡進行圖像裁剪與渲染,從而節約運算資源;並且,手掌探測模型只有在必要時才運行 —— 因為在大多數時段內,後續影像幀內的手部位置,只憑運算出的手部關鍵點,即可推理得出,不再需要手掌探測器的參與。也就是說,只有當推理置信度低於某個臨界值時,手部檢測模型才會重新介入。

展望未來,Bazarevsky、Zhang 及其團隊,還計劃建立更強大且、更穩定的跟蹤擴展技術,同時增加能夠可靠檢測出的手勢數量,並考慮支持即時動態手勢辨識。

他們總結道:「我們相信,這項技術的發佈,將為研究及開發者社區帶來助力,幫助他們發現更多新的創意與應用方向。」

沒有留言:

張貼留言