文字到影片:任務、挑戰和現狀

釋出於 2023 年 5 月 8 日
在 GitHub 上更新

video-samples
影片樣本由 ModelScope 生成。

在生成模型眾多令人難以置信的進步中,文字到影片技術是下一個前沿。顧名思義,文字到影片是一個相當新的計算機視覺任務,它涉及根據文字描述生成一系列在時間和空間上都保持一致的影像。雖然這個任務看起來與文字到影像非常相似,但它的難度卻臭名昭著地高。這些模型是如何工作的?它們與文字到影像模型有何不同?我們能期待它們達到什麼樣的效能?

在這篇博文中,我們將討論文字到影片模型的過去、現在和未來。我們將首先回顧文字到影片和文字到影像任務之間的差異,並討論無條件和文字條件影片生成的獨特挑戰。此外,我們還將涵蓋文字到影片模型的最新進展,探索這些方法的工作原理及其能力。最後,我們將討論我們在 Hugging Face 為促進這些模型的整合和使用所做的工作,並分享一些在 Hugging Face Hub 內外的酷炫演示和資源。

samples
根據各種文字描述輸入生成的影片示例,圖片取自 Make-a-Video

文字到影片 vs. 文字到影像

隨著近期的眾多發展,要跟上文字到影像生成模型的現狀可能很困難。讓我們先來做一個快速回顧。

就在兩年前,第一批開放詞彙、高質量的文字到影像生成模型問世。這第一波文字到影像模型,包括 VQGAN-CLIP、XMC-GAN 和 GauGAN2,都採用了 GAN 架構。緊隨其後的是 OpenAI 在 2021 年初推出的廣受歡迎的基於 Transformer 的 DALL-E,2022 年 4 月的 DALL-E 2,以及由 Stable Diffusion 和 Imagen 開創的新一波擴散模型。Stable Diffusion 的巨大成功催生了許多產品化的擴散模型,如 DreamStudio 和 RunwayML GEN-1,並與現有產品(如 Midjourney)整合。

儘管擴散模型在文字到影像生成方面能力非凡,但基於擴散和非擴散的文字到影片模型在其生成能力上卻要受限得多。文字到影片模型通常在非常短的影片片段上進行訓練,這意味著它們需要一種計算成本高且速度慢的滑動視窗方法來生成長影片。因此,這些模型的部署和擴充套件都非常困難,並且在上下文和長度上仍然受到限制。

文字到影片任務在多個方面面臨獨特的挑戰。其中一些主要挑戰包括:

  • 計算挑戰:確保幀間的空間和時間一致性會產生長期的依賴關係,這帶來了高昂的計算成本,使得大多數研究人員無法負擔訓練此類模型的費用。
  • 缺乏高質量資料集:用於文字到影片生成的多模態資料集稀少,且通常標註稀疏,這使得學習複雜的運動語義變得困難。
  • 影片字幕的模糊性:如何以一種便於模型學習的方式描述影片,這仍然是一個懸而未決的問題。需要比單個簡短文字提示更多的資訊來提供完整的影片描述。生成的影片必須以一系列提示或一個隨時間敘述故事的情節為條件。

在下一節中,我們將討論文字到影片領域的發展時間線以及為分別解決這些挑戰而提出的各種方法。從更高層面來看,文字到影片的研究工作提出了以下方案之一:

  1. 新的、質量更高、更易於學習的資料集。
  2. 在沒有配對的文字-影片資料的情況下訓練此類模型的方法。
  3. 更具計算效率的方法,以生成更長、更高解析度的影片。

如何從文字生成影片?

讓我們來看看文字到影片生成是如何工作的,以及該領域的最新進展。我們將探討文字到影片模型是如何演變的,它們遵循了與文字到影像研究相似的路徑,以及迄今為止是如何應對文字到影片生成的具體挑戰的。

與文字到影像任務類似,早期關於文字到影片生成的研究也只可以追溯到幾年前。早期的研究主要使用基於 GAN 和 VAE 的方法,根據字幕自迴歸地生成幀(參見 Text2FilterTGANs-C)。雖然這些工作為一個新的計算機視覺任務奠定了基礎,但它們僅限於低解析度、短範圍以及單一、孤立的動作。

