PhoenixPeng's blog.

视频扩散模型——14.DynamiCrafter

2024/05/22

一、介绍

  图像动画一直是计算机视觉领域长期存在的挑战,其目标是将静止图像转换为视频对应的图像,以显示自然动态,同时保留图像的原始外观。最近,文本到视频(T2V)生成模型在根据文本提示创建多样化和生动的视频方面取得了显着的成功。这激发了工作者研究利用如此强大的视频生成功能进行图像动画的潜力。

  本文的核心思想是通过结合条件图像来控制T2V扩散模型的视频生成过程。然而,实现图像动画的目标仍然不是一件容易的事,因为它既需要视觉上下文理解(对于创建动态至关重要)又需要细节保留。最近对多模态可控视频扩散模型的研究,如VideoComposer 和I2VGen-XL,已经初步尝试通过图像的视觉引导实现视频生成。不幸的是,由于图像注入机制不太全面,两者都不适合图像动画,这会导致突然的时间变化或与输入图像的视觉一致性低(参见图 4)。为了应对这一挑战,本文提出了一种双流图像注入范式,由文本对齐的上下文表示和视觉细节指导组成,确保视频扩散模型以互补的方式合成保留细节的动态内容。称之为 DynamiCrafter 方法。

  给定一个图像,🟠首先通过专门设计的上下文学习网络将其投射到文本对齐的丰富上下文表示空间中。具体来说,它由一个预训练的 CLIP 图像编码器和一个可学习的query transformer组成,用于提取文本对齐的图像特征,以进一步促进其对扩散模型的适应。🟠模型通过交叉注意力层使用丰富的上下文特征,然后通过门控融合将其与文本条件特征相结合。在某种程度上,学习的上下文表示将视觉细节与文本对齐进行交换,这有助于促进对图像上下文的语义理解,从而可以合成合理和生动的动态。🟠为了补充更精确的视觉细节,我们通过将整个图像与初始噪声连接起来,进一步将整个图像馈送到扩散模型中。这种双流注入范式保证了合理的动态内容和与输入图像的视觉一致性。

二、方法

  给定一个静止的图像,目标是将其动画化以制作一个简短的视频剪辑,该剪辑继承了图像的所有视觉内容,并表现出隐含的暗示和自然的动态。请注意,静止图像可以出现在生成的帧序列的任意位置。从技术上讲,这种挑战可以表述为一种特殊的图像条件视频生成,它对视觉一致性要求很高。通过利用预训练视频扩散模型的生成先验来解决这一综合任务。

  在本文中,是基于开源视频LDM VideoCrafter 进行的。给定一个视频 \(\textcolor{PaleVioletRed}{x ∈ R^{L×3×H×W}}\) ,首先将其编码为逐帧编码为潜在表示 \(\textcolor{PaleVioletRed}{z = \mathcal{E}(x)}\)\(\textcolor{PaleVioletRed}{z ∈ R^{L×C×h×w}}\)。然后,在这个潜在空间中执行前向扩散过程 \(\textcolor{PaleVioletRed}{z_t = p(z_0,t)}\) 和后向去噪过程 \(\textcolor{PaleVioletRed}{z_t = p_θ(z_{t−1},c,t)}\),其中 \(\textcolor{PaleVioletRed}{c}\) 表示可能的去噪条件,如文本提示。因此,生成的视频是通过解码器 \(\textcolor{PaleVioletRed}{\hat{x} = \mathcal{D}(z)}\) 获得的

1.来自视频扩散先验的图像动力学

  假设开放域文本到视频扩散模型具有基于文本描述的各种动态视觉内容建模条件。要使用 T2V 生成先验对静止图像进行动画处理,应将视觉信息以全面的方式注入视频生成过程。一方面,图像应该被T2V模型消化,以便理解上下文,这对于动力学合成很重要。另一方面,视觉细节应保留在生成的视频中。基于这一见解,作者提出了一种双流条件图像注入范式,包括文本对齐的上下文表示和视觉细节指导。概览图如图 1 所示。

图1.拟议的DynamiCrafter的流程图。在训练过程中,通过所提出的双流图像注入机制,随机选择一个视频帧作为去噪过程的图像条件,以继承视觉细节并以上下文感知的方式消化输入图像。在推理过程中,该模型可以从以输入静止图像为条件的噪声中生成动画剪辑。

  文本对齐的上下文表示:为了指导具有图像上下文的视频生成,作者建议将图像投影到文本对齐的嵌入空间中,以便视频模型可以以兼容的方式利用图像信息。由于文本嵌入是使用预先训练的 CLIP 文本编码器构建的,因此使用对应的图像编码器从输入图像中提取图像特征。尽管来自 CLIP 图像编码器的全局语义token \(\textcolor{PaleVioletRed}{f_{cls}}\) 与图像内容很好地对齐,但它主要在语义级别表示视觉内容,无法捕获图像的完整范围。为了提取更完整的信息,使用了CLIP图像ViT的最后一层中的完整视觉token\(\textcolor{PaleVioletRed}{F_{vis} =\{f^i\}^K_{i=1}}\),这在条件图像生成工作中表现出高保真度。为了促进与文本嵌入的对齐,换句话说,为了获得可以由去噪 U-Net 解释的上下文表示,利用可学习的轻量级模型 \(\textcolor{PaleVioletRed}{\mathcal{P}}\) 将 \(\textcolor{PaleVioletRed}{F_{vis}}\) 转换为最终的上下文表示 \(\textcolor{PaleVioletRed}{F_{ctx} = P(F_{vis})}\)。在多模态融合研究中,采用query transformer 架构作为 \(\textcolor{PaleVioletRed}{\mathcal{P}}\),该架构由 \(\textcolor{PaleVioletRed}{N}\) 层堆叠的交叉注意力和前馈网络(FFN)组成,擅长通过交叉注意力机制进行跨模态表示学习。

  随后,采用文本嵌入 \(\textcolor{PaleVioletRed}{F_{txt}}\) 和上下文嵌入 \(\textcolor{PaleVioletRed}{F_{ctx}}\) 通过双交叉注意力层与 U-Net 中间特征 \(\textcolor{PaleVioletRed}{F_{in}}\) 进行交互:

  其中 \(\textcolor{PaleVioletRed}{Q=F_{in}W_Q}\)\(\textcolor{PaleVioletRed}{K_{txt}=F_{txt}W_K}\)\(\textcolor{PaleVioletRed}{V_{txt}=F_{txt}W_V}\)\(\textcolor{PaleVioletRed}{K_{cxt}=F_{cxt}W^\prime_K}\)\(\textcolor{PaleVioletRed}{V_{cxt}=F_{cxt}W^\prime_V}\)。特别是,\(\textcolor{PaleVioletRed}{\lambda}\) 表示融合文本条件和图像条件特征的系数,这是通过 tanh 门控实现的,并且每层都可自适应学习。这种设计旨在促进模型以层相关方式吸收图像条件的能力。由于U-Net的中间层与物体形状或姿势的关联度更高,而两端层与外观的关联性更强,因此作者预计图像特征将主要影响视频的外观,而对形状的影响相对较小。

  \(\textcolor{PaleVioletRed}{\lambda}\)的观察和分析。图2(左)显示了不同层的学习系数,表明图像信息对中间层的两端层有更显著的影响。为了进一步探索,作者手动改变中间层中的\(\textcolor{PaleVioletRed}{\lambda}\)。如图 2(右)所示,增加 \(\textcolor{PaleVioletRed}{\lambda}\) 会导致抑制跨框架运动,而减少 \(\textcolor{PaleVioletRed}{\lambda}\) 会给保持物体的形状带来挑战。这一观察结果不仅符合我们的预期,而且还表明,在图像条件扩散模型中,丰富的上下文信息会影响U-Net的某些中间层(例如,第7-9层),使模型能够在存在运动的情况下保持与输入相似的物体形状。

图2.跨 U-Net 层(左)学习的 \(λ\) 的可视化,以及手动调整 \(λ\) 时的视觉比较(右)。

  视觉细节指导(VDG):信息丰富的上下文表示使视频扩散模型能够生成与输入图像非常相似的视频。但是,如图 3 所示,仍可能出现细微的差异。这主要是由于预训练的 CLIP 图像编码器完全保留输入图像信息的能力有限,因为它旨在对齐视觉和语言特征。为了增强视觉一致性,应该为视频模型提供图像中的其他视觉细节。具体来说,将条件图像与每帧初始噪声连接起来,并将它们作为指导形式提供给去噪的U-Net。因此,在作者提出的双流图像注入范式中,视频扩散模型以互补的方式集成了来自输入图像的全局上下文和局部细节。

  讨论:1️⃣当提供信息量更大的上下文表示时,为什么需要文本提示?

  尽管作者构建了与文本对齐的上下文表示,但它比文本嵌入携带的信息更广泛,这可能会使 T2V 模型负担过重,无法正确消化它们,例如,导致形状失真。其他文本提示可以提供本机全局上下文,使模型能够有效地利用图像信息。图 3(右)演示了如何合并文本来解决熊头部的形状失真问题。此外,由于静止图像通常包含多种潜在的动态变化,因此文本提示可以有效地指导生成根据用户偏好量身定制的动态内容(参见第 5 节)。

