使用 MediaPipe BlazePose 在設(shè)備上實時跟蹤身體姿勢
視頻姿勢估計起著至關(guān)重要的作用,可以在增強(qiáng)現(xiàn)實、手語識別、全身手勢控制,甚至量化體育鍛煉中將數(shù)字內(nèi)容和信息疊加到物理世界之上,它可以構(gòu)成瑜伽的基礎(chǔ)。 、舞蹈和健身應(yīng)用。由于可能的姿勢多種多樣(例如,數(shù)百個瑜伽體式)、眾多的自由度、遮擋(例如,從相機(jī)看到的身體或其他物體遮擋了四肢)以及各種外觀或服裝。
今天,我們宣布發(fā)布一種新的人體姿勢感知方法BlazePose,我們在CVPR 2020的CV4ARVR 研討會上介紹了該方法。我們的方法通過使用機(jī)器學(xué)習(xí) (ML) 從單個幀中推斷出身體的 33 個二維地標(biāo),從而提供人體姿勢跟蹤。與基于標(biāo)準(zhǔn)COCO 拓?fù)涞漠?dāng)前姿勢模型相比,BlazePose 可以準(zhǔn)確定位更多關(guān)鍵點,使其特別適合健身應(yīng)用。此外,當(dāng)前最先進(jìn)的方法主要依賴強(qiáng)大的桌面環(huán)境進(jìn)行推理,而我們的方法通過 CPU 推理在手機(jī)上實現(xiàn)實時性能。如果利用 GPU 推理,BlazePose 可實現(xiàn)超實時性能,使其能夠運行后續(xù) ML 模型,如面部或手部跟蹤。

拓?fù)?/strong>
目前人體姿勢的標(biāo)準(zhǔn)是COCO 拓?fù)?,它由橫跨軀干、手臂、腿部和面部的 17 個地標(biāo)組成。然而,COCO 關(guān)鍵點僅定位到腳踝和手腕點,缺乏手腳的尺度和方向信息,這對于健身和舞蹈等實際應(yīng)用至關(guān)重要。包含更多關(guān)鍵點對于特定領(lǐng)域姿勢估計模型的后續(xù)應(yīng)用至關(guān)重要,例如手、臉或腳的姿勢估計模型。
通過 BlazePose,我們提出了 33 個人體關(guān)鍵點的新拓?fù)?,它?COCO、BlazeFace和BlazePalm拓?fù)涞某?。這使我們能夠僅從與面部和手部模型一致的姿勢預(yù)測中確定身體語義。
概述:用于姿勢跟蹤的 ML 管道
對于姿勢估計,我們利用我們經(jīng)過驗證的兩步檢測器-跟蹤器 ML 管道。使用檢測器,該管道首先在幀內(nèi)定位感興趣的姿勢區(qū)域 (ROI)。跟蹤器隨后根據(jù)該 ROI 預(yù)測所有 33 個姿勢關(guān)鍵點。請注意,對于視頻用例,檢測器僅在第一幀上運行。對于后續(xù)幀,我們從前一幀的姿勢關(guān)鍵點得出 ROI,如下所述。