tgans-c
最初的文字到影片模型在解析度、上下文和長度上都極其有限,圖片取自 TGANs-C

受大規模預訓練 Transformer 模型在文字 (GPT-3) 和影像 (DALL-E) 領域成功案例的啟發,下一波文字到影片生成研究採用了 Transformer 架構。PhenakiMake-A-VideoNUWAVideoGPTCogVideo 都提出了基於 Transformer 的框架,而像 TATS 這樣的工作則提出了混合方法,結合 VQGAN 進行影像生成和時間敏感的 Transformer 模組來順序生成幀。在第二波工作中,Phenaki 特別引人注目,因為它能夠根據一系列提示(也就是一個故事情節)生成任意長度的影片。類似地,NUWA-Infinity 提出了一種“自迴歸上的自迴歸”生成機制,用於從文字輸入進行無限的影像和影片合成,從而能夠生成長篇、高畫質質量的影片。然而,Phenaki 和 NUWA 模型都尚未公開發布。

phenaki
Phenaki 採用基於 Transformer 的架構,圖片取自 這裡

第三波也是當前的文字到影片模型主要採用基於擴散的架構。擴散模型在生成多樣、超現實且上下文豐富的影像方面取得了卓越成功,這引發了人們將擴散模型推廣到其他領域(如音訊、3D,以及最近的影片)的興趣。這波模型由 影片擴散模型 (VDM) 開創,它將擴散模型擴充套件到影片領域;以及 MagicVideo,它提出了一個在低維潛在空間中生成影片剪輯的框架,並報告了相比 VDM 巨大的效率提升。另一個值得注意的提及是 Tune-a-Video,它用單個文字-影片對微調一個預訓練的文字到影像模型,並能夠在保留運動的同時改變影片內容。隨後不斷擴大的文字到影片擴散模型列表包括 Video LDMText2Video-ZeroRunway Gen1 和 Gen2,以及 NUWA-XL

Text2Video-Zero 是一個文字引導的影片生成和處理框架,其工作方式類似於 ControlNet。它可以直接根據文字輸入生成(或編輯)影片,也可以結合文字-姿態或文字-邊緣資料輸入。正如其名所示,Text2Video-Zero 是一個零樣本模型,它將一個可訓練的運動動力學模組與一個預訓練的文字到影像 Stable Diffusion 模型相結合,而無需使用任何配對的文字-影片資料。與 Text2Video-Zero 類似,Runway 的 Gen-1 和 Gen-2 模型能夠透過文字或影像描述的內容來合成影片。這些工作大多在短影片片段上進行訓練,並依賴於帶有滑動視窗的自迴歸生成來製作更長的影片,這不可避免地導致了上下文斷層。NUWA-XL 解決了這個問題,並提出了一種“擴散之上的擴散”方法,在 3376 幀上訓練模型。最後,還有一些開源的文字到影片模型和框架,如阿里巴巴/達摩院視覺智慧實驗室的 ModelScope 和騰訊的 VideoCrafter,這些尚未在同行評審的會議或期刊上發表。

資料集

與其他視覺-語言模型一樣,文字到影片模型通常在大型配對的影片和文字描述資料集上進行訓練。這些資料集中的影片通常被分割成短的、固定長度的片段,並且常常侷限於只有少數物體的孤立動作。雖然這部分是由於計算限制,部分是由於以有意義的方式描述影片內容的困難,但我們看到多模態影片-文字資料集和文字到影片模型的發展常常是交織在一起的。雖然一些工作專注於開發更好、更具泛化能力、更易於學習的資料集,但像 Phenaki 這樣的工作則探索替代方案,例如將文字-影像對與文字-影片對結合起來用於文字到影片任務。Make-a-Video 更進一步,提出僅使用文字-影像對來學習世界的樣貌,並以無監督的方式使用單模態影片資料來學習時空依賴關係。

這些大型資料集也面臨著與文字到影像資料集中發現的類似問題。最常用的文字-影片資料集 WebVid 包含 1070 萬對文字-影片對(5.2 萬影片小時),並含有大量帶有無關影片描述的噪聲樣本。其他資料集試圖透過專注於特定任務或領域來克服這個問題。例如,Howto100M 資料集包含了 1.36 億個影片片段,其字幕逐步描述瞭如何執行復雜任務,如烹飪、手工、園藝和健身。同樣,QuerYD 資料集專注於事件定位任務,因此影片的字幕詳細描述了物體和動作的相對位置。CelebV-Text 是一個大規模的面部文字-影片資料集,包含超過 7 萬個影片,用於生成具有逼真面孔、情感和手勢的影片。

