DensePose姿態遷移,只用一張照片也能跳起舞|ECCV
來自專欄量子位24 人贊了文章
栗子 發自 凹非寺
量子位 出品 | 公眾號 QbitAI
怎樣讓一個面朝鏡頭、靜止不動的妹子,跳起你為她選的舞蹈,把360度身姿全面呈現?
Facebook團隊,把負責感知的多人姿勢識別模型DensePose,與負責生成的深度生成網路結合起來。
不管是誰的感人姿勢,都能附體到妹子身上,把她單一的靜態,變成豐富的動態。
這項研究成果,入選了ECCV 2018。
當然不能只有DensePose
團隊把SMPL多人姿態模型,跟DensePose結合到一起。這樣一來,就可以用一個成熟的表面模型來理解一張圖片。
這項研究,是用基於表面的神經合成,是在閉環里渲染一張圖像,生成各種新姿勢。
照片中人需要學習的舞姿,來自另一個人的照片,或者視頻截圖。
DensePose系統,負責把兩張照片關聯起來。具體方法是,在一個公共表面UV坐標系 (common surface coordinates) 里,給兩者之間做個映射。
但如果單純基於幾何來生成,又會因為DensePose採集數據不夠準確,還有圖像里的自我遮擋 (比如身體被手臂擋住) ,而顯得不那麼真實。
那麼,團隊處理遮擋的方法是,在表面坐標系裡,引入一個圖像修復 (Impainting) 網路。把這個網路的預測結果,和一個更傳統的前饋條件和成模型預測結合起來。
這些預測是各自獨立進行的,然後再用一個細化模塊來優化預測結果。把重構損失、對抗損失和感知損失結合起來,優勢互補,得出最終的生成效果。
完整的網路結構,就如上圖這般。
監督學習一下
模型的監督學習過程,是這樣的:
從輸入的源圖像開始,先把它的每個像素對應到UV坐標系裡。這一步是DensePose驅動的遷移網路完成的。
然後,負責修復圖像的自編碼器,就來預測照片中人的不同角度會是什麼樣子。這步預測,也是在扭曲的坐標系裡完成的。
從右邊開始,就是生成目標,同樣要整合到UV坐標系中。再用損失函數 來處理 (上圖紅字部分) 把結果輸入自編碼器,幫助模型學習。
用同一人物 (同樣裝扮) 的多個靜態姿勢來作監督,替代了360度旋轉的人體。
訓練成果如何
先來看一下,新加入的圖像修復步驟,生成的效果:
把DensePose的質地紋路,修復一下,還是有明顯效果的。
再來看一下多人視頻什麼樣子:
雖然,臉部好像燒焦的樣子,但已經很鬼畜了。在下不由得想起:
另外團隊用DeepFashion數據集,對比了一下自家演算法和其他同行。
結果是,結構相似度 (Structural Similarity) ,以假亂真度 (Inception Score) 以及檢測分 (Detection Score) 這三項指標,Facebook家的演算法表現都超過了前輩。
各位請持續期待,DensePose更多鬼畜的應用吧。
論文傳送門:
https://arxiv.org/pdf/1809.01995.pdf順便一提,教人學跳舞的演算法真的不少。
比如,伯克利舞痴變舞王,優點是逼真,缺點是無法實現多人共舞:
vs
— 完 —
歡迎大家關注我們的專欄:量子位 - 知乎專欄
誠摯招聘
量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,請在量子位公眾號(QbitAI)對話界面,回復「招聘」兩個字。
量子位 QbitAI· 頭條號簽約作者
?? ? 追蹤AI技術和產品新動態
推薦閱讀: