同時提升攝像機控制效率、視頻質量,可控視頻生成架構AC3D來了
可控的視頻生成需要實現對攝像機的精確控制。然而,控制視頻生成模型的攝像機運動(camera control)總是不可避免地伴隨著視頻質量的下降。近期,來自多倫多大學、Vector Institute、Snap Research 和西蒙?弗雷澤大學(SFU)的研究團隊推出了 AC3D (Advanced 3D Camera Control)。AC3D 從基本原理出發,分析了攝像機運動在視頻生成中的特點,并通過以下三方面改進了視頻生成的效果和效率:
1. 低頻運動建模:研究發現視頻中的攝像機運動具有低頻特性。研究者優化了訓練和測試的條件調度,加速了訓練收斂,同時提升了視覺和運動質量。
2. 攝像機信息表示:通過研究無條件視頻擴散變換器的表示,研究者觀察到其內部隱含地進行了攝像機姿態估計。將攝像機條件注入限制在特定子層,既減少干擾,又顯著降低了參數數量并提升訓練速度和視覺質量。
3. 數據集改進:通過加入包含 20,000 段動態視頻的高質量靜態攝像機數據集,增強模型區分攝像機運動與場景運動的能力。這些發現促成了 AC3D 架構的設計,從而同時提升了攝像機控制的效率以及視頻的質量,使得 AC3D 在具有攝像機控制的生成視頻建模中達到了新的技術水平。
- 論文標題:AC3D: Analyzing and Improving 3D Camera Control in Video Diffusion Transformers
- 論文地址:arxiv.org/abs/2411.18673
- 項目地址:snap-research.github.io/ac3d/
方法介紹
研究者首先搭建了文生視頻擴散模型作為基礎模型,對該模型進行分析,從而得到攝像機控制的第一性原理。然后研究者基于這些原理設計了 AC3D。
基礎模型:視頻擴散模型
AC3D 基于 VDiT(Video Diffusion Transformer)采用了標準的 Transformer 結構進行構建。VDiT 通過在變分自動編碼器(VAE)潛空間中執行擴散建模,從文本描述生成視頻。模型架構包括:
- 使用 T5 編碼器生成文本嵌入;
- 通過交叉注意力機制將文本嵌入輸入 VDiT;
- 在潛空間中采用流擴散參數化技術(Rectified Flow Diffusion)進行生成。
具體而言,研究者采用了一種標準設計,預訓練了一個具有 11.5B 參數的 Video DiT 模型。該模型包含 32 層,隱藏維度為 4,096,并在 CogVideoX 的潛空間中操作,并使用了 流擴散參數化技術(Rectified Flow Diffusion)。基礎模型在一個大規模圖像和視頻數據集上訓練,該數據集包含了文本注釋,分辨率范圍從 17×144×256 到 121×576×1024。
攝像機運動的第一性原理分析
(1)分析 1:運動光譜體積(MSVs)分析
通過運動光譜體積(Motion Spectral Volumes, MSVs)分析,研究者發現攝像機引起的運動主要位于低頻段。與場景運動相比,攝像機運動更平滑且更少劇烈變化。并且,84% 的低頻運動信息在擴散過程的前 10% 階段已經確定,后續不會再改變。基于這一觀察,研究者調整了訓練和測試的噪聲條件調度,將攝像機運動注入限制在早期噪聲階段進行訓練和推理。這一方法大幅減少了后期干擾,同時提升了視頻的視覺質量和運動保真度。
(2)分析 2:線性探測的 VDiT 表征
研究者通過線性探測實驗,在文生視頻網絡的每一層訓練一個線性層以預測攝像機參數。實驗結果顯示:
1. 無條件文生視頻模型在中間層對攝像機姿態信息預測最為準確;
2. 網絡中間層對攝像機參數具有最佳表征,說明模型在早期階段隱式地注入了攝像機位置信息,并利用后續層指導其他視覺元素生成。
基于此發現,AC3D 將攝像機條件注入限制在前 8 層,從而減少了對其他視覺特征表征的干擾,顯著提升了訓練速度和生成質量。
(3)分析 3:數據集偏見的分析
傳統的具有相機參數的視頻數據集(如 RealEstate10k)幾乎只有靜態場景。這種靜態場景視頻導致模型難以區分攝像機運動與場景運動,也使得網絡過擬合到靜態分布上,從而降低了生成視頻中文運動場景的質量。然而,在動態視頻中預測攝像機運動依然沒有很好的開源解決方案。研究者另辟蹊徑,構建了一個包含 20,000 個動態場景但使用靜態攝像機拍攝的數據集。
這種混合動態場景靜態攝像機與靜態場景動態攝像機的數據集,顯著改善了模型的學習效果。訓練后,模型更能分離攝像機運動和場景運動,從而生成更加真實且動態的視頻。
攝像機控制方法
為實現攝像機控制,研究者將 ControlNet 模塊與 VDiT 結合,形成了 VDiT-CC(VDiT with Camera Control)。具體方法:
1. 用 Plücker 相機表征,通過全卷積編碼器對攝像機軌跡進行編碼;
2. 使用輕量化的 128 維 DiT-XS 模塊處理攝像機編碼,并類似 ControlNet 直接將攝像機特征加入到視頻特征中進行融合;
3. 只在 256x256 的分辨率中訓練攝像機運動注入,因為研究者發現攝像機運動屬于一種低頻信息。在低分辨率中訓練也可以推理在推理高分辨率時實現精準相機控制。
4. 調整訓練和推理時的攝像機條件調度,僅覆蓋逆擴散軌跡的前 40%。這種噪聲調節平均將 FID 和 FVD 指標提升了 14%,并使攝像機跟蹤能力在 MSR-VTT 數據集上提高了 30%(該數據集用于評估模型對多樣化、超出微調分布場景的泛化能力)。此外,這種方法還增強了整體場景的運動性,我們在實驗中對其進行了定性驗證。
5. 僅在前 8 個 DiT 塊中注入攝像機信息,而將后續的 24 個 DiT 塊保持無條件狀態。這種設計能夠避免攝像機信息與后續層的其他特征表征產生干擾,同時顯著減少訓練復雜度,提高模型的生成效率和質量。
其他改進:為了進一步提升模型的性能和攝像機控制能力,研究者引入了以下創新:
1. 一維時間編碼器:通過因果卷積,將高分辨率攝像機軌跡數據轉換為低分辨率表示。
2. 分離文本與攝像機引導:為文本和攝像機信號獨立設計引導機制,分別調整每種輸入類型的權重。
3.ControlNet 反饋機制:通過交叉注意力,從視頻向攝像機提供反饋,優化攝像機表示。
4. 移除攝像機分支的上下文信息:消除上下文干擾,提高對攝像機軌跡的追蹤能力。
通過這些方法,AC3D 在攝像機控制效率和生成質量上取得了顯著突破,為高質量的文本生成視頻提供了新的技術基準。
模型結果
研究者展示了一系列提示詞,不同攝像機軌跡下的可控視頻生成(總時長 40 秒),通過這些視頻可以直觀地觀察 AC3D 在攝像機控制上的表現。
Prompts:
1. 在一個藝術工作室中,一只戴著貝雷帽的貓正在小畫布上作畫。
2. 在一個未來廚房中,宇航員熟練地用平底鍋烹飪。
3. 在一個舒適的廚房里,一只泰迪熊認真地洗碗。
4. 在一個熱帶海灘上,一只金毛獵犬坐在沙灘上,興奮地吃著冰淇淋。
5. 在公園的長椅上,一只松鼠用小爪子抓著一個多汁的漢堡,悠閑地吃著。
6. 在一個溫馨的咖啡館里,一只水獺熟練地操作著濃縮咖啡機。
7. 在一個別致的城市廚房里,一只戴著小廚師帽的貓正在揉面團。
8. 在廚房里,一名宇航員正在用平底鍋烹飪。
9. 在一個未來感十足的東京天臺上,一只戴著耳機的機械考拉在混音。
10. 穿著正式服裝的貓坐在棋盤旁,專注于下一步棋局策略。
11. 在一個廢墟中,一名孤獨的機器人正在尋找可利用的材料。
12. 穿著文藝復興服飾的小老鼠正優雅地吃著一塊奶酪。
總結
AC3D 對視頻擴散模型中的攝像機運動進行系統性分析, 從而顯著提升控制的精度和效率。通過改進條件調度、針對特定層的攝像機控制以及更精確校準的訓練數據,模型在三維攝像機控制視頻合成方面達到了最先進的性能,同時保持了高視覺質量和自然的場景動態。這項工作為文本生成視頻中更精準和高效的攝像機控制奠定了基礎。未來的研究將專注于進一步克服數據局限性,并開發適用于訓練分布范圍外攝像機軌跡的控制機制。