简单有效!Direct Inversion: 三行代码提升基于Diffusion的图像编辑效果

75809826537ed56854718085513fc8c3.gif

daae6244ff4dfa4d9c36720d98677bbf.png

导读 

本文介绍了由香港中文大学和粤港澳大湾区数字经济院联合提出的基于 Diffusion 的 Inversion 方法 Direct Inversion,可以在现有编辑算法上即插即用,无痛提点。

现有主流编辑算法大多为双分支结构,一个分支主要负责编辑,另一个分支则负责重要信息保留,Direct Inversion 可以完成(1)对两分支解耦(2)使两分支分别发挥最大效能,因此可以大幅提升现有算法的编辑效果。

同时,为了更加公平公正的进行基于 text 的编辑效果对比,这篇文章提出了 PIE-Bench,一个包含 700 张图片和 10 个编辑类别的“图片-编辑指令-编辑区域”数据集,并提供一系列包含结构保留性、背景保留性、编辑结果与编辑指令一致性、编辑时间四个方面的评测指标。

数值结果和可视化结果共同展示了 Direct Inversion 的优越性。

3a5b501c798b7c333cffa4f6b0ee5ae2.png

项目主页:

https://idea-research.github.io/DirectInversion/

论文链接:

https://arxiv.org/abs/2310.01506

https://readpaper.com/paper/4807149696887816193

代码地址:

https://github.com/cure-lab/DirectInversion

PIE-Bench申请:

https://docs.google.com/forms/d/e/1FAIpQLSftGgDwLLMwrad9pX3Odbnd4UXGvcRuXDkRp6BT1nPk8fcH_g/viewform

视频链接:

https://drive.google.com/file/d/1HGr4ETPa7w-08KKOMhfxhngzQ9Y9Nj4H/view

5eedb5801befa8f3edc60af8a17cb03f.png

这篇论文是如何发现过往方法问题,并找到新解决方案的呢?

基于 Diffusion 的编辑在近两年来一直是文生图领域的研究重点,也有无数文章从各个角度(比如效果较好的在 Stable Diffusion 的 Attention Map 上特征融合)对其进行研究,作者在文章中进行了一个比较全面的相关方法 review,并把这些方法从“重要信息保留”和“编辑信息添加”两个方面分别进行了四分类,具体可以参见原文,此处不再赘述。

这里提到了一个编辑的重点,也就是“重要信息保留”和“编辑信息添加”。事实上,这两个要点正是编辑所需要完成的两个任务,比如把图 1 的猫变成狗,那红色的背景和猫的位置需要保留,这就是“重要信息保留”;同时编辑要完成“变成狗”的任务,这就是“编辑信息添加”。

为了完成这两个任务,最为直觉,也是使用最多的方式就是:使用两个分支来完成这两件事,一个用来保留信息,一个用来添加信息。之前的编辑算法大多可以划分出这两个分支,但可能隐含在模型中或者没有显式割离,也正是在这篇文章中,作者将两个概念划分清楚并给出了过往方法的分类。

到现在为止,已经弄清楚了编辑的两个分支及其各自作用,但编辑不仅仅只需要这两个分支,还需要重要的一步,也就是 Inversion。

e5cb5f272133909feab53685a86efb4a.png

▲ 图1 基于 Diffusion 的编辑算法总结

我们都知道,Diffusion 是一个把噪声映射到有用信息(比如图片)的过程,但 Diffusion 到噪声的过程是单向的,它并不可逆,不能直接像 VAE 一样直接把有用信息再映射回到隐空间,即,可以根据一个噪声得到图片,但不能根据一张图片得到“可以得到这张图片的噪声”,但这个噪声又在编辑中非常重要,因为它是双分支的起点。

所以大部分人就采用了一种近似的方法,即 DDIM Inversion,它能够将图片映射到噪声,但从这个噪声得到的新图片就会稍微偏离原图片一点(如图 DDIM Inversion 上标注的 distance),其实如果不给模型文本控制条件,偏离还不太严重,但当文本的控制加强时,偏离就会逐渐不可接受。

因此,一系列的 Inversion 方法被提出用来修正这一偏差,比如著名的基于优化的 Null-Text Inversion,而在无数方法进行尝试和探索之后,大家似乎得到了一个 common sense:好的偏离修正必须要包含优化过程。所以这篇文章就更加深入的探索了一下基于优化的 inversion(或者说修正)到底在做什么。

0659f2afaa7c03adbc1d25ed6560cbdc.png

这些方法在优化什么?优化真的必要吗?

