Realtime Multi-Person 2D Human Pose Estimation using Part Affinity Fields 論文解讀

這篇論文是2016COCO比賽冠軍的作品,收錄於2017 CVPR

論文分為兩個部分state1(detection) 與 state t(track),主要解讀的部分為state 1,state t的本質與state 1一致。

首先解釋下,為什麼state t與state 1基本一致 F是經過預訓練的VGG19前十層產生的 feature map,送入state 1後產生的兩個部分與後一state的feature map 串聯送入 state t,換句話說 state t 只提升了訓練的速度,對於測試,反而更慢,所以個人不太理解 state t存在的意義。

然後對上下兩個部分網路進行說明:

  • 產生S的網路ρ,輸出一個S的集合 S=left[ S_{1},S_{2},S_{3},...,S_{n} 
ight] ,n表示人身上的第n個部位,如:脖子,對於S的每個元素都是一個圖片大小的集合,S的意義理解為對於人身體的屬於每一個部位的概率為何。
  • 產生L的網路φ,輸出一個L的集合 L=left[ L_{1},L_{2},L_{3},...,L_{n} 
ight] ,n表示人身體的第n個鏈接,如:脖子與胸部,對於L的每個元素都是一個圖片大小*2的集合,L的意義可以理解為對於人身體的每一鏈接的單位向量表示(比較抽象,後面詳說)。

為了更好的解釋網路的運作,在這我先解釋下label的設定:

  • 對於S的label,有如上兩個公式,其中(P為當前的location, x_{j,k} 為對於第k個人第j個部位的位置, sigma 為一常量(為了不讓太多非常小的數字壓垮訓練而設定,個人使用1e+2,效果還行)),對於如上第一個公式的解釋就是對於當前位置(x,y)與第k個人的第j個部位越近這個位置的分數越高,然後第二個公式表示對K取max意思就是不在乎是哪一位的第j部位,找分最高的一個就好了。S這個set 被作者稱為confidence map。

confidence map

  • 對於L的label,首先解釋第一個公式,對於當前的位置P,如果P在第k個人的第c個鏈接上那麼對於p這個位置的label就取這個鏈接的單位向量,第二個公式就是向量除膜長求單位向量的公式,第三個公式就是在討論P是否在這一鏈接c上的標準。

  • 後一部分作者是在討論一個問題,如果出現一個點p,同時存在於兩個人的同一部位如何處理,作者的做法是取avg,暴力了點,但是這個情況實屬少見,所以無傷大雅。取完label了,下一步就是討論如何測試這個模型的問題。

  • 對於這一部分的公式先看第二個,第二個簡化一下不難看出u取0時p(u)=dj1,這個公式的意義在於取不同的u讓p點在dj1與dj2之間移動。然後看第一個公式,對u在0~1之間取線積分,或者取離散求和,對於j1與j2兩個點之間取離散,如5個點,放入產生L的網路將會產生5個單位向量,這5個單位向量表示鏈接的趨勢(在label中設定的),對於這五個單位向量分別與j1與j2之間做內積,如果這兩個之間存在連接就期望趨近於最大的值為5。如此取一個最大E就是該鏈接的兩點了。

推薦閱讀:

論文閱讀:Attentional Pooling for Action Recognition
菜鳥學tensorflow.3
讀Focal Loss
OpenCV3學習筆記(一) OpenCV簡介及安裝

TAG:計算機視覺 | 深度學習DeepLearning |