Hugging Face 上的文字到影片

使用 Hugging Face Diffusers,您可以輕鬆下載、執行和微調各種預訓練的文字到影片模型,包括來自阿里巴巴/達摩院視覺智慧實驗室的 Text2Video-Zero 和 ModelScope。我們目前正在努力將其他令人興奮的工作整合到 Diffusers 和 🤗 Transformers 中。

Hugging Face 演示

在 Hugging Face,我們的目標是讓使用和構建最先進的研究成果變得更加容易。請訪問我們的 Hub,檢視並體驗由 🤗 團隊、無數社群貢獻者和研究作者貢獻的 Spaces 演示。目前,我們託管了 VideoGPTCogVideoModelScope 文字到影片Text2Video-Zero 的演示,未來還會有更多。為了看看我們能用這些模型做什麼,讓我們來看看 Text2Video-Zero 演示。這個演示不僅展示了文字到影片的生成,還支援多種其他生成模式,用於文字引導的影片編輯和使用姿態、深度和邊緣輸入以及文字提示的聯合條件影片生成。

除了使用演示來體驗預訓練的文字到影片模型外,您還可以使用 Tune-a-Video 訓練演示,用您自己的文字-影片對來微調現有的文字到影像模型。要嘗試它,請上傳一個影片並輸入描述該影片的文字提示。訓練完成後,您可以將其上傳到 Hub 的 Tune-a-Video 社群下或您自己的使用者名稱下,可以是公開的也可以是私有的。訓練完成後,只需前往演示的 *執行* 選項卡,即可從任何文字提示生成影片。

🤗 Hub 上的所有 Spaces 都是 Git 倉庫,您可以在本地或部署環境中克隆和執行。讓我們克隆 ModelScope 演示,安裝依賴項,並在本地執行它。

git clone https://huggingface.co/spaces/damo-vilab/modelscope-text-to-video-synthesis
cd modelscope-text-to-video-synthesis
pip install -r requirements.txt
python app.py

就這樣!Modelscope 演示現在正在您的計算機上本地執行。請注意,ModelScope 文字到影片模型在 Diffusers 中受支援,您可以用幾行程式碼直接載入和使用該模型來生成新影片。

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)

社群貢獻和開源文字到影片專案

最後,還有各種不在 Hub 上的開源專案和模型。一些值得注意的提及包括 Phil Wang (又名 lucidrains) 對 ImagenPhenakiNUWAMake-a-Video影片擴散模型 的非官方實現。另一個由 ExponentialML 做的激動人心的專案是建立在 🤗 diffusers 之上,用於微調 ModelScope 文字到影片模型。

結論

文字到影片的研究正在呈指數級發展,但現有的工作在上下文方面仍然有限,並面臨許多挑戰。在這篇博文中,我們探討了文字到影片生成模型的侷限性、獨特的挑戰以及當前狀況。我們還看到了最初為其他任務設計的架構正規化如何促使文字到影片生成任務實現巨大飛躍,以及這對未來研究意味著什麼。儘管發展令人印象深刻,但與文字到影像模型相比,文字到影片模型還有很長的路要走。最後,我們還展示瞭如何使用 Hub 上的演示或作為 🤗 Diffusers 流水線的一部分,來使用這些模型執行各種任務。

就是這些了!我們將繼續整合最具影響力的計算機視覺和多模態模型,並期待您的反饋。要了解計算機視覺和多模態研究的最新訊息,您可以在 Twitter 上關注我們: @adirik、 @a_e_roberts、 @osanseviero@risingsayak 和 @huggingface

社群

飛機上的一個男人

此評論已被隱藏

船在路上行駛

IMG-20250209-WA0367.jpg

跳舞

DOC-20250102-WA0013.jpg

這個男人站起來,開始隨著80年代的歌曲《planet rock》跳機械舞

謝謝

註冊登入 以發表評論

© . This site is unofficial and not affiliated with Hugging Face, Inc.