2024最新文字指导图像编辑模型 | Forgedit: Text Guided Image Editing via Learning and Forgetting

代码:Forgedit官方代码

论文:点击直达论文

摘要:在真实或合成图像上进行文本引导的图像编辑,只给定原始图像本身和目标文本提示作为输入,是一项非常普遍和具有挑战性的任务。它需要一个编辑模型来自行估计图像的哪些部分需要编辑,然后在保持原始图像特征的情况下进行刚性或非刚性编辑。在本文中,我们设计了一种新的文本引导图像编辑方法,命名为Forgedit。首先,我们提出了一种视觉语言联合优化框架,该框架能够在30秒内重建原始图像,比以前的SOTA快得多,并且更少过拟合。

在此基础上,我们提出了一种新的扩散模型文本嵌入空间向量投影机制,该机制能够分别控制识别相似度和编辑强度。最后,我们发现了扩散模型中UNet的一般性质,即UNet编码器学习空间和结构,UNet解码器学习外观和身份。利用这一特性,我们设计了遗忘机制,成功地解决了在一张图像上微调扩散模型时不可避免的过拟合问题,从而大大提高了扩散模型的编辑能力。我们的方法,Forgedit,建立在稳定扩散的基础上,在具有挑战性的文本引导图像编辑基准:TEdBench上取得了新的最先进的结果,在CLIP分数和LPIPS分数方面超过了以前的SOTA方法,如Imagic with Imagen。

一、引言

分为微调和编辑。

在微调阶段,我们使用BLIP[17]生成的源提示符来描述原始图像,我们设计了一个视觉和语言联合优化框架,将Imagic的第一阶段和第二阶段合二为一,使用BLIP生成的标题作为源提示符,而不是像Imagic那样使用目标提示符作为源提示符,可以将其视为Imagic[14]的变体。这些简单的修改是比Imagic更快的收敛速度和更少的过拟合的关键。通过我们对图像和源文本嵌入的联合学习,我们的Forgedit+Stable Diffusion 1.4[25]在A100 GPU上使用一张图像的微调阶段需要30秒,而Imagic论文报道的Imagic +Stable Diffusion[14]则需要7分钟。这将导致14倍的速度提升。BLIP生成的源提示也可以缓解过拟合,我们将在消融研究中证明这一点。

在编辑阶段,我们提出了两种新颖的方法,矢量投影和遗忘策略,并发现了UNet的一般性质。本文在文献中首次提出了一种新的扩散模型文本嵌入空间矢量投影机制,通过将目标文本嵌入分解为身份嵌入和编辑嵌入,分别控制身份和编辑强度。探讨了向量投影的性质,并将其与Imagic中使用的矢量减法方法进行了比较,证明了其在恒等保持方面的优越性。最后,我们发现了扩散模型中UNet结构的一般性质,即UNet编码器学习空间和结构,UNet解码器学习外观和身份。有了这样一个属性,我们可以很容易地解决基于优化的图像编辑方法的致命过拟合问题,在采样过程中,而不是在微调过程中,通过设计一个遗忘机制,我们可以非常有效和高效地解决基于优化的图像编辑方法的致命过拟合问题。

论文的贡献: 

  1. 我们提出了Forgedit,一个高效的视觉语言联合优化框架,能够执行刚性和非刚性文本引导图像编辑,同时有效地解决了该任务的多个一般挑战。

  2. 我们在扩散模型的文本嵌入空间中引入了一种新的向量投影机制,为计算源文本嵌入和目标文本嵌入的组合提供了一种更可控的选择。与现有方法相比,这提高了Forgedit保留原始图像一致性特征的能力。

  3. 基于对扩散模型的UNet架构的观察,我们设计了一种新的遗忘策略,即UNet编码器学习空间和结构,UNet解码器学习外观和身份。这使我们能够有效地解决基于优化的图像编辑方法的关键过拟合问题,从而显著提高扩散模型的编辑能力。

我们的Forgedit可以在具有挑战性的基准测试TEdBench上获得新的最先进的结果[14](即使使用过时的Stable Diffusion 1.4),在CLIP分数[8]和LPIPS分数[33]方面超过了之前基于Imagen构建的SOTA Imagic。我们的Forgedit是高度灵活的,并且很容易适用于其他基于微调的文本引导图像编辑方法,具有显著的性能改进。我们将在附录中展示此类扩展的更多应用。

二、相关工作

文本到图像的扩散模型扩散模型已经主导了文本到图像的生成。DDPM[11]改进了[28]提出的扩散过程生成图像。DDIM[29]通过使逆向过程具有确定性并使用时间步长子序列来加速扩散模型的采样过程。Dalle 2[24]在将文本标题转换为CLIP[22]图像嵌入之前先训练扩散,然后使用扩散解码器将生成的CLIP图像嵌入传输到图像中。Imagen[27]是一个级联扩散模型[12],其UNet由三个扩散模型组成,生成分辨率越来越高的图像,使用强大的T5文本编码器[23]进行复杂的语义理解,并生成复杂的场景。Stable Diffusion[25]利用Variational AutoEncoders[16]将训练图像压缩到一个紧凑的潜在空间,使得unet可以用低分辨率的潜在进行训练,从而节省计算资源。

随着文本到图像扩散模型的最新进展,图像编辑方法有了显著的改进。ControlNets[32]在额外的数据集上进行训练,以学习在不同条件下生成图像。然而,这些条件只反映了原始图像的部分属性,因此ControlNets无法保留被编辑对象的身份,也难以进行非刚性编辑。ELITE[31]利用额外的图像编码器传输物体的外观,但无法保持精确的身份。在基于扩散模型的绘制模型中,例如,混合扩散[1],需要蒙版来指示编辑区域。他们不能保持被编辑对象的身份,也不能进行非刚性编辑,因为面具区域的限制,例如让栖息在树枝上的鸟展开翅膀。SDEdit[18]利用DDIM反演在原始图像中加入噪声,然后去噪带有目标提示符的映像。DiffEdit[5]通过用户提供的源提示获取带有Diffusion Model本身的目标对象掩码,并在掩码区域进行SDEdit。PnP扩散[30]将原始图像的中间特征注入到目标提示符的生成中。directpix2pix[3]使用原始图像、编辑图像和目标提示符的三元组在外部数据集上预训练扩散模型。这些非优化方法要么无法保持精确的特征,要么无法进行复杂的非刚性编辑。Drag Diffusion[19]将DragGAN[21]扩展到Diffusion Models,能够保持原始图像的身份并进行非刚性编辑。然而,拖拽扩散和DragGAN只能执行与空间相关的编辑,这只是一般图像编辑任务的一部分。相反,我们的Forgedit是一个通用的文本引导图像编辑框架,用于执行各种图像编辑操作,包括空间转换。Prompt to Prompt[7]要求源提示和目标提示必须以精确逐字匹配的形式提供,这样算法才能准确地找到编辑目标,这太理想了,在我们的设置中是不可能的。Imagic[14]是一种基于三阶段优化的编辑方法,是目前最先进的文本引导图像编辑算法,可以看作是第一阶段文本反转[6]的一种变体与第二阶段DreamBooth[26]的结合。然而,Imagic的微调阶段非常缓慢,并且存在过拟合的问题。

三、Forgedit

我们的Forgedit的整体框架,包括一个视觉语言联合微调阶段和一个编辑阶段。我们使用BLIP生成原始图像的文本描述,并使用CLIP文本编码器计算源文本esrc的嵌入。然后使用不同的文本嵌入学习率UNet对源嵌入esrc进行联合优化,其中UNet的深层被冻结。在编辑过程中,我们将源嵌入的esrc和目标嵌入的etgt进行矢量减法或投影合并,得到最终的文本嵌入e。我们将遗忘策略应用于UNet,我们利用DDIM采样来获得最终编辑的图像。

联合微调

为了解决这种具有挑战性的文本引导图像编辑问题,我们必须对模型进行微调,以从原始图像中学习概念,从而使模型在编辑过程中保持一致。值得注意的是,虽然DDIM反演[29]可以重建原始图像,但给定的文本提示符必须为空字符串。如果给定的文本提示符不为空,DDIM反演无法精确重建原始图像,往往会导致明显的外观偏移[7,18]。因此,有必要对网络进行优化,以实现高质量的重构和语义理解。如图2所示,我们介绍了我们的视觉语言联合优化框架的总体设计。

生成源提示文本。通过BLIP模型,输入图像,输出文本。

视觉语言联合学习。联合优化源文本嵌入和UNet参数至关重要,这对于更快的学习和更好的重建质量至关重要。

推理和编辑

首先将目标提示文本输入到稳定扩散模型的CLIP文本编码器中,计算目标文本嵌入向量etgt。

利用我们学习到的源文本嵌入esrc,我们提出了两种方法来计算esrc和etgt的组合,使组合后的文本嵌入可以根据目标提示对原始图像进行编辑。

向量的减法。我们使用与Imagic相同的插值方法

如图3所示,最终的文本嵌入e是通过沿着向量减法etgt - esrc行进获得的。在我们的实验中,我们发现在大多数情况下,当编辑成功执行时,γ大于1。这导致对于最终嵌入e和源嵌入esrc之间的距离可能太远的问题,编辑对象的外观可能会发生巨大变化。

我们演示了矢量减法和矢量投影来合并esrc和etgt。由于矢量减法不能直接控制esrc的重要性,因此可能导致被编辑对象的外观不一致。向量投影将etg分解为沿esrc方向的resc和与esrc方向正交的resc。我们可以直接控制esrc的尺度,并通过求和进行编辑。

向量投影。我们建议使用矢量投影来更好地保留原始图像的外观。如图3所示,我们将嵌入etgt的目标提示文本分解为沿esrc的向量和与esrc正交的向量。我们称它为正交向量。我们首先计算投影向量在esrc方向上的比值r。

因此,我们可以通过计算得到编辑

为了保留原始图像的更多细节,我们对esrc和eedit进行了系数α和β的求和。

编辑。我们使用DDIM采样[29]和无分类器指导[10]进行编辑。指导等级为7.5。对于向量减法,我们在γ∈[0.8,1.6]的范围内迭代。对于向量投影,我们从两个值{0.8,1.1}中选择α,从[1.0,1.5]的范围中选择β。

遗忘策略

遗忘机制 在某些情况下,由于只提供了一张训练图像,网络仍然会过拟合。与采样过程相比,微调过程的计算成本较高,因此我们设计了一种遗忘策略在采样过程中解决过拟合问题。该网络只进行一次微调,在采样过程中,通过将学习到的某些微调参数与原始UNet(微调前)的相应参数合并,使其具有平衡系数σ,可以转换为多个不同的网络。在实践中,我们发现σ = 0在一般情况下是有效的,这意味着我们可以简单地将微调后的参数替换为原始参数,从而使网络完全忘记这些学习到的参数。

图4:UNets编码器学习姿态、角度、结构、位置等相关特征解码器与外观和纹理有关。因此,我们根据编辑目标设计了一种遗忘策略。

Unet的性能 如图4所示,我们在扩散模型中发现了unet的一个有趣特性。UNets的编码器学习图像的姿态、动作、位置、角度和整体布局等空间和结构信息,而解码器学习图像的外观和身份。

遗忘策略 如果目标提示倾向于编辑空间信息,例如姿态或布局,我们选择忘记编码器的参数。如果目标提示符的目的是编辑外观,则应该忘记解码器的参数。目前我们只在前一节通过向量减法得到文本嵌入e时使用遗忘策略为了使用遗忘策略进行编辑,我们在γ∈[0.0,1.4]的范围内迭代。对于不同的遗忘策略设置,我们在消融研究中探讨其影响,如图7和图8所示。

工作流程和限制

图5解释了Forgedit的整个工作流程。所有图像的微调阶段都是相同的。图中的菱形表示该过程取决于用户的选择和偏好。在实践中,这些用户决策也可以用CLIP分数和LPIPS分数等指标的阈值来代替,以便完全自动编辑。

四、实验

基准。TEdBench[14]是最困难的公共文本引导图像编辑基准之一。它包含100个编辑,每个编辑有一个目标提示符和一个图像。这些目标提示非常通用,具有多样性,包括但不限于改变对象的外观,替换图像的某些部分,改变对象的位置,动作和数量,编辑具有复杂交互的多个对象。特别是,对于许多SOTA文本引导的图像编辑方法来说,非刚性编辑变得非常困难。在定量评价方面,我们使用CLIP评分[8]来衡量与目标提示符的语义一致性,使用LPIPS评分[33]和FID评分[9]来表示对原始图像的保真度。

消融实验

向量减法vs向量投影。我们比较了两种不同的推理方法来合并esrc和etgt,以得到最终的文本嵌入e,如图6所示。这两种方法是相辅相成的,矢量投影更能保持恒等式,矢量减法更能替换对象。

遗忘策略。首先是不遗忘推理策略。如果发生过拟合,我们根据UNet属性和目标提示意图从默认的“encoderattn”或“decoderattn”策略中进行选择。“encoderattn”意味着忘记除注意力相关参数外的所有编码器参数。“decoderattn”意味着忘记除注意力相关参数外的所有解码器参数。用户可以根据编辑结果选择忘记或多或少的参数,我们在8和7中进行了演示和解释。

文本嵌入插值的超参数效果。我们在图9中探讨了超参数在向量减法和向量投影中的作用。

源提示文本应该是什么?我们将探讨使用生成的标题作为源提示符的重要性。我们使用BLIP生成的源提示符来描述原始图像,而之前的SOTA方法Imagic使用目标提示作为源提示符。由于目标提示符表示编辑目标,因此与原始图像明显不一致。虽然对目标提示嵌入进行了原始图像重构优化,但对其学习率进行了严格的控制,确保其与初始目标提示嵌入的距离不大。因此,在很多情况下,使用目标提示符作为源提示符会使编辑模型无法正确理解目标提示符的编辑意图,使其即使经过微调也无法进行编辑。在图10中,我们展示了不需要使用图11中的遗忘策略的用例,这样我们就可以消除遗忘策略的影响。如果使用目标提示符而不是BLIP生成的源提示符,那么所有这些不使用生成的源提示符的Forgedit情况都会过拟合。

与最先进的比较

我们将Forgedit的定性编辑结果与SOTA方法在TEdBench的几个随机测试样本上进行了比较(如图11所示),结果表明,与其他方法相比,Forgedit与目标提示具有更强的语义一致性,并且具有更精确的身份保存。在数量上,我们的Forgedit与甚至过时的Stable Diffusion 1.4,在CLIP得分,LPIPS得分和FID得分方面都超过了目前的SOTA Imagen +Imagen on TEdBench基准,如表1所示。对于FID评分,我们遵循作者的建议,将维度设置为192,因为TEdBench中只有100个样本。

视觉讲故事

我们的Forgedit可以精确地保留演员的特征,并能够进行复杂的非刚性编辑,这使我们的Forgedit成为一个理想的工具用于视觉叙事和长视频生成,具有很强的一致性和非常任意的场景和动作。在图1中,我们输入SDXL生成的随机图像[9],然后使用Forgedit与Stable Diffusion的变体Realistic Vision V6.0 B1 noVAE生成不同目标提示的样本。使用图像到视频模型,例如Stable video Diffusion[2],我们可以生成几分钟高一致性的电影。

五、结论

我们提出了我们的Forgedit框架来解决具有挑战性的文本引导图像编辑问题。Forgedit解决了仅对一张图像进行微调时扩散模型的过拟合问题,并在TEdBench上获得新的SOTA。Forgedit可以实现精确的文本引导图像编辑和灵活可控的图像生成。

附录

BLIP+DreamBooth

