购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第5章
视频扩散模型

在第4章中我们简要介绍了经典的VAE模型,随后介绍了近几年仍在活跃的视频生成模型GAN、逐步与扩散模型融合的Transformer以及热门的扩散模型等。本章在第4章的基础上介绍如何利用扩散模型生成视频。下面将利用多个概念模型框架对其进行深入讲解。

当前视频生成领域最具潜力的模型DiT(Diffusion Transformer),结合了扩散模型与Transformer的优势,在现象级的视频生成大模型Sora中大放异彩。我们将在第7章世界模型中单独简介DiT。

近几年,文本转视频生成的进展基本来自扩散模型。OpenAI的DALL-E的视频改编和Google的Imagen Video率先向公众推出文本生成视频功能。随后,基于扩算模型的文生视频模型被频繁推出,直到迎来Sora与快手可灵。

基于扩散模型的视频生成概念框架如图5-1所示。该框架展示了扩散模型下视频生成的潜在应用、可选架构、高分辨率技巧、时间动态建模机制和训练模式。

图5-1 基于扩散模型的视频生成概念框架 [20]

5.1 视频扩散模型的应用场景

当前,基于扩散模型的AI视频拥有广泛的应用场景,除了最受关注的基于文字、图像、声音、视频等条件引导的视频生成之外,还包括视频补全、音频驱动的数字人视频、视频理解、视频编辑等,如图5-2所示。对于视频生成而言,视频编辑必不可少,比如去除视频中不希望出现的物体、将真实风视频转换为动漫风、使用运动笔刷让某个物体按指定轨迹动起来、使用局部重绘技术在视频中生成指定对象等,视频编辑使得视频生成更加灵活可控,从而更接近商业应用。

图5-2 基于扩散模型的视频应用 [20]

5.2 视频扩散模型的基本框架

视频扩散模型的基本框架主要包括UNet和ViT两部分,下面分别进行讲解。

1.UNet

UNet是目前扩散模型中去噪步骤最流行的架构选择,如图5-3所示。在讲解扩散模型时已经详细讲解了文本到图像的UNet的基本构成。

稳定扩散等文本到图像的模型可以产生逼真的图像,但将其扩展到视频生成任务并不简单。如果试图天真地从文本提示中生成单独的视频帧,则所得序列将缺乏空间或时间相干性,即视频的上下帧之间将毫无逻辑与物理规律。

图5-3 文生图扩散模型中的去噪UNet架构 [20]

对于视频生成,需要适当调整UNet的基本构成。通过将图像扩散模型架构扩展至视频架构,Video Diffusion Models(VDM) [21] 提出了3D UNet架构,实现了使用扩散模型生成视频的方式,如图5-4所示。3D UNet架构将原来UNet中的2D卷积替换成了Space-only 3D卷积(Space-only 3D Convolution)。

图5-4 3D UNet结构 [21]

具体而言,如果在原来的UNet中使用3×3卷积,在3D UNet中替换为1×3×3卷积。其中,第1维度“1”对应视频帧,即时间维度;第2、3维度“3×3”分别对应一帧的高度和宽度,即空间维度。由于第1维度是1,故该维度对时间没有影响,仅对空间有影响,由此实现了由图像向视频的转化。

使用3D UNet架构进行推理时,需要先进行空间注意力运算,再进行时间注意力运算,因此,该方法也称为时空分离注意力(Factorized Space-Time Attention)。

3D UNet架构有一个显著优点,即可以对视频和图片生成进行联合建模训练。通过在每个视频的最后一帧后面添加随机的多张图片,然后使用掩码将视频及各个图片进行隔离,从而让视频和图片生成能够联合训练起来,可进一步提高视频生成的保真度和效率。

Video Diffusion Models是第一个将扩散模型引入视频生成领域的模型,它将UNet扩展为3D版本。后来,Imagen-Video利用其强大的预训练文本图像生成器Imagen的优点,将时间注意层插入连续的空间层中以捕获运动信息,在高分辨率文本视频合成中表现出色。Make-a-Video以CLIP语义空间为条件,先生成关键帧以调节文本先验信息,然后与多个插值和上采样扩散模型级联,以实现高一致性和保真度。

基于上述研究基础,研究者们提出了各种改进的、与其他模型联合的扩散模型视频生成框架,内容较多,此处不再一一赘述。

一般来说,使用扩散模型通过文本提示生成视频与使用该模型生成图像的方式类似。将文本生成视频视为生成一系列连续图像的问题,通过扩散模型先生成一系列图像,再将这些图像放在一起进行播放,从而生成视频,这个方法在提高视频保真度的同时,也降低了生成视频的难度。

基于扩散的文本提示生成视频的一般框架如图5-5所示,下面按照该框架讲解文生视频的一般过程。

图5-5 基于扩散的文本到视频生成模型框架 [17]

注:黑色箭头为训练流程,红色箭头为推理流程,右图为时空注意力

(1)将视频帧编码为潜在表示 Z

(2)在训练期间,噪声通过正向扩散过程添加到潜在表示 Z 中。

注入文本嵌入的噪声潜在表示 Z t 被发送到执行反向去噪过程的生成器中。通常使用具有跳过连接的UNet作为典型的生成器,以保留从编码潜在表示到解码潜在表示的空间信息。此UNet架构可执行修改以适应视频的时间维度,通过这些修改,UNet能够更好地处理视频数据,生成时间上连贯的结果。

虽然不同的模型进行了不同的修改,但这些修改通常可以分为两类:

□ 插入时空注意力和将卷积层从2D扩展到3D。时空注意力的原理是每帧独立执行空间操作,并进行跨帧混合时间操作;

□ 修改时间操作的执行方式,如实现定向时间注意或稀疏注意。

将卷积层从2D扩展到3D,可使用来自可分离卷积概念中的卷积层膨胀原理,用1×3×3内核替换3×3内核,将2D卷积层膨胀为3D。著名的Tune-A-Video和Make-A-Video便使用了膨胀卷积。

同时,Transformer块需要结合额外的时间注意机制来适应维度扩展。

(3)从UNet中得到的潜在表示 Z 被解码为RGB视频帧。

为了在不增加计算成本的情况下构建高帧率和高分辨率视频,一些模型在解码后附加了插值和空间或时间超分辨率模块。

许多视频扩散模型是在预训练的文生图模型基础上进行扩展的。具体来说,这些模型通过在UNet架构中引入时序层(如3D卷积和时空注意力机制),并设计一个开关机制,使其能够同时支持图像和视频的训练。此外,原本用于文生图任务的2D VAE也被扩展,在其解码器部分加入了时序层,以适应视频数据的特性。视频扩散模型在视频数据上进行微调,并采用对抗损失进行训练,此时,使用VAE作为生成器,使用3D卷积作为判别器,最后使用patch-wise的方式对生成结果进行判别。

2.ViT

在扩散模型中,ViT块有两个作用:

□ 实现空间自注意力机制。其中, Q K V 指的是图像分块,允许在整个图像甚至整个视频序列上共享信息。

□ 用于交叉注意力机制,调节对文本提示等附加引导信息并进行去噪处理。此时, Q 是图像分块,而 K V 是基于已经使用CLIP编码器编码成类似图像表示的文本标记。

有研究者提出了纯粹基于视觉Transformer的扩散模型作为标准UNet的替代品。此时,整个模型不再利用卷积,仅使用一系列Transformer块。此方法生成的视频长度更灵活。在基于UNet的模型中,通常生成固定长度的输出序列,Transformer模型可以自动回归预测相对任意长度的序列。

5.3 生成高清视频的两种技巧

生成高清视频是视频扩散模型的重要目标之一,在现有技术路线中,一般采用级联扩散模型(Cascaded Diffusion Models,CDM)与潜在扩散模型(Latent Diffusion Models,LCD)生成高分辨率的视频。

