pubanswer

Snap Video: 基于时空Transformer架构的可扩展文本到视频生成模型

OceanScribe2024-07-19

摘要

近年来,随着深度学习技术的不断发展,文本到图像生成技术取得了显著的进步。然而,将这些技术应用于视频生成领域仍然面临着巨大的挑战,例如如何有效地建模视频帧之间的时间一致性和如何生成具有复杂运动和高分辨率的视频。Snap 公司联合特伦托大学等机构,提出了一种名为 Snap Video 的新型文本到视频生成模型,该模型基于可扩展的时空 Transformer 架构,能够生成具有高分辨率、时间一致性和复杂运动的视频。Snap Video 在广泛采用的数据集上进行了评估,结果表明其在生成视频质量方面优于现有方法,尤其在生成高质量运动方面表现出色。

关键词: 文本到视频生成,Transformer,扩散模型,时空建模,高分辨率视频生成

1. 引言

近年来,随着深度学习技术的不断发展,文本到图像生成技术取得了显著的进步,例如 DALL-E 2[1]、Imagen[2] 和 Stable Diffusion[3]。这些模型能够根据文本提示生成高质量、多样化的图像,展现出强大的生成能力和语义理解能力。然而,将这些技术应用于视频生成领域仍然面临着巨大的挑战。

与图像生成相比,视频生成需要解决以下几个关键问题:

  • 时间一致性: 视频是由一系列连续的图像帧组成的,这些帧之间需要保持时间上的一致性,以确保生成的视频流畅自然。
  • 复杂运动: 视频中的物体运动通常比图像中更加复杂,需要模型能够捕捉和生成各种不同类型的运动,例如旋转、缩放和平移。
  • 高分辨率: 高分辨率视频包含更多的细节信息,需要模型具备更强的生成能力和计算效率。

为了解决这些挑战,研究人员提出了一系列方法,例如基于自回归模型的方法[4,5]、基于流模型的方法[6] 和基于扩散模型的方法[7,8]。其中,基于扩散模型的方法在图像生成领域取得了显著的成功,并逐渐应用于视频生成领域。然而,现有的基于扩散模型的视频生成方法大多将视频视为图像序列,并采用类似于图像生成的训练框架,这导致模型难以有效地学习视频帧之间的时间关系,生成高质量的视频。

为了解决上述问题,Snap 公司联合特伦托大学等机构,提出了一种名为 Snap Video 的新型文本到视频生成模型。Snap Video 采用了一种全新的基于 Transformer 的时空架构,并结合了扩散模型的优势,能够生成具有高分辨率、时间一致性和复杂运动的视频。

2. Snap Video 模型

2.1 模型架构

Snap Video 模型的核心组件是一个基于 Transformer 的时空编码器-解码器网络,该网络将输入文本和视频帧编码到一个联合的时空表示空间中,然后解码生成目标视频帧。具体而言,Snap Video 模型的架构主要包括以下几个部分:

  • 文本编码器: 用于将输入文本编码为一个固定长度的向量表示。Snap Video 采用了预训练的 T5-11B 文本编码器[9],该编码器能够有效地提取文本的语义信息。
  • 时空编码器: 用于将输入视频帧编码为一个时空特征序列。Snap Video 采用了基于 FIT (Far-reaching Interleaved Transformers)[10] 的高效 Transformer 架构,该架构通过学习压缩的视频表示,实现了高效的时空计算联合建模。与传统的 U-Net 架构相比,FIT 架构能够更好地处理高分辨率视频,并有效地捕捉视频帧之间的时间关系。
  • 时空解码器: 用于将时空特征序列解码生成目标视频帧。Snap Video 同样采用了基于 FIT 的 Transformer 架构,并结合了上采样模块,以生成高分辨率的视频帧。

2.2 训练过程

Snap Video 模型的训练过程采用了基于 EDM (Elucidating the Design Space of Diffusion-Based Generative Models)[11] 框架的扩散模型。EDM 框架是一种通用的扩散模型训练框架,它能够有效地训练各种不同类型的扩散模型。为了更好地适应视频生成任务,Snap Video 对 EDM 框架进行了一些改进,主要包括:

  • 图像-视频模态匹配: 为了解决图像和视频数据之间存在的模态差异,Snap Video 将图像视为具有无限帧率的视频,并采用可变帧率训练程序,以消除图像和视频模态之间的差距。
  • 高分辨率视频生成: 为了生成高分辨率视频,Snap Video 采用了两阶段级联模型。第一阶段模型生成低分辨率视频,第二阶段模型对低分辨率视频进行上采样,以生成高分辨率视频。

3. 实验结果

为了评估 Snap Video 模型的性能,研究人员在 UCF101[12] 和 MSR-VTT[13] 等广泛采用的数据集上进行了实验。实验结果表明,Snap Video 在多种指标上都取得了优于现有方法的性能,尤其在生成高质量运动方面表现出色。

3.1 定量评估

表 1 展示了 Snap Video 与其他先进的文本到视频生成模型在 UCF101 和 MSR-VTT 数据集上的定量比较结果。可以看出,Snap Video 在 FVD (Fréchet Video Distance)[14]、CLIPScore[15] 和 FID (Fréchet Inception Distance)[16] 等指标上都取得了最优的性能。

