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