PAF基于PAF(部分親和字段)的實(shí)時(shí)多人2D姿態(tài)估計(jì)-CMU_openpose

這是CVPR2017的一篇文章。

在本文中,文章通過實(shí)時(shí)算法來(lái)檢測(cè)圖像中多個(gè)人的二維姿態(tài)。 文章提出了關(guān)鍵點(diǎn)關(guān)聯(lián)的明確的非參數(shù)表示,其編碼人體肢體的位置和方向。 其次,設(shè)計(jì)了一個(gè)聯(lián)合學(xué)習(xí)身體部分檢測(cè)和身體部分關(guān)聯(lián)的框架。 第三,證明一個(gè)貪心解析算法足以產(chǎn)生高質(zhì)量的身體姿勢(shì)分析,即使隨著圖像中人數(shù)的增加,效率也會(huì)保持高效(但是測(cè)試時(shí)間會(huì)隨著人數(shù)增加而放緩)。 在文章中展示了代表性的失敗案例。本文已經(jīng)公開發(fā)布了我們的代碼(包括受過訓(xùn)練的模型),以確保完全可重復(fù)性并鼓勵(lì)在該領(lǐng)域的未來(lái)研究。

沒有使用跟蹤技術(shù),而是基于PAF(部分親和字段)分段分部分進(jìn)行連接(基于置信度)把屬于一個(gè)整體的連接起來(lái)。

整個(gè)檢測(cè)過程如下圖所示,輸入一幅圖像,然后經(jīng)過7個(gè)stage,得到PCM和PAF。然后根據(jù)PAF生成一系列的偶匹配,由于PAF自身的矢量性,使得生成的偶匹配很正確,最終合并為一個(gè)人的整體骨架。

關(guān)鍵點(diǎn)定位:在圖像有多少能識(shí)別多少就定位多少,把已經(jīng)有的點(diǎn)進(jìn)行個(gè)體關(guān)聯(lián)。把處于同一個(gè)身體的不同part連接起來(lái)。

通過CNN計(jì)算得到置信度矩陣S(每個(gè)像素點(diǎn)所擁有的置信度),L(是方向向量,2個(gè)維度分別為x方向和y方向的分量)

S:每個(gè)點(diǎn)的置信度 confidence;

L:每個(gè)點(diǎn)的方向向量 在x,y方向的分量。

open pose 可以讓用戶自行選擇臉部檢測(cè)器,即既可以使用openpose自帶的,也可以使用opencv中的??梢蚤_啟/關(guān)閉身體部分檢測(cè),也可以開啟/關(guān)閉頭部檢測(cè),即單獨(dú)啟用一個(gè)方面。

輸出結(jié)果:

1、poseKeypoints 索引值表示是身體的哪個(gè)部分;

2、faceKeypoints 面部關(guān)鍵點(diǎn)

3、handKeypoints[0] –left [1]--right xL=handKeypoints[0][{person, part, 0}]

yL=handKeypoints[0][{person, part, 1}]

2.方法

下圖說(shuō)明了我們方法的整個(gè)流程。 系統(tǒng)采用尺寸為w×h的彩色圖像(圖2a)作為輸入,并生成圖像中每個(gè)人的解剖關(guān)鍵點(diǎn)的2D位置(圖2e)作為輸出。


首先,前饋網(wǎng)絡(luò)同時(shí)預(yù)測(cè)身體部位位置(圖2b)的一組二維置信度圖S和部分親和度的(PAF)一組二維矢量場(chǎng)L(向量),其表示了身體部分之間的關(guān)聯(lián)程度(圖2c)。

S=(S1,S2,...,Sj)有j個(gè)置信度地圖,每個(gè)身體部分一個(gè)。

L=(L1,L2,L3...,LC)有c個(gè)向量場(chǎng),每個(gè)肢體一個(gè)。

在L c中的位置編碼2D矢量(如圖1所示)。 最后,通過貪心推理(圖2d)分析置信度圖和親和度字段,為圖像中的所有人輸出二維關(guān)鍵點(diǎn)。

2.1同時(shí)檢測(cè)和協(xié)助

我們的架構(gòu),如下圖所示,同時(shí)預(yù)測(cè)編碼部分到部分關(guān)聯(lián)的檢測(cè)置信度圖和親和性字段。 網(wǎng)絡(luò)分為兩個(gè)分支:以米色顯示的頂部分支來(lái)預(yù)測(cè)置信圖,以藍(lán)色顯示的底部分支預(yù)測(cè)部分親和字段,每個(gè)分支都是一個(gè)迭代預(yù)測(cè)體系結(jié)構(gòu),遵循Wei et al。[31],這提煉了連續(xù)階段的預(yù)測(cè),t∈{1,...。。。 ,T},在每個(gè)階段進(jìn)行中間監(jiān)督。

圖像首先由卷積網(wǎng)絡(luò)分析(由VGG-19的前10層初始化并被微調(diào)),生成一組輸入到每個(gè)分支的第一階段的特征圖F.

在第一階段,網(wǎng)絡(luò)產(chǎn)生一組檢測(cè)置信圖S1 =ρ1(F)和一組部分親和性字段L1 =φ1(F),其中ρ1和φ1是在階段1用于推斷預(yù)測(cè)的CNN網(wǎng)絡(luò)。在隨后的每個(gè)階段中,將來(lái)自前一階段的兩個(gè)分支的預(yù)測(cè)與原始圖像特征F一起串聯(lián)并用于產(chǎn)生精確的預(yù)測(cè)。

