(2024,LDM,InstructPix2Pix,光流,基于运动的变形模块)Pix2Gif:用于 GIF 生成的运动引导的扩散

Pix2Gif: Motion-Guided Diffusion for GIF Generation

公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群)

目录

0. 摘要

1. 简介

3. 方法

3.1. 数据集

3.2. 基础:指导图像编辑

3.3. 我们的模型:Pix2Gif

3.3.1 运动嵌入层

3.3.2 变形模块

3.4. 损失

4. 实验

4.1. 设置

5. 结论

6. 限制与未来工作


0. 摘要

我们提出了 Pix2Gif,这是一种运动引导的扩散模型,用于图像到 GIF(视频)的生成。我们通过将任务制定为由文本和运动幅度提示引导的图像翻译问题,以不同的方式解决了这个问题,如图 1 所示。为了确保模型遵循运动引导,我们提出了一个新的运动引导的变形模块,以在两种类型的提示条件下空间转换源图像的特征。此外,我们引入了感知损失,以确保变换后的特征图保持在与目标图像相同的空间中,确保内容一致性和连贯性。在模型训练准备阶段,我们通过从 TGIF 视频-标题数据集中提取连贯的图像帧来精心策划数据,该数据集提供了关于主题的时间变化的丰富信息。在预训练之后,我们以 zero-shot 学习的方式将我们的模型应用于多个视频数据集。广泛的定性和定量实验表明了我们模型的有效性——它不仅从文本中捕捉语义提示,还从运动引导中捕捉空间提示。我们使用 16×V100 GPU 的单节点训练了所有模型。

项目页面:https://hiteshk03.github.io/Pix2Gif/

1. 简介

在这项工作中,我们专注于将单个图像转换为动画图形交换格式(animated Graphics Interchange Format,GIF),这对设计是有价值的,但尚未得到充分探索。尽管缺乏图像到 GIF 生成模型,但基于扩散的视频生成最近已成为一个热门话题。然而,与文本到图像生成相比,文本到视频生成不仅需要对单个帧进行高质量处理,还需要在帧之间保持视觉一致性和时间连贯性。为了实现这一目标,现有的工作通过将 LDM 扩展到视频扩散模型(VDM),要么将 LDM 中的 2D CNN 扩展为 3D CNN [23],要么引入一个额外的时间注意力层来连接每个帧的扩散 [5, 15, 19, 47, 59]。除了文本提示之外,一些最近的工作还探索了使用图像或其他提示来使视频生成模型更可定制和可控的方法 [12, 38]。然而,由于 VDM 生成一系列视频帧的成本较高,在一次运行中,大多数(如果不是全部)这些工作都需要减少生成帧的分辨率(通常为 64×64),并使用额外的超分辨率扩散模型进行放大 [31, 44]。此外,由于这些方法使用时间注意力层隐式地建模帧间依赖关系,因此很难以细粒度的方式保持帧间时间动态的良好可控性。

3. 方法

我们的目标是生成 GIF,给定一个初始帧、一个运动的描述性标题(caption of motion)以及用于量化运动的光流(optical flow)度量,将其构建为基于潜在扩散的图像到图像翻译问题。

(2024,光流引导的图像编辑,扩散)运动引导:使用可微运动估计器进行基于扩散的图像编辑 

3.1. 数据集

我们利用了 Tumblr GIF(TGIF)数据集 [32],该数据集主要由由句子或标题描述的动画 GIF 组成,显示出对以人为中心的内容的偏好。该数据集包含各种类型的 GIF,从快速到缓慢的运动,通常涵盖 1-3 秒的持续时间。这种多样性确保了在短时间内有广泛的运动。

如图 2 所示的策划过程涉及从所有 GIF 中提取帧,这些 GIF 具有不同的帧率。然后,我们计算了给定 GIF 的所有可能帧对之间的光流,如 Alg. 1 所述。从每个 GIF 中提取的帧数范围从 14 到572,平均约为 41 帧。这导致了大量的训练对以及许多对的高光流量。计算所有帧之间的光流直方图跨度为 0 到 200。从这个范围中,我们选择了 2-20 的范围,该范围人口稠密(populated),捕捉了更小但显著的运动。