图3.(左)仅使用丰富的上下文表示制作的动画的比较,以及额外的视觉细节指导 (VDG)。(右)文本与上下文表示的影响。

  2️⃣当视觉指导提供完整的图像时,为什么需要丰富的上下文表示?

  如前所述,预训练的 T2V 模型包括一个语义控制空间(文本嵌入)和一个互补的随机空间(初始噪声)。虽然随机空间有效地整合了低级信息,但将每帧的噪声与固定图像连接起来可能会引起空间错位,这可能会在不可控的方向上误导模型。关于这一点,图像嵌入提供的精确视觉上下文可以帮助可靠地利用视觉细节。相应的消融研究在第 4.4 节中介绍。

2.训练范式

  条件图像通过两个互补的流进行集成,这两个流分别在上下文控制和细节指导中发挥作用。为了以合作的方式调节它们,作者设计了一个专门的训练策略,包括三个阶段,即1️⃣训练图像上下文表示网络\(\textcolor{PaleVioletRed}{\mathcal{P}}\),2️⃣使\(\textcolor{PaleVioletRed}{\mathcal{P}}\)适应T2V模型,以及3️⃣与VDG联合微调。

  具体来说,为了以兼容的方式向 T2V 模型提供图像信息,作者建议训练上下文表示网络 \(\textcolor{PaleVioletRed}{\mathcal{P}}\) 从输入图像中提取文本对齐的视觉信息。考虑到 \(\textcolor{PaleVioletRed}{\mathcal{P}}\) 需要经过大量优化步骤才能收敛的事实,建议基于轻量级 T2I 模型而不是 T2V 模型来训练它,使其能够专注于图像上下文学习,然后通过联合训练 \(\textcolor{PaleVioletRed}{\mathcal{P}}\) 和 T2V 模型的空间层(相对于时间层)使其适应 T2V 模型。在为 T2V 建立兼容的上下文调节分支后,将输入图像与每帧噪声连接起来进行联合微调,以增强视觉一致性。在这里,我们只微调 \(\textcolor{PaleVioletRed}{\mathcal{P}}\) 和 VDM 的空间层,以避免通过密集的图像串联破坏预训练的 T2V 模型的时间先验知识,这可能导致性能显着下降,并与我们的初衷相矛盾。此外,基于两个考虑因素随机选择一个视频帧作为图像条件:(i)防止网络学习将串联图像映射到特定位置的帧的快捷方式,以及(ii)强制上下文表示更加灵活,以避免为特定帧提供过于严格的信息, 即,基于T2I的情境学习的目标。

三、实验

1.实验设置

  本文的开发基于开源 T2V 模型 VideoCrafter (256 × 256 分辨率) 和 T2I 模型 Stable-Diffusion-v2.1 (SD) 。首先基于SD训练 \(\textcolor{PaleVioletRed}{\mathcal{P}}\) 和新注入的图像交叉注意力层,学习率为1000K步,学习率为\(1\times 10^{−4}\)有效小批量为64。然后,用 VideoCrafter 替换 SD,并用 30K 步进一步微调 \(\textcolor{PaleVioletRed}{\mathcal{P}}\) 和空间层以进行适应,并在学习速率 \(5 × 10^{−5}\) 和有效小批量大小 64 上使用图像串联额外的 100K 步。 DynamiCrafter 在 WebVid10M  数据集上进行了训练,通过批量对 16 帧的动态 FPS 进行采样,分辨率为 256 × 256。在推理中,采用DDIM采样器和多条件分类器自由指导。具体来说,与视频编辑类似, 在文本条件图像动画中引入了两个指导量表\(s_{img}\)\(s_{txt}\),可以对其进行调整以权衡两个控制信号的影响:

2.定量评估

  指标和数据集:为了评估合成视频在空间和时间域的质量和时间连贯性,本文报告了视频距离(FVD)和内核视频距离(KVD)。评估了UCF-101和MSRVTT上所有方法的零样本生成性能。为了进一步研究输入图像与动画结果之间的感知一致性,引入了由\(\textcolor{PaleVioletRed}{\frac{1}{L}\sum_l(1 − D(x^{in}, x^l))}\)计算的感知输入一致性(PIC),其中\(\textcolor{PaleVioletRed}{x^{in}}\)\(\textcolor{PaleVioletRed}{x^l}\)\(\textcolor{PaleVioletRed}{L}\)分别是输入图像、视频帧和视频长度,本文还采用感知距离度量DreamSim 作为距离函数\(\textcolor{PaleVioletRed}{D(·,·)}\)。作者以 256 × 256 的分辨率和 16 帧评估每个误差指标。

  由于开放领域图像动画是计算机视觉的一个新兴领域,因此可供比较的公开研究工作有限。根据VideoComposer 和I2VGen-XL 评估了本文的方法,定量结果如表1所示。结果表明,除了UCF-101上的KVD之外,本文提出的方法在所有评估指标上都明显优于以前的方法,这要归功于有效的双流图像注入设计,可以充分利用视频扩散先验。

3.定性评估

  除了上述方法外,还包括另外两个专有的商业产品,即 PikaLabs 和 Gen-2,用于定性比较。图 4 显示了具有各种内容和样式的图像动画结果的可视化比较。在所有比较的方法中,"ours"方法生成符合输入图像条件的时间相干视频。相比之下,VideoComposer 难以生成一致的视频帧,因为由于对输入图像的语义理解不足,后续帧往往会偏离初始帧。I2VGen-XL 可以生成在语义上类似于输入图像的视频,但无法保留复杂的局部视觉细节并产生美观的结果。作为商业产品,PikaLabs 和 Gen-2 可以制作吸引人的高分辨率和长时长视频。然而,Gen-2 遭受了突然的内容变化(“风车”案例)和内容漂移问题(“披头士乐队”和“女孩”案例)。PikaLabs 倾向于生成动态较少的静态视频,并且在尝试生成更大的动态时会表现出模糊(“披头士”案例)。值得注意的是,"ours"方法允许通过文本提示进行动态控制,而其他方法则忽略了文本模态(例如,在“女孩”的情况下说话)。

图4.图像动画的视觉比较结果来自 VideoComposer、I2VGen-XL、PikaLabs、Gen-2 和 DynamiCrafter。

  用户研究:进行用户研究以评估生成图像的感知质量。参与者被要求在运动质量和时间连贯性方面选择最佳结果,并为每种情况选择与输入图像具有良好视觉一致性的结果。表2列出了49名参与者的回答的统计数据。"ours"的方法显示出与其他开源方法相比的显着优势。此外,与商业产品相比,"ours"方法在时间相干性和输入一致性方面实现了相当的性能,同时表现出卓越的运动质量。

4.消融实验

  双流图像注入:为了研究每个图像条件流的作用,检查了两个变体:1️⃣w/o ctx:通过删除上下文调节流,2️⃣w/o VDG:通过删除视觉细节指导流。

  表 3 显示了ours完整方法与这些变体之间的定量比较。“w/o ctx”的性能显著下降,因为它无法在不注入丰富上下文表示的情况下从语义上理解输入图像,从而导致生成的视频出现时间不一致(参见图 5 中的第 2 行)。尽管删除 VDG(不带 VDG)可以产生更好的 FVD 分数,但它会导致严重的形状扭曲并表现出有限的运动幅度,因为剩余的上下文条件只能提供语义级图像信息。此外,虽然它获得了更高的PIC分数,但它无法捕获输入图像的所有视觉细节,如图5中的第3行所示。

