convolutional pose machines 論文解讀

paper title: convolutional pose machines
paper link: https://arxiv.org/abs/1602.00134
oral or demo video:https://www.youtube.com/watch?v=L9Z8ijMfCCM
https://www.youtube.com/watch?v=EOKfMpGLGdY
project: -
github:https://github.com/shihenw/convolutional-pose-machines-release
https://github.com/timctho/convolutional-pose-machines-tensorflow
conf & anthor: CVPR16,Shih-En Wei et al
arXiv submit v1: 2016.01 google citation:895(2019.07.12)

姿態估計系列:

主要內容
這篇文章主要介紹了在Pose Machine框架融入卷積神經網絡,學習圖像特徵和圖像相關空間模型,並應用於姿態估計任務。文章的主要貢獻是對結構化預測任務(如人體姿態估計)中的變量之間的長期依賴的隱式建模。具體來說,文章設計了一種由卷積神經網絡構成的序列架構,整個預測流程分爲多個stage,後面的stage使用前一個stage輸出的belief map作爲輸入的一部分,與當前stage的卷積結果進行合併;這樣隨着stage的增加,得到更好的關節點位置的預測結果。另一方面,文章提出的方法通過目標函數強制生成中間監督,從而對梯度進行增益並調整學習過程,解決了梯度消失的問題。

網絡結構
1.Pose Machine
Pose machines的示意圖如下所示,一共有T個stage,前一個stage的結果經過變換後會作爲下一個stage的輸入的一部分;除第一個stage之外,其他stage的結構完全相同。部分符號的含義如下:

  • XX: 從圖像中提取的特徵(stage=1)
  • gtg_t: 第t個stage上,從圖像特徵到各個關節點的預測分數的分類器
  • btb_t: 第t個stage上,預測的分數(belief maps)
  • XX': 從圖像中提取的特徵(stage>1)
  • ψt>1\psi_{t>1}: 從belief map到上下文特徵的映射

pose machines
Pose machines中,第一個stage中,從圖像中進行特徵提取,經過分類器g1g_1得到各個關節點的belief maps,並輸入到下一個stage中;在下一個stage中,這些belief maps經過映射函數後會得到上下文特徵,同時在當前stage中,也會進行圖像特徵提取,之後圖像特徵和上下文特徵融合後再次進行belief maps的預測。後面的stage重複這個過程,使預測的關節點位置的準確性不斷提高。在Pose Machines的論文中gtg_t用的是boosted random forest,XXXX'用的是人工設計的特徵提取方法,ψt>1\psi_{t>1}用是人工設計的上下人特徵映射方法。

2.Convolutional Pose Machines
在CPM中,圖像特徵和上下文特徵都是通過卷積網絡自動學習得到的,另外卷積網絡是完全可倒的,所以網絡的所有stage都是可以實現端到端的訓練的。CPM的網絡結構如下圖所示:
CPM network
在stage1中,通過7個卷積層得到P+1(P個關節點,1個背景)個belief map的輸出。在stage1中,網絡感受野大小是160x160,輸入圖片的大小是368x368,可以看做是在局部區域上做關節點的檢測。在後面的stage中,不僅有當前stage中提取的圖像特徵,還使用了上一個從上個stage的belief maps,但是與Pose Machines不同的是,CPM中沒有顯式的ψ\psi函數來計算上下文特徵,而是通過belief maps上的預測器的感受野來完成這一函數。
網絡的設計原則是讓第二個stage的網絡的輸出層上的感受野足夠大,以使得可以學習到關節點之間的複雜和長程的相關性。在stage2中,有三個11x11的卷積,感受野的大小爲31,並相當於在原始圖上的約400x400大小的區域,可以覆蓋到圖像中任何的關節。

損失函數
在Pose Machines的序列預測框架中,每個stage都被訓練用來產生關節點的belief maps;在CPM中,通過在每一個節點都定義一個l2l_2損失來促使網絡達到CPM框架中的這種表示,另外t>2t>2的stage中的特徵提取網絡都是共享參數的。最後的損失函數的形式爲:
Loss=t=1Tp=1P+1zZbtp(z)bp(z)2 Loss=\sum_{t=1}^T\sum_{p=1}^{P+1}\sum_{z\in{Z}}||b_t^p(z)-b_*^p(z)||^2
其中:

  • z=[u,v]z=[u,v]表示的是輸出的belief map上的空間點,ZZ爲所有zz的集合
  • btp(z)b_t^p(z)表示第tt個stage中zz位置上的第pp個關節點預測得分
  • bp(z)b_*^p(z)表示zz位置上的第pp個關節點真實得分

論文結果
1.MPII數據集上,[email protected]爲87.95%,在比較難預測的ankle關節上,[email protected]爲78.28%;
2.LSP數據集上,[email protected]爲84.32%;
3.FLIC數據集上,[email protected]在elbow關節和wrist關節上分別爲97.59%和95.03%。

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