1.CDM

CDM由多个UNet模型组成,以增加生成图像的分辨率,如图5-6所示。通过对一个模型输出的低分辨率图像进行上采样,并将其作为输入传递给下一个模型,可以生成图像的高保真版本。在训练时,首先对去噪UNet模型的输出进行各种形式的数据增强,然后将其作为输入传递给级联中的下一个模型。高斯模糊与提前停止去噪过程是常用的两种数据增强方式。在使用消耗少许资源便可自然生成高保真图像的潜在扩散模型后,研究者就较少使用CDM了。

图5-6 提升扩散模型输出分辨率:CDM与LDM [20]

2.LDM

LDM是标准UNet架构的重要进展,现在已成为图像和视频生成任务的实际标准,如图5-6所示。

与在RGB像素空间操作不同,输入图像首先通过预训练的VAE编码成具有较低空间分辨率和更多特征通道的潜在表示。然后这种低分辨率的潜在表示被传递给UNet,并在VAE编码器的潜空间中进行整个扩散和去噪。随后,去噪后的潜在表示通过VAE的解码器部分解码回原始RGB像素空间。

通过在较低维度的潜空间中操作,LDM可以节省大量计算资源,与传统扩散模型相比,LDM能够生成更高分辨率的图像。LDM架构最著名的开源实现来自大名鼎鼎的Stable Diffusion,研究者们对LDM架构进行了进一步改进,专注于如何调整模型架构来生成高分辨率的图像。

5.4 保持视频的时空一致性

像Stable Diffusion这样的文本到图像模型可以生成逼真的图像,但将它们扩展到视频生成任务上并非易事。如果我们简单地根据文本提示生成单个视频帧,那么视频上下帧之间将缺乏空间或时间连贯性。

为了实现时空一致性,视频扩散模型需要在视频帧之间共享信息。基于直觉,我们可以在去噪模型中添加第三个时间维度,以实现视频帧之间在时间序列上的信息关联,如图5-7所示。在ResNet块后使用3D卷积,同时,自注意力块则转变为完整的跨帧注意力块,可以实现时空一致性。然而,这种完整的3D架构计算成本非常高,难以获得推广。

图5-7 视频生成的3D UNet

为了降低视频UNet模型的计算需求,研究者们提出将3D卷积和注意力块分解为空间2D和时间1D模块的简化方案。时间1D模块经常被插入预训练的文本到图像模型中,并经常使用时间上采样技术来增加运动一致性。在视频到视频的任务中,经常使用预处理后的视频特征(如深度估计)来指导去噪过程。训练数据的类型和训练策略对模型生成一致运动的能力有着深远的影响。

1.时空注意力机制

为了实现视频帧之间的空间和时间一致性,大多数视频扩散模型都会修改UNet模型中的自注意力层。自注意力层包含一个视觉转换器(Vision Transformer),用于计算同一图像中查询块与其他所有块之间的相关性,如图5-8所示。

图5-8 时间动态建模的注意力机制 [20]

这一基本机制可以通过多种方式进行扩展:

□ 在时间注意力(Temporal Attention)中,查询块会关注其他视频帧中相同位置的块;

□ 在全时空注意力(Full Spatio-Temporal Attention)中,查询块会关注所有视频帧中的所有块;

□ 在因果注意力(Causal Attention)中,查询块只会关注所有先前视频帧中的块;

□ 在稀疏因果注意力(Sparse Causal Attention)中,查询块只会关注有限数量的先前帧中的块,通常是第一帧和紧接其前的一帧。

不同形式的时空注意力在计算需求上有所不同,并且在捕捉运动方面的效果也不同。此外,生成运动的质量很大程度上取决于所使用的训练策略和数据集。

2.时间上采样

生成长时间的视频序列往往需要较高的算力,通常超出了当前硬件的算力性能。尽管研究者已经尝试了不同的优化技术来减轻计算负担,但即便使用高端GPU,大多数模型也只能生成数秒钟的视频序列。