图5.“ours”方法的不同变体的视觉比较。

  然后,作者研究了上下文表示流中的几个关键设计:自适应门控\(\textcolor{PaleVioletRed}{λ}\)和CLIP图像编码器中的全视觉标记。消除自适应门控 \(\textcolor{PaleVioletRed}{λ(w/o λ)}\) 会导致模型性能略有下降。这是因为,如果不考虑去噪 U-Net 层的性质,上下文信息无法自适应地集成到 T2V 模型中,从而导致生成的视频抖动和不自然的运动(参见图 5 中的第 4 行)。另一方面,使用像 I2VGen-XL 这样使用单个 CLIP 全局token的策略 (\(Ours_G\)) 可能会生成仅在语义上与输入相似的结果,因为缺少完整的图像范围。相比之下,我们的完整方法有效地利用了视频扩散先验,使图像动画具有自然运动、连贯的帧以及与输入图像的视觉一致性。

  训练范式:作者进一步研究了专门的训练,以确保模型按预期工作。首先通过基于预训练的T2V训练上下文表示网络\(\textcolor{PaleVioletRed}{P}\)并保持其他设置不变来构建基线。如图 6 所示,该基线(单阶段)收敛速度非常慢,因此仅产生具有相同优化步骤的粗粒度上下文条件。这可能会使 T2V 模型在合并 VDG 后协调双流条件具有挑战性。

图6.在一阶段中学习的contex conditioning stream和两阶段适应策略的视觉比较。

  在获得兼容的上下文条件流 \(\textcolor{PaleVioletRed}{P}\) 后,进一步将图像串联与每帧噪声相结合,通过联合微调 \(\textcolor{PaleVioletRed}{P}\) 和 T2V 模型的空间层来增强视觉一致性。通过对整个T2V模型进行微调来构建基线,表3中的定量比较表明,该基线导致不稳定的模型容易崩溃,从而破坏了时间先验。此外,为了研究随机选择条件策略的有效性,作者训练了一个基线(第一帧cond.),该基线始终使用第一个视频帧作为条件图像。表 3 显示其在 FVD 和 PIC 方面的性能较差,这可归因于在生成的视频中观察到的“内容突然变化”效应(图 7(底部))。我们假设该模型可能会发现一个次优的快捷方式,用于将连接的图像映射到第一帧,而忽略其他帧。

图7.不同训练范式的视觉比较。

四、关于使用文本进行运动控制的讨论

  由于图像通常与其上下文中的多个潜在动态相关联,因此文本可以互补地指导根据用户偏好定制的动态内容的生成。然而,现有大规模数据集中的字幕通常由大量场景描述词和较少的动态/运动描述组成,这可能会导致模型在学习过程中忽略动态/运动。对于图像动画,场景描述已经包含在图像条件中,而运动描述应被视为文本条件,以解耦的方式训练模型,从而为模型提供更强的基于文本的动态控制。

  数据集构建:为了实现解耦训练,我们通过过滤和重新注释 WebVid10M 数据集来构建数据集,如图 8 所示。构建的数据集包含具有更纯粹动态措辞的标题,例如“男人做俯卧撑”,以及类别,例如人类。

图8.数据集过滤和注释过程的图示。

  然后,使用数据集训练模型DynamiCraterDCP,并通过40个图像提示测试用例验证其有效性,这些用例具有模糊的潜在动作的人物形象,以及描述各种动作的提示(例如,“男人挥手”和“男人鼓掌”)。我们测量了提示和视频结果之间的平均 CLIP 相似度 (CLIP-SIM),DynamiCraterDCP 在 CLIP-SIM 分数方面将性能从 0.17 提高到 0.19。图 9 中的视觉比较表明,Gen2 和 PikaLabs 不支持使用文本进行运动控制,而我们的 DynamiCrafter 反映了文本提示,并在 DynamiCrafterDCP 中通过建议的解耦训练得到了进一步增强。

图9.图像动画的视觉比较结果来自使用文本的运动控制的不同方法。

  

五、总结

  在这项研究中,作者引入了 DynamiCrafter,这是一种有效的框架,通过利用预训练的视频扩散先验以及提出的双流图像注入机制和专用训练范式来对开放域图像进行动画处理。本文的实验结果突出了与现有方法相比,本文的方法的有效性和优越性。此外,作者还利用构建的数据集探索了基于文本的图像动画动态控制。最后,展示了本文的框架在各种应用程序和场景中的多功能性

  

CATALOG
  1. 1. 一、介绍
  2. 2. 二、方法
    1. 2.1. 1.来自视频扩散先验的图像动力学
    2. 2.2. 2.训练范式
  3. 3. 三、实验
    1. 3.1. 1.实验设置
    2. 3.2. 2.定量评估
    3. 3.3. 3.定性评估
    4. 3.4. 4.消融实验
  4. 4. 四、关于使用文本进行运动控制的讨论
  5. 5. 五、总结