【姿態估計文章閱讀】PifPaf: Composite Fields for Human Pose Estimation

一、CVPR2019,內容上還是比較厲害的,代碼:https://github.com/vita-epfl/openpifpaf

二、主要思想

       1、提出了Part Intensity Field (PIF)來提升heatmap在高分辨率下的精度

       2、利用Part Association Field (PAF)來連接joints

       3、本文方法主要比較放在了低分辨率下、遮擋情況以及擁擠等

       4、本文利用更加有效的loss,Laplace loss 以及soomth L1 loss來完成迴歸偏移量的迴歸和置信度的迴歸

三、模型的主要結構

      這個部分放一個圖就可以一目瞭然,//2就是步長=2,也就是下采樣了:

四、Part Intensity Field (PIF)

      文章之所以採用這個是因爲,我們預測的heatmap都是在比原圖小的低分辨率下預測的,一個像素位置可能會造成8像素以上的偏差。以往很多方案中都是採用的雙線性插值,將heatmap還原到原圖大小再去進行argmax或者nms,但是這樣畢竟與直接預測有着差距。

      因此文章中借鑑了“Towards Accurate Multi-person Pose Estimation in the Wild”中Coarse to fine的思想,粗略的heatmap結合offset的思想。當然在本文中採用的方式略有不同。

      從網絡結構圖上面的介紹可以發現,PIF這部分預測的通道數=17*5,這個5就是這5個量,第一個是置信度;第二、三個是預測的offset向量;第四個使用在loss上的,其實就是動態的去限定了一個loss計算時候的注意力更加集中在groundtruth附近的區域;第五個用於還原到高分辨率時候的高斯的sigma,這樣的話對於不同大小的joint就能產生不同的尺度。

      

     可以從上圖中發現,原始的預測的“置信度map”比較粗糙了,這種直接nms/argmax必然會引入一些誤差--對應到evaluation時候的不同“閾值”選擇的時候,效果會有所不同。      

                           

       這個公式的意思就是對於需要還原的圖中的某個位置(x,y),他的置信度是通過融合“預測的所有位置的置信度*對應位置估計的高斯分佈在這個位置的值”

       這個方式,從效果圖上來看,還是比較好的,而且對於圖中的不同大小的joint,也有着不同的sigma,也是比較符合人的直觀理解,這樣的效果也會比統一sigma的heatmap的MSELoss看起來更加合理些。

 

五、Part Association Fields(PAF)

      這是另一個核心部分,從網絡結構圖的介紹可以發現,這部分需要預測19*7個通道,也就是定義了19個connection,每個connection中包含了7個量:  ,第一個代表了置信度,兩個座標offset vector分別指向兩個joint,以及兩個寬度因子。

      

     如何生成的?

     對於每個位置,會先去找到離這個位置最近的joint是哪個,然後確定下來;再去更具定義的joint 之間的connection去找到這個點對應的另一個joint。應用的時候,對於置信度的閾值設定了0.5,這樣就可以產生如下效果:

      

 

六、Adaptive Regression Loss

     對於大尺度的目標而言,joint的一點點座標偏移,這個error帶來的影響是比較小的,但是同樣的情況對於小目標而言就是另一隻情況了。

                                            

七、Greedy Decoding 也就是組裝算法

      這裏的話,比如選擇從頭頂開始,那麼會選擇整個圖中置信度最高的那個頭開始,然後利用paf把這個joint 連到下一個joint,直到把這個人組裝好了,這個人就定下來了。然後選擇下一個頭,再來一遍。

      那麼對於某個joint ,如何去利用paf?

     對於向量X,利用上面這個公式,能給每個paf 的預測向量打分,當然是選擇分最高那個。

八、實驗

   後續再看看,實驗中有沒有重要的細節,看看代碼,再來補充~~~

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