一張圖即出AI視頻!谷歌全新擴散模型,讓人物動起來
只需一張照片,和一段音頻,就能直接生成人物說話的視頻!
近日,來自谷歌的研究人員發布了多模態擴散模型VLOGGER,讓我們朝著虛擬數字人又邁進了一步。
論文地址:https://enriccorona.github.io/vlogger/paper.pdf
VLOGGER接收單個輸入圖像,使用文本或者音頻驅動,生成人類說話的視頻,包括口型、表情、肢體動作等都非常自然。
我們先來看幾個例子:
如果感覺視頻使用別人的聲音有點違和,小編幫你關掉聲音:
可以看出整個生成的效果是非常優雅自然的。
VLOGGER建立在最近生成擴散模型的成功之上,包括一個將人類轉成3D運動的模型,以及一個基于擴散的新架構,用于通過時間和空間控制,增強文本生成圖像的效果。
VLOGGER可以生成可變長度的高質量視頻,并且這些視頻可以通過人臉和身體的高級表示輕松控制。
比如我們可以讓生成視頻中的人閉上嘴:
或者閉上雙眼:
與之前的同類模型相比,VLOGGER不需要針對個體進行訓練,不依賴于面部檢測和裁剪,而且包含了肢體動作、軀干和背景,——構成了可以交流的正常的人類表現。
AI的聲音、AI的表情、AI的動作、AI的場景,人類開始的價值是提供數據,再往后可能就沒什么價值了?
在數據方面,研究人員收集了一個新的、多樣化的數據集MENTOR,比之前的同類數據集大了整整一個數量級,其中訓練集包括2200小時、800000個不同個體,測試集為120小時、4000個不同身份的人。
研究人員在三個不同的基準上評估了VLOGGER,表明模型在圖像質量、身份保存和時間一致性方面達到了目前的最優。
VLOGGER
VLOGGER的目標是生成一個可變長度的逼真視頻,來描繪目標人說話的整個過程,包括頭部動作和手勢。
如上圖所示,給定第1列所示的單個輸入圖像和一個示例音頻輸入,右列中展示了一系列合成圖像。
包括生成頭部運動、凝視、眨眼、嘴唇運動,還有以前模型做不到的一點,生成上半身和手勢,這是音頻驅動合成的一大進步。
VLOGGER采用了基于隨機擴散模型的兩階段管道,用于模擬從語音到視頻的一對多映射。
第一個網絡將音頻波形作為輸入,以生成身體運動控制,負責目標視頻長度上的凝視、面部表情和姿勢。
第二個網絡是一個包含時間的圖像到圖像的平移模型,它擴展了大型圖像擴散模型,采用預測的身體控制來生成相應的幀。為了使這個過程符合特定身份,網絡獲取了目標人的參考圖像。
VLOGGER使用基于統計的3D身體模型,來調節視頻生成過程。給定輸入圖像,預測的形狀參數對目標標識的幾何屬性進行編碼。
首先,網絡M獲取輸入語音,并生成一系列N幀的3D面部表情和身體姿勢。
然后渲染移動3D身體的密集表示,以在視頻生成階段充當2D控件。這些圖像與輸入圖像一起作為時間擴散模型和超分辨率模塊的輸入。
音頻驅動的運動生成
管道的第一個網絡旨在根據輸入語音預測運動。此外還通過文本轉語音模型將輸入文本轉換為波形,并將生成的音頻表示為標準梅爾頻譜圖(Mel-Spectrograms)。
管道基于Transformer架構,在時間維度上有四個多頭注意力層。包括幀數和擴散步長的位置編碼,以及用于輸入音頻和擴散步驟的嵌入MLP。
在每一幀中,使用因果掩碼使模型只關注前一幀。模型使用可變長度的視頻進行訓練(比如TalkingHead-1KH數據集),以生成非常長的序列。
研究人員采用基于統計的3D人體模型的估計參數,來為合成視頻生成中間控制表示。
模型同時考慮了面部表情和身體運動,以生成更好的表現力和動態的手勢。
此外,以前的面部生成工作通常依賴于扭曲(warped)的圖像,但在基于擴散的架構中,這個方法被忽視了。
作者建議使用扭曲的圖像來指導生成過程,這促進了網絡的任務并有助于保持人物的主體身份。
生成會說話和移動的人類
下一個目標是對一個人的輸入圖像進行動作處理,使其遵循先前預測的身體和面部運動。
受ControlNet的啟發,研究人員凍結了初始訓練的模型,并采用輸入時間控件,制作了編碼層的零初始化可訓練副本。
作者在時間域中交錯一維卷積層,網絡通過獲取連續的N幀和控件進行訓練,并根據輸入控件生成參考人物的動作視頻。
模型使用作者構建的MENTOR數據集進行訓練,因為在訓練過程中,網絡會獲取一系列連續的幀和任意的參考圖像,因此理論上可以將任何視頻幀指定為參考。
不過在實踐中,作者選擇采樣離目標剪輯更遠的參考,因為較近的示例提供的泛化潛力較小。
網絡分兩個階段進行訓練,首先在單幀上學習新的控制層,然后通過添加時間分量對視頻進行訓練。這樣就可以在第一階段使用大批量,并更快地學習頭部重演任務。
作者采用的learning rate為5e-5,兩個階段都以400k的步長和128的批量大小訓練圖像模型。
多樣性
下圖展示了從一個輸入圖片生成目標視頻的多樣化分布。最右邊一列顯示了從80個生成的視頻中獲得的像素多樣性。
在背景保持固定的情況下,人的頭部和身體顯著移動(紅色意味著像素顏色的多樣性更高),并且,盡管存在多樣性,但所有視頻看起來都很逼真。
視頻編輯
模型的應用之一是編輯現有視頻。在這種情況下,VLOGGER會拍攝視頻,并通過閉上嘴巴或眼睛等方式改變拍攝對象的表情。
在實踐中,作者利用擴散模型的靈活性,對應該更改的圖像部分進行修復,使視頻編輯與原始未更改的像素保持一致。
視頻翻譯
模型的主要應用之一是視頻翻譯。在這種情況下,VLOGGER會以特定語言拍攝現有視頻,并編輯嘴唇和面部區域以與新音頻(例如西班牙語)保持一致。