<label id="qqrfm"><meter id="qqrfm"></meter></label>
      <span id="qqrfm"></span><label id="qqrfm"><meter id="qqrfm"></meter></label>

        谷歌開源基于 ML 的手部跟蹤算法:手機端實時檢測,多個手勢同時捕捉

        就在不久前,Google 人工智能實驗室宣布,他們在「實時手部跟蹤」方面取得了新的進展,并將這項新技術運用在了 MediaPipe 中,這也是 AI 計算機視覺任務的一大突破。這一技術不光可以在手機上實現實時捕捉性能,甚至可以同時對多個手的動作進行跟蹤。目前,Google 已經將該項目開源,并且發布了相關博客介紹了這項技術,雷鋒網 AI 開發者將其內容整理編譯如下。

        谷歌開源基于 ML 的手部跟蹤算法:手機端實時檢測,多個手勢同時捕捉

        概述

        能夠對手的形狀和運動軌跡進行感知是改善用戶在不同的技術領域和平臺上的體驗的一個重要組成部分。例如,它可以實現手語理解和手勢控制,還可以使數字內容和信息疊加在增強現實(AR,https://ai.googleblog.com/search/label/Augmented%20Reality  )的物理世界之上。雖然對我們來說這個能力是天生的,但強大的實時手部感知是一項極具挑戰性的計算機視覺任務,因為手往往會自我遮蓋或相互遮擋(例如手指/手掌之間的遮蔽或者握手),而且手部之間也缺乏高對比度。

        我們現在發布了一種新的手部感知方法,并且在 6 月的 CVPR 2019 大會上,我們已經對該方法開放了預覽。在這個方法展示過程中,我們通過 MediaPipe——一個開放源碼的跨平臺框架,來構建了處理視頻和音頻等類型的不同模式感知數據的框架。

        該方法通過機器學習(ML)從單個幀中推斷出一只手的 21 個 3D 關鍵點,從而提供了高保真的手部和手指跟蹤。目前最先進的方法主要依靠強大的桌面環境進行推理,而我們的方法可以在手機端實現這個實時性能,甚至還可以擴展到對多個手的同步跟蹤。

        我們希望通過提供該手部感知功能給廣泛的研究和開發社區,能夠有利于大家創造出更多全新的用例,同時激勵更多新應用程序和新研究途徑的出現。

        谷歌開源基于 ML 的手部跟蹤算法:手機端實時檢測,多個手勢同時捕捉
         
        圖 1 通過 MediaPipe 在手機上進行實時 3D 手部感知。我們的解決方案是使用機器學習從一個視頻幀計算手的 21 個三維關鍵點。圖中深度通過顏色灰色程度表示。

        用于手跟蹤和手勢識別的機器學習架構

        我們的手部跟蹤解決方案使用了一個機器學習架構,該架構由幾個模型共同組成:
        • 掌上檢測器模型(稱為 BlazePalm)。它對整個圖像進行操作,并返回一個定向的手部邊界框;
        • 手部標志模型。它在掌上探測器定義的裁剪圖像區域上操作,并返回高保真的 3D 手部關鍵點;
        • 手勢識別器,它將先前計算的關鍵點配置分類為一組離散的手勢。
        這種架構類似于我們最近發布的 face mesh ML 模型(https://sites.google.com/view/perception-cv4arvr/facemesh),這個模型也被其他人用于的姿態估計中。將精確裁剪的手掌圖像提供到手部標志模型中,可以大大減少更多數據(例如旋轉、平移和縮放)的需求,從而使網絡能夠將其大部分性能用于協調預測精度。
        谷歌開源基于 ML 的手部跟蹤算法:手機端實時檢測,多個手勢同時捕捉
        圖 2 手部感知模型整體架構

        BlazePalm:實時手部/手掌檢測

        為了檢測手的初始位置,我們使用了一個名為 BlazePalm 的單鏡頭檢測器模型(https://arxiv.org/abs/1512.02325)。該模型可用于移動實時檢測,其方式類似于 BlazeFace(https://arxiv.org/abs/1907.05047),這個模型也可以在 MediaPipe 中使用。

        手部檢測是一項非常復雜的任務:我們的模型必須要適應不同的手部尺寸,因此它具有相對于圖像幀更大的范圍 (~20x),并且它能夠檢測被遮擋以及自遮擋的手部狀態。

        人臉通常具有很高的對比度,例如在眼睛和嘴部區域都有明顯的區別。但由于手部缺乏這樣的特征,因此我們很難僅從其視覺特征中可靠地檢測到這些特征。不過通過提供額外的信息,如手臂、身體或人的特征,倒是有助于精確的手定位。因此,我們的解決方案使用了不同的策略來解決上述挑戰。

        首先,我們訓練了一個手掌檢測器來代替手部探測器,因為推測例如手掌和拳頭這樣剛性物體的邊界框比檢測手指的關節要簡單得多。此外,由于手掌是較小的物體,我們采用了非最大抑制算法(https://www.coursera.org/lecture/convolutional-neural-networks/non-max-suppression-dvrjH  ),該算法可以在即使雙手自遮擋的情況(如握手)下,也能夠達到很好的工作效果。

        同時,手掌還可以使用方形邊界框(在 ML 術語中的錨)來模擬,忽略其他高寬比,從而將錨的數量減少 3-5 倍。其次,我們將適用于更大場景上下文感知中的編碼器—解碼器特征提取器用于手部感知這樣的小對象中(類似于 RetinaNet 辦法,https://arxiv.org/abs/1612.03144)。最后,我們將訓練期間的焦損降至最低,從而支持由于高度變化而產生的大量錨點。

        利用上述技術,我們實現了對手掌的平均檢測精度為 95.7%;而使用常規的交叉熵損失并且在沒有解碼器的情況下,檢測精度基準僅為 86.22%。

        手部標志模型 

        在對整個圖像進行手掌檢測后,我們隨后的手部標志模型通過回歸對檢測到的手部區域內的 21 個 3D 手關節坐標進行精確的關鍵點定位,即直接對坐標進行預測。該模型將學習一致的內部手勢表示,甚至對部分可見的手和自遮擋都表現出了魯棒性。

        為了獲得實時數據,我們手工標注了 30K 張具有 21 個 3D 坐標的真實手勢圖像,如下圖所示(如果存在對應的坐標,則從圖像深度圖中獲取 Z 值)。為了更好地覆蓋可能的手勢,并提供對手勢的幾何形狀的附加監督,我們還在不同的背景上渲染了一個高質量的合成手部模型,并將其映射到相應的三維坐標中。
        谷歌開源基于 ML 的手部跟蹤算法:手機端實時檢測,多個手勢同時捕捉
         
        圖 3 第一行圖片為對齊的手部通過實時標注傳遞到跟蹤網絡;第二行圖片為使用實時標注渲染合成手部圖像。
        然而,單純的合成數據很難推廣到更廣泛的領域。為了克服這個問題,我們使用了一個混合訓練模式,下面的圖顯示了一個高級模型訓練圖。
        谷歌開源基于 ML 的手部跟蹤算法:手機端實時檢測,多個手勢同時捕捉
         

        圖 4 手部跟蹤網絡的混合訓練模式。裁剪的真實照片和渲染的合成圖像用作輸入,以預測 21 個 3D 關鍵點。
        下圖展示了根據訓練數據的性質總結了回歸的準確性。使用合成數據和真實數據都可以顯著提高模型的性能。
        谷歌開源基于 ML 的手部跟蹤算法:手機端實時檢測,多個手勢同時捕捉
        圖 5 使用合成數據和真實數據對模型性能的影響結果

        手勢識別器

        在預測的手部骨架之上,我們應用一種簡單的算法來推導手勢。首先,每個手指的狀態,例如彎曲或豎直,是由關節的累積角度決定的。于是,我們將一組手指狀態映射到一組預定義的手勢上。這種簡單但有效的技術可以使我們在保證檢測質量的情況下來估計基本的靜態手勢。現有的架構支持多種文化的手勢計數,如美國、歐洲和中國,以及各種手勢標志,包括「拇指向上」、緊握拳頭、「OK」、「搖滾」和「蜘蛛俠」。

        谷歌開源基于 ML 的手部跟蹤算法:手機端實時檢測,多個手勢同時捕捉
        圖 6 不同手勢識別結果

        通過 MediaPipe 實現 

        通過使用 MediaPipe,我們可以將該感知架構建模稱模塊化組件的有向圖(https://en.wikipedia.org/wiki/Directed_graph),稱為 Calculators(計算器)。Mediapipe 附帶了一組可擴展的計算器,可用于解決各種設備和平臺的模型推理、媒體處理算法以及數據轉換等任務。而像裁剪、渲染和神經網絡計算這樣的單個計算器,可以獨立在 GPU 上執行。例如,我們在大多數現代手機上采用 TFLite GPU 推理。

        我們用于手部跟蹤的 MediaPipe 架構圖如下所示。該圖由兩個子圖組成——一個用于手檢測,另一個用于手部關鍵點(即標志性)計算。MediaPipe 提供的一個關鍵優化是只在必要時運行掌上檢測器(因此該檢測器的運行頻率很低),從而節省了大量的計算時間。

        我們通過從當前幀中計算所得的手部關鍵點來推斷后續視頻幀中的手部位置實現手部跟蹤,從而無需在每個幀上運行掌上檢測器。為了獲得魯棒性,手部跟蹤器模型輸出一個額外的標量,以獲取一只手在輸入裁剪中存在并合理對齊的置信度。只有當置信度低于一定的閾值時,才能將手部檢測模型重新應用到整個幀中。

        谷歌開源基于 ML 的手部跟蹤算法:手機端實時檢測,多個手勢同時捕捉
        圖 7 手部標志模型的輸出(REJECT_HAND_FLAG)控制何時觸發手部檢測模型。這種行為是通過 MediaPipe 強大的同步構建塊實現的,從而實現機器學習架構的高性能和最佳吞吐量。

        該高效的機器學習解決方案可以實時運行,并且跨越各種不同的平臺和形式因素。它所包含的復雜性要比上面的簡化描述要復雜得多。為此,我們將在 MediaPipe 框架中開源上述手部跟蹤與手勢識別方法,并附帶相關的端到端使用場景和源代碼(https://github.com/google/mediapipe/blob/master/mediapipe/docs/hand_tracking_mobile_gpu.md),這為研究人員和開發人員提供了一個完整的堆棧,基于我們的模型可以對新思想進行實驗和原型設計。

        未來方向 

        我們計劃通過更強大和穩定的跟蹤來擴展這項技術,擴大我們能夠可靠檢測的手勢數量,并支持動態手勢的及時展開。我們相信,發布這項技術可以激發廣大研究和開發人員的新創意和應用。我們很期待看到你的創新!

        谷歌開源基于 ML 的手部跟蹤算法:手機端實時檢測,多個手勢同時捕捉
         
        *MediaPipe

        MediaPipe 是一個跨平臺框架,用于構建應用于機器學習流程中的多模態(例如,視頻,音頻,任何時間序列數據)框架。通過使用 MediaPipe,我們可以將感知流程構建為模塊化組件的圖形,包括:推理模型(例如,TensorFlow,TFLite)和媒體處理功能。

        MediaPipe 開源地址:https://github.com/google/mediapipe/ 
        原文鏈接:
        https://ai.googleblog.com/2019/08/on-device-real-time-hand-tracking-with.html 
        手勢識別開源地址:
        https://github.com/google/mediapipe/blob/master/mediapipe/docs/hand_tracking_mobile_gpu.md 
        來源 | 雷鋒網 AI 開發者    雷鋒網
        作者 | 楊鯉萍

        上一篇:2019世界機器人大會開幕:智能新生態 開放新時代
        下一篇:《中國經濟大講堂》未來已來,人工智能將如何改變我們的生活? -高文院士演講全文

        主站蜘蛛池模板: 三级黄色免费观看| 特色特黄a毛片高清免费观看| 日韩免费高清播放器| 亚洲精品亚洲人成在线观看下载| 在线观看亚洲免费| 免费看国产一级特黄aa大片| 立即播放免费毛片一级| 免费一级大黄特色大片| 一区二区免费电影| 亚洲国产精品无码久久久蜜芽| 可以免费观看的毛片| 亚洲美女自拍视频| 免费在线观看的网站| 久久久久久亚洲精品无码| 免费吃奶摸下激烈视频| 国产精品青草视频免费播放| 九月丁香婷婷亚洲综合色| 2019中文字幕在线电影免费| 久久精品国产亚洲AV忘忧草18| 在线成人a毛片免费播放| 日韩精品免费一线在线观看| 国产精品亚洲片在线| 国产精品爱啪在线线免费观看| 亚洲国产成人久久精品软件| 亚洲 自拍 另类小说综合图区| 国产A∨免费精品视频| 久久精品国产亚洲av高清漫画| 在线v片免费观看视频| 日韩大片在线永久免费观看网站 | 黄a大片av永久免费| 久久一区二区三区免费| 亚洲美女视频网站| 四虎1515hm免费国产| 无码AV片在线观看免费| 亚洲男人的天堂网站| 亚洲精品无码专区在线在线播放| 97碰公开在线观看免费视频| 理论片在线观看免费| 亚洲精品自拍视频| 亚洲免费日韩无码系列 | 羞羞漫画小舞被黄漫免费|