BlazePose: On-device Real-time Body Pose tracking
BlazePose:設(shè)備上實時人體姿態(tài)跟蹤
論文地址:[2006.10204] BlazePose: On-device Real-time Body Pose tracking (arxiv.org)
主要貢獻(xiàn):
(1)提出一個新穎的身體姿態(tài)跟蹤解決方案和一個輕量級的身體姿態(tài)估計神經(jīng)網(wǎng)絡(luò),同時使用了熱圖(heatmap)和對關(guān)鍵點坐標(biāo)的回歸。
(2)基于堆疊沙漏結(jié)構(gòu)(the stacked hourglass architecture),并使用編碼器-解碼器網(wǎng)絡(luò)架構(gòu)來預(yù)測所有關(guān)節(jié)的熱圖,然后使用另一個編碼器直接回歸到所有關(guān)節(jié)的坐標(biāo)。
(3)在推斷過程中可以丟棄熱圖分支,使其足夠輕便,可以在手機(jī)上運行,F(xiàn)PS達(dá)到30+。
目錄
一、摘要
二、介紹
三、模型架構(gòu)和管道(Pipeline)設(shè)計
(1)推理管道
(2)人員探測器
(3)Topology
(4)數(shù)據(jù)集
(5)神經(jīng)網(wǎng)絡(luò)架構(gòu)
(6)對齊和遮擋增強
四、實驗
五、應(yīng)用
一、摘要
我們提出了BlazePose,一種用于人體姿態(tài)估計的輕量級卷積神經(jīng)網(wǎng)絡(luò)架構(gòu),用于在移動設(shè)備上進(jìn)行實時推理。在推理過程中,該網(wǎng)絡(luò)為單個人生成33個身體關(guān)鍵點,并在Pixel2手機(jī)上以每秒30幀以上的速度運行。這使得它特別適合實時用例圖,如健身跟蹤和手語識別。我們的主要貢獻(xiàn)包括一個新穎的身體姿態(tài)跟蹤解決方案和一個輕量級的身體姿態(tài)估計神經(jīng)網(wǎng)絡(luò),它同時使用了熱圖(heatmap)和對關(guān)鍵點坐標(biāo)的回歸。
二、介紹
從圖像或視頻中進(jìn)行人體姿態(tài)估計在各種應(yīng)用中起著核心作用,如健康跟蹤、手語識別和手勢控制。這項任務(wù)是具有挑戰(zhàn)性的,由于各種各樣的姿勢,許多自由度和遮擋。最近的工作《Deephigh-resolution representation learning for human pose estimation》《Pifpaf:Composite fields for human pose estimation》在位姿估計方面取得了顯著的進(jìn)展。常用的方法是為每個關(guān)節(jié)生成熱圖,同時為每個坐標(biāo)細(xì)化偏移量。雖然這種熱圖的選擇以最小的開銷擴(kuò)展到多個人,但它使單個人的模型比適用于手機(jī)上的實時推斷大得多。在本文中,我們解決了這個特殊的用例,并展示了模型在幾乎沒有質(zhì)量下降的情況下的顯著加速。
與基于熱圖的技術(shù)相比,基于回歸的方法雖然計算量較小,可擴(kuò)展性強,但試圖預(yù)測平均坐標(biāo)值,往往無法解決潛在的歧義。《Stacked hour-glass networks for human pose estimation》的研究表明,堆疊沙漏結(jié)構(gòu)(the stacked hourglass architecture)可以顯著提高預(yù)測的質(zhì)量,即使參數(shù)數(shù)量較少。在我們的工作中擴(kuò)展這個想法,并使用編碼器-解碼器網(wǎng)絡(luò)架構(gòu)來預(yù)測所有關(guān)節(jié)的熱圖,然后使用另一個編碼器直接回歸到所有關(guān)節(jié)的坐標(biāo)。我們工作背后的關(guān)鍵見解是,在推斷過程中可以丟棄熱圖分支,使其足夠輕便,可以在手機(jī)上運行。
三、模型架構(gòu)和管道(Pipeline)設(shè)計
(1)推理管道
圖1 推理管道
在推理過程中,我們使用了一個檢測器跟蹤器setup(見圖1),它在各種任務(wù)上表現(xiàn)出優(yōu)異的實時性能,例如 hand landmark pre-diction《On-device, real-timehand tracking with mediapipe》AND dense face landmark prediction《Real-time facial surface ge-ometry from monocular video on mobile gpus》。我們的管道由一個輕量級的身體姿態(tài)探測器和一個姿態(tài)跟蹤器網(wǎng)絡(luò)組成。跟蹤器預(yù)測關(guān)鍵點坐標(biāo)、當(dāng)前幀中人物的存在以及當(dāng)前幀的細(xì)化感興趣區(qū)域。當(dāng)跟蹤器指示沒有人類在場時,我們在下一幀重新運行檢測器網(wǎng)絡(luò)。
(2)人員探測器
大多數(shù)現(xiàn)代目標(biāo)檢測解決方案的最后一個后處理步驟都依賴于非極大值抑制( NMS )算法。這對于自由度較少的剛性物體效果較好。然而,該算法適用于像人類那樣包含高度關(guān)節(jié)化姿態(tài)的場景,例如人們揮手或擁抱。這是因為對于NMS算法,多個模糊框滿足交并比( IoU )閾值。為了克服這一限制,我們專注于檢測一個相對僵硬的身體部分,如人體面部或軀干的邊界框。我們觀察到,在很多情況下,神經(jīng)網(wǎng)絡(luò)關(guān)于軀干位置的最強信號是人的面部(因為它具有高對比度的特征和較少的外觀變化)。為了使這樣的人物檢測器快速輕量級,我們使強而有效的AR(增強現(xiàn)實)應(yīng)用程序,假設(shè)在我們的單人用例中,人物的頭部應(yīng)該始終可見。因此,我們使用快速的設(shè)備上人臉檢測器《Blaze-face: Sub-millisecond neural face detection on mobile gpus》作為人員檢測器的代理。
?圖2 維特魯威人通過我們的檢測器與人臉檢測邊界框進(jìn)行對齊
這個人臉檢測器預(yù)測額外的個人特異性對齊參數(shù):人的臀部之間的中點,環(huán)繞整個人的圓的大小,以及傾斜的(兩肩中點和臀中點連線之間的夾角)。
?(3)Topology
圖3 33個關(guān)鍵點拓?fù)?/p>
我們提出了一種新的拓?fù)浣Y(jié)構(gòu),使用人體上的33個點,采用了BlazeFace、BlazePalm和Coco使用的超集。這使得我們能夠與各自的數(shù)據(jù)集和推理網(wǎng)絡(luò)保持一致。
與OpenPose和Kinect的Topologies不同,我們僅使用面部、手部和腳部的最少數(shù)量的關(guān)鍵點來估計后續(xù)模型感興趣區(qū)域的旋轉(zhuǎn)、大小和位置。我們使用的拓?fù)浣Y(jié)構(gòu)如圖3所示。其他信息見附錄A。
Appendix A. BlazePose keypoint names
0. Nose | 11. Left shoulder | 22. Right thumb #2 knuckle |
1. Left eye inner | 12. Right shoulder | 23. Left hip |
2. Left eye | 13. Left elbow | 24. Right hip |
3. Left eye outer | 14. Right elbow | 25. Left knee |
4. Right eye inner | 15. Left wrist | 26. Right knee |
5. Right eye | 16. Right wrist | 27. Left ankle |
6. Right eye outer | 17. Left pinky #1 knuckle | 28. Right ankle |
7. Left ear | 18. Right pinky #1 knuckle | 29. Left heel |
8. Right ear | 19. Left index #1 knuckle | 30. Right heel |
9. Mouth left | 20. Right index #1 knuckle | 31. Left foot index |
10. Mouth right | 21. Left thumb #2 knuckle | 32. Right foot index |
(4)數(shù)據(jù)集
基于解決方案需要初始位姿對齊。我們將我們的數(shù)據(jù)集限制在整個人都可見的情況下,或者在臀部和肩部關(guān)鍵點可以自信地注釋的情況下。為了確保模型支持?jǐn)?shù)據(jù)集中不存在的嚴(yán)重遮擋,我們使用大量的遮擋模擬增強。我們的訓(xùn)練數(shù)據(jù)集由60K張單人或少人在場景中常見姿勢的圖像和25K張單人在場景中進(jìn)行健身練習(xí)的圖像組成。這些圖像均由人類標(biāo)注。?
(5)神經(jīng)網(wǎng)絡(luò)架構(gòu)
本系統(tǒng)的姿態(tài)估計組件預(yù)測所有33個行人關(guān)鍵點的位置,并使用流水線第一階段提供的行人對齊建議( 3.1節(jié))。
圖4 網(wǎng)絡(luò)架構(gòu)
我們采用了熱圖、偏移和回歸相結(jié)合的方法,如圖4所示。我們只在訓(xùn)練階段使用heatmap和offset loss,并在運行推斷之前從模型中刪除相應(yīng)的輸出層。因此,我們有效地使用熱圖來監(jiān)督輕量級嵌入,然后由回歸編碼器網(wǎng)絡(luò)使用。該方法部分受到了Stacked Hourglass方法的啟發(fā),但在我們的案例中,我們堆疊了一個微小的基于編碼器-解碼器熱圖的網(wǎng)絡(luò)和一個后續(xù)的回歸編碼器網(wǎng)絡(luò)。
我們積極利用網(wǎng)絡(luò)所有階段之間的跳躍連接,以實現(xiàn)高級和低級功能之間的平衡。然而,來自回歸編碼器的梯度并沒有傳播回?zé)釄D訓(xùn)練的特征(注意圖4 中的漸變停止連接)。我們發(fā)現(xiàn)這不僅改善了熱圖的預(yù)測,而且大大提高了坐標(biāo)回歸的精度。
(6)對齊和遮擋增強
相關(guān)的位姿先驗是所提解決方案的重要部分。在增強和訓(xùn)練時的數(shù)據(jù)準(zhǔn)備過程中,我們特意限制了角度、尺度和平移的支持范圍。這允許我們降低網(wǎng)絡(luò)容量,使網(wǎng)絡(luò)更快,同時需要更少的計算和主機(jī)設(shè)備上的能量資源。
基于檢測階段或前一幀關(guān)鍵點,我們對齊人,使臀部之間的點位于通過的正方形圖像的中心作為神經(jīng)網(wǎng)絡(luò)輸入。我們估計旋轉(zhuǎn)作為中間臀部和中間肩點之間的直線L,并旋轉(zhuǎn)圖像,使L平行于y軸??s放比例是這樣估計的,這樣所有的身體點都適合于一個圍繞身體的正方形包圍盒,如圖2所示。除此之外,我們還應(yīng)用了10%的比例和移位增強,以確保跟蹤器處理幀之間的身體運動和扭曲的調(diào)整。
圖5 上半身情況的結(jié)果
為了支持不可見點的預(yù)測,我們在訓(xùn)練過程中模擬遮擋(填充不同顏色的隨機(jī)矩形),并引入一個點可見性分類器,該分類器指示特定點是否被遮擋以及位置預(yù)測是否被認(rèn)為不準(zhǔn)確。這允許跟蹤一個人,即使是在重要的遮擋情況下,如上半身,或者當(dāng)大多數(shù)人的身體不在場景中時,如圖5所示。
四、實驗
為了評估模型的質(zhì)量,我們選擇OpenPose《Openpose: Realtime multi-person 2d pose estimation using part affinity fields》作為基線。為此,我們手動注釋了兩個內(nèi)部數(shù)據(jù)集的1000幅圖像,每個數(shù)據(jù)集都有1 - 2人在現(xiàn)場。第一個數(shù)據(jù)集,稱為AR數(shù)據(jù)集,由各種各樣的人類在野外的姿勢組成,而第二個數(shù)據(jù)集只包括瑜伽/健身姿勢。對于一致性,我們只使用了MS Coco [ 8 ]拓?fù)渲械?7個點進(jìn)行評估,它是OpenPose和BlazePose的共同子集。作為評價指標(biāo),我們使用具有20 %容忍度的正確點百分比( PCK @ 0.2 ) (其中,如果2D Eu - clidean誤差小于誤差小于相應(yīng)的每個子的軀干尺寸的20 % ,則要正確檢測的點)。為了驗證人類基線,我們要求兩個注釋器獨立地重新注釋AR數(shù)據(jù)集,并獲得了97.2的平均PCK @ 0.2。
我們訓(xùn)練了兩個不同能力的模型:BlazePose Full ( 6.9 MFlop , 3.5M Params)和BlazePoseLite ( 2.7 MFlop , 1.3M Params)。盡管我們的模型在AR數(shù)據(jù)集上表現(xiàn)出略差于OpenPose模型的性能,但在Yoga / Fitness用例上,BlazePose Full優(yōu)于OpenPose。同時,BlazePose在單個中間層手機(jī)CPU上的執(zhí)行速度是OpenPose在20個核心桌面CPU上執(zhí)行速度的25 - 75倍,具體取決于所請求的質(zhì)量。
?表1?BlazePose vs OpenPose
1. Desktop CPU with 20 cores (Intel i9-7900X)
2. Pixel 2 Single Core via XNNPACK backend
五、應(yīng)用
我們開發(fā)了這個新的、設(shè)備上的、單一的個人特異性人體姿態(tài)估計模型,以啟用各種性能要求的用例,如手語、瑜伽/健身跟蹤和AR。此模型可在移動CPU上近實時工作,并可在移動GPU上加速到超實時延遲。由于其33個關(guān)鍵點拓?fù)渑cBlazeFace《Blaze-face: Sub-millisecond neural face detection on mobile gpus》和BlazePalm《On-device, real-timehand tracking with mediapipe》一致,因此它可以作為后續(xù)手部姿態(tài)和面部幾何估計《Real-time facial surface ge-ometry from monocular video on mobile gpus.》模型的基礎(chǔ)。
我們的方法原生地擴(kuò)展到更多的關(guān)鍵點、3D支持和額外的關(guān)鍵點屬性,因為它不是基于熱圖/偏移圖,因此不需要為每個新特性類型添加額外的全分辨率層。文章來源:http://www.zghlxwxcb.cn/news/detail-459335.html
>>> 如有疑問,歡迎評論區(qū)一起探討!文章來源地址http://www.zghlxwxcb.cn/news/detail-459335.html
到了這里,關(guān)于MediaPipe之人體關(guān)鍵點檢測>>>BlazePose論文精度的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!