ECCV`24 | 少步比多步好?TurboEdit:少步扩散和解耦控制的实时精确图像编辑(Adobe出品)

论文链接: https://arxiv.org/pdf/2408.08332
git地址:https://betterze.github.io/TurboEdit/

亮点直击

  • 提出一个反演网络,该网络通过预测噪声来重建输入图像,并被训练为在前一步重建的条件下迭代地校正重建图像。

  • 对扩散蒸馏过程的一种新兴特性进行分析。

  • 方法在反演过程中只需要 8 次功能评估(一次性成本),每次编辑只需 4 次功能评估,而基于多步扩散模型的方法在反演中需要 50 次功能评估,每次编辑需要 30-50 次功能评估。本文方法速度显著提升(每次编辑小于 0.5 秒,而不是大于 3 秒),且在描述性和指令性文本提示设置中,在文本图像对齐和背景保留方面表现出比基于多步扩散模型的方法更好的效果。

本文解决了在少步扩散模型中精确图像反演和分解图像编辑的挑战。本文引入了一种基于编码器的迭代反演技术。反演网络以输入图像和前一步的重建图像为条件,允许对下一步的重建进行修正,使其更接近输入图像。本文展示了在少步扩散模型中,通过对(自动生成的)详细文本提示进行条件化,可以轻松实现分解控制。为了操控反演后的图像,本文冻结噪声图,并修改文本提示中的一个属性(可以手动修改,也可以通过大型语言模型驱动的指令编辑),从而生成一个与输入图像相似但仅改变了一个属性的新图像。该方法还可以进一步控制编辑强度并接受指导性文本提示。本文的方法能够实时实现逼真的文本引导图像编辑,反演只需进行8次功能评估(一次性成本),每次编辑仅需4次功能评估。本文的方法不仅快速,而且显著优于现有的多步扩散编辑技术。

方法

预备知识

正向扩散过程通过向干净图像 添加高斯噪声 ,逐渐将其转变为白色高斯噪声 。

其中, 控制噪声的时间表, 是高斯噪声。网络 被训练用于在给定 、文本提示 和时间步 的情况下预测 ,其目标是:

本文可以轻松地将公式从噪声预测重写为样本预测。

通常需要20到50步才能从采样的高斯噪声生成干净的图像。随着蒸馏方法的发展,少步扩散模型可以在1到4步内获得高质量的图像。

单步图像反演

基于扩散的方法在真实图像编辑中已显示出实现高质量分解编辑的有希望结果。然而,这些依赖于多步扩散模型的方法由于其计算需求而受到限制,每次编辑至少需要4-5秒,使其不适合交互式应用。此外,由于设计上的根本差异,这些方法无法直接应用于少步扩散模型。例如,许多基于扩散的编辑方法依赖于DDIM反演或DDPM反演将真实图像投射到扩散噪声空间。然而,DDIM反演对小步长和大量反演步骤的要求本质上与少步扩散模型的设计原则相悖。而DDPM反演则容易对输入图像进行过拟合,并在编辑后的图像中产生大量伪影。如下图8所示,当应用于少步反演步骤时,DDIM和DDPM反演都产生次优的编辑结果。

一些研究利用对抗性损失来蒸馏多步扩散模型,使少步扩散模型的优化目标类似于GANs。这启发本文借鉴GAN反演文献中的思想,在那里基于编码器的方法已被证明是高效且可靠的。

考虑一个生成器 (在本文的例子中是 SDXL-Turbo),它接受时间步长 、文本提示 和噪声图像 ,并输出重构图像 。基于此,本文从噪声版本中预测干净图像 ,公式为 。本文开始设计一个单步方法的反演网络,其中 。本文训练一个反演网络 来预测 ,使得当将 输入到 中时, 将匹配 。这导致了损失函数:

反演网络 是从生成器 (SDXL-Turbo)初始化的,并且在训练过程中生成器 是冻结的。输入图像 的信息存储在文本提示 (全局信息)和初始噪声 (空间信息)中。当本文想要进行图像编辑时,本文使用一个新的文本提示 ,然后生成编辑后的图像,通过以下方式:

尽管单步编码器方法简单,但它能够在保持背景细节的同时进行令人印象深刻的语义编辑,其性能优于DDIM和DDPM反演方法,并成为上图8中唯一可行的单步反演选项。然而,其结果在诸如手部和面部区域会出现伪影。生成的图像缺乏清晰度,包含盐和胡椒噪声,未能达到照片级真实感。为了解决这个问题,本文将方法扩展到多步反演。

多步图像反演

为了提高图像重建的质量,本文采用了一种多步反演方法,在每一步中迭代地优化重建,类似于ReStyle中提出的GAN反演网络。反演网络被设计为接收输入图像以及前一步的重建,并预测当前步骤的注入噪声。根据公式1,这个注入的噪声与之前的重建结合,形成新的噪声图像,作为的输入。然后本文根据公式3获得新的重建图像。这形成了初始的多步训练目标:

值得强调的是,生成器以之前的重建作为输入,因此损失函数推动输出一个能够改善相对于输入图像的之前重建的。在训练过程中,本文使用单步SDEdit来模拟之前步骤的重建。具体来说,本文向输入图像添加随机高斯噪声以获得,然后将输入生成器以获得。在最大时间步时,本文使用一个全零矩阵作为。

本文的分析显示,这个模型的简单实现会导致预测的噪声包含许多高值(> 10)以及来自输入图像的过多结构信息,进而在重建图像中产生伪影。此外,更改文本提示对输出图像的影响很小。为了解决这些问题,本文采用了重参数化技巧,将注入噪声限制在接近标准高斯分布的范围内。反演网络不再直接预测注入噪声的值,而是输出每个像素的均值和方差,从中采样出注入的噪声。这个修改所需的KL损失为:

这得出了最终的训练目标:

通过实验,本文确定将设置为在重建质量和可编辑性之间取得了良好的平衡。训练完成后,本文可以执行如下图2和下图算法所示的迭代反演过程。反演过程从迭代到较小的,其目的是首先编码语义信息,然后捕捉更精细的细节。噪声包含了未在中显式编码的空间信息。通过实验,本文确定四步反演足以忠实重建复杂图像并在图11中保持面部身份。给定和新的文本提示,本文可以生成一个新图像,使其类似于输入图像,同时包含中的目标属性,如算法3.3所示。总之,反演过程需要8次网络功能评估(8 NFE,4 × 2),因为每个反演步骤需要反演网络和生成器的推理。一旦图像被反演,所有后续编辑需要额外的4次网络功能评估。

详细文字提示条件

注意力驱动的图像编辑方法通过冻结自注意力和交叉注意力图来保持源图像和目标图像之间的结构相似性。尽管它们在常规多步扩散模型中表现良好,但本文发现它在单步或四步扩散模型中过度限制了目标图像的结构,并倾向于在下图9中产生伪影。

为了在少步扩散模型中实现文本引导的图像编辑,本文提出了一种极其简单的方法。本文的直觉是,如果文本提示非常详细并涵盖了各个方面的语义信息,那么在文本提示中修改单个属性只会导致文本embedding的微小变化。因此,源和目标采样轨迹保持足够接近,从而生成的图像几乎相同,除了下图3中修改的属性。同样的直觉也适用于本文在下图10中展示的真实图像编辑。此外,本文可以线性插值详细的源和目标文本embedding,并在图像空间中生成平滑的插值,如上图1和下图4所示。尽管用户很难编写长文本提示,但本文可以轻松利用ChatGPT来扩展简短的文本提示(例如,“请详细描述一张{用户提供的简短描述}的图像”),或者使用LLaVA生成给定图像的详细描述。

并行研究表明,仅基于文本embedding而不冻结注意力图也可以实现图像编辑能力。本文想强调这两种方法之间的区别。为了进行对象替换或风格控制,他们在文本embedding空间中替换关键词embedding,而本文使用长而详细的文本提示,并直接在文本空间中替换关键词。为了控制编辑强度,他们重新调整描述性词embedding的权重,或者使用奇异值分解来发现文本embedding空间中的编辑方向,而本文则直接对源文本和目标文本embedding进行线性插值。

局部 Mask

为了实现局部编辑,本文的方法允许用户上传一个二进制mask来指示要编辑的区域。本文首先对mask进行高斯模糊,然后将其调整为与潜在图像大小(64 × 64)匹配。随后,本文仅在mask区域内保留时间步 的编辑后的图像 ,对于图像的其余部分,使用反演图像 ,如上算法所述。

为了提供mask的初始化,本文建议使用粗略的注意力mask来表示编辑区域。受prompt2prompt中局部混合模式的启发,本文自动提取分辨率为16 × 16的注意力mask,用于仅存在于源提示或目标提示中的单词,在通道维度上求和,并将其除以最大值。此过程生成一个单通道的注意力mask,其值范围为0到1,其中编辑区域以高注意力值为特征,未更改的区域以低注意力值为特征。默认情况下,本文将阈值设置为0.6,并将连续的注意力mask转换为二进制mask。用户可以交互式地调整阈值以控制mask的大小,因为每次编辑(4步)需要少于0.5秒。尽管注意力mask非常粗略,但本文展示了它可以显著改善背景和身份保留,如下图12所示。在本文的图中,本文仅使用粗略的注意力mask而不是精确的手动mask。

需要明确的是,本文的方法仅使用注意力mask来限制编辑区域,这与在prompt2prompt中通过冻结注意力图来实现结构对齐的方法不同。本文的方法与注意力冻结是正交的,可以与之结合。然而,默认情况下,本文在任何时间步都不冻结注意力图,因为这样做会强烈限制对象结构,并且在上图9中显示的少步扩散模型中容易引入伪影。

基于指令的编辑

在许多编辑场景中,用户需要更改源提示中的多个词才能获得所需的目标提示。例如,当用户希望将一张小狗的图片更改为小猫的图片时,他们需要将“dog”更改为“cat”,并将“puppy”更改为“kitten”,这可能会显得繁琐且不吸引人。

幸运的是,针对大型语言模型(LLM)的指令微调和文本空间中的语义编辑已经得到了充分的研究。本文从一个基础指令开始,例如“请对以下句子做出最小的改变,但...”,然后用户只需添加任务特定的指令,如“将狗改为猫。”本文将基础指令、用户指令和源提示串联在一起,并将它们输入到LLM中。LLM会找出最佳的编辑方式并生成目标提示。通过这种方式,复杂的文本编辑由LLM处理,用户只需输入简单的短指令。为了提高效率并节省内存,本文重新使用LLaVA作为本文的LLM,但任何经过指令微调的LLM都可以替换使用。LLaVA构建在Vicuna 之上,即使经过视觉和语言任务的微调后,仍然可以执行文本编辑任务。实验表明,这种简单的方法在上图1、下图6和下表3中表现良好。

实验

训练细节

为了应对计算和存储限制,本文从一个内部数据集中选择了25万张大于512×512像素的图像,进行中心裁剪以获得正方形图像,并将其调整为512×512像素。为了生成详细的描述,本文将这些图像输入到LLaVA模型中,并使用提示“请尽可能详细地描述图像,包括布局、对象和颜色”。随后,本文在训练之前为SDXL-Turbo模型预先计算图像和文本embedding。反演网络从SDXL-Turbo模型初始化,而生成器(也是SDXL-Turbo)在整个训练过程中保持不变。训练在四个不同的时间步(1000, 750, 500, 250)上进行,这与SDXL-Turbo中采用的方法一致。本文使用了的学习率和10的批量大小,在使用八个A100 GPU的一天内实现了模型的收敛。

定量比较

PIE-Bench 数据集包含 700 张图像,每张图像对应 10 种不同的编辑类型。每个示例包括一个源提示、目标提示、指令提示和源图像。在描述性设置中,仅使用源提示和目标提示进行文本指导,而在指令性设置中,仅使用指令提示。

然而,PIE-Bench 数据集仅提供简短的文本提示,而长且详细的文本提示对于确保解耦编辑和防止伪影是必要的。为了在描述性设置中确保公平比较,本文使用数据集中的简短源提示和目标提示,并在第一次采样步骤中冻结注意力图。在指令性设置中,本文使用 LLaVA 生成一个长的源标题,并遵循 PIE-Bench 的简短指令以获得一个长的目标提示,如前文中所讨论。本文的结果显示,与当前的最新方法相比,本文的方法在描述性和指令性设置中都能更好地遵循文本指导并保留背景(见上表 1 和下表 3)。

定性比较

本文的方法本质上支持多种反演步骤。在单步反演的情况下,DDIM反演会产生大量伪影,而 DDPM反演生成的图像虽然具有目标属性,但在上图8中未能与输入图像相似。相比之下,本文的方法成功生成了与输入图像非常相似的正确编辑,尽管在手部和面部区域有轻微的伪影,以及图像中的椒盐噪声。在考虑四步反演时,所有方法相较于单步反演都有更好的结果。然而,当执行大的结构变化(例如,将狗变成猫)时,DDIM反演和DDPM反演容易产生较大的伪影,而本文的方法在上图8中实现了更高的身份保留和逼真的编辑效果。

此外,本文在下图5中对比分析了本文的四步方法和基于多步扩散模型的图像编辑方法,该方法使用描述性提示作为指导。InfEdit和 Pix2PixZero扭曲了房屋、泰迪熊和吉他等物体的结构。此外,Ledits 和 Ledits++ 在进行大规模结构变化(例如添加帽子或将男人变成女人)时遇到了困难。相比之下,本文的方法在进行纹理和结构变化的逼真编辑时表现出色,同时保持了强大的身份保留。与同样依赖于 SDXL-Turbo 的同期工作 ReNoise 相比,本文每次反演只需要 8 次 NFE,而不是 36 次 NFE,更好地保留了面部身份,并在补充图14中产生更少的伪影。

同样,本文在上图6中将本文的方法与其他基于指令的方法进行了比较,这些方法使用指导性提示作为指导。虽然 InstructPix2Pix 及其变体需要大规模的监督训练集、计算密集型训练和多步采样,而本文的反演网络通过重建损失进行无监督训练,只需要四步采样,本文的方法在身份保留(从猫到狗)和文本提示对齐(从毛衣到T恤)方面表现更好。

消融实验

本文通过消融研究验证了框架中每个组件的必要性。首先,本文可视化了不同反演步数下的反演结果。本文的研究表明,多步反演对于保持面部身份和防止模糊伪影是必不可少的(见下图11)。随后,本文使用1万张验证图像计算重建指标,结果显示,随着反演步数的增加,重建质量持续改善(见下表2)。此外,本文证明了详细的文本提示条件对于结构保留和防止背景伪影至关重要(见上图10)。最后,本文展示了局部掩蔽对于防止背景结构变化和身份偏移的重要性(见上图12)。

Limitations and Societal Impact

首先,本文的方法依赖于LLaVA来生成详细的描述。然而,由于本文只进行少步反演,计算密集的LLaVA模型成为了瓶颈。因此,需要探索其他轻量级的描述生成模型,以实现实时图像反演。其次,虽然注意力mask可以有效地限定编辑区域,但它们通常不够精确,可能会包含附近的区域,增加注意力阈值也无法完全解决这个问题。这种不精确可能导致轻微的身份偏移,特别是当编辑区域靠近人脸时。本文在下图13中展示了如何通过使用用户提供的粗略mask来减轻这一问题。最后,本文的方法无法进行大幅度姿势改变(例如,将一个奔跑的人变为坐着的人),如下图15所示。

作为一种生成式图像编辑工具,本文的方法提供了创造性的机会和挑战。尽管它实现了创新的图像编辑能力,但也引发了关于操控数据、误导信息和垃圾信息传播的担忧。其中一个显著的问题是故意图像操控的增加,即所谓的“深度伪造”,这种现象对女性的影响尤为严重。

结论

根据本文所知,本文的方法是首个在少步扩散模型背景下探索图像编辑的工作,也是首个在扩散模型中探索基于编码器反演的工作。本文证明,通过对(自动生成的)详细文本提示进行条件控制,可以在少步扩散模型中轻松实现解耦控制。本文的方法使用户能够以交互速度进行逼真的文本引导图像编辑,反演和编辑过程都在毫秒内完成。

参考文献

[1] TurboEdit: Instant text-based image editing

更多精彩内容,请关注公众号:AI生成未来

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值