为了将DreamBooth[26]应用于文本引导的图像编辑,我们使用BLIP[17]像我们的Forgedit一样生成描述原始图像的字幕。有了标题,我们训练UNet重建原始图像,并直接使用目标提示引导微调后的UNet进行图像生成,如图12第三列所示。我们还通过同时训练文本编码器和UNet来实验改进版本,如第四列所示。这样简单的微调UNet和文本编码器实际上是非常强大的文本引导图像编辑方法。我们的BLIP+DreamBooth使用BLIP生成的标题,不同于原来的DreamBooth需要用户提供一种特殊形式的“a [V] object”,指的是要重建的对象。根据DreamBooth[26]的设置,我们对文本编码器和UNet使用5 × 10−6的学习率,批处理大小为4。我们用一张图像训练BLIP+DreamBooth 100步,在A100 GPU上需要一分钟多的时间。不像原来的DreamBooth需要3到4张图片来学习新的对象概念,我们发现BLIP+DreamBooth一张图片就足以重建原图像的大部分特征。然而,当只对UNet进行微调时,BLIP+DreamBooth存在拟合不足的问题,因为它在许多情况下无法保留对象的身份。当文本编码器和UNet共同微调时,BLIP+DreamBooth在许多情况下会出现过拟合问题。事实上,我们发现,我们的Forgedit也可以简单地调整,以帮助解决BLIP+DreamBooth的过拟合问题,如6.2所示,这再次证明了Forgedit框架在各种基于优化的编辑方法上的强大泛化。

DreamBooth+Forgedit

Forgedit是一个非常通用的框架,它的主要特点来自三个方面:与原始图像联合视觉和语言学习,通过向量减法和向量投影获得最终的文本嵌入,使用遗忘策略解决过拟合问题。这里我们展示了如何将Forgedit扩展到BLIP+DreamBooth[17,26]。也有可能使我们的遗忘适应他人扩散模型[12,27]或微调方法[13],我们将在未来探索。

视觉与语言联合学习 这对于我们称之为BLIP+DreamBooth Text Encoder和UNet的方法来说是很自然的,因为Text Encoder和UNet已经是联合训练的。

向量减法和向量投影 本文提出的矢量减法和矢量投影算法将源文本嵌入作为网络的一部分进行优化。对于BLIP+DreamBooth,由于我们已经对文本编码器进行了微调,我们切换到使用文本编码器来直接从源提示符中嵌入源文本。现在我们可以用同样的方法使用向量减法和向量投影。

遗忘策略 我们可以直接将遗忘策略应用于BLIP +DreamBooth。然而,由于信息被同时注入到文本编码器和UNet中,我们在UNet上的遗忘策略在某些情况下仍然可能失败。今后我们将探讨文本编码器中的遗忘策略。

我们在图12中展示了一些案例,并将DreamBooth+Forgedit的编辑效果与之前最先进的文本引导图像编辑方法和我们在主要论文中展示的vanilla Forgedit进行了比较。对比第四列和最后一列,我们可以发现在Forgedit框架的帮助下,DreamBooth的编辑能力得到了极大的提升,大部分情况下解决了过拟合问题。请注意,DreamBooth+Forgedit并不是我们在主论文中展示的vanilla Forgedit和BLIP+DreamBooth的简单组合,因为我们的vanilla Forgedit的微调过程与DreamBooth+Forgedit不同。这导致DreamBooth+Forgedit并不总是比普通的Forgedit好,如图12的最后两列所示。

限制

首先,Forgedit的效果受到随机性的影响。微调过程不可避免地引入了随机性,因此对于某些特殊情况,我们无法保证完美地重建原始图像的细节,因此对于这些具有挑战性的情况,我们不得不多次运行微调阶段。采样过程也与逆向过程的初始随机种子有关,因此对于一些极具挑战性的情况,我们必须对数十甚至数百个图像进行采样,尽管很少发生这种情况,然后才能得到一个适当的编辑。

其次,使用的扩散模型限制了Forgedit的编辑能力。如果扩散模型本身甚至不能生成目标提示符,那么根据目标提示符完成编辑几乎是不可能的。例如,“一只坐着的火烈鸟”提示符根本无法通过稳定扩散生成,因此Forgedit也无法成功编辑它。这样的问题可以通过切换到更好的扩散模型来解决。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Thomas_Cai

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值