簡介:
Facebook research的團隊在他們發(fā)表的DensePose系統(tǒng)的基礎上嘗試了姿態(tài)遷移的工作跛溉,使用2D->3D的方法實現(xiàn)為圖像中的人生成不同姿態(tài)下的外觀。實驗效果顯示,在定量比較上皆的,Dense Pose Transfer比現(xiàn)在的一些基于二維平面姿態(tài)估計的生成方法要好冗美。
Dense Pose Estimation 簡介
Dense Pose Estimation可以實時將2D圖像中的人轉換為3D人體模型,這項成果已經(jīng)作為CVPR2018的oral論文發(fā)表悠栓。
如上圖所示圈澈,DensePose系統(tǒng)將人體的3D表面模型切分為24個部分惫周,然后為每一部分構建一個UV坐標系,將2D圖像上的人體部分的每一個點映射到相應的3D表面部分康栈。具體效果如下圖所示:
Dense Pose Transfer 整體框架
從上圖可以看到递递,整個框架主要包括3個模塊:predictive module , warping module ,blending module . 在給定一個源圖片和目標圖片的情況下,使用DensePose來估計源圖片和目標圖片中的人體姿態(tài)啥么,然后將其輸出作為Dense Pose Transfer模型的輸入登舞。預測模塊生成較為模糊的圖像,但保留了大致的體型悬荣,頭發(fā)逊躁,性別等信息;變形模塊則更多的關注于對紋理的預測隅熙。最后將兩個模塊的輸出作為混合模塊(blending module)的輸入稽煤,混合模塊結合兩者的優(yōu)點,生成最終的結果囚戚。
Predictive stream
預測模塊主要是一個使用DensePose系統(tǒng)的輸出來做姿態(tài)遷移的條件生成模型〗臀酰現(xiàn)有的模型將目標姿態(tài)用關鍵節(jié)點的熱力圖表示或者用小火柴人的形式來表示。本文將源圖片和DensePose系統(tǒng)對源圖片和目標圖片提取的DensePose的結果直接相連作為輸入驰坊,得到一個256 x 256 x 9的輸入匾二。然后,輸入的數(shù)據(jù)通過3個卷積層拳芙,得到64 x 64 x 256的feature map察藐,隨后通過6個殘差塊,還有兩個轉置卷積層和一個卷積層舟扎,得到最終的Predicted Image分飞。
Warping stream
Warping模塊主要是通過在共同的表面 UV坐標將輸入圖片的紋理貼圖到目標圖片中。這個模塊的核心是STN(Spatial Transformer Network) 睹限。 DensePose將人體的3D模型分割為24個部分譬猫,STN根據(jù)DensePose的輸出將源圖片的人物對齊到24個部分的UV坐標系中,然后在每個UV坐標系中進行插值羡疗。然后用另一個STN模塊從UV坐標系轉換到輸出圖片染服。但是直接這樣做效果不好,因為源圖中包含的人體信息一般不能覆蓋整個人體叨恨,而且跟目標圖片中的人體外表的重合部分一般比較少柳刮,所以研究者們在這個warping模塊中加上了一個修復網(wǎng)絡(inpainting network):
inpainting模塊主要是從STN模塊填充的人體表面節(jié)點推斷人體剩余部分的外表。因為系統(tǒng)不能得到完整的人體表面信息痒钝,所以研究者使用了不同于其他深度修復方法的inpainting方法秉颗。如上圖所示,左邊的輸入圖片中的人通過STN對齊到24個人體表面坐標午乓,隨后作為inpainting autoencoder的輸入站宗。inpainting autoencoder需要根據(jù)輸入來預測出同一個人在不同視角下的外觀。然后收集同一個人的多個角度下的圖片作為修復模塊的目標輸出來做監(jiān)督信號去訓練模型益愈。這種多視角監(jiān)督的方法可以近似得到人體的所有外觀信息梢灭。
inpainting模塊包括 N 個autoencoder,N取決于DensePose中將人體的表面模型分為多少部分蒸其,這里N取24 敏释。每個autoencoder單獨處理一部分。下圖是使用inpaintting autoencoder的效果:
上圖中摸袁,對于每一個人的生成結果钥顽,頂行是直接使用兩個STN對齊的結果,底行是加上了inpainting autoencoder的結果靠汁,可以看到加上修復模塊后蜂大,可以生成更多的衣服紋理特征闽铐。
Blending module
Blending 模塊主要是將predictive 模塊和warping模塊的預測結果混合起來生成更為精細的目標圖片。此模塊不包含encoder或者decoder奶浦,只有2個卷積塊和3個殘差塊兄墅。論文的框架中,預測模塊和變形模塊都先單獨預訓練之后澳叉,再結合混合模塊一起訓練隙咸。
Loss Functions
Reconstruction loss :
Perceptual loss :
這里使用一個預訓練好的VGG19網(wǎng)絡來對真實圖片和生成圖片提取中間層特征,這里
Style loss :
Style loss先對VGG19的中間層feature map計算Gram 矩陣,然后計算真實圖片與生成圖片的Gram 矩陣的Frobenius norm(Frobenius 范數(shù))
Adversarial loss
其中
實驗結果:
與Deformable GAN做定性比較:
從效果上來看瓶殃,與論文的方法相比充包,感覺DSC生成的細節(jié)更多一點,在人臉上
的對比尤其明顯碌燕。
接著論文與當前的比較新的方法做定量對比:
best structure model : 在最后訓練整個模型的時候只使用
the highest realism model : 在最后訓練整個模型的時候使用
balanced model : 在最后訓練整個模型的時候使用完整的Loss :
然后對每個模塊和每個loss的作用做了實驗误证,結果如下:
另外,論文還與基于人體關鍵節(jié)點的姿態(tài)遷移方法生成的圖片質量做了對比修壕。效果如下圖所示愈捅,第一行是基于關鍵節(jié)點的效果圖,第二行是基于DensePose的效果圖慈鸠±督鳎可以看到,基于DensePose做姿態(tài)遷移生成的圖片可以更好的生成四肢青团。