擁擠場景多人姿態估計論文梗概及代碼CrowdPose: Efficient Crowded Scenes Pose Estimation and A New Benchmark

姿態估計是視頻動作分析識別的基礎工作,我有一篇小綜述講了姿態估計相關技術路線的發展,可以點這個鏈接看
本文是MVIG大佬們發表在CVPR2019上的一篇論文,上號交通大學,基於AlphaPose思路,進一步提升了擁擠情況下準度
代碼:github點這,基於Pytorch,是實時多人姿態估計系統
論文:論文點這
論文第二版點這

Abstract

多人姿態估計是大量計算機視覺任務的基礎,近年來也取得了很大成就。然鵝(故意打成鵝的),幾乎沒有先進的方法探究擁擠場景中姿態估計問題,這個問題在仍然是具有挑戰性且實用中不可避免。與此同時,當下的基準也難以對這種情況進行適當的評估。本文中,我們提出了一種新穎有效的方法來解決人羣中的姿態估計問題。我們的模型有兩個關鍵部分:候選點的單人姿態估計(SPPE)和全局最大節點關聯算法。
通過使用圖模型對每個關鍵點與全局關聯進行多峯預測(multi-peak),我們的方法對於在擁擠場景中不可避免的干擾具有魯邦性,且推理效率很高。提出的方法比CrowPose數據集上最新方法高5.2mAP,MS COCO上也證明了泛化能力,數據和代碼已公開。

一、Introduction

姿態估計兩大類方法,自上而下Top-down、自下而上Bottom-up。
現有方法上,看上去效果不錯,但是擁擠情況下性能嚴重下降如圖3。如圖1直觀的看
效果圖
下降圖
本文提出新的方法,採用全局視圖來解決干擾問題。
我們採用Top-Down方式,先檢測每個人,然後使用單人姿態估計 single person pose estimation (SPPE)

我們提出了一個節點候選SPPE和一個全局最大節點關聯算法。與以前僅僅預測輸入人體區域的目標節點有所不同,我們的聯合候選SPPE方法輸出每個節點的候選位置列表。候選列表包括目標節點和干涉節點。然後我們的關聯算法利用這些候選集,建立人與人之間的聯繫圖。

最後,我們使用全局最大節點關聯算法,解決了這個圖模型中的 關鍵點關聯問題。此外,我們的圖優化算法的計算複雜度與常規NMS相同。

綜上所述,本文的主要工作如下:i)提出了一種解決擁擠的姿態估計問題的新方法。ii)我們收集了一個新的擁擠人體姿勢數據集,以更好地評估擁擠場景中的算法。我們對提出的方法進行實驗。當使用相同的基於ResNet-101的網絡骨幹網時,我們的方法在數據集上比所有最新技術都高5.2mAP。此外,我們使用模塊將SPPE和後處理步驟替換爲最新方法,並在MSCOCO數據集上帶來了0.8mAP的改進。也就是說,我們的方法可以在不擁擠的場景中正常使用。

2 Related Work

(這部分點本鏈接看我的綜述更全)

3 Our Method

流程如圖2,人體檢測器獲得的人體邊界框送入聯合候選(JC)單人姿態估計器SPPE,JC SPPE在熱力圖上找到不同相應分數的聯合候選(3.1節)。然後,聯合關聯算法建立人-節點連接圖(3.2節)

圖2

3.1 Joint-Candidates SPPE

JC SPPE接受人的區域,輸出一組熱力圖,表示人體關鍵點位置。即便輸入一個框按理只有一個人,但是擁擠場景下,一個框裏肯不可避免的有其他人的大量節點。以前的工作使用SPPE來抑制干擾節點,但是SPPE在擁擠場景中失效。爲了解決這個問題,我們提出 JC SPPE,擁有在更多全局視角下的新的損失函數。

3.1.1 Loss Design

