Latte: Latent Diffusion Transformer for Video Generation

Abstract

Latte首先从输入的视频提取时空token,然后采取一系列Transformer Block在隐空间建模视频的分布。为了建模从视频中提取的大量token,从解耦输入视频的空间和时间维度的角度出发设计了四个高效变体。为了提高生成视频的质量,我们安排了最佳的Latte测试,通过严格的实验分析,包含视频裁剪 patch embedding,模型变体, timestep-class信息注入,时空位置embedding,和学习策略。

在这里插入图片描述

Introduction

这里提出了一个新的潜在扩散Transformer用以视频生成Latte,它使用视频Transformer做backbone,并且用预训练的变分自编码器将输入的视频编码到潜空间特征中,从编码的特征中提取标记。一系列的Transformer block用以编码token。考虑到时空信息之间的内在差异以及从输入视频中提取的大量标记之间的差异,如图2所示,我们从分解输入视频的时空维度的角度,设计了4个有效的基于Transformer的模型变体。

消融分析包括:视频剪辑的patch embedding,模型变体,timestep-class信息注入,时间位置embedding和学习策略。
评价标准:Fr´echet Video Distance (FVD), Fr’echet Inception Distance (FID), and Inception Score (IS).

Contributions:

  1. 提出一种以视频Transformer为backbone的潜在扩散Transformer。此外,引入四种模型的变体捕获视频中的时空分布。
  2. 为了提高视频生成的质量,全面探讨视频切片patch embedding,模型变体,timestep-class信息注入,时间位置embedding,以及学习策略来确定基于transformer的扩散模型生成视频的最佳效果。
  3. 实验效果

Methodology

潜在扩散模型的初步研究

请添加图片描述

Latte的模型变体

在这里插入图片描述
其中的橙色代表Transformer Block

Variant 1.
Fig. 2(a)所示,变体1主要由空间transformer block和时间transformer block组成。空间块用以在共享的时间标记之间捕获空间信息,时间块以“交叉融合”的方式跨时间维度捕获时间信息。
对于潜在空间中的视频剪辑片段,首先转换为token的序列 z ^ \hat{z} z^。时空位置embedding p p p进入到 z ^ \hat{z} z^,最后 z = z ^ + p z=\hat{z}+p z=z^+p输入transformer backbone。
重塑 z z z z s z_{s} zs获得空间信息,将包含时间信息的 z s z_{s} zs重构为 z t z_{t} zt作为时间块的输入,用以捕获时间信息。
Variant 2.
组成模块类似,利用“晚期融合”的方法结合时空信息。
Variant 3.
侧重于分解Transformer block中的多头注意机制,先计算空间维度,再计算时间维度,每个block同事捕捉空间和时间信息。
Variant 4.
MHA被分成两个,每个利用一半的heads。使用不同的组件在空间和时间维度处理tokens。

Latte的实验验证

潜在视频片段的patch embedding

在这里插入图片描述
Uniform frame patch embedding.
Fig. 3 (a),将ViT的patch embedding技术分别用于每个视频帧。

ps:将图像中每个patch转换为一个向量,以便可以被Transformer模块处理。
输入的图像切割为patch,每个patch展平向量化,为了保证空间信息,为patch添加位置编码,
每个patch被转换为一个带有位置编码的向量,输入到transformer。

Compression frame patch embedding.
Fig. 3 (b),将ViT patch embedding扩展到时间维度,对潜在视频片段中的时间信息建模。沿着s步幅的时间维度提取并映射到token上。与联合帧方法相比,该策略整合了时空信息。

Timestep-class information injection

将注入的信息看做token,all token
自适应归一化层AdaLN
在这里插入图片描述

Temporal positional embedding

绝对位置编码:结合不同频率的正弦和余弦函数,识别视频序列中每一帧的精确位置。
相对位置编码:采用旋转位置嵌入,使模型掌握连续帧之间的时间关系。

通过学习策略增强视频生成

借助预训练模型学习
以往的预训练模型建立在潜在扩散模型中的Unet上,并未有基于Transformer的。从ImageNet的DiT模型上初始化Latte。为了解决直接初始化遇到的参数缺失或不兼容的问题,在预训练的DiT中,将位置embedding应用到每个token。但是,在生成模型中,有一个token计数比预训练的DiT大 n n n倍,因此通过 n n n调整 p p p
为了同时满足无条件视频生成和类条件视频生成,去掉DiT的标签嵌入,采用零初始化。

无条件视频生成:生成模型在生成视频时没有额外的条件或约束。生成模型接受一个随机向量或序列作为输入,从概述如中生成连贯的视频序列。生成的内容通常与学习的数据是同一种分布。

类条件视频生成:类条件生成是条件生成的一种特殊情况,特指使用类别信息作为条件来生成对应类别的样本。

图像-视频联合训练学习
为了实现视频生成和图像生成的同步训练,从同一数据集中随机选择的视频帧添加到所选视频的末端,每一帧都独立采样。为了生成连续的视频,token与视频相关的内容用于时间模块中建模时间信息,排除帧标记。

Experiments

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-16 06:20:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-16 06:20:01       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-16 06:20:01       58 阅读
  4. Python语言-面向对象

    2024-07-16 06:20:01       69 阅读

热门阅读

  1. ChatGPT对话:有关花卉数据集

    2024-07-16 06:20:01       21 阅读
  2. lvs集群

    lvs集群

    2024-07-16 06:20:01      25 阅读
  3. k8s学习笔记——dashboard安装

    2024-07-16 06:20:01       25 阅读
  4. Python应用—车辆统计(Opencv)

    2024-07-16 06:20:01       23 阅读
  5. 浅谈为什么需要树链剖分

    2024-07-16 06:20:01       21 阅读
  6. 轨迹简化算法

    2024-07-16 06:20:01       23 阅读
  7. VisualTreeHelper.GetChildrenCount

    2024-07-16 06:20:01       20 阅读
  8. 使用Docker Compose进行多容器应用部署

    2024-07-16 06:20:01       23 阅读
  9. leetcode-22. 括号生成

    2024-07-16 06:20:01       24 阅读