通過擴(kuò)展 BlazeFace
進(jìn)行姿勢檢測對于由姿勢檢測和跟蹤模型組成的完整 ML 管道的實時性能,每個組件必須非???,每幀僅使用幾毫秒。為了實現(xiàn)這一點,我們觀察到神經(jīng)網(wǎng)絡(luò)關(guān)于軀干位置的最強(qiáng)信號是人臉(由于其高對比度特征和相對較小的外觀變化)。因此,我們通過做出強(qiáng)(但對于許多移動和網(wǎng)絡(luò)應(yīng)用程序有效)的假設(shè)來實現(xiàn)快速和輕量級的姿勢檢測器,即我們的單人用例應(yīng)該可以看到頭部。
因此,我們受亞毫秒級BlazeFace模型的啟發(fā),訓(xùn)練了一個面部檢測器,作為姿勢檢測器的代理。注意,該模型僅檢測人在框架內(nèi)的位置,不能用于識別個人。與Face Mesh和MediaPipe Hand跟蹤管道相反,我們從預(yù)測的關(guān)鍵點得出 ROI,對于人體姿勢跟蹤,我們明確地預(yù)測了兩個額外的虛擬關(guān)鍵點,它們牢牢地將人體中心、旋轉(zhuǎn)和縮放描述為一個圓圈。靈感來自萊昂納多的維特魯威人,我們預(yù)測了一個人臀部的中點,外接整個人的圓的半徑,以及連接肩部和臀部中點的線的傾斜角度。即使對于非常復(fù)雜的情況,如特定的瑜伽體式,這也會導(dǎo)致一致的跟蹤。下圖說明了該方法。
跟蹤模型
管道的姿態(tài)估計組件預(yù)測所有 33 個人物關(guān)鍵點的位置,每個關(guān)鍵點具有三個自由度(x、y位置和可見性)加上上述兩個虛擬對齊關(guān)鍵點。與采用計算密集型熱圖預(yù)測的當(dāng)前方法不同,我們的模型使用回歸方法,該方法由所有關(guān)鍵點的組合熱圖/偏移量預(yù)測監(jiān)督,如下所示。
具體來說,在訓(xùn)練期間,我們首先使用熱圖和偏移損失來訓(xùn)練網(wǎng)絡(luò)的中心和左塔。然后我們移除熱圖輸出并訓(xùn)練回歸編碼器(右塔),從而有效地使用熱圖來監(jiān)督輕量級嵌入。
下表顯示了對不同訓(xùn)練策略產(chǎn)生的模型質(zhì)量的消融研究。作為評估指標(biāo),我們使用具有 20% 容差的正確點百分比 (PCK@0.2)(如果 2D 歐幾里得誤差小于相應(yīng)人軀干尺寸的 20%,我們假設(shè)該點將被正確檢測到)。為了獲得人類基線,我們要求注釋者對多個樣本進(jìn)行冗余注釋,并獲得 97.2 的平均 PCK@0.2。訓(xùn)練和驗證是在各種姿勢的地理多樣化數(shù)據(jù)集上完成的,均勻采樣。

為了涵蓋廣泛的客戶硬件,我們提供了兩種姿勢跟蹤模型:lite 和 full,它們在速度與質(zhì)量的平衡上有所不同。對于 CPU 的性能評估,我們使用XNNPACK;對于移動 GPU,我們使用TFLite GPU后端。

應(yīng)用程序
基于人體姿勢,我們可以構(gòu)建各種應(yīng)用程序,例如健身或瑜伽追蹤器。例如,我們展示了深蹲和俯臥撐計數(shù)器,它們可以自動計算用戶統(tǒng)計數(shù)據(jù),或驗證所執(zhí)行練習(xí)的質(zhì)量。此類用例可以使用額外的分類器網(wǎng)絡(luò)或什至使用簡單的聯(lián)合成對距離查找算法來實現(xiàn),該算法匹配歸一化姿勢空間中的最近姿勢。
結(jié)論
我們已經(jīng)發(fā)布了一個版本的BlazePose針對上半身用例MediaPipe在Android,iOS和Python的運行。BlazePose 還將通過即將發(fā)布的ML Kit版本中的姿勢檢測 API提供給更廣泛的移動開發(fā)人員社區(qū)。除了移動域,我們還預(yù)覽了基于 Web 的瀏覽器內(nèi)版本。我們希望為更廣泛的研究和開發(fā)社區(qū)提供這種人體姿勢感知功能將導(dǎo)致創(chuàng)造性用例的出現(xiàn),刺激新的應(yīng)用程序和新的研究途徑。
我們計劃通過更強(qiáng)大和更穩(wěn)定的跟蹤將這項技術(shù)擴(kuò)展到更多種類的人體姿勢和活動。在隨附的模型卡中,我們詳細(xì)說明了預(yù)期用途、限制和模型公平性,以確保這些模型的使用符合Google 的 AI 原則。我們相信,發(fā)布這項技術(shù)可以為整個研究和開發(fā)人員社區(qū)的成員提供新的創(chuàng)意和應(yīng)用的動力。我們很高興看到您可以用它構(gòu)建什么!