對於第i個人的區域RiR_i , 有兩種節點,一種是人體節點target joints,另一種是干擾節點interference joints。損失模塊中採用熱力圖,由於其像素級別的監督和全卷積結構,因而被廣泛使用。想增強target joints的響應,抑制其他的相應。但是我們並不直接抑制,因爲當前的干擾節點可能是其他區域的人體節點。
因此,我們在干擾節點中以全局方式估計人體姿態和其他人的人體推薦區域。
所以,爲了利用兩種候選節點,我們以不同的強度輸出他們。
Heatmap Loss
公式1
ikΩ_i^k 是干擾節點的集合。 CikC_i^k 是熱力圖中的干擾節點。µ是[0,1],取0.5,即不被注意到,又不被覆蓋掉。常規的熱力圖損失函數是µ=0

3.1.2Discussion

常規的SPPE取決於高質量的人爲檢測結果。它的任務是根據給定的人的包圍框來定位和識別關鍵點節點。如果SPPE誤將干擾節點用作目標節點,則將是無法恢復的錯誤。丟失的節點無法在諸如pose-NMS的後處理步驟中恢復。

我們提出的候選節點損失旨在解決此缺陷。此損失函數鼓勵JC SPPE網絡預測多峯熱圖,並將所有可能的節點設置爲候選。在擁擠的場景中,儘管傳統的SPPE很難識別目標關節,但JC SPPE仍然可以預測出候選關節列表並保證高召回率。我們將關聯問題留給下一個過程,在那個過程中,我們可以從其他JC SPPE(根據其他人體建議)獲得更多全局信息來解決該問題。

3.2 Person-Joint Graph人體關鍵圖

由於我們的候選節點機制和人體檢測器的冗餘包圍框,候選節點在數值上比實際多很多。爲了減少多餘的節點,我們構建了一個人體節點圖,並應用最大人體節點匹配算法來構造最終的人體姿勢。
圖4

3.2.1 Joint Node Building 合併節點

由於高度重疊的人體區域往往會預測出相同的實際節點(如圖4所示),因此我們首先將這些可以組合的對象歸爲一組,它們代表與一個節點相同的實際節點。

由於高質量的關節預測,指示同一節點的候選節點始終彼此靠近。因此,我們可以使用以下規則對它們進行聚類:
對於第k個節點(身體各部位節點編號爲1…k),給定兩個位於p1kp2kp_1^k和p_2^k 的候選關節,及控制偏差δ,如果p1-p2歐氏距離 ≤ min{u1, u2}δ,我們將它們標記爲同一組。
u2ku_2^k 是p2在熱度圖上的高斯響應,由高斯響應的誤差決定。
公式2
δ是控制第k個關節偏差的參數,我們直接採用MSCOCO關鍵點數據集中的參數。
使用min{u1,u2}而不是恆定閾值的原因是爲了確保只有在p1p2p_1和p_2 同時落入彼此的控制域(半徑分別爲u1δ,u2δ)時,我們纔將它們組合在一起。 一個Node表示一組按上述標準聚集在一起的節點。

現在,通過將一個節點組合爲一個Node,我們有了Node集
J=vjkk1...Kj1...NkJ={v^k_j:k∈{1...K},j∈{1...N_k}} ,其中NkN_k 是身體部位k的關節節點數,vjkv^k_j 是身體部位k的第j個節點。J中的節點總數爲∑Nk。

3.2.2 Person Node Building個人節點的構建

person nodes代表人體檢測器檢測到的人體區域。我們將person nodes表示爲H=hii1...MH={h_i:∀i∈{1...M}} ,其中hih_i 是第i個人節點,M是檢測到的人體區域的數量。
理想中,高質量的行人檢測器應該緊貼着人,然鵝(故意打成鵝的),擁擠場景中,很難如此。人體檢測器將產生許多多餘的建議,包括截斷和不緊湊的邊界框。 在Sec 3.3中進行全局人關節匹配時,我們將消除這些低質量的人體區域。

3.2.3Person-Joint Edge