模型 数据集 FVD ↓ CLIPScore ↑ FID ↓
TGANv2[4] UCF101 2.54 - -
VideoGPT[5] UCF101 2.38 - -
DALL-E[1] UCF101 2.12 - -
CogVideo[7] UCF101 1.98 - -
Snap Video UCF101 1.85 0.78 12.3
-------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- --------------------------------------------------
TGANv2[4] MSR-VTT 3.12 - -
VideoGPT[5] MSR-VTT 2.95 - -
DALL-E[1] MSR-VTT 2.78 - -
CogVideo[7] MSR-VTT 2.54 - -
Snap Video MSR-VTT 2.41 0.82 11.7

表 1: Snap Video 与其他先进模型在 UCF101 和 MSR-VTT 数据集上的定量比较结果。

3.2 定性评估

图 1 展示了 Snap Video 生成的一些视频样本。可以看出,Snap Video 能够根据不同的文本提示生成各种不同类型的视频,例如自然场景、动物行为和人物动作等。生成的视频具有较高的分辨率和清晰度,并且视频帧之间保持了良好的时间一致性。

(插入图 1: Snap Video 生成的视频样本)

3.3 用户研究

为了进一步评估 Snap Video 的性能,研究人员进行了一项用户研究,比较了 Snap Video 与其他先进模型 (Runway Gen-2[17], Pika[18], Floor33[19]) 在视频生成质量方面的差异。用户研究结果表明,Snap Video 在视频文本对齐、动作数量和质量方面都优于其他模型。

4. 结论

本文介绍了一种名为 Snap Video 的新型文本到视频生成模型,该模型基于可扩展的时空 Transformer 架构,并结合了扩散模型的优势,能够生成具有高分辨率、时间一致性和复杂运动的视频。实验结果表明,Snap Video 在多种指标上都取得了优于现有方法的性能,尤其在生成高质量运动方面表现出色。

未来展望

Snap Video 模型的提出为文本到视频生成技术的发展提供了一种新的思路,未来可以从以下几个方面对该模型进行改进和扩展:

  • 更长的视频生成: 目前,Snap Video 主要生成短视频,未来可以探索生成更长视频的方法。
  • 更精细的控制: 未来可以探索如何更精细地控制视频的生成过程,例如控制视频中的物体运动轨迹和摄像机视角等。
  • 多模态生成: 未来可以探索将 Snap Video 与其他模态 (例如音频、3D 模型等) 结合,以生成更加丰富多彩的视频内容。

参考文献

[1] Ramesh, Aditya, et al. "Dall-e 2: Hierarchical text-conditional image generation with clip latents." arXiv preprint arXiv:2204.06125 (2022).

[2] Saharia, Chitwan, et al. "Photorealistic text-to-image diffusion models with deep guidance." arXiv preprint arXiv:2205.11487 (2022).

[3] Rombach, Robin, et al. "High-resolution image synthesis with latent diffusion models." arXiv preprint arXiv:2112.10752 (2021).

[4] Chan, Wilson, et al. "Tganv2: Efficient training of video generation models with task-specific perceptual loss." arXiv preprint arXiv:2005.08345 (2020).

[5] Yan, Wilson, et al. "Videogpt: Video generation using vq-vae and transformers." arXiv preprint arXiv:2104.10157 (2021).

[6] Kumar, Manoj, et al. "VideoFlow: A flow-based generative model for video." arXiv preprint arXiv:1903.01431 (2019).

[7] Ding, Wenyi, et al. "Cogvideo: Large-scale pretraining for text-to-video generation via masked visual modeling." arXiv preprint arXiv:2202.10003 (2022).

[8] Ho, Jonathan, et al. "Video diffusion models." arXiv preprint arXiv:2204.03458 (2022).

[9] Raffel, Colin, et al. "Exploring the limits of transfer learning with a unified text-to-text transformer." J. Mach. Learn. Res. 21.141 (2020): 1-67.

[10] Hassani, Ali, et al. "Far-reaching interleaved transformers for global interaction modeling in vision." arXiv preprint arXiv:2302.03310 (2023).

[11] Karras, Tero, et al. "Elucidating the design space of diffusion-based generative models." arXiv preprint arXiv:2206.00364 (2022).

[12] Soomro, Khurram, et al. "UCF101: A dataset of 101 human actions classes from videos in the wild." arXiv preprint arXiv:1212.0402 (2012).

[13] Xu, Jun, et al. "MSR-VTT: A large video description dataset for bridging video and language." Proceedings of the IEEE conference on computer vision and pattern recognition. 2016.

[14] Unterthiner, Thomas, et al. "Towards accurate generative models of video: A new metric & challenges." arXiv preprint arXiv:1812.01743 (2018).

[15] Hessel, Jack, et al. "Clipscore: Evaluating text-to-image generation using image captioning." arXiv preprint arXiv:2104.08718 (2021).

[16] Heusel, Martin, et al. "Gans trained by a two time-scale update rule converge to a local nash equilibrium." Advances in neural information processing systems 30 (2017).

[17] Runway Gen-2. https://research.runwayml.com/gen2

[18] Pika Labs. https://pika.art/

[19] Floor33. https://www.floor33.xyz/