字節跳動近日開源了一項名爲 LatentSync 的創新技術,該技術是一種基於音頻條件的潛在擴散模型的端到端脣同步框架。這項技術無需任何中間運動表示,即可實現視頻中人物脣部動作與音頻的精準同步。與以往基於像素空間擴散或兩階段生成的脣同步方法不同,LatentSync 直接利用了 Stable Diffusion 的強大功能,能更有效地建模複雜的視聽關聯。

研究發現,基於擴散的脣同步方法在時間一致性方面表現不佳,因爲不同幀之間的擴散過程存在不一致性。爲了解決這個問題,LatentSync 引入了時間表示對齊 (TREPA) 技術。TREPA 利用大型自監督視頻模型提取的時間表示,使生成的幀與真實幀對齊,從而增強時間一致性,同時保持脣同步的準確性。
此外,研究團隊還深入研究了 SyncNet 的收斂問題,並通過大量的實證研究,確定了影響 SyncNet 收斂的關鍵因素,包括模型架構、訓練超參數和數據預處理方法。通過優化這些因素,SyncNet 在 HDTF 測試集上的準確率從91% 顯著提升至94%。由於沒有改變 SyncNet 的整體訓練框架,這項經驗也可應用於其他利用 SyncNet 的脣同步和音頻驅動的人像動畫方法。
LatentSync 的優勢
端到端框架:無需中間運動表示,直接從音頻生成同步的脣部動作。
高質量生成:利用 Stable Diffusion 的強大能力,生成動態逼真的說話視頻。
時間一致性:通過 TREPA 技術,增強視頻幀之間的時間一致性。
SyncNet 優化:解決了 SyncNet 的收斂問題,顯著提高了脣同步的準確性。
工作原理
LatentSync 的核心是基於圖像到圖像的修復技術,需要輸入帶遮罩的圖像作爲參考。爲了整合原始視頻的人臉視覺特徵,模型還會輸入參考圖像。這些輸入信息經過通道拼接後,輸入到 U-Net 網絡中進行處理。
模型使用預訓練的音頻特徵提取器 Whisper 來提取音頻嵌入。脣部動作可能受到周圍幀音頻的影響,因此模型會捆綁多個周圍幀的音頻作爲輸入,以提供更多的時間信息。音頻嵌入通過交叉注意力層整合到 U-Net 中。
爲了解決 SyncNet 需要圖像空間輸入的問題,模型會先在噪聲空間進行預測,然後通過單步方法獲得估計的乾淨潛在空間。研究發現,在像素空間訓練 SyncNet 比在潛在空間訓練效果更好,這可能是因爲 VAE 編碼過程中會丟失脣部區域的信息。
訓練過程分爲兩個階段:第一階段 U-Net 學習視覺特徵,不進行像素空間解碼和添加 SyncNet 損失。第二階段使用解碼的像素空間監督方法添加 SyncNet 損失,並使用 LPIPS 損失來提高圖像的視覺質量。爲了確保模型正確學習時間信息,輸入的噪聲也需要具有時間一致性,模型採用了混合噪聲模型。此外,在數據預處理階段,還使用了仿射變換來實現人臉正面化。
TREPA 技術
TREPA 通過對齊生成圖像序列和真實圖像序列的時間表示來提高時間一致性。該方法使用大型自監督視頻模型 VideoMAE-v2來提取時間表示。與僅使用圖像之間距離損失的方法不同,時間表示可以捕捉圖像序列中的時間相關性,從而提高整體時間一致性. 研究發現,TREPA 不僅不會損害脣同步的準確性,反而可以有所提高。
SyncNet 收斂問題
研究發現,SyncNet 的訓練損失容易停留在0.69附近,無法進一步下降。通過大量的實驗分析,研究團隊發現,批次大小、輸入幀數和數據預處理方法對 SyncNet 的收斂有顯著影響。模型架構也會影響收斂,但影響較小。
實驗結果表明,LatentSync 在多個指標上都優於其他最先進的脣同步方法。特別是在脣同步準確性方面,這歸功於其優化的 SyncNet 和音頻交叉注意層,可以更好地捕捉音頻和脣部動作之間的關係。此外,由於採用了 TREPA 技術,LatentSync 的時間一致性也得到了顯著提高。
項目地址:https://github.com/bytedance/LatentSync
