[論文筆記]End-to-end Recovery of Human Shape and Pose
論文概述
純屬個人理解,梳理自己思路用,僅供參考(可能會有標點錯誤或語句不通順 +_+)
本文提出了端到端的恢復人體3D mesh
的模型,輸入圖片,輸出3D模型,如下圖所示。對於3D模型的生成,主要藉助SMPL方法,其根據shape和3D joints
的angles作為輸入,輸出human mesh
。對於SMPL的輸入,本文藉助GAN的方式進行生成,即生成網路根據輸入image直接生成SMPL的輸入參數。為了使生成的效果更好,本文設計了loss函數和adversarial prior
。
本文提出的框架如下圖所示,從單張圖片編碼特徵並回歸3D模型參數,沒有採用其他從2D keypoints
獲取3D點的方式,所以可以做到end to end
,不需要做其他額外推斷步驟。
SPML
SPML是一種可分離shape和pose的模型,是由標準線性blend skinning
擴展而來,主要由以下幾個部分:Blend skinning
、Shape blend shapes
、Pose blend shapes
與Joint locations
。關於這幾部分作用如下圖所示:
其中上圖a表示Blend skinning
,即標準的3D mesh
模型,圖b在圖a基礎上對應擴展Shape blend shapes
,即表示對3D模型進行縮放,胖瘦等操作,圖c在圖b基礎上對應擴展Pose blend shapes
,即表示3D模型在各個pose方向上的變形。圖d在圖c基礎上對應擴展Joint locations
,並通過二次skinning根據動作進行調整3D mesh。
SMPL模型可以簡寫為以下公式,其中Tp表示vertice偏離基礎模板後的mesh,Bs和Bp就表示offset偏移。可以這樣理解Tp通過Bs和Bp來對標準模型進行體型調整。通過二次函數M根據pose來生成mesh。
Shape blend shapes
定義如下式所示,其中Sn是PCA的人體主成分(從訓練集中提取),β是PCA的係數。
Pose blend shapes
定義如下式所示,其中Pn表示vertex的位移(從訓練集中學到),R表示旋轉矩陣。
Joint locations
定義如下式所示,其中3D joint
是有上圖b模型回歸得到,這樣能夠保持joint的精度,如下圖所示。
Blend skinning
定義如下式所示,其中exp表示旋轉矩陣,Gk表示對定點ti進行世界坐標系變換。
總結上述公式,SMPL的輸入是β和θ,其中β是10維,θ是3K維,K是骨架節點數。SMPL生成6980個頂點,用M(θ,β)表示。為了把3D joint
映射到2D,採用如下公式,其中X(θ,β)表示3D joint
。
關於SMPL
,可以參考論文SMPL: A Skinned Multi-Person Linear Model
。
Iterative 3D Regression with Feedback
通過human pose
方法可以生成單張圖片的2d pose
,利用上述映射得到2d pose
,可以利用如下公式約束loss,其中v表示可見性,0為不可見,1為可見。
為了可以更精確利用encoder回歸得到θ、β以及相機變換,這裡使用human pose
的IEF方法,如下公式和圖所示:
要求每次一輪後,輸入是[Φ,Θ],然後送入回歸模型迭代優化。
當存在真實3D標定樣本時,可以使用如下公式定義loss來優化生成器,使網路每次迭代向著正確方向優化。模型整體loss,如下公式所示:
關於iterative error feedback (IEF)
,可以參考論文Human pose estimation with iterative error feedback.
。
Factorized Adversarial Prior
參考之前的文獻,對由θ和β生成的3D模型,知道先驗約束對於生成3D模型質量至關重要,例如Keep it SMPL
文章。由於本文採用GAN架構,因此先驗信息由判別網路來負責約束,為了實現正則化,判別網路來判斷3D模型的好壞。考慮到SMPL的可分離特點,因此Factorized Adversarial Prior
指的是對10-D for β
,9-D for each joints
和9K-D for pose R(θ)
,分別用簡單網路來構建判別器(輸出範圍[0,1]),一共有K+2個。因此生成器的loss,如下公式所示。
每個判別器的公式如下所示:
如果沒有使用Factorized Adversarial Prior
,會導致生成的3D模型產生部件不平衡與沒有限制的變形遮擋,如下圖所示。
關於Keep it SMPL
,可以參考論文Keep it SMPL: Automatic estimation of 3D human pose and shape from a single image
。
網路結構
使用ResNet-50作為encoder,來提取公共特徵,然後,3D regression模塊跟在其後。回歸模塊由2個fc(之間dropout)組成,有1024個neurons,再接一個fc,有85個neurons(θ和β維度個數)。關於回歸模塊的IEF,這裡使用3次迭代操作。判別器對β學習,由2個fc組成,分別有10,5個neurons,最後輸出1D的預測,對於K個判別器對θ學習(θ是3×3),由2個fc組成,都是32個neurons,最後輸出1D的預測,還有一個判別器對所有θ,即K*32的中間表示做學習,由2個fc組成,都是1024個neurons,最後輸出1D的預測。
推薦閱讀:
※悅娘的文件夾【我的更年期筆記】
※(12)子平閱微筆記(18):擒賊先擒王的「擒王法」
※北洲侃股2018.05.16復盤筆記與操作策略
※宋子京筆記
※劉文元奇門筆記2
TAG:筆記 |