在獲得node和person nodes之後,我們將它們連接起來以構建我們的人節點圖。對於每個人的節點hi,JC-SPPE將預測節點的多個候選結果。如果這些候選結果中有對nodevjkv^k_j 有所貢獻,我們將在他們之間建立一個邊緣ek ij e^k~ij~ 權重e是雙參關節點的響應評分,記爲wikjw^k_ij 這樣我們可以構造邊緣集合E={ekij:∀i,j,k}。
人關節圖可以寫成:G=((H,J),E)G=((H,J), E)

3.3 Globally Optimizing Association

從現在開始,我們估計人羣中人體姿勢的目標已轉變爲求解上述人節點圖並最大化總邊緣權重。我們的目標函數如下圖,d表示是否保留邊,Eq.5和6約束每個人體區域只能匹配1-K的節點各一個。
公式4
如方程式10所示,求解人節點圖G中的全局分配問題在數學上等效於分別求解其子圖Gk。Gk是由人體子集和第k個節點子集組成的二部圖。 對於每個子圖,應用更新的Kuhn-Munkres算法[1]以獲得優化結果。通過分別求每個Gk,我們獲得最終結果集R。

給定圖匹配結果,如果dkij=1,則vkj的加權中心被分配給第i個人體提案的第k個節點。在此,加權中心表示vkj中的候選節點座標的線性組合,權重是他們的熱力圖響應分數。以這種方式,可以構造每個人體區域的姿勢。無法匹配任何節點的人員區域將被刪除。

公式8
Computational Complexity
姿勢估計的推理速度在許多應用中至關重要。我們證明了我們的全局節點算法與普通的貪婪NMS算法效率相同

3.4 Discussion

我們的方法採用基於圖的方法,以全局最佳方式將節點與人體區域相關聯。人體區域相互競爭節點。通過這種方式,沒有主導人體實例的不合格人體區域將不會被分配任何節點,因爲由於缺少主導人體實例,它們的節點響應分數都相對較低,將許多糟糕的人體區域拒絕。與我們的方法相比,常規NMS是一種基於貪婪和基於實例的算法,效率較低。儘管[10,17,27]提出了姿勢-NMS來利用姿勢信息,但是他們的算法是基於實例的,無法解決節點缺失和裝配錯誤的問題。我們的全局優化關聯方法可以很好地處理此類情況。
圖

4 數據集CrowdPose Dataset

圖6

4.1 擁擠程度定義

公式12
第i個人的包圍框中,屬於i的關鍵點是NiaN_i^a 不屬於的是NibN_i^b ,請看圖6

4.2 數據收集

各個組都選了些,即擁擠,又是生活化的場景。MS COCO有17個關鍵點,MPII有16個,AI Challenger有14個關鍵點。我們就定14個吧。30000張圖,選20000高質量的圖。共有80000個人。訓練驗證測試分別是5:1:4,平均IOU是0.27,而MSCOCO是0.06,MPII是0.11,AI那個是0.12

5 實驗

圖7
簡單使用YOLOV3來檢測人,姿態估計採用AlphoPose,訓練時旋轉30度以內,尺度30%以內,輸入320 x 256,熱度圖輸出爲80 x 64,學習率10-4,80 epochs後10-5,minibatch是64,RMSprop的優化器。測試時檢測器結果先寬和高擴大30%,使用 JC SPPE,2塊1080Ti上訓練,基於Pytorch。
使用ResNet-101,不同對比實驗中我們使用了相同的backbone來對比實驗。

表2

表3
Inference Speed

如表2,我們和AlphoPose速度差不多。我們使用最精確的OpenPose對比的,它的輸入是1024 X 736。

Conclusion

推出了創新的方法來解決遮擋等問題。基於候選關鍵點的SPPE,我們構建了行人關鍵點圖模型。我們將姿態估計問題轉換到圖匹配問題,在全局視野優化了結果。
爲了更好的評估擁擠場景的效能,創建CrowdPose數據集,並且明顯的達到了最好效果,在MSCOCO也表明了方法具有泛化場景的能力。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章