圖4展示了經(jīng)提煉的各個(gè)階段的置信圖和親和字段。為了引導(dǎo)網(wǎng)絡(luò)迭代地預(yù)測(cè)第一支路中的身體部位和第二支路中的PAF的置信度圖,我們?cè)诿總€(gè)階段結(jié)束時(shí)分別應(yīng)用兩個(gè)損失函數(shù)。

W是在圖像位置p處缺少注釋時(shí)W(p)= 0的二進(jìn)制掩碼。 面具用于避免在訓(xùn)練期間懲罰真實(shí)的積極預(yù)測(cè)。 每個(gè)階段的中間監(jiān)督通過定期補(bǔ)充梯度來(lái)解決梯度消失問題。


2.2身體部分檢測(cè)的置信度地圖

每個(gè)置信圖是關(guān)于特定身體部位出現(xiàn)在每個(gè)像素位置的信念的2D表示。如果有一個(gè)人那么就只有一個(gè)峰,如果有多個(gè)人,每個(gè)人會(huì)對(duì)應(yīng)一個(gè)峰值。我們?nèi)∽畲笾档闹眯哦葓D而不是平均值,以便峰值的精確度保持不同,如右圖所示。 在測(cè)試時(shí),我們預(yù)測(cè)置信度圖(如圖4的第一行所示),并通過執(zhí)行非最大抑制來(lái)獲得身體部位候選者。

2.3 基于PAF(部分親和字段)的部分關(guān)聯(lián)

給定了一系列被檢測(cè)到的身體部分,我們?nèi)绾伟阉麄兘M裝起來(lái),形成一個(gè)未知人數(shù)的全身姿勢(shì)。

我們需要一個(gè)關(guān)于每對(duì)身體部位檢測(cè)的關(guān)聯(lián)的置信度度量,即它們屬于同一個(gè)人。 測(cè)量關(guān)聯(lián)的一種可能的方法是檢測(cè)肢體上每一對(duì)部件之間的附加中點(diǎn),并檢查候選部件檢測(cè)之間的發(fā)生率,如圖5b所示。 然而,當(dāng)人們聚集在一起時(shí),這些中點(diǎn)可能會(huì)支持錯(cuò)誤的關(guān)聯(lián)(如圖5b中的綠線所示)。 這種錯(cuò)誤的關(guān)聯(lián)是由于表示法中的兩個(gè)限制而產(chǎn)生的:(1)它只編碼每個(gè)肢體的位置而不是方向; (2)將肢體的支撐區(qū)域縮小到一個(gè)點(diǎn)。

為了解決這些限制,我們提出了一個(gè)創(chuàng)新的方法,稱為部分親和性字段的表示,其在肢體的支持區(qū)域上保存位置和方向信息(如圖5c所示)。 部分親和力是每個(gè)肢體的2D矢量場(chǎng),也如圖1d所示:對(duì)于屬于特定肢體的區(qū)域中的每個(gè)像素,2D矢量編碼從肢體的一部分指向另一部分的方向。 每種類型的肢體都有一個(gè)相應(yīng)的親和力場(chǎng),連接兩個(gè)相關(guān)的身體部位。

考慮下圖中顯示的單個(gè)肢體。令xj1和xj2為圖像中人k的肢體c的部分j1和j2的真實(shí)位置。 如果點(diǎn)p位于肢體上,則L(p)處的值是從j1到j(luò)2的單位矢量;對(duì)于所有其他點(diǎn),矢量是零值。

在測(cè)試過程中,我們通過計(jì)算相應(yīng)PAF上的線積分,沿連接候選部分位置的線段,來(lái)測(cè)量候選部分檢測(cè)之間的關(guān)聯(lián)。 換句話說(shuō),我們測(cè)量預(yù)測(cè)的PAF與將通過連接檢測(cè)到的身體部位而形成的候選肢體的對(duì)齊。具體而言,對(duì)于兩個(gè)候選部位位置dj1和dj2,我們沿線段對(duì)預(yù)測(cè)的部位親和性領(lǐng)域Lc進(jìn)行采樣以測(cè)量其關(guān)聯(lián)的置信度。

2.4 基于PAF的多人解析

在形式上,我們首先為多個(gè)人獲得一組身體部位檢測(cè)候選Dj

第j個(gè)部位有Nj個(gè)。d(m,j)表示第j個(gè)部分的第m個(gè)candidate(候選點(diǎn)).

我們定義一個(gè)變量z (j1 j2 mn)∈{0,1}來(lái)表示是否連接兩個(gè)檢測(cè)候選dj1m和d j2n,目標(biāo)是為所有可能的連接集合找到最優(yōu)分配。

我們需要找到實(shí)際上連接四肢的部分檢測(cè)對(duì)。如果我們考慮第c個(gè)肢體的一對(duì)部分j 1和j 2(例如,頸部和右臀部),則找到最佳關(guān)聯(lián)可以縮減為 最大權(quán)二部圖匹配問題。在圖5b中顯示出來(lái)。

在該圖匹配問題中,圖的節(jié)點(diǎn)是身體部位檢測(cè)候選D j 1和D j 2,并且邊都是檢測(cè)候選對(duì)之間的可能連接。 另外,每個(gè)邊由方程 10 - 部分親和力聚合。 二分圖中的匹配是以這樣的方式選擇的邊的子集:沒有兩個(gè)邊共享節(jié)點(diǎn)。我們的目標(biāo)是找到所選邊的最大權(quán)重匹配。


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容