此选择排除了由于大幅度摄像机运动或场景转换引起的剧烈变化的帧对。尽管限制了范围,但我们仍然获得了大量的训练对,因为这个范围是最常见的。许多 GIF 可能包含不在这个光流范围内的帧对,对于一些 GIF,所有帧可能都在这个范围内。为了避免模型对特定的 GIF 过拟合,并保持多样性,我们从每个 GIF 中随机选择了至少 10 对或在受限范围内的对数。这种方法产生了最终的数据集,确保了所选范围内所有值的几乎相等的表示。最终,重组的数据集包含 783,184 个训练对和 105,041 个验证对。数据集中的每个数据点包含来自同一 GIF 的一对帧、相应的 GIF 标题以及两帧之间计算的光流。

3.2. 基础:指导图像编辑

(2022|CVPR,LDM)使用潜在扩散模型进行高分辨率图像合成 

(2023|CVPR,GPT3 微调,SD,P2P,双条件 CFG)InstructPix2Pix:学习遵循图像编辑说明 

我们的模型基本上建立在图像生成和编辑的潜在扩散模型(LDM)之上 [6, 42]。更具体地说,我们借鉴了 InstructPix2Pix [6],将我们的目标置于指导图像到图像翻译任务的背景下。给定一张图像 x,正向扩散过程向编码的潜在 z 引入噪声,从而产生一个带有噪声的潜在向量 z_t。这个过程在 T 个时间步长内进行,每个时间步 t ∈ {1, ..., T} 的噪声水平都会增加,直到它最终转化为一个随机噪声 n。给定图像条件 c_I 和文本指导 c_T,通过最小化以下潜在扩散目标,训练网络 e_θ 预测存在于有噪潜在 z_t 中的噪声:

其中 E 是 VQ-VAE 编码器,将图像从像素空间转换为离散潜在空间。为了便于图像条件化,zt 和 E(cI) 被串联起来,然后被送入一个卷积层。单独或一块给出图像和标题条件的情况下,该模型被训练用于有条件和无条件去噪。

3.3. 我们的模型:Pix2Gif

我们的模型类似于 InstructPix2Pix,并将我们的目标置于一个文本指导和运动引导的时间编辑问题的背景下。与原始的 InstructPix2Pix 流程相比,主要的创新是新引入的基于运动的变形模块。整体模型流程如图 3 所示。

我们的模型接受三个输入:一张图像、一个文本指令和一个运动幅度。这些输入通过两个路径输入到模型中——一次通过扩散模型直接输入,再次通过变形模块输入,将在第 3.3.1 节和第 3.3.2 节中讨论。当通过标题时,我们在原始标题中添加短语 “The optical flow is _.”。然后将流输入以单词格式而不是数值格式附加在末尾。因为对于相同图像,CLIP 模型倾向于给单词形式分配较高的相似度分数,而不是数字表示形式。最后,我们的模型通过最小化以下损失函数进行训练:

其中 cM 是运动条件。经过预训练的 CLIP 模型处理后,修改后的标题产生 cT,而 M 的输出给出了 cM。然后这两个条件线性相加,作为变形模块 W(在第 3.3.2 节中讨论)和潜在扩散模型 LDM (在第3.2节中引用)的条件输入。

3.3.1 运动嵌入层

在传统的条件扩散模型中,文本条件或提示通常足以生成所需的图像或编辑,就像 [6] 的情况一样。最初,我们间接地通过提示传递了运动输入。然而,这种方法导致模型对标题中的单个 token 分散注意力,这在正常情况下是可以接受的。但在我们的情况下,主要标题通常保持不变,而运动输入则会改变以生成随后的帧。为了使模型能够主要且独立地关注运动输入,我们加入了一个简单的嵌入层 M。这个层将运动输入转换为整数,并从学习的嵌入矩阵中选择一个嵌入向量。然后将该向量复制并与自身连接,生成 cM,当与标题嵌入 cT 结合时,为变形模块 W 和 LDM 提供条件输入 cL = cT+cM。

3.3.2 变形模块

Pix2Gif 的主要组成部分之一是变形模块(Warping Module) W。如图 4 所示,它从技术上讲包括两个网络:FlowNet(FNet)和 Warp-Net(WNet)。通常,光流的计算涉及两幅图像。然而,在这种情况下,我们最初只有一幅图像——源图像——而且还是在潜在域中。因此,我们的目标是仅利用一幅潜在图像来学习光流。这通过 FNet 实现,它受 cL 的条件指导,引导其在预期方向生成具有文本和运动提示的流特征图。这个条件被注入模块(Injection Module,IM)处理,这是一个紧凑的编码器,旨在使 cL 与网络末端附近的一个中间特征图连接兼容。这种配置使 FNet 能够独立学习高级特征,然后在引入 cL 的情况下以期望的方向引导这些特征。

FNet的架构类似于 UNet,产生一个固定通道为两个的输出,以捕捉水平和垂直分量的变化。

这个光流特征图(F),连同源潜在图(E(cI)),然后通过 WNet 处理,产生 E(cI) 的 Fischer 映射 zW。这种转换在潜在空间中比在像素空间中更有效、更抽象地学习。

3.4. 损失

我们的模型结合了两种不同类型的损失。第一种类型是标准的 L2 损失方程(3),它被稳定的扩散模型所利用,并在第 3.2 节中讨论。

我们模型中结合的第二种类型的损失是感知损失。这是通过比较图像条件 E(cI) 和变形图像 zW 的潜在特征来计算的。为了实现感知损失,使用了一个预训练的 VGG 网络 [46],但对其输入层进行了修改,以容纳 4 个通道而不是标准的 3 个通道。这个修改是通过平均前三个通道的权重并使用这个平均值来初始化第四个通道来实现的。鉴于两个潜在特征图,可以使用预训练的修改后的 VGG 网络计算感知损失 Lp,具体如下所示。当 E(cI) 和 zW 通过它进行前向传播时,令 ϕk(E(cI))和 ϕk(zW) 为 VGG 网络的第 k 层的特征图。然后,感知损失 Lp 定义为:

这里,||.|| 表示 Frobenius 范数,λk 是一个权重因子,平衡每层对总感知损失的贡献。VGG 网络中的每一层 k 捕捉图像中不同层次的抽象(abstraction),感知损失确保这些抽象对两个图像来说是相似的。这个损失的目的是确保变形图像保留高级特征,如边缘、纹理和对象类型,从而产生对人眼更加感知和语义上相似的图像。除了像素级的保真度,它还有助于保持源图像的整体结构。感知损失考虑的是重构图像与原始图像之间的感知和语义差异,而不仅仅是像素级的差异。

综上所述,我们的目标的总损失函数,表示为 LT,通过两个单独损失的加权和来计算。

其中,λP 是感知损失的权重因子。 这两个损失共同提供了一个全面的框架来训练我们的模型,确保像素级的准确性,保留高级特征,并实现平滑的运动过渡。

4. 实验

4.1. 设置

数据集。我们使用在 3.1 节讨论的 Tumblr GIF(TGIF)数据集进行训练和验证。我们在两个数据集上评估我们的模型:MSRVTT [64] 和 UCF-101 [49],遵循常规做法。对于这些数据集,我们按照 [63] 中概述的采样策略进行操作。

指标。我们报告 Frechet Video Distance(FVD)[51],CLIP 相似度(CLIPSim)——它是针对所有生成帧与输入标题计算的平均相似度,以及 Perceptual Input Conformity(PIC),如 [63] 中描述的那样,对于所有方法进行评估。为了进行比较,我们评估了在 I2VGen-XL [70] 和 DynamiCrafter [63] 上的 zero-shot 生成性能。

5. 结论

在这项工作中,我们提出了 Pix2Gif,一种基于图像到图像翻译范式的图像到 GIF(视频)生成模型。为了确保帧之间的时间连贯性,我们提出了一个运动引导的变形模块,它学习将源图像特征空间扭曲到目标图像特征空间,同时通过感知损失保持视觉一致性。从 TGIF 开始,我们策划了一个新的数据集,专门用于训练我们的模型。实验结果表明,与当前最先进的方法相比,我们的模型能够生成具有更好时间连贯性的 GIF。有趣的是,该模型还表现出更好的可控性和一些新兴的动作组合性。 

6. 限制与未来工作

目前的 Pix2Gif 模型是我们将生成视频视为图像翻译任务的初始尝试。然而,这种方法有一些限制,阻止我们生成高质量和长的 GIF 或视频。首先,该模型生成分辨率为 256x256 像素的图像。如果这些图像用于生成后续帧,帧的质量会进一步下降。其次,由于计算能力的限制,我们只能使用较大的策划数据集的一小部分来训练我们的模型。我们现在的主要目标是提高生成帧的质量,因为这可能会显著提高这种方法的有效性。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值