Redian新闻
>
简单有效!Direct Inversion:三行代码提升基于扩散的图像编辑效果

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

公众号新闻

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—>【扩散模型和Transformer】交流群

作者:丨KK丨(源:知乎,已授权)| 编辑:CVer公众号

https://zhuanlan.zhihu.com/p/659804215

在CVer微信公众号后台回复:Direct,可以下载本论文pdf和代码,学起来!

导读

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

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

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

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

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

代码:https://arxiv.org/abs/2310.01506

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

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

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

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

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

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

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

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

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

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

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

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

但这种做法是存在问题的:(1)优化相当于在推导过程中训练,非常消耗时间,比如Null-Text Inversion通常需要两三分钟编辑一张图片;(2)优化存在误差,因此不能完全消除“偏差”,如图2 Null-Text Inversion/StyleDiffusion中画出的,保留分支与原始inversion分支之间的偏差只是被缩小并没有被消除,这就使得重要信息的保护没有发挥到最大限度;(3)优化得到的变量其实在Diffusion模型训练过程中并未出现过,因此相当于进行了强制赋值,会影响模型输入和模型参数之间数据分布的协调。

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

图2 各类 Inversion 方法对比

Direct Inversion

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

图3 伪代码

PIE-Bench

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

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

图4 PIE-Bench

实验效果

数值结果

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

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 算法运行时间对比

运行时间对比

可视化对比


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

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

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

在CVer微信公众号后台回复:Direct,可以下载本论文pdf和代码,学起来!


点击进入—>【扩散模型和Transformer】交流群

ICCV / CVPR 2023论文和代码下载

后台回复:CVPR2023,即可下载CVPR 2023论文和代码开源的论文合集

后台回复:ICCV2023,即可下载ICCV 2023论文和代码开源的论文合集

扩散模型和Transformer交流群成立


扫描下方二维码,或者添加微信:CVe444,即可添加CVer小助手微信,便可申请加入CVer-扩散模型或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer、NeRF等。


一定要备注:研究方向+地点+学校/公司+昵称(如扩散模型或者Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

▲扫码或加微信号: CVer444,进交流群


CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉,已汇集数千人!


扫码进星球


▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
狙击扩散模型!谷歌&伯克利提出IGN:单步生成逼真图像!「专题速递」JPEG AI、端到端图像编码的标准化及产品落地、深度学习仅 8670 行代码,Linux 内核第一版 (v0.01) 开源代码解读视觉新任务!ReVersion:图像生成中的Relation定制化NeurIPS 2023 | MSRA、清华、复旦等联合提出AR-Diffusion:基于自回归扩散的文本生成OpenAI前CEO计划推出新的AI企业,前总裁预计加入其中;Meta展示全新AI图像编辑工具丨AIGC日报莫须有罪名与疑罪从有投资性价比最高选择,自住投资两相宜--多家庭别墅推荐--Somerville/Revere/Boston/Everett燃情岁月1989(19)养命先养肾!冬季是养肾的“黄金期”,六个方法简单有效为应对输出风险文本的情况,提出一种针对LLMs简单有效的思维链解毒方法谷歌新作UFOGen:通过扩散GAN实现大规模文本到图像生成仅8670行代码,Linux内核第一版 (v0.01) 开源代码解读Costco买的妮可玫瑰,复花后出现惊喜LM-Infinite: 一种简单有效的大模型即时长度泛化,解决更长文本推理问题“变态辣”,英文只会说 very very very very hot?Ex-Soldier Sleeps in Cave for 22 Years to Protect Song Treasures字节造芯新进展:编码提升30%、转码“以一当百”,将服务火山引擎灵犀吹尽黄沙不见金(七十五):离开你的理由Linux 内核第一版 (v0.01) 开源代码解读,仅 8670 行代码!nǚ hóng?nǚ gōngSoftBank’s struggles point to a tech investing hangover观看破2.8w!九院眼科X医学界,助力提升基层眼健康服务能力!LLM生成延迟降低50%!DeepSpeed团队发布FastGen:动态SplitFuse技术,提升2.3倍有效吞吐量14岁儿子从严重叛逆变成努力少年:我做对了3件事,方法简单有效「磨皮」身体乳分享|这9支简单有效,嘎嘎好用!宏利基金高贵鑫:提升基金业务人民性,助力金融高质量发展简单有效!Direct Inversion: 三行代码提升基于Diffusion的图像编辑效果Npj Comput. Mater.: 阴离子基团旋转—对锂离子扩散的弱负效应画你所想!北航港大提出DiffSketcher:基于扩散模型的文本驱动矢量化手绘草图合成Nature:基于人工智能的开源软件,正在标准化显微镜生成数据的图像格式一行代码提高大模型10%性能,开发者:免费午餐ReVersion|图像生成中的 Relation 定制化武大&港大提出FreeReg:预训练扩散大模型取得点云-图像配准SoTA!
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。