一張照片生成視頻,張嘴、點頭、喜怒哀樂,都可以打字控制
視頻 PS 可以靈活到什么程度?最近,微軟的一項研究提供了答案。
在這項研究中,你只要給 AI 一張照片,它就能生成照片中人物的視頻,而且人物的表情、動作都是可以通過文字進行控制的。比如,如果你給的指令是「張嘴」,視頻中的人物就會真的張開嘴。
如果你給的指令是「傷心」,她就會做出傷心的表情和頭部動作。
當給出指令「驚訝」,虛擬人物的抬頭紋都擠到一起了。
此外,你還可以給定一段語音,讓虛擬人物的嘴型、動作都和語音對上。或者給定一段真人視頻讓虛擬人物去模仿。
如果你對虛擬人物動作有更多的自定義編輯需求,比如讓他們點頭、轉(zhuǎn)頭或歪頭,這項技術(shù)也是支持的。
這項研究名叫 GAIA(Generative AI for Avatar,用于虛擬形象的生成式 AI),其 demo 已經(jīng)開始在社交媒體傳播。不少人對其效果表示贊嘆,并希望用它來「復活」逝者。
但也有人擔心,這些技術(shù)的持續(xù)進化會讓網(wǎng)絡視頻變得更加真假難辨,或者被不法分子用于詐騙??磥?,反詐手段要繼續(xù)升級了。
GAIA 有什么創(chuàng)新點?
會說話的虛擬人物生成旨在根據(jù)語音合成自然視頻,生成的嘴型、表情和頭部姿勢應與語音內(nèi)容一致。以往的研究通過實施特定虛擬人物訓練(即為每個虛擬人物訓練或調(diào)整特定模型),或在推理過程中利用模板視頻實現(xiàn)了高質(zhì)量的結(jié)果。最近,人們致力于設計和改進零樣本會說話的虛擬人物的生成方法(即僅有一張目標虛擬人物的肖像圖片可以用于外貌參考)。不過,這些方法通過采用基于 warping 的運動表示、3D Morphable Model(3DMM)等領域先驗來降低任務難度。這些啟發(fā)式方法雖然有效,但卻阻礙了從數(shù)據(jù)分布中直接學習,并可能導致不自然的結(jié)果和有限的多樣性。
本文中,來自微軟的研究者提出了 GAIA(Generative AI for Avatar),其能夠從語音和單張肖像圖片合成自然的會說話的虛擬人物視頻,在生成過程中消除了領域先驗。
項目地址:https://microsoft.github.io/GAIA/
論文地址:https://arxiv.org/pdf/2311.15230.pdf
GAIA 揭示了兩個關鍵洞見:
- 用語音來驅(qū)動虛擬人物運動,而虛擬人物的背景和外貌(appearance)在整個視頻中保持不變。受此啟發(fā),本文將每一幀的運動和外貌分開,其中外貌在幀之間共享,而運動對每一幀都是唯一的。為了根據(jù)語音預測運動,本文將運動序列編碼為運動潛在序列,并使用以輸入語音為條件的擴散模型來預測潛在序列;
- 當一個人在說出給定的內(nèi)容時,表情和頭部姿態(tài)存在巨大的多樣性,這需要一個大規(guī)模和多樣化的數(shù)據(jù)集。因此,該研究收集了一個高質(zhì)量的能說話的虛擬人物數(shù)據(jù)集,該數(shù)據(jù)集由 16K 個不同年齡、性別、皮膚類型和說話風格的獨特說話者組成,使生成結(jié)果自然且多樣化。
根據(jù)上述兩個洞見,本文提出了 GAIA 框架,其由變分自編碼器 (VAE)(橙色模塊)和擴散模型(藍色和綠色模塊)組成。
VAE 主要用來分解運動和外貌,其包含兩個編碼器(即運動編碼器和外貌編碼器)和一個解碼器。在訓練過程中,運動編碼器的輸入是當前幀的面部關鍵點(landmarks),而外貌編碼器的輸入是當前視頻剪輯中的隨機采樣的幀。
隨后根據(jù)這兩個編碼器的輸出,優(yōu)化解碼器以重建當前幀。在獲得了訓練好的 VAE 后,就得到了所有訓練數(shù)據(jù)的潛在運動(即運動編碼器的輸出)。
接著,本文訓練了一個擴散模型來預測以語音和視頻剪輯中的一個隨機采樣幀為條件的運動潛在序列,這為生成過程提供了外貌信息。
在推理過程中,給定目標虛擬人物的參考肖像圖像,擴散模型將圖像和輸入語音序列作為條件,生成符合語音內(nèi)容的運動潛在序列。然后,生成的運動潛在序列和參考肖像圖像經(jīng)過 VAE 解碼器合成說話視頻輸出。
在數(shù)據(jù)方面。該研究從不同的來源構(gòu)建數(shù)據(jù)集,他們收集的數(shù)據(jù)集包括 HighDefinition Talking Face Dataset (HDTF) 和 Casual Conversation datasets v1&v2 (CC v1&v2) 。除了這三個數(shù)據(jù)集之外,該研究還收集了一個大規(guī)模的內(nèi)部說話虛擬人物(internal talking avatar)數(shù)據(jù)集,其中包含 7K 小時的視頻和 8K 說話者 ID。數(shù)據(jù)集統(tǒng)計的概述如表 1 所示。
為了能夠從數(shù)據(jù)中學習到所需的信息,本文還提出了幾種自動過濾策略來確保訓練數(shù)據(jù)的質(zhì)量:
- 為了使嘴唇運動可見,頭像的正面方向應朝向相機;
- 為了保證穩(wěn)定性,視頻中的面部動作要流暢,不能出現(xiàn)快速晃動;
- 為了過濾掉嘴唇動作和言語不一致的極端情況,應該刪除頭像戴口罩或保持沉默的幀。
本文在過濾后的數(shù)據(jù)上訓練 VAE 和擴散模型。從實驗結(jié)果來看,本文得到了三個關鍵結(jié)論:
- GAIA 能夠進行零樣本說話虛擬人物生成,在自然度、多樣性、口型同步質(zhì)量和視覺質(zhì)量方面具有優(yōu)越的性能。根據(jù)研究者的主觀評價,GAIA 顯著超越了所有基線方法;
- 訓練模型的大小從 150M 到 2B 不等,結(jié)果表明,GAIA 具有可擴展性,因為較大的模型會產(chǎn)生更好的結(jié)果;
- GAIA 是一個通用且靈活的框架,可實現(xiàn)不同的應用,包括可控的說話虛擬人物生成和文本 - 指令虛擬人物生成。
GAIA 效果怎么樣?
實驗過程中,該研究將 GAIA 與三個強大的基線進行比較,包括 FOMM、HeadGAN 和 Face-vid2vid。結(jié)果如表 2 所示:GAIA 中的 VAE 比以前的視頻驅(qū)動基線實現(xiàn)了持續(xù)的改進,這說明 GAIA 成功地分解了外貌和運動表示。
語音驅(qū)動結(jié)果。用語音驅(qū)動說話虛擬人物生成是通過從語音預測運動實現(xiàn)的。表 3 和圖 2 提供了 GAIA 與 MakeItTalk、Audio2Head 和 SadTalker 方法的定量和定性比較。
可以看出,GAIA 在主觀評價方面大幅超越了所有基線。更具體地說,如圖 2 所示,即使參考圖像是閉著眼睛或不尋常的頭部姿態(tài)給出的,基線方法的生成往往高度依賴于參考圖像,相比之下,GAIA 對各種參考圖像具有魯棒性,并生成具有更高自然度、口型高度同步、視覺質(zhì)量更好以及運動多樣性的結(jié)果。
如表 3 所示,最佳 MSI 分數(shù)表明 GAIA 生成的視頻具有出色的運動穩(wěn)定性。Sync-D 得分為 8.528,接近真實視頻的得分 (8.548),說明生成的視頻具有出色的唇形同步性。該研究獲得了與基線相當?shù)?FID 分數(shù),這可能是受到了不同頭部姿態(tài)的影響,因為該研究發(fā)現(xiàn)未經(jīng)擴散訓練的模型在表中實現(xiàn)了更好的 FID 分數(shù),如表 6 所示。