DeepFake 新高度:一階運動模型讓「萬物皆可動」

  • 2020 年 4 月 26 日
  • AI

作者 | 蔣寶尚

編輯 | 叢 末

DeepFake一方面被罵作「AI毒瘤」,另一方面在B站上大行其道。最近,這項技術又用在了在線影片會議身上。

一鍵換臉,身臨其境與馬斯克開會,商討火箭上天大計的項目,也登上Github熱榜。

據稱,這是一位來自俄羅斯的程式設計師開發的開源「影片會議阿凡達」軟體Avatarify,背後所用的技術基於名為First Order Motion的核心模型,這個模型可以對影片中的對象進行動畫處理,並生成影片序列。First Order Motion模型來自 NeurIPS 2019 論文《First Order Motion Model for Image Animation》,最初的目的是讓「靜態圖片」動起來。如下圖所示:「你動,它也動」。     

根據作者介紹,這個模型可以輕易地讓「權游」中的人物模仿川普進行講話,還可以讓靜態的馬跑起來,另外還可以完成模特的「一鍵換裝」。

論文解讀:一階動畫模型的來源與主要想法

論文多數作者是來自義大利的特倫託大學,還有一位是 snap 公司的員工,論文已經發表在NeurIPS  2019 上。

First Order Motion模型運作流程

整個模型分為運動估計模組和影像生成模組兩個主要組成部分。在運動估計模組中,該模型通過自監督學習將目標物體的外觀和運動資訊進行分離,並進行特徵表示。而在影像生成模組中,模型會對目標運動期間出現的遮擋進行建模,然後從給定的名人圖片中提取外觀資訊,結合先前獲得的特徵表示,進行影片合成。該模型對硬體要求比較高,想實現33幀/秒的影片效果,需要一張1080ti顯示卡,也即需要NVIDIA 10系顯示卡中的卡皇加持。

模型細節與方法

一階動畫模型的思想是用一組自學習的關鍵點和局部仿射變換來建立複雜運動模型,目的是為了解決大目標姿勢動態變化的情況下,傳統模型生成品質較差的問題。

另外,作者引入了「遮擋感知生成器」,可以指示源影像中不可見的物體部分,從而利用上下文推斷這部分內容。再者為了改進局部仿射變換的估計,作者擴展了常用於關鍵點檢測器訓練的等差損耗。最後作者還發布了一個新的高解析度數據集Thai-Chi-HD,用於評估影像動畫和影片生成框架的參考基準。作者根據汽車駕駛影片中類似物體的運動情況,對源影像中描繪的物體進行「動畫化」。

沒有直接監督,而是採用了一種自監督策略,該策略的靈感來源於Monkey-Net。

註:Monkey-Net是通過深度運動遷移使任意物體動畫化。

對於訓練,作者使用包含相同對象類別的大量影片序列集合。模型被訓練來通過組合單幀和學習的影片中運動的潛在表示來重建訓練影片。觀察從同一影片中提取的幀對,模型學習將運動編碼為特定的關鍵點位移和局部仿射變換的組合。

在測試時,將模型應用於源影像和驅動影片的每一幀的幀對,並對源對象進行影像「動畫」。運動估計模組的作用是估計一個密集的運動場(dense motion field),該密集運動場隨後被用來調整計算特徵圖與物體姿勢。

另外,作者採用的是後向光流,因為它可以有效地實現雙線取樣。運動估計模組沒有直接進行預測,而是分兩步進行,在第一步中,從稀疏軌跡集近似兩個變換,其中兩個變換是通過使用自監督方式學習關鍵點獲得的。影片和影像中的關鍵點由編碼器-解碼器網路分別預測。

另外,稀疏運動表示非常適合於動畫,因為在測試時,可以使用驅動影片中的關鍵點軌跡來移動源影像的關鍵點。使用局部仿射變換的好處是能夠對每個關鍵點附近的運動進行建模,與僅使用關鍵點置換相比,局部仿射變換能夠對更大的變換族( larger family of transformations)進行建模。

在第二步中,密集運動網路結合局部近似以獲得密集運動場,除了密集的運動場之外,該網路還輸出遮擋遮罩,該遮擋遮罩指示影片中的哪些影像部分可以通過源影像的扭曲來重建,以及哪些部分應該內嵌(即從上下文推斷)。

實驗

作者在四個數據集上進行了訓練和測試,結果顯示與所有實驗相比,一階動畫模型能夠渲染解析度非常高的影片。 VoxCeleb 數據集、UvA-Nemo 數據集、The BAIR robot pushing dataset、作者自己收集的數據集。

其中,VoxCeleb 是從YouTube的影片中提取到的包含1251人共超過10萬條語音的數據集。數據集是性別平衡的,其中男性為55%.。說話人涵蓋不同的種族,口音,職業和年齡。UvA-Nemo 是一個由1240個影片組成的人臉分析數據集。作者使用1116個影片進行訓練,124個影片進行評估。

伯克利的這個,包含了由Sawyer機器人手臂在桌子上推著不同物體的影片收集的影片。它包括42880個訓練影片和128個測試影片。每個影片都有30幀長,解析度為256×256。作者自己收集的數據是YouTube上的285個關於太極功夫的影片,其中252個用於訓練,28個用於測試。在訓練之前對影片進行了預處理,分割之後訓練集為3049個訓練影片,285個測試影片。

太極功夫影片上的重建比較

 

世界結果如上圖消融研究所示:對來自太極高清數據集的兩個序列和兩個源影像上的影像動畫任務與當前SOTA比較。

與X2Face和Monkey-Ne相比較,作者的一階動畫模型改進了四個不同數據集中的每一個指標,即使在VoxCeleb和Nemo這兩個人臉數據集上,作者的方法也明顯優於X2Face。

在作者的部落格上,還做了換臉的實驗,如下所示:

(雷鋒網)(雷鋒網)(雷鋒網)