DeepPose - human pose estimation via deep nerual networks 論文解讀

paper title: deepPose: human pose estimation via deep nerual networks
paper link: https://arxiv.org/pdf/1312.4659.pdf
oral or demo video:-
project:http://densepose.org
github:https://github.com/mitmul/deeppose
conf & anthor: CVPR14, J. Alexander Toshev, Christian Szegedy (Google)
arXiv submit v1: 2013.12 google citation:1117(2019.07.12)

姿態估計系列:

主要內容
這篇文章使用深度神經網絡構建了一個級聯的迴歸網絡來實現人體姿態估計。文章將人體姿態估計看作是一個人體關節的迴歸問題,文章認爲這樣做有兩個好處:(1)深度神經網絡有着捕獲全局上下文信息的能力,每一個關節的迴歸器都用到整張圖片的信息;(2)是這種表示方相對於圖模型的方法要更簡單,不需要設計人體部分(part)的特徵表示或者檢測器,也不需要設計人體關節之間的拓撲模型和交互。

網絡結構
文章將人體的關節表示爲向量:
P={...,Ci,...},i{1,...,K}C=(x,y) P=\{...,C^i,...\},i\in\{1,...,K\} \\ C=(x,y)
上面的座標是關節在圖像上的的像素座標,然後對關節座標做一個歸一化的操作,對於在一個bounding box裏的關節,歸一化之後的座標爲:
C_norm=((xcenterx)/width,(ycentery)/height) C\_norm=((x-center_x)/width,(y-center_y)/height)
centerx,centerycenter_x,center_y分別是bounding box的中心,width,heightwidth,height分別是寬和高。這裏的bounding box可以是整張圖像;也可以是圖像的一部分,後面在級聯網絡中的關節點位置的refine的時候會用到圖像的一部分作爲網絡的輸入。
文章使用Alexnet作爲基本的網絡結構,輸入爲220x200x3的圖像,輸出爲2K個迴歸座標值。

基本網絡結構如下:
deepPose network structure

文章提到由於輸入的是整張圖片,因此網絡學到的關節點位置是在一個比較粗的尺度上的,無法捕獲一些細節信息,得到的關節位置會不夠準確。因此設計了級聯的網絡結構,在後續級聯的網絡中,通過前面預測得到的關節位置,將以該位置爲中心的一個sub-image作爲後面網絡的輸入,這樣網絡只關注相關關節所在的圖像部分,可以得到更高的關節迴歸精度。後面的級聯網絡可以看做是對前面網絡的關節位置校正。

損失函數:
損失函數採用的是L2L_2損失:
Loss=i=1K(CixC^ix2+CiyC^iy2) Loss=\sum_{i=1}^{K}(||C_i^x-\hat{C}_i^x||_2+||C_i^y-\hat{C}_i^y||_2)

論文結果:
檢測的人體關節點數目:FLIC-10 upper joints, LSP-14 joints
數據集:(1)Frames Labeled In Cinema,(2)Leeds Sports Dataset
評價指標:

  • Percentage of Correct Parts(PCP): 在PCP中認爲一個 骨骼(limb)被檢測到的標準是,骨骼的兩個關節點的位置與真實關節點的位置的距離小於骨骼的長度的一半。
  • Percentage of Detected Joints(PDJ): 在PDJ中認爲一個關節被檢測到的標準是,關節的位置與真實位置的距離小於軀幹對角點的長度(如left shoulder到right hip的距離)的一個比例值。

相比其他方法,檢測準確率更高,平均PCP爲0.61;並且cross-dataset泛化較好。

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