深入探討文字到影片模型
文字到影片生成的挑戰
- 計算成本: 確保跨幀的時間與空間一致性會產生長期依賴,使得訓練計算成本高昂,且對許多研究者而言往往負擔不起。
- 資料稀缺: 高品質的多模態資料集,包含影片與文字的配對,十分稀少且常常標註稀疏,這阻礙了模型學習複雜運動語意的能力。
- 說明歧義: 描述影片比描述單張圖片更為複雜。有效的影片生成通常需要一系列提示或敘事故事,而非單一簡短文字提示。
模型架構的演變
1. 基於 GAN 與 VAE 的方法
早期研究利用生成對抗網路(GAN)與變分自編碼器(VAE)以自回歸方式根據說明產生影格。例子包括 Text2Filter 與 TGANs-C。這些早期模型受限於低解析度、短時長以及簡單、孤立的動作。
2. 基於 Transformer 的框架
在 GPT-3 與 DALL-E 成功之後,研究者採用了 Transformer 架構以處理更長的序列。著名模型包括:
- Phenaki: 能夠在一系列提示(敘事)條件下生成任意長度的影片。
- NUWA-Infinity: 使用自回歸之上再自回歸的機制合成無限高清影片。
- 其他框架: CogVideo、VideoGPT 與 Make-A-Video 也採用基於 Transformer 的方法,而 TATS 則結合 VQGAN 與時間感知的 Transformer 模組。
3. 基於 Diffusion 的架構
目前的研究浪潮聚焦於 Diffusion 模型,以實現超寫實且語境豐富的結果。主要發展包括:
- Video Diffusion Models (VDM): 首個將 Diffusion 模型擴展至影片領域的先驅。
- MagicVideo: 在低維潛在空間中生成影片剪輯,以提升相較於 VDM 的效率。
- Text2Video-Zero: 一個零樣本框架,結合可訓練的運動動態模組與預訓練的 Stable Diffusion 模型,無需配對的文字-影片資料。
- NUWA-XL: 採用「Diffusion 之上 Diffusion」的方法,在 3,376 幀上進行訓練,以縮小滑動窗口自回歸生成中出現的語境差距。
- Tune-a-Video: 使用單一文字-影片配對微調預訓練的文字到圖像模型,以改變內容同時保留運動。
影片-文字資料集
模型效能高度依賴於配對影片-文字資料集的品質。目前的策略包括使用大規模資料集或結合不同類型的資料:
- WebVid: 常見資料集,包含 1,070 萬文字-影片配對(52,000 小時影片),但其中噪聲與不相關描述相當多。
- Howto100M: 專注於逐步教學影片(烹飪、園藝等),擁有 1.36 億段影片。
- QuerYD: 專注於事件定位,提供關於物件與動作相對位置的詳細說明。
- CelebV-Text: 大規模臉部資料集,超過 70,000 部影片,用於生成寫實的臉孔、情緒與手勢。
某些模型,例如 Make-a-Video,嘗試透過使用文字-圖像配對學習視覺外觀,並以單模態影片資料無監督學習時空依賴,以繞過資料稀缺的問題。
實作與開源資源
許多文字到影片模型現在已透過 diffusers 套件整合至 Hugging Face 生態系統。使用者可以執行與微調模型,例如 Text2Video-Zero 與 ModelScope(來自 Alibaba / DAMO Vision Intelligence Lab)。
實作範例
使用者可以使用以下實作模式部署 ModelScope 模型:
import torch
from diffusers import DiffusionPipeline, DPMSolverMultistepScheduler
from diffusers.utils import export_to_video
pipe = DiffusionPipeline.from_pretrained("damo-vilab/text-to-video-ms-1.7b", torch_dtype=torch.float16, variant="fp16")
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
pipe.enable_model_cpu_offload()
prompt = "Spiderman is surfing"
video_frames = pipe(prompt, num_inference_steps=25).frames
video_path = export_to_video(video_frames)
社群生態系統
除了官方整合之外,社群也開發了多篇關鍵論文(包括 Imagen、Phenaki 與 NUWA)的非官方實作,由 Phil Wang(lucidrains)等貢獻者完成,並提供如 ExponentialML 所提供的微調框架。
Sources
- OriginalA Dive into Text-to-Video Models