用DensePose,教照片里的人學跳舞,系群體鬼畜
栗子 發自 凹非寺
量子位 出品 | 公眾號 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更多鬼畜的應用吧。
論文傳送門:
https://arxiv.org/pdf/1809.01995.pdf
順便一提,教人學跳舞的演算法真的不少。
比如,伯克利舞痴變舞王,優點是逼真,缺點是無法實現多人共舞:
vs
—
完—
活動推薦
華為雲?普惠AI,讓開發充滿AI!
愛上你的代碼,愛做 「改變世界」的行動派!
大會將首次發布AI開發框架,從AI模型訓練到AI模型部署的全套開發一站式完成!讓AI開發觸手可及!
TAG:量子位 |