昨天最炸场的AI新闻,无疑是字节发布两款视频生成模型:豆包视频生成-「PixelDance」和豆包视频生成-「Seaweed」。
目前,这两款模型还未正式对公众开放。不过火山引擎的小伙伴对「四木相对论」表示,大家已经可以在火山引擎上排队申请「PixelDance」。至于「Seaweed」,有消息称目前没有申请渠道。
*申请路径:火山引擎官网-控制台-火山方舟-体验中心
https://console.volcengine.com/ark
这是字节继公开发布「Dreamina/即梦」之后,再次推出视频生成模型。
也正在这段时间内,快手发布自家的视频生成大模型「可灵.AI」。在不少人看来,可灵的效果优于即梦,也一度让外界认为字节在视频生成领域落后。
不过,这次发布的「PixelDance」和「Seaweed」——尤其是「PixelDance」,虽暂时只有一些测评片段流出,外界已对这些片段的效果感到惊艳。
在期待正式开放的同时,「四木相对论」还观察到,PixelDance并不算全新模型。
早在去年11月,字节团队已经发布了一篇名为《Make Pixels Dance: High-Dynamic Video Generation》的论文,介绍这款名为PixelDance的视频生成模型。
当时,文章中强调PixelDance具有强一致性,并能生成时间较长、讲述完整故事的视频。而且,论文还表示,PixelDance代表了基于潜在扩散模型的视频生成方法——这几个特点,都和今天正式发布的「PixelDance」如出一辙。
另一个有趣的细节在于,这次发布的豆包视频生成模型基于DiT架构,让视频在大动态与运镜中自由切换,拥有变焦、环绕、平摇、缩放、目标跟随等多镜头语言能力。
而当团队于2023年11月发布这篇论文时,Sora还未出现,DiT架构不为人知。当时论文中称,PixelDance 是以自回归方式生成连续的视频片段。
到了现在,国内的视频生成模型纷纷强调DiT架构,只有智源研究院声称还在研究自回归路线的生成式多模态模型。
总之,这篇发布于10个月前文章,或多或少地帮我们揭示了「PixelDance」背后的细节。
以下是论文全文(供参考):
1. 引言
生成包含丰富动作的高动态视频、复杂的视觉效果、自然的镜头转换或复杂的相机移动,一直是人工智能领域中的一个高远但具有挑战性的目标。
不幸的是,大多数专注于文本到视频生成的方法仍然局限于合成简单的场景,通常在视觉细节和动态动作方面表现不足。
尽管近年来最先进的模型通过结合图像输入,显著提高了文本到视频的生成质量,这为视频生成提供了更精细的视觉细节,但生成的视频往往表现出有限的运动,如图 2 所示。
当输入图像显示的是训练数据中未见过的领域内容时,这个问题尤其严重。
为生成高动态视频,我们提出了一种新颖的视频生成方法,结合了视频片段的首帧和末帧图像指令,以及文本指令。
首帧图像指令描述了视频片段的主要场景。末帧图像指令(在训练和推理过程中可选使用)描绘了视频片段的结尾,并提供了额外的控制。图像指令使得模型能够构建复杂的场景和动作。
此外,我们的方法还可以生成较长的视频,在这种情况下,模型被多次应用,前一个片段的末帧作为下一个片段的首帧指令使用。
与文本指令相比,图像指令更加直接且易于获取。我们使用真实视频帧作为训练中的图像指令,这很容易获取。相比之下,使用详细的文本注释以精确描述视频的帧和动作,不仅成本高昂,且模型难以学习。
为了理解并遵循复杂的文本指令,模型需要大幅扩展规模。结合图像指令和文本指令能够克服这些挑战。
在训练中给出这三种指令,模型可以专注于学习视频内容的动态性,在推理时模型能够更好地将学到的动态知识泛化到超出域的指令中。
具体来说,我们提出了 PixelDance,这是一种基于潜在扩散模型的视频生成方法,基于<文本,首帧,末帧>指令。
文本指令由预训练的文本编码器编码,并通过交叉注意力融入扩散模型。图像指令由预训练的 VAE 编码器编码,并与受扰的视频潜变量或高斯噪声一起作为扩散模型的输入。
在训练过程中,我们使用(真实的)首帧指令来强制模型严格遵循该指令,从而保持连续视频片段之间的一致性。在推理过程中,这个指令可以方便地通过 T2I 模型获得,或由用户直接提供。
我们的方法独特之处在于使用末帧指令的方式。我们有意避免让模型完全复制末帧指令,因为在推理过程中提供一个完美的末帧是很困难的,模型应该能够处理用户提供的粗略草稿,并作为指导。用户可以通过基本的图像编辑工具,轻松创建这种类型的指令。
为此,我们开发了三项技术。
首先,在训练过程中,末帧指令是从视频片段的最后三帧(真实的)中随机选择的。其次,我们向指令中引入了噪声,以减少对指令的依赖性并提高模型的鲁棒性。第三,我们在训练中以一定概率(例如 25%)随机丢弃末帧指令。
相应地,我们提出了一种简单但有效的推理策略。在前 τ 次去噪步骤中,利用末帧指令引导视频生成朝向期望的结束状态。在剩余的步骤中,指令被丢弃,允许模型生成时间上更连贯的视频。通过调整 τ,可以控制末帧指令对生成结果的影响。
我们模型利用图像指令的能力,使得能够更有效地利用公开的视频-文本数据集,例如 WebVid-10M。
该数据集仅包含与视频松散相关的粗粒度描述,并且缺乏多样化风格的内容(如漫画和卡通)。我们的模型仅包含 15 亿参数,主要在 WebVid-10M 上训练,在多个场景中达到了最先进的性能。
首先,给定只有文本指令,PixelDance 通过 T2I 模型获取首帧指令生成视频,在 MSR-VTT 和 UCF-101上分别达到了 381 和 242.8 的 FVD 分数。当给定文本和首帧指令时(首帧指令也可以由用户提供),PixelDance 能够生成比现有模型更多动作丰富的视频。
其次,PixelDance 能够生成连续的视频片段,在时间一致性和视频质量方面优于现有的长视频生成方法。第三,末帧指令被证明是生成复杂场景或动作的域外视频的重要组成部分,如图 1 所示。
图 1. PixelDance 的生成结果,基于文本输入生成。第一帧的指令用红框标出,最后一帧的指令用绿框标出。从16帧的剪辑中采样展示了六帧。本论文中呈现的人脸是通过文本到图像模型合成的。
总的来说,通过与 PixelDance 的主动互动,我们首次生成了一段三分钟的视频,具有清晰的故事情节,且在各个复杂场景中角色保持一致。
我们的贡献可以总结如下:
- 我们提出了一种基于扩散模型的新型视频生成方法 PixelDance,结合了首帧和末帧图像指令以及文本指令。
- 我们开发了 PixelDance 的训练和推理技术,不仅有效提升了生成视频的质量,还为用户提供了更多对视频生成过程的控制。
- 我们的模型在公开数据上训练后,在具有复杂场景和动作的高动态视频生成方面展示了显著性能,设定了视频生成的新标准。
2. 相关工作
2.1 视频生成
视频生成长期以来一直是一个有吸引力且重要的研究课题。以往的研究依赖于不同类型的生成模型,例如 GANs和带有 VQVAE 的 Transformers。
扩散模型显著推动了文本到图像生成的进展,它们展示出比 GANs 更强的鲁棒性,并且与基于 Transformer 的方法相比,所需参数更少。潜在扩散模型(Latent Diffusion Models) 被提出用于在压缩的低维潜在空间中训练扩散模型,以减少计算负担。
对于视频生成,先前的研究通常在预训练的文本到图像扩散模型的 2D UNet 上添加时间卷积层和时间注意力层。尽管这些进展通过集成超分辨率模块铺平了生成高分辨率视频的道路,但生成的视频仍然以简单、运动较少为特点,如图 2 所示。
最近,视频编辑领域取得了显著进展,尤其是在修改视频内容同时保持原始结构和动作方面,例如将一头牛变成一头奶牛。尽管取得了这些成就,寻找合适的参考视频进行编辑仍然非常耗时。
此外,这种方法本质上限制了创作的范围,因为它排除了生成完全新颖内容(例如一只北极熊在长城上行走)的可能性,这些内容在任何参考视频中都可能不存在。
2.2 长视频生成
长视频生成是一项更加具有挑战性的任务,它需要在连续的视频片段之间实现无缝转换,并且保持场景和角色的长期一致性。
通常有两种方法:1)自回归方法 使用滑动窗口生成一个新片段,条件是基于前一个片段;2)分层方法 首先生成稀疏帧,然后插值生成中间帧。
然而,自回归方法容易因随时间推移积累的错误导致质量下降。至于分层方法,它需要长视频进行训练,由于在线视频中频繁的镜头切换,获取长视频变得困难。此外,生成跨越较长时间间隔的时间一致帧加剧了挑战,往往导致初始帧质量较低,难以在后续的插值阶段取得良好的结果。
在本文中,PixelDance 以自回归方式生成连续的视频片段,并在合成长期一致帧方面表现优于现有模型。同时,我们提倡用户积极参与生成过程,类似于电影导演的角色,以确保生成的内容与用户的期望紧密一致。
3. 方法
现有的文本到视频,和图像到视频生成模型通常生成动作简单且有限的视频。在本文中,我们尝试使模型专注于学习视频内容的动态性,以生成包含丰富动作的视频。
我们提出了一种新颖的方法,结合视频片段的首帧和末帧图像指令与文本指令进行视频生成,并且我们有效地利用了公开的视频数据进行训练。接下来我们将详细介绍模型架构(第 3.1 节),并介绍为我们的方法定制的训练和推理技术(第 3.2 节)。
3.1 模型架构
潜在扩散架构
我们采用了潜在扩散模型进行视频生成。潜在扩散模型在预训练 VAE 的潜在空间中,通过去噪训练以减少计算负担。
我们采用广泛使用的 2D UNet作为扩散模型,该模型由一系列空间下采样层和一系列空间上采样层构建,并插入了跳跃连接。具体来说,它由两个基本模块构建,即 2D 卷积模块和 2D 注意力模块。
我们通过插入时间层将 2D UNet 扩展为 3D 变体,其中在 2D 卷积层之后插入 1D 时间卷积层,2D 注意力层之后插入 1D 时间注意力层。模型可以通过图像和视频联合训练,在空间维度上保持高保真生成能力。
对于图像输入,1D 时间操作被禁用。我们在所有时间注意力层中使用双向自注意力。我们使用预训练的 CLIP 文本编码器对文本指令进行编码,并通过交叉注意力层将嵌入的 ctext注入到 UNet 中,UNet 中的隐藏状态作为查询,ctext作为键和值。
图像指令注入
我们结合了视频片段的首帧和末帧图像指令与文本指令。我们使用真实视频帧作为训练中的图像指令,这很容易获取。给定首帧和末帧图像指令,分别记为 {Ifirst, Ilast},我们首先使用 VAE 对它们进行编码,将其映射到扩散模型的输入空间,得到 {ffirst, flast},其中 f ∈ RC×H×W。为了在注入指令时不丢失时间位置信息,最终的图像条件构造如下:
c^image= [f^first,PADs, f^last] ∈ R^(F×C×H×W),(1)
其中 PADs ∈ R^[(F−2)×C×H×W]。条件 c^image然后与带噪声的潜变量 z(t)在通道维度上连接,作为扩散模型的输入。
3.2 训练与推理
训练过程如图 3 所示。
图 3. PixelDance 训练过程的示意图。原始视频片段和图像指令(分别在红色和绿色框中)被编码为 z 和 cimage,然后在经过不同噪声扰动后,沿通道维度进行拼接。
对于首帧指令,我们在训练中采用真实首帧,确保模型在推理过程中严格遵循首帧指令。
相比之下,我们有意避免让模型完全复制末帧指令。在推理过程中,由于无法提前获取真实末帧,模型需要适应用户提供的粗略草稿以生成时间一致的视频。为此,我们引入了三项技术。
首先,我们从片段的最后三帧中随机选择一帧作为训练中的末帧指令。
其次,为了提高模型的鲁棒性,我们对图像指令 cimage进行噪声扰动。
第三,在训练过程中,我们以一定概率 η 随机丢弃末帧指令,用零替换相应的潜变量。
相应地,我们提出了一种简单但有效的推理技术。在推理过程中,在总去噪步骤 T 的前 τ 步中,使用末帧指令引导视频生成朝向期望的结束状态,并在后续步骤中丢弃该指令,以生成更连贯且时间一致的视频:
τ 决定了模型对末帧指令的依赖强度,通过调整 τ 可以实现各种应用。例如,我们的模型可以在没有末帧指令的情况下生成高动态视频(即 τ = 0)。此外,我们在推理中应用了分类器自由指导,它将条件于文本提示和不带文本提示的模型得分估计混合在一起。
4. 实验
4.1 实现细节
按照之前的工作,我们在 WebVid-10M数据集上训练了视频扩散模型,该数据集包含大约 1000 万个短视频片段,平均时长为 18 秒,分辨率通常为 336 × 596。每个视频都附有与视频内容松散相关的文本描述。
WebVid-10M 的另一个问题是所有视频上都带有水印,这导致生成的视频中也会包含水印。因此,我们将训练数据扩展为另外自收集的 50 万个无水印视频片段,这些视频片段包含真实世界的实体,如人类、动物、物体和风景,并附有粗粒度的文本描述。
尽管这一额外数据集只占了很小比例,但我们惊讶地发现,将该数据集与 WebVid-10M 结合训练后,如果图像指令没有水印,PixelDance 就能够生成无水印的视频。
PixelDance 在视频-文本数据集和图像-文本数据集上进行联合训练。
对于视频数据,我们从每个视频中随机采样 16 个连续帧,每秒 4 帧。按照之前的工作,我们采用 LAION-400M 作为图像-文本数据集。每 8 次训练迭代使用一次图像-文本数据。
在训练过程中,预训练的文本编码器和 VAE 模型的权重保持冻结。我们采用 DDPM进行训练,使用 1000 个时间步。图像指令 cimage 引入了对应于 100 个时间步的噪声。
我们首先在 256×256 分辨率下训练模型,批大小为 192,使用 32 个 A100 GPU 进行 200K 次迭代,这些用于定量评估。该模型随后经过 50K 次迭代的微调,分辨率更高。我们采用 ε-prediction作为训练目标。
4.2 视频生成
4.2.1 定量评估
我们对 PixelDance 的零样本视频生成能力进行了评估,使用了 MSR-VTT 和 UCF-101数据集,遵循之前的工作。
MSR-VTT 是一个视频检索数据集,提供每个视频的描述,而 UCF-101 是一个包含 101 个动作类别的动作识别数据集。为了与之前只基于文本提示的文本到视频方法进行比较,我们仅使用文本指令进行评估。
具体来说,我们利用现成的 T2I 稳定扩散 V2.1 模型来获取首帧指令,并结合文本和首帧指令生成视频。按照之前的工作,我们随机为每个示例选择一个提示词,共生成 2990 个视频进行评估,并在 MSR-VTT 数据集上报告 Fréchet 视频距离(FVD) 和 CLIP 相似性(CLIPSIM)。
对于 UCF-101 数据集,我们为每个类别构建描述性文本提示,并生成大约 10K 个视频,按照之前的工作,报告广泛使用的 Inception 分数(IS)、Fréchet Inception 距离(FID)和 FVD。FID 和 FVD 都衡量生成视频与真实数据之间的分布距离,而 IS 评估生成视频的质量,CLIPSIM 估计生成视频与对应文本之间的相似性。
MSR-VTT 和 UCF-101 上的零样本评估结果分别显示在表 1 和表 2 中。与其他文本到视频方法相比,PixelDance 在 MSR-VTT 数据集上实现了最先进的 FVD 和 CLIPSIM 分数,展示了它生成高质量视频并更好地与文本提示对齐的卓越能力。
值得注意的是,PixelDance 的 FVD 分数为 381,显著超越了之前的最先进方法 ModelScope 的 550。在 UCF-101 基准测试中,PixelDance 在各种指标上优于其他模型,包括 IS、FID 和 FVD。
表 1. 在 MSR-VTT 数据集上进行零样本 T2V(文本到视频)性能比较。所有方法生成空间分辨率为 256×256 的视频。最佳结果用粗体标出。
表 2. 在 UCF-101 数据集上进行零样本 T2V(文本到视频)性能比较。所有方法生成空间分辨率为 256×256 的视频。最佳结果用粗体标出。
图 4. 基于文本和首帧指令生成视频的示意图。
4.2.2 定性分析
每个指令的有效性
我们的生成视频方法结合了三种不同的指令:文本、首帧和末帧指令。在本节中,我们将深入探讨每种指令对生成视频质量的影响。
在 PixelDance 中,文本指令可以是简洁的,因为首帧指令已经提供了对象/角色和场景,这些信息难以用简洁和精确的文本描述。
然而,文本提示在指定各种动作时起着至关重要的作用,包括但不限于身体动作、面部表情、物体运动和视觉效果(如图 4 的前两行所示)。此外,它允许通过特定的提示词操控相机运动,例如“放大/缩小”、“旋转”和“特写”,如图 4 的最后一行所示。此外,文本指令有助于保持指定关键元素的跨帧一致性,例如角色的详细描述(图 6 中的北极熊)。
首帧指令通过提供更精细的视觉细节显著提升了视频质量。此外,它是生成多个连续视频片段的关键。有了文本和首帧指令,PixelDance 能够生成比现有模型更具运动感的视频(如图 4 和图 6 所示)。
末帧指令描绘了视频片段的结束状态,提供了额外的控制。这种指令对合成复杂动作非常有用,尤其在生成域外视频时至关重要,如图 1 和图 5 所示的前两个示例。此外,我们可以使用末帧指令生成自然的镜头转换(图 6 的最后一个示例)。
图 5. 基于文本、首帧和末帧指令生成复杂视频的示意图。
图 6. 前两行:文本指令有助于增强关键元素(如北极熊的黑色帽子和红色领结)在不同帧之间的一致性。最后一行:自然的镜头过渡。
末帧指令引导的强度
为了使模型在用户提供的草稿不够精确时依然能够正常工作,我们有意避免鼓励模型完全复制末帧指令,使用了第 3 节中详细介绍的技术。
如图 7 所示,如果不采用我们的技术,生成的视频会突然以给定的末帧指令为结尾。而使用了我们的方法后,生成的视频更加流畅且在时间上连贯。
图 7. 示意图展示了所提出技术(τ = 25)在避免复制最后一帧指令方面的有效性。
域外图像指令的泛化能力
尽管在训练中缺少非现实风格(例如科幻、漫画和卡通)的视频,PixelDance 依然表现出生成高质量视频的显著能力,甚至在这些域外类别中。
这种泛化能力可以归因于我们的模型专注于学习动态并确保时间一致性,只要给定图像指令。PixelDance 学习了真实世界中动作的基本原理,因此它能够在不同风格的图像指令之间泛化。
4.3消融实验
表 3 展示了 UCF-101 数据集上的消融实验结果。
为了评估 PixelDance 的关键组件,我们在 UCF-101 数据集上进行了定量消融实验,按照第 4.2.1 节中的零样本评估设置进行。
首先,我们提供了一个 T2V 基准模型(➀)进行比较,基于相同数据集进行训练。我们进一步分析了模型中使用的指令的有效性。
由于首帧指令在生成连续视频片段时至关重要,我们的消融实验主要针对文本指令(➂)和末帧指令(➃)。
实验结果表明,省略任意指令都会显著降低视频质量。值得注意的是,即使在评估中不包含末帧指令,训练时使用末帧指令的模型(➁)依然优于未使用该指令的模型(➃)。
这一观察表明,单靠<文本,首帧>生成视频在视频内容的多样性方面面临巨大挑战。相比之下,结合所有三种指令增强了 PixelDance 模型捕捉动作动态和保持时间一致性的能力。
4.4 长视频生成
4.4.1 定量评估
如前所述,PixelDance 在训练中严格遵循首帧指令,以便生成长视频,其中前一个片段的末帧被用作生成下一个片段的首帧指令。
为了评估 PixelDance 的长视频生成能力,我们按照之前的工作,在 UCF-101 数据集上生成了 512 个包含 1024 帧的视频,遵循第 4.2.1 节中的零样本设置。我们报告了从生成的视频中每 16 帧提取的 FVD 结果。
结果如图 8 所示,PixelDance 展示了较低的 FVD 分数和更平滑的时间变化,与自回归模型 TATS-AR和 LVDM-AR以及分层方法 LVDM-Hi 相比,表现出更优的性能。
图8. UCF-101数据集上长视频生成(1024帧)的FVD比较。AR: 自回归。Hi: 分层。使用PixelDance生成长视频的方式是自回归的。
4.4.2 定性分析
考虑到大多数现实世界中的长视频(例如 YouTube 上的视频或电影)由多个镜头组成,而不是单一的连续镜头,本节的定性分析集中在 PixelDance 生成复合镜头的能力。这种复合镜头是通过串联多个连续视频片段并保持时间一致性来实现的。
图 9 展示了 PixelDance 在处理复杂镜头组合方面的能力,这些镜头涉及复杂的相机运动(如极地场景中的镜头)、平滑的动画效果(北极熊在热气球上飞越长城)和对火箭轨迹的精确控制。这些实例展示了用户如何通过 PixelDance 的高级生成能力来构建期望的视频序列。
借助 PixelDance 的高级生成功能,我们成功地合成了一段三分钟的视频,该视频不仅讲述了一个连贯的故事,而且角色在整个视频中的表现保持一致。
图 9. PixelDance 处理复杂镜头构图的示意图,包括两个连续的视频片段,其中第一个片段的最后一帧作为第二个片段的首帧指令。
4.5 更多应用
草图指令
我们提出的方法可以扩展到其他类型的图像指令,例如语义图、图像草图、人体姿态和边界框。为了证明这一点,我们以图像草图为例,使用图像草图作为末帧指令对 PixelDance 进行微调。结果如图 10 的前两行所示,展示了一个简单的草图图像如何引导视频生成过程。
图10. 使用草图图像作为最后一帧指令生成视频的示例(前两个例子),以及通过PixelDance进行零样本视频编辑的示例(c)
零样本视频编辑
PixelDance 能够在无需任何训练的情况下进行视频编辑,通过将视频编辑任务转化为图像编辑任务来实现。如图 10 中的最后一个示例所示,通过编辑提供视频的首帧和末帧,PixelDance 生成了与用户期望一致且时间连贯的视频。
结论
在本文中,我们提出了一种基于扩散模型的新型视频生成方法——PixelDance,该方法结合了首帧和末帧的图像指令以及文本指令。
我们为这种方法开发了定制的训练和推理技术,主要在 WebVid-10M 上训练的 PixelDance 展现出在合成复杂场景和动作方面的卓越能力,设定了视频生成的新标准。
尽管我们的方法取得了显著成果,但仍有进一步改进的潜力。
首先,模型可以从高质量的开放域视频数据训练中受益。其次,在特定领域内微调模型可以进一步增强其能力。第三,结合注释文本来概述视频的关键元素和动作,可能会提高模型与用户指令的对齐程度。最后,PixelDance 目前只包含 15 亿个参数,未来可以通过进一步扩展模型规模来提升性能。
我们将在未来的工作中进一步研究这些方面。
热门跟贴