为了克服视频生成时长的限制,许多研究人员采用了分层上采样技术。首先生成间隔的关键帧,然后通过在相邻关键帧之间进行插值,或者使用以两个关键帧为条件的附加扩散模通道来填充中间帧。然而,即使使用这种方法,当前的扩散模型也很少能生成超过4秒的视频。

作为时间上采样的替代方案,生成的视频序列也可以以自回归的方式延长。在此方法中,上一批生成的最后一帧或多帧视频将被用作下一批第一帧或多帧的生成条件。理论上可以通过这种方式任意延长视频,但在实际应用中,随着时间的推移,生成结果往往出现重复和质量下降等问题。

3.结构保持

视频到视频的翻译任务通常追求两个相互矛盾的目标:一方面要保持源视频的大致结构,另一方面要引入所需的变化。过于遵守源视频可能会妨碍模型进行编辑的能力,而过度偏离源视频的布局则可以实现更具创意的结果,但对空间和时间一致性会产生负面影响。

为了保持输入视频的大致结构,通常将去噪模型中的初始噪声替换为输入视频帧的潜在表示。通过改变每个输入帧上添加的噪声量,用户可以控制输出视频与输入视频的相似程度。然而,在实践中,这种方法难以保留输入视频的细节,因此通常需要与其他技术结合使用。

首先,当添加较高量的噪声时,对象的轮廓不能得到足够的保留,这可能导致视频中出现物体的扭曲,如常见的AI人物手指畸形等。此外,如果在去噪过程中信息未在各帧之间共享,则关注的细节可能会随时间推移而发生变化。

通过在去噪过程中加入从原始视频中提取的额外空间线索,可以在一定程度上缓解细节保留问题。例如,可以训练考虑深度估计的专门扩散模型来保持空间深度结构。这里可以参考广泛使用的ControlNet。ControlNet是Stable Diffusion去噪UNet编码器部分的微调副本,它可以与预训练的Stable Diffusion模型结合,进而对各种类型的信息进行条件控制,如深度图、姿势图或线条图。使用预处理器提取图像特征,通过专门的编码器进行编码,通过ControlNet模型传递并与图像潜在表示拼接,通过指定条件控制去噪过程,从而实现可控生成。此外,可以任意组合多个ControlNet,同时实现多个条件的控制。

一些视频扩散模型已经实现了类似于ControlNet的基于提取的帧特征或姿态估计的视频编辑。

5.5 基于多样性数据训练模型

视频扩散模型的训练方法主要有以下几种,如图5-9所示。

1.基于视频的训练

基于视频的训练方法直接使用视频数据进行模型训练。视频数据包含连续帧之间的时间信息和空间信息,使得模型能够学习到视频特有的动态特性和结构。然而,该方法可能需要大量的视频数据,并且训练过程相对较慢。

2.图像和视频同时训练

在图像和视频同时训练方法中,模型会同时接受图像和视频数据进行训练。图像数据可以帮助模型学习到更丰富的静态特征,而视频数据则提供了动态特征。这种同时训练的方式有助于模型更快地学习到视频数据的复杂特性,并且可以在一定程度上缓解对大量视频数据的需求。

3.基于图像的预训练和在视频上的微调

在基于图像的预训练和在视频上的微调这种方法中,模型首先会在大量图像数据上进行预训练,以学习到基本的视觉特征。然后使用视频数据对模型进行微调,使其能够学习到视频特有的动态特性。这种方法利用了图像数据的丰富性和易获取性,同时通过微调来适应视频数据的特性,是一种高效且实用的训练方法。

图5-9 时间动态建模的注意力机制 [20] sRsYnyUrYoWBj7Y5dGAANBz88Cztee1bsun50Eox9s1spLRDiYNbhhQWMl+6esyc

点击中间区域
呼出菜单
上一章
目录
下一章
×