AIGC视频生成模型:ByteDance的PixelDance模型
大家好这里是好评笔记公主号Goodnote专栏文章私信限时Free。本文详细介绍ByteDance的视频生成模型PixelDance论文于2023年11月发布模型上线于2024年9月同时期上线的模型还有Seaweed论文未发布。热门专栏机器学习机器学习笔记合集深度学习深度学习笔记合集优质专栏回顾机器学习笔记深度学习笔记多模态论文笔记AIGC—图像文章目录热门专栏机器学习深度学习论文摘要引言输入训练和推理时的数据处理总结相关工作视频生成长视频生成方法模型架构潜在扩散架构图像指令注入训练和推理实验两种生成模式更多应用草图指令零样本视频编辑结论论文论文https://arxiv.org/pdf/2311.10982项目https://makepixelsdance.github.io/摘要目前的视频生成方法主要侧重于文本到视频的生成这样生成的视频片段往往动作极少。作者认为仅依赖文本指令进行视频生成是不够且并非最优的。在本文中作者介绍了PixelDance这是一种基于扩散模型的新颖方法它将视频生成的第一帧和最后一帧的图像指令与文本指令相结合。这并不是首例提出依赖文本指令进行视频生成是不够的论文在Meta的Emu Video中也提到了但是两者的生成策略略有不同Emu Video根据输入文本提示生成图像之后再基于图像和文本的强条件生成视频。输入的内容包括文本作为视频第一帧的图像作为视频最后一帧的图像。Emu Video模型的实现参考历史文章AIGC视频生成明星——Emu Video模型引言输入作者提出了一种新颖的视频生成输入其输入包括三部分文本指令视频片段的第一帧引入图像指令。第一帧的图像指令描绘了视频片段的主要场景。视频片段的最后一帧引入图像指令。最后一帧的图像指令在训练和推理中可选使用描绘了片段的结尾并为生成提供了额外的控制。这种方法还可以创建更长的视频在这种情况下模型会被多次应用前一个片段的最后一帧将作为后续片段的第一帧指令。训练和推理时的数据处理相比于其他模型提出使用高度描述性的文本注释以更好地遵循文本指令。图像指令使用真实视频帧更加直接和易于获取。PixelDance是一种基于潜在扩散模型的视频生成方法以文本第一帧最后帧指令为条件。文本指令由预训练的文本编码器编码并通过交叉注意力机制集成到扩散模型中。图像指令由预训练的VAE编码器编码并与扰动后的视频潜在表示或高斯噪声连接作为扩散模型的输入如下所示【在下节“方法”中会详细介绍】。第一帧在训练中使用真实第一帧来强制模型严格遵循指令保持连续视频片段之间的连续性。在推理中这个指令可以来源从文本到图像T2I模型中获得由用户提供。最后一帧在训练中我们有意避免鼓励模型完全复制最后一帧指令因为在推理中很难提供完美的最后一帧在最后一帧的处理上作者开发了三种技术第一在训练中最后一帧指令是从视频片段的最后三帧真实帧中随机选择的。第二我们向指令中引入噪声以减少对指令的依赖并提高模型的鲁棒性。第三在训练中我们以一定的概率例如25%随机丢弃最后一帧指令。在推理中用户可以使用基本的图像编辑工具创建这种指令。模型能够适应用户提供的粗略草图作为指导而不需要提供完美的最后一帧。简单而有效的推理采样策略如下最后一帧指令的影响可以通过T来调整。在前T步去噪步骤中利用最后一帧指令引导视频生成朝着期望的结束状态发展。在剩余的步骤中丢弃该指令使模型能够生成更具时间连贯性的视频。总结作者在文中说明了其主要贡献可以总结如下提出了一种基于扩散模型的新颖视频生成方法PixelDance它将第一帧和最后一帧的图像指令与文本指令相结合还可以生成长视频这一点是最重要的。为PixelDance开发了训练和推理技术这不仅有效地提高了生成视频的质量而且为用户提供了对视频生成过程更多的控制。在公开数据上训练的模型在生成具有复杂场景和动作的高动态视频方面表现出色为视频生成设定了新的标准。相关工作视频生成扩散模型在逼真的文本到图像生成方面取得了显著进展其表现出比GAN更强的鲁棒性并且与基于Transformer的模型相比需要更少的参数。潜在扩散模型被提出通过在压缩的低维潜在空间中训练扩散模型来减轻计算负担。对于视频生成以往的研究通常在预训练的文本到图像扩散模型的2D UNet中添加时间卷积层和时间注意力层【如Gen-1和Emu Video等】。尽管这些进展通过集成超分辨率模块为高分辨率视频的生成铺平了道路但生成的视频具有简单、动作极少的特点。最近视频编辑领域取得了显著进展特别是在保持视频原始结构和运动的同时进行内容修改方面但存在下面的问题寻找合适的参考视频进行编辑非常耗时。限制了创作的范围因为它排除了合成全新内容例如一只北极熊走在长城上的可能性。长视频生成长视频生成是一项更具挑战性的任务它要求连续的视频片段之间无缝过渡并且场景和角色具有长期一致性。通常有两种方法自回归方法采用滑动窗口以前一个片段为条件生成新的片段。自回归方法由于时间上的误差累积容易导致质量下降。分层方法首先生成稀疏帧然后插值中间帧。需要长视频进行训练由于在线视频中频繁的镜头变化这些长视频很难获得。在本文中PixelDance以自回归的方式生成连续的视频片段并且在合成长期一致的帧方面比现有模型表现更优。同时我们提倡用户积极参与生成过程就像电影导演一样以确保生成的内容与用户的期望紧密一致。方法本文试图让模型专注于学习视频内容的动态变化以生成具有丰富动作的视频。将第一帧和最后一帧的图像指令与文本指令相结合用于视频生成并且我们有效地利用公开视频数据进行训练。我们将在本节详细阐述模型架构和量身定制的训练和推理技术。模型架构潜在扩散架构论文中使用变分自动编码器VAE在潜在空间中进行去噪训练以减轻计算负担。同时采用广泛使用的2D UNet作为扩散模型它由一系列空间下采样层和一系列带有跳跃连接的空间上采样层构成。它由两个基本块组成2D卷积块2D注意力块。通过插入时间层将2D UNet扩展为3D变体实现如下在2D卷积层之后添加沿时间维度的1D卷积层在2D注意力层之后添加沿时间维度的1D注意力层(双向自注意力机制)。Runway的Gen-1和Meta的Emu Video也是如此实现的。该模型进行图像和视频联合训练以在空间维度上保持高保真的生成能力。对于图像输入1D时间操作被禁用。图像输入主要涉及两类训练时的图像指令输入以及联合训练时的普通图像输入。我们使用预训练的CLIP文本编码器对文本指令进行编码并通过UNet中的交叉注意力层将嵌入文本注入其中隐藏状态作为查询文本作为键和值。图像指令注入将第一帧和最后一帧的图像指令与文本指令相结合。在训练中使用真实视频帧作为指令这很容易获得。图像指令首先使用VAE将它们编码到扩散模型的输入空间中得到f f i r s t f^{first}ffirst和f l a s t f^{last}flast。最终的图像条件构建为c i m a g e [ f f i r s t , P A D s , f l a s t ] ∈ R F × C × H × W c^{image }\left[f^{first }, PADs, f^{last }\right] \in \mathbb{R}^{F × C × H × W}cimage[ffirst,PADs,flast]∈RF×C×H×W其中P A D s ∈ R ( F − 2 ) × C × H × W PADs \in \mathbb{R}^{(F-2) ×C ×H ×W}PADs∈R(F−2)×C×H×W。然后条件c i m a g e c^{image}cimage与噪声潜在表示z t z_tzt沿通道维度连接作为扩散模型的输入。训练和推理图3展示了PixelDance的训练过程。原始视频片段和图像指令位于红色和绿色框中被编码为z zz和c i m a g e c^{image}cimage然后在添加不同噪声进行扰动后沿着通道维度进行拼接。训练过程如上图所示。第一帧指令训练中使用真实的第一帧使模型在推理中严格遵循第一帧指令。最后一帧指令有意避免鼓励模型完全复制最后一帧指令。因为在推理时预先无法获得真实的最后一帧模型需要适应用户提供的粗略草图作为指导以生成时间连贯的视频。为此引入了三种技术来选择最后一帧指令第一我们从视频片段的最后三帧真实帧中随机选择一帧作为训练的最后一帧指令。第二为了提高鲁棒性我们用噪声扰动图像指令的编码潜在表示c i m a g e c^{image}cimage。第三在训练中我们以概率η \etaη随机丢弃最后一帧指令将相应的潜在表示替换为零。在第三种技术中作者还提出了一种简单而有效的推理技术。在推理过程中在总共T步去噪步骤的前τ \tauτ步中应用最后一帧指令来引导视频生成朝着期望的结束状态发展在后续步骤中丢弃该指令以生成更合理且时间连贯的视频x ~ θ { x ^ θ ( z t , f f i r s t , f l a s t , c t e x t ) , i f t τ x ^ θ ( z t , f f i r s t , c t e x t ) , i f τ ≤ t ≤ T \tilde{x}_{\theta}\left\{\begin{array}{ll} \hat{x}_{\theta}\left(z_{t}, f^{first }, f^{last }, c^{text }\right), if t\tau \\ \hat{x}_{\theta}\left(z_{t}, f^{first }, c^{text }\right), if \tau \leq t \leq T \end{array} \right.x~θ{x^θ(zt,ffirst,flast,ctext),x^θ(zt,ffirst,ctext),iftτifτ≤t≤Tτ \tauτ决定了模型对最后一帧指令的依赖程度调整τ \tauτ将实现各种应用。例如我们的模型可以在没有最后一帧指令的情况下即τ 0 \tau 0τ0生成高动态视频。此外我们在推理中应用无分类器引导它混合了模型在有文本提示和无文本提示条件下的分数估计。实验参照论文原文两种生成模式第一种是基础模式(Basic Mode)【和Emu Video 一样】用户只需要提供一张指导图片文本描述PixelDance 就可以生成有高度一致性且有丰富动态性的视频其中指导图片可以是真实图片也可以利用现有的文生图模型生成如下所示第二种是高级魔法模式Magic Mode给了用户更多发挥想象力和创造力的空间。在这种模式下用户需要提供两张指导图片文本描述可以更好地生成更有难度的各种炫酷特效镜头如下所示更多应用草图指令我们提出的方法可以扩展到其他类型的图像指令如语义图、图像草图、人体姿态和边界框。为了证明这一点我们以图像草图为例使用图像草图作为最后一帧指令对PixelDance进行微调。结果如图10的前两行所示表明一个简单的草图图像能够指导视频生成过程。零样本视频编辑PixelDance无需任何训练即可执行视频编辑这通过将视频编辑任务转化为图像编辑任务来实现。如图10的最后一个示例所示通过编辑给定视频的第一帧和最后一帧PixelDance生成了与用户视频编辑期望一致的时间连贯视频。结论在本文中作者提出了一种基于扩散模型的新颖视频生成方法PixelDance它将第一帧和最后一帧的图像指令与文本指令相结合。作者还为该方法开发了专门的训练和推理技术。主要在WebVid - 10M上训练的PixelDance在合成具有复杂场景和动作的视频方面表现出卓越的熟练度为视频生成设定了新的标准。尽管我们的方法取得了显著成果但仍有进一步改进的空间首先模型可以从高质量的开放域视频数据训练中受益。其次在特定领域对模型进行微调可以进一步增强其能力。第三结合概述视频关键元素和动作的注释文本可以提高与用户指令的匹配度。最后PixelDance目前仅包含15亿参数为未来的扩展提供了机会。未来的工作将对这些方面进行进一步研究。