基于优化的 Inversion 方法通常使用一个模型输入变量(如 Null Text)存储刚刚提到的偏差,而这一偏差则作为优化过程中的 loss,通过梯度下降来拟合变量。因此优化的过程本质上就是把一个高精度的偏差存储在了一个低精度的变量中(该变量的数值精度相对 noise latent 更不敏感)。

但这种做法是存在问题的:

1. 优化相当于在推导过程中训练,非常消耗时间,比如 Null-Text Inversion 通常需要两三分钟编辑一张图片;

2. 优化存在误差,因此不能完全消除“偏差”,如图 2 Null-Text Inversion/StyleDiffusion 中画出的,保留分支与原始 inversion 分支之间的偏差只是被缩小并没有被消除,这就使得重要信息的保护没有发挥到最大限度;

3. 优化得到的变量其实在 Diffusion 模型训练过程中并未出现过,因此相当于进行了强制赋值,会影响模型输入和模型参数之间数据分布的协调。

回到上文提到的双分支编辑,之前的方法训练好优化的变量之后,就会将其同时送入到编辑分支和保留分支(其实不仅仅是基于优化的方法,非基于优化的方法也没有将两分支解耦),根据上面的分析,其实可以发现一个很简单的改进策略:将可编辑分支和保留分支解耦,使两个分支充分发挥各自效能。

95d7731ee8b8fe5404e1d82934175a46.png

▲ 图2 各类 Inversion 方法对比

c3cc701ccb390e470c958e127047b546.png

Direct Inversion

这篇文章通过解耦编辑分支和保留分支,仅用三行代码就能够大幅提升现有编辑算法效果(如图 3 中伪代码),具体做法非常简单,即:将保留分支加回到原始 DDIM Inversion 路径,而保持编辑分支不被影响。

a30122de4fe87b11292a68869bd50307.png

▲ 图3 伪代码


3a5f2ed68cbab45b353ddb9164599b43.png

PIE-Bench

尽管基于 Diffusion 的编辑在近几年引起了广泛关注,但各类编辑方法的评估主要依赖于主观且不确定性的可视化。因此这篇文章为了系统验证所提出的 Direct Inversion,并对比过往 Inversion 方法,以及弥补编辑领域的性能标准缺失,构建了一个基准数据集,名为PIE-Bench(Prompt-based Image Editing Benchmark)。

PIE-Bench 包括 700 张图像,涵盖了 10 种不同的编辑类型。这些图像均匀分布在自然和人工场景(例如绘画作品)中,分为四个类别:动物、人物、室内和室外。PIE-Bench 中的每张图像都包括五个注释:源图像提示语句、目标图像提示语句、编辑指令、主要编辑部分和编辑掩码。值得注意的是,编辑掩码注释(即使用一个 mask 指示预期的编辑区域)在准确的指标计算中至关重要,因为期望编辑仅发生在指定的区域内。

8ed3aa58b0cbaae118b45671e0dec983.png

▲ 图4 PIE-Bench


9c33b56bfade1c177228f2161927cf0d.png

实验效果

6.1 数值结果

在各个编辑算法上对比不同 Inversion 和 Direct Inversion 算法效果:

2d7f720bab952ee9b112368f26f41dec.png

▲ Direct Inversion 在多种编辑方法上对比其他 inversion 方法的效果。编辑方法:Prompt-to-Prompt(P2P), MasaCtrl, Pix2Pix-Zero(P2P-Zero), Plug-and-Play(PnP), Inversion方法:DDIM Inversion(DDIM), Null-Text Inversion(NT), Negative-Prompt Inversion(NP), StyleDiffusion(SD)

各类 Inversion 算法运行时间对比:

1c0e56b2417b573aace1cc84820786f1.png

▲ 运行时间对比

6.2 可视化对比

a86d37faf6d4c81707bd0ee315cd81a7.png

▲ 图5 Direct Inversion 与四种基于 Diffusion 的编辑方法结合后在各种编辑类别(从上到下依次为:风格转移、物体替换和颜色变更)上的性能提升,每组结果第一列为未加 Direct Inversion,第二列为添加 Direct Inversion

4035644aff947681305d9a522a9f150e.png

▲ 图6 不同 inversion 和编辑技术的可视化结果

更多可视化和消融实验结果可以参考原论文。

更多阅读

e853eca39c0d2d3e47d70ea5dbc6241f.png

e4822072a482f4342d4cca2c3fd2f44b.png

2e84fe683fb8c3a0a2adf75aafacbbbb.png

e1a3f0fade31f720b9e5f4162fd60364.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

3e636756d84cd4cddbcff27010753dca.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

d449dad67a8fe3789cb9b27bb8250819.jpeg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值