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

Motion Guidance: Diffusion-Based Image Editing with Differentiable Motion Estimators

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

目录

0. 摘要

3. 方法

3.1 扩散模型中的引导

3.2 运动引导

3.3 实施运动引导

4. 结果


0. 摘要

扩散模型能够在文本描述的条件下生成令人印象深刻的图像,这些模型的扩展允许用户在相对粗糙的尺度上编辑图像。然而,使用扩散模型精确编辑图像中对象的布局、位置、姿势和形状仍然很困难。为此,我们提出了运动引导,一种零样本技术,允许用户指定密集而复杂的运动场,指示图像中每个像素应该移动到哪里。运动引导通过一种现成的光流网络(optical flow network)梯度引导扩散采样过程来实现。具体而言,我们设计了一个由光流网络估计的引导损失,鼓励样本具有预期的运动,同时又在视觉上与源图像相似。通过同时从扩散模型中采样并引导样本具有较低的引导损失,我们可以获得一个经过运动编辑的图像。我们演示了我们的技术在复杂运动上的有效性,并生成了真实和生成图像的高质量编辑。

代码:https://dangeng.github.io/motion_guidance

3. 方法

我们的目标是允许用户通过指定目标流场(target flow field) f ∈ R^(w×h×2) 来编辑源图像 x* ∈ R^(w×h×3)。为了实现这一目标,我们开发了一些技术,利用现成的光流网络引导扩散模型的去噪过程。 

3.1 扩散模型中的引导

扩散模型(Sohl-Dickstein等,2015;Song等,2021)通过对随机噪声反复去噪来生成图像。它们通常被表示为函数 ϵθ(xt; t, y),该函数在扩散过程的第t步中预测噪声数据点 xt,可以使用可选的条件信号 y。分类器引导(Dhariwal&Nichol,2021)旨在通过用 L 的梯度增强噪声估计来生成最小化函数 L(x) (例如对象分类损失)的样本:

其中 ˜ϵθ 是新的噪声函数,σt 是权重计划。这种方法的一个关键优势是它不需要重新训练,并且除了可微性外,它不明确地对 L 施加限制。最近的研究表明,这种方法可以直接扩展到使用仅接受干净(去噪)图像作为输入的函数 L(Bansal等人,2023)。

3.2 运动引导

我们将使用引导来操纵图像中对象的位置和形状。我们设计了一个引导函数 L(x)(公式 1),用于衡量生成的图像 x 如何捕捉所需的运动。我们鼓励 x* 和 x 之间的光流为 f。给定一个(可微分的)现成的光流估计器 F(·, ·),我们将最小化损失:

虽然我们发现在这个损失上进行引导可以产生所需的运动,但我们还观察到编辑后的对象通常会改变颜色或纹理。这是因为运动估计模型对许多颜色变化是不变的(这对于视频中的光流估计非常有用,因为视频中的亮度可能在帧与帧之间迅速变化),因此很难约束对象的外观以匹配源图像。受到 Pan 等人(2023b)和 Geng 等人(2022)的启发,为了解决这个问题,我们添加了一项损失,鼓励相应的像素具有相似的颜色。 

其中 warp(x, f) 表示使用位移场 f 对图像 x 进行反向变形。我们用于引导的完整损失是:

其中 λ_flow 和 λ_color 是权衡模型对目标运动的遵循程度和对源图像中对象视觉保真度之间的超参数,m_color 是处理遮挡的掩码,下文有解释。

3.3 实施运动引导

我们发现一些技术对于使用运动引导产生高质量的编辑非常有用。

处理遮挡。当物体移动时,它们会遮挡背景中的像素。由于这些背景像素在生成的图像中没有对应项,颜色损失(公式 3)是适得其反的。类似于 Li 等人(2023),我们采用这样一个约定,即目标流指定前景的运动,即当物体移动时,它将遮挡与之重叠的像素。为了实现这一点,我们从目标流创建一个遮挡掩码,并在被遮挡的区域中掩蔽颜色损失。有关详细信息,请参阅附录 A1。

编辑掩码。对于给定的目标流,很多像素通常根本不会移动。在这些情况下,我们可以通过从目标流自动构建一个编辑掩码 m,指示哪些像素需要编辑,来重复使用源图像的内容。该掩码包含所有像素移动到或移动出的位置。在扩散采样过程中应用编辑掩码时,我们假设可以访问每个时间步的源图像 x* 的一系列噪声版本,我们将其表示为 x*_t。对于真实图像,可以通过在每个时间步 t 向 x* 注入适量的噪声来构建此序列,或者可以通过 DDIM 反演(Song 等人,2020)获得。对于从扩散模型中采样的图像,我们还可以缓存反向过程中的 x*_t。然后,类似于 Song 等人(2021)和 Lugmayr 等人(2022),在每个时间步的去噪过程中,我们将编辑掩码之外的像素替换为缓存的内容:x_t ← m ⊙ x_t + (1 − m) ⊙ x*_t。

处理噪声图像。在标准的分类器引导中,噪声图像 x_t 被传递到引导函数中。在我们的情况下,这导致与现成的光流模型的分布不匹配,该模型只经过干净图像的训练。为了解决这个问题,我们采用了 Bansal等人(2023)和 Ho 等人(2022)的技术,并在给定的干净 x_0 的一步近似上计算引导函数:

导致梯度

从而将更具领域内的输入传递给引导函数。

递归去噪。我们遇到的另一个问题是,由于光流模型的复杂性和大小,通过引导对其进行优化可能相当困难。先前的研究(Lugmayr等人,2022;Wang等人,2023;Bansal等人,2023)表明,对于总共 K 步的每个去噪步骤的重复,其中 K 是一些超参数,可能会导致更好的收敛。我们采用这种递归去噪技术来稳定我们的方法,并经验性地发现这解决了许多优化不稳定性,部分原因是由于迭代精练效应(Lugmayr等人,2022),另一部分原因是由于引导过程采取的额外步骤,实际上导致了对引导能量的更多优化步骤。

引导剪裁。我们还发现剪裁引导梯度可以防止在去噪过程中出现不稳定性。Gu&Davis(2023)的同时工作引入了一种自适应剪裁策略,但我们发现简单地按照其范数将梯度剪裁到预设阈值 cg 的方法在我们的情况下效果很好。 

4. 结果

  • 25
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值