DensePose姿態遷移,只用一張照片也能跳起舞|ECCV

DensePose姿態遷移,只用一張照片也能跳起舞|ECCV

來自專欄量子位24 人贊了文章

栗子 發自 凹非寺

量子位 出品 | 公眾號 QbitAI

怎樣讓一個面朝鏡頭靜止不動的妹子,跳起你為她選的舞蹈,把360度身姿全面呈現?

Facebook團隊,把負責感知的多人姿勢識別模型DensePose,與負責生成深度生成網路結合起來。

不管是誰的感人姿勢,都能附體到妹子身上,把她單一的靜態,變成豐富的動態。

這項研究成果,入選了ECCV 2018

當然不能只有DensePose

團隊把SMPL多人姿態模型,跟DensePose結合到一起。這樣一來,就可以用一個成熟的表面模型來理解一張圖片。

這項研究,是用基於表面的神經合成,是在閉環里渲染一張圖像,生成各種新姿勢。

△左為源圖像,中為源圖姿勢,右為目標姿勢

照片中人需要學習的舞姿,來自另一個人的照片,或者視頻截圖。

DensePose系統,負責把兩張照片關聯起來。具體方法是,在一個公共表面UV坐標系 (common surface coordinates) 里,給兩者之間做個映射

但如果單純基於幾何來生成,又會因為DensePose採集數據不夠準確,還有圖像里的自我遮擋 (比如身體被手臂擋住) ,而顯得不那麼真實。

△DensePose提取的質地 (左) vs 修復後的質地 (右)

那麼,團隊處理遮擋的方法是,在表面坐標系裡,引入一個圖像修復 (Impainting) 網路。把這個網路的預測結果,和一個更傳統的前饋條件和成模型預測結合起來。

這些預測是各自獨立進行的,然後再用一個細化模塊來優化預測結果。把重構損失對抗損失感知損失結合起來,優勢互補,得出最終的生成效果。

完整的網路結構,就如上圖這般。

監督學習一下

模型的監督學習過程,是這樣的:

從輸入的源圖像開始,先把它的每個像素對應到UV坐標系裡。這一步是DensePose驅動的遷移網路完成的。

然後,負責修復圖像的自編碼器,就來預測照片中人的不同角度會是什麼樣子。這步預測,也是在扭曲的坐標系裡完成的。

從右邊開始,就是生成目標,同樣要整合到UV坐標系中。再用損失函數 來處理 (上圖紅字部分) 把結果輸入自編碼器,幫助模型學習。

用同一人物 (同樣裝扮) 的多個靜態姿勢來作監督,替代了360度旋轉的人體。

訓練成果如何

先來看一下,新加入的圖像修復步驟,生成的效果:

把DensePose的質地紋路,修復一下,還是有明顯效果的。

再來看一下多人視頻什麼樣子:

雖然,臉部好像燒焦的樣子,但已經很鬼畜了。在下不由得想起:

另外團隊用DeepFashion數據集,對比了一下自家演算法和其他同行。

結果是,結構相似度 (Structural Similarity) ,以假亂真度 (Inception Score) 以及檢測分 (Detection Score) 這三項指標,Facebook家的演算法表現都超過了前輩。

各位請持續期待,DensePose更多鬼畜的應用吧。

論文傳送門:

arxiv.org/pdf/1809.0199

順便一提,教人學跳舞的演算法真的不少。

比如,伯克利舞痴變舞王,優點是逼真,缺點是無法實現多人共舞

vs

歡迎大家關注我們的專欄:量子位 - 知乎專欄

誠摯招聘

量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回復「招聘」兩個字。

量子位 QbitAI· 頭條號簽約作者

?? ? 追蹤AI技術和產品新動態


推薦閱讀:

TAG:計算機視覺 | Facebook | 機器學習 |