人體骨骼檢測相關綜述及總結

一、簡介

       實現人體檢測,通常採用人體姿態估計(Human Posture Estimation),即將圖片中已檢測到的人體關鍵點正確聯繫起來,從而實現人體姿態的估計,實現人體的檢測。人體關鍵點通常對應人體上有一定自由度的關節,比如頸、肩、肘、腕、腰、膝、踝等。

       通過對人體關鍵點在三維空間相對位置的計算,可以估計人體當前的姿態。同時如果增加時間序列,在一段時間內觀測人體關鍵點的位置變化,可以更加準確的進行姿態的檢測以及估計目標未來時刻的姿態,做到更加抽象的人體行爲分析,比如判斷一個人是否在進行打羽毛球。

       人體姿態估計技術在體育健身、動作採集、3D試衣、輿情監測等領域具有廣闊的應用前景,具體應用主要集中在智能視頻監控,病人監護系統,人機交互,虛擬現實,人體動畫,智能家居,智能安防,運動員輔助訓練等等。

二、應用場景

1、人類行爲識別:人類行爲識別是指在給定的圖片或者圖片序列中識別出人體的動作意圖。人類行爲識別是計算機視覺領域一個極其重要的研究方向。其被廣泛的應用於監控,娛樂,人機交互,圖像和視頻搜索等領域。

2、人機交互:人機交互是指設計一種計算機和用戶進行信息傳遞的接口程序。人機交互處於計算機科學,行爲科學,設計,媒體研究的交叉點。一個常見的例子是:研究人員可以通過給計算機安裝攝像頭的方式使其可以獲取人類用戶的圖像信息,再通過對圖像信息的識別使得計算機理解用戶的意圖,從而達到交互的目的。

3、服裝解析:服裝解析是指在一張圖像中解析出人體上不同的服裝。解析服裝的視覺算法具有各種各樣的潛在應用價值,更好的理解圖像,人物服飾識別,或基於內容的圖像檢索等。但是,由於人體姿態的複雜性,解析服飾的任務並不容易。

三、人體檢測面臨的問題

1、某張圖片中的人的數量未知,可能由一個人到幾百個人不等的情況都會出現

2、圖片中人與人之間的相互接觸會極大影響識別效率,比如遮擋、接觸、掩蓋等現象的產生會導致在2D圖片維度上去聯合各個肢體,確定一個人的關鍵點變得異常困難。

3、圖片中的人數的增加會直接導致計算的複雜度提高,計算量也隨之增大,計算量與人數成正相關,這就導致實時的人體檢測變得困難。

4、視角不同和人體姿態的複雜而引起的關鍵點尺度差異性問題,由於視角和人體姿態的不同,造成了人體關鍵點的尺度差異,即使已經對圖片進行裁剪和縮放處理,使得人體區域大致位於圖像中心,並且人體的尺寸近似。這對於檢測人體關鍵點的模型來說是一個挑戰,如果模型不能學習到這些尺度差異性下的高緯度一般性就無法準確的定位關節點。這個問題不僅會影響CNN深層的語義信息,而且也會影響CNN淺層的圖像特徵。

5、人體具有相當的柔性,會出現各種姿態和形狀,人體任何一個部位的微小變化都會產生一種新的姿態,這使得在構建模型時的通用性變得非常困難。

四、常用數據集

近些年發佈過的一些高質量的人體姿態數據集:

1、COCO Keypoints challenge 

2、MPII Human Pose Dataset

3、VGG Pose Dataset

4、CMU Panoptic Dataset

5、LSP(Leeds Sports Pose Dataset)

6、FLIC(Frames Labeled In Cinema)

7、AI Challenger

8PoseTrack

五、OpenPose庫

       OpenPose人體姿態識別項目是美國卡耐基梅隆大學(CMU)基於卷積神經網絡和監督學習並以Caffe爲框架開發的開源庫。可以實現人體動作、面部表情、手指運動等姿態估計。適用於單人和多人,具有極好的魯棒性。是世界上首個基於深度學習的實時多人二維姿態估計應用,基於它的實例如雨後春筍般涌現。

       其理論基礎來自Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields ,是CVPR 2017的一篇論文,作者是來自CMU感知計算實驗室的曹哲(http://people.eecs.berkeley.edu/~zhecao/#top),Tomas Simon,Shih-En Wei,Yaser Sheikh 。

       OpenPose項目Github鏈接:https://github.com/CMU-Perceptual-Computing-Lab/openpose

六、傳統算法

       傳統的人體骨骼關鍵點檢測算法基本上都是在幾何先驗的基礎上基於模版匹配的思路來進行,核心就在於如何去用模版表示整個人體結構,包括關鍵點的表示,肢體結構的表示以及不同肢體結構之間的關係的表示。一個好的模版匹配的思路,可以模擬更多的姿態範圍,以至於能夠更好的匹配並檢測出對應的人體姿態。

       Pictorial Structure是其中一個較爲經典的算法思路,主要包含兩個部分,其一是單元模版(Unary Templates),其二是模版關係(Pairwise Springs),對於模版關係,提出了著名的彈簧形變模型,彈簧形變模型,即對部件模型與整體模型的相對空間位置關係進行建模,利用了物體的一些空間先驗知識,既合理約束了整體模型和部件模型的空間相對位置,又保持了一定的靈活性。

       在接下來的研究中,爲了匹配更大的姿態範圍,Yang & Ramanan提出了“mini parts”的概念,即將每個肢體結構(part)切分成更小的parts以能夠模擬更多的姿態變化,從而提高模版匹配的效果。

七、人體骨骼關鍵點檢測算法概述

       多人人體骨骼關鍵點檢測主要有兩個方向,一種是自上而下,一種是自下而上,其中自上而上的人體骨骼關鍵點定位算法主要包含兩個部分,人體檢測和單人人體關鍵點檢測,即首先通過目標檢測算法將每一個人檢測出來,然後在檢測框的基礎上針對單個人做人體骨骼關鍵點檢測,其中代表性算法有G-RMI, CFN, RMPE, Mask R-CNN, and CPN,目前在MSCOCO數據集上最好的效果是72.6%;自下而上的方法也包含兩個部分,關鍵點檢測和關鍵點聚類,即首先需要將圖片中所有的關鍵點都檢測出來,然後通過相關策略將所有的關鍵點聚類成不同的個體,其中對關鍵點之間關係進行建模的代表性算法有PAF, Associative Embedding, Part Segmentation, Mid-Range offsets,目前在MSCOCO數據集上最好的效果是68.7%

       CoordinateHeatmapHeatmap + Offsets

八、自上而下的人體關鍵點檢測算法

       自上而下(Top-Down)的人體骨骼關鍵點檢測算法主要包含兩個部分,目標檢測和單人人體骨骼關鍵點檢測,對於目標檢測算法,這裏不再進行描述,而對於關鍵點檢測算法,首先需要注意的是關鍵點局部信息的區分性很弱,即背景中很容易會出現同樣的局部區域造成混淆,所以需要考慮較大的感受野區域;其次人體不同關鍵點的檢測的難易程度是不一樣的,對於腰部、腿部這類關鍵點的檢測要明顯難於頭部附近關鍵點的檢測,所以不同的關鍵點可能需要區別對待;最後自上而下的人體關鍵點定位依賴於檢測算法的提出的Proposals,會出現檢測不準和重複檢測等現象。

九、自下而上的人體關鍵點檢測算法

       自下而上(Bottom-Up)的人體骨骼關鍵點檢測算法主要包含兩個部分,關鍵點檢測和關鍵點聚類,其中關鍵點檢測和單人的關鍵點檢測方法上是差不多的,區別在於這裏的關鍵點檢測需要將圖片中所有類別的所有關鍵點全部檢測出來,然後對這些關鍵點進行聚類處理,將不同人的不同關鍵點連接在一塊,從而聚類產生不同的個體。

十、小結

       人體骨骼關鍵點定位至今仍然是計算機視覺領域較爲活躍的一個研究方向,人體骨骼關鍵點檢測算法還沒有達到比較完美的效果,在較爲複雜的場景下仍然會出現很多錯誤的檢測結果。自上而下的關鍵點檢測算法在效果上要明顯好於自下而上的關鍵點檢測算法,因爲自上而下的檢測方法加入了整個人體的一個空間先驗。個人認爲,自下而上的關鍵點定位算法沒有顯示的去建模整個人體的空間關係,而只是建模了局部的空間關係,以至於在效果上目前還遠低於自上而上的關鍵點檢測方法。

 

注:參考資料:

         https://yq.aliyun.com/articles/639017?utm_content=m_1000016206

         https://blog.csdn.net/u012426298/article/details/81093667

         https://blog.csdn.net/guyuealian/article/details/98453496

         https://blog.csdn.net/m0_38106923/article/details/89416514

 

發佈了52 篇原創文章 · 獲贊 6 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章