【CVPR2024】面向StableDiffusion的编辑算法FreePromptEditing,提升图像编辑效果

近日,阿里云人工智能平台PAI与华南理工大学贾奎教授团队合作在深度学习顶级会议 CVPR2024 上发表 FPE(Free-Prompt-Editing) 算法,这是一种面向StableDiffusion的图像编辑算法。在这篇论文中,StableDiffusion可用于实现图像编辑的本质被挖掘,解释证明了基于StableDiffusion编辑的算法本质,并基于此设计了新的图像编辑算法,大幅度提升了图像编辑的效率。

论文:Bingyan Liu, Chengyu Wang, Tingfeng Cao, Kui Jia, Jun Huang. Towards Understanding Cross and Self-Attention in Stable Diffusion for Text-Guided Image Editing. CVPR 2024

背景

近年来,文本到图像合成(Text-to-Image Synthesis,TIS)模型如Stable Diffusion、DALL-E 2和Imagen,在将文本描述转换为视觉图像方面表现出色,引起了学术界和产业界的极大兴趣。这些模型通过在庞大的图像-文本对数据集(例如Laion)上进行训练,并集成了尖端技术如大规模预训练的语言模型、变分自编码器和扩散模型,能够生成逼真且细节丰富的图像。尤其是Stable Diffusion模型,它不仅在图像生成领域广受欢迎,还对开源社区做出了显著的贡献。除生成能力外,这些TIS模型还具备强大的图像编辑功能,深入研究并利用其基于文本提示的编辑潜能至关重要,因为它们能在保持图像高质量和自然感的前提下实现内容的变更。目前一些流行的Traing-free的图像编辑方法,如Prompt-to-Prompt(P2P),通过更换源提示中与目标编辑词相关的交叉注意力图来定位指示图像需要修改的区域,但引入源图像的交叉注意力图进行修改可能导致预期外的结果。同样,Plug-and-Play(PnP)方法在提取原始图像的空间特征和自注意力特征后,将这些特征注入到目标图像的生成过程中,但这种操作如果处理不当,同样可能导致不尽人意的结果。例如,如果在交叉注意力层上进行编辑,可能无法成功地将人类图像编辑成机器人形象,或者无法将汽车颜色更改为红色,这些案例中的失败可能归因于注意力层的不恰当处理。

图1. 图像编辑的失败案例以及我们提出的方法成功编辑的结果

虽然目前流行的图像编辑算法可以在一定程度上对图像进行编辑,但是这些方法对交叉和自注意力图的语义仍缺乏解释与探索。为了探索并解释扩散模型中注意力图的含义,在我们的论文中,我们提出了这样的一个疑问:文本条件扩散模型的注意力图是否仅仅是权重矩阵,是否还包含图像的特征信息? 为了回答这些问题,我们通过探针分析实验来探索注意力图。

Attention map 探针分析

我们探针实验的核心思想是: 如果分类器能够准确地对来自不同类别的注意力图进行分类,那么该注意力图就包含类别信息的有意义的特征表示。为了更直观地展示探针实验的效果,我们选择了颜色和动物类别的单词组成的文本,并提取出颜色和动物单词对应的交叉注意力图以及自注意层中的自注意力图作为元数据。其中,颜色类形容词使用的prompt模板为:"a/ancar"。动物类名词词使用的prompt模板为:"a/anstanding in the park". 此外我们,还构建了其他类型的模板进行实验,如"a/an<object>", "a photo of acar and a dog", "a man and acar"等复杂模板的实验,具体实验结果可以阅读我们的论文。

探针实验结果及结论

我们分别对不同层的交叉注意力图、自注意力图以及非编辑单词的交叉注意力图进行了探针实验分析,探针实验结果如下所示:

我们发现:(1)在扩散模型中编辑交叉注意力图对于图像编辑来说是可选的。替换或完善源和目标图像生成过程中的交叉注意力图是不必要的,并可能导致图像编辑失败。(2)交叉注意力图不仅是条件提示在生成图像对应位置的权重测量,也包含了条件标记的语义特征。因此,用源图像的交叉注意力图替换目标图像的图可能会产生意外的结果。(3)自注意力图对于TIE任务的成功至关重要,因为它们反映了图像特征之间的关联,并保留了图像的空间信息。以下是使用不同的注意力图执行图像编辑的实验结果。

图片

图2. 不同扩散模型的注意力层上对交叉注意力图和自注意力图进行替换的图像编辑实验结果

图片

图3. 编辑提示中替换不同token的 交叉注意图的结果。

“-”是一个减号。- “a” 表示减去 "a“ 对应的交叉注意力图。图2上半部分展示了在不同交叉注意力层进行单词替换(如“rabbit”和“coral”)后的编辑结果,当所有交叉注意力层的图都被替换时,结果最不理想。相对而言,保持交叉注意力图不变时,能得到更加准确的编辑效果。图2下半部分则展示了在不同自注意力层上进行操作的实验结果。当在目标图像生成过程中替换源图像所有层的自注意力图时,所生成的图像确实保留了原始图像的结构信息,但会导致编辑目的完全失败。相反,如果完全不替换自注意力图,最终得到的图像将与直接根据目标提示生成的图像一致。作为一种折中,选择替换第4层至第14层的自注意力图,这种方法能够在保证编辑成功的同时,尽可能保留原始图像的结构信息。图3也验证了即使是替换与非编辑单词对应的交叉注意力图,也可能导致编辑失败,突显出在图像编辑中注意力图操作的复杂性和微妙性。

算法架构

基于探针实验的结果,我们优化了目前流行的图像编辑算发,我们提出了一种更直接、更稳定、更高效的方法,称为Free-Prompt-Editing(FPE)。FPE核心思想是将源图像的空间布局和内容与目标文本提示合成的语义信息相结合,合成所需的目标图像。FPE源图像和目标图像之间的去噪过程中,在扩散模型的注意力层 4 至 14 中采用了自注意力替换机制。对于合成图像编辑,FPE在扩散去噪过程中用源图像的自注意力图替换目标图像的自注意力图。 在对真实图像编辑时,FPE首先通过使用DDIM-inversion操作来获得重建真实图像所需的潜在特征。 随后,在编辑过程中,我们在目标图像的生成过程中替换真实图像的自注意力图。FPE能够完成TIE任务的原因如下: 1)交叉注意力机制有利于合成图像和目标提示的融合,甚至可以让目标提示和图像自动对齐 无需引入源提示的交叉注意力图;2)自注意力图包含源图像的空间布局和形状细节,自注意力机制允许将结构信息从源图像注入到生成的目标图像中。算法框架及伪代码如下:

图片

图4. Free-Prompt-Editing 在对合成图像进行编辑的过程示意图

图 5:Free-Prompt-Editing 在合成图像编辑和真实图像编辑场景下的伪代码

实验结果

图6展示了FPE的编辑结果,它成功地转换了原始图像的各种属性、风格、场景和类别。

图 6:Free-Prompt-Editing 编辑结果示例

图7呈现了FPE技术应用于基于稳定扩散算法的其他定制模型中的编辑效果。观察这些成果,我们可以发现FPE技术能够高效地适用于各种扩散模型。它不仅成功实现了性别转换,把女孩变为男孩,还能够调整人物的年龄,使男孩呈现出10岁或80岁的特征;此外,它还能修改发型、变换头发色彩、替换背景乃至进行类别上的转变。

图片

图 7:Free-Prompt-Editing 编辑结果示例

图8对比展示了FPE与其他一些SOTA图像编辑技术的效果。无论是对真实照片还是合成图像,FPE均展现出了高效的编辑能力。在所有的案例中,FPE都能够实现与描述提示高度一致的精细编辑,同时最大限度地保留了原图的结构细节。

图片

图 8:Free-Prompt-Editing 与其他编辑方法的对比

下表展示了不同编辑算法在 Wild-TI2I 和 ImageNet-R-TI2I 基准上的定量实验结果。可以看出,我们的方法在 CDS 指标方面明显优于所有其他方法,这表明我们的方法能够很好地保留原始图像的空间结构,并根据目标提示的要求进行编辑,产生了良好的结果。 同时,我们的方法在时间消耗和有效性之间实现了良好的平衡。

更多的实验结果及讨论,欢迎阅读论文:Towards Understanding Cross and Self-Attention in Stable Diffusion for Text-Guided Image Editing。目前 Free-Prompt-Editing 已经在 EasyNLP(EasyNLP/diffusion/FreePromptEditing at master · alibaba/EasyNLP · GitHub)开源。欢迎广大用户试用!

参考文献

  • Rombach R, Blattmann A, Lorenz D, et al. High-resolution image synthesis with latent diffusion models[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2022: 10684-10695.

  • Hertz A, Mokady R, Tenenbaum J, et al. Prompt-to-prompt image editing with cross attention control[J]. arXiv preprint arXiv:2208.01626, 2022.

  • Brooks T, Holynski A, Efros A A. Instructpix2pix: Learning to follow image editing instructions[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2023: 18392-18402.

  • Cao M, Wang X, Qi Z, et al. Masactrl: Tuning-free mutual self-attention control for consistent image synthesis and editing[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2023: 22560-22570.

  • Tumanyan N, Geyer M, Bagon S, et al. Plug-and-play diffusion features for text-driven image-to-image translation[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2023: 1921-1930.

  • Meng, Chenlin et al. “SDEdit: Guided Image Synthesis and Editing with Stochastic Differential Equations.” International Conference on Learning Representations (2021).

  • Park D H, Luo G, Toste C, et al. Shape-guided diffusion with inside-outside attention[C]//Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision. 2024: 4198-4207.

  • Parmar G, Kumar Singh K, Zhang R, et al. Zero-shot image-to-image translation[C]//ACM SIGGRAPH 2023 Conference Proceedings. 2023: 1-11.

  • Couairon G, Verbeek J, Schwenk H, et al. Diffedit: Diffusion-based semantic image editing with mask guidance[J]. arXiv preprint arXiv:2210.11427, 2022.

论文信息

论文名字:Towards Understanding Cross and Self-Attention in Stable Diffusion for Text-Guided Image Editing论文作者:刘冰雁、汪诚愚、曹庭锋、贾奎、黄俊论文pdf链接:https://arxiv.org/abs/2403.03431

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/722360.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

智慧之光照亮黑暗矿井:揭秘未来矿山的智能化革命

1. 煤矿行业背景概述 1.1 煤矿行业产能概述 截至2018年底&#xff0c;全国安全生产许可证等证照齐全的生产煤矿3373处&#xff0c;产能35.3亿吨/年。 已核准&#xff08;审批&#xff09;、开工建设煤矿1010处&#xff0c;产能10.3亿吨/年。 13个亿吨级煤炭能源基地&#xf…

Vulnhub——AI: WEB: 1

渗透复现 &#xff08;1&#xff09;目录扫描爆破出隐藏页面info.php和传参页面&#xff0c;泄露网站绝对路径并且存在SQL注入点 &#xff08;2&#xff09;已知网站绝对路径&#xff0c;存在SQL注入点&#xff0c;尝试OS-shell写入 &#xff08;3&#xff09;OS-shell写入后…

数据库:与红黑树不同的延迟序列

在内存里维护一个序列&#xff0c;可能第一个想到的就是红黑树。但是&#xff0c;红黑树算法复杂&#xff0c;这还不是主要的&#xff0c;主要的问题是&#xff1a;红黑树的空间利用率低。 红黑树的空间利用率 一个红黑树的节点&#xff0c;包括父节点指针、两个子节点指针、…

集团门户网站的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;论坛管理&#xff0c;集团文化管理&#xff0c;基础数据管理&#xff0c;公告通知管理 前台账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;论坛&#xff0…

python小白兔做操 青少年编程电子学会python编程等级考试三级真题解析2021年12月

python小白兔做操 2021年12月 python编程等级考试级编程题 一、题目要求 1、编程实现 小白兔们每天早上都到草坪上做早操。做操前&#xff0c;首先要按照身高由矮到高排个队&#xff0c;下列代码实现了排队的功能。首先读取小白兔的只数&#xff0c;然后读取每只小白兔的身…

鸿蒙实现金刚区效果

前言&#xff1a; DevEco Studio版本&#xff1a;4.0.0.600 所谓“金刚区"是位于APP功能入口的导航区域&#xff0c;通常以“图标文字”的宫格导航的形式出现。之所以叫“金刚区”&#xff0c;是因为该区域会随着业务目标的改变&#xff0c;展示不同的功能图标&#xff…

Android OTA 升级基础知识详解+源码分析

前言&#xff1a; 本文仅仅对OTA升级的几种方式的概念和运用进行总结&#xff0c;仅在使用层面对其解释。需要更详细的内容我推荐大神做的全网最详细的讲解&#xff1a; https://blog.csdn.net/guyongqiangx/article/details/129019303?spm1001.2014.3001.5502 三种升级方式…

ubuntu的home内存不足的解决办法(win和ubuntu双系统)

这种解决办法前提是windows和ubuntu双系统 首先在windows系统上创建一个空的硬盘分区 然后在ubuntu系统上把这个空的硬盘放在主目录里 然后可以把东西存在这个文件夹中 如下图&#xff0c;但实际主目录的内存没有变&#xff0c;以后存东西就在这个文件夹里面就好了 具体操作…

【Gradio】Chatbots 如何用 Gradio 创建聊天机器人

Creating A Chatbot Fast 简介 聊天机器人是大型语言模型的一个流行应用。使用 gradio &#xff0c;您可以轻松构建您的聊天机器人模型的演示&#xff0c;并与您的用户分享&#xff0c;或者使用直观的聊天机器人用户界面自己尝试。 本教程使用 gr.ChatInterface() &#xff0c;…

「51媒体」总台,地方卫视媒体邀约新闻报道采访怎么做?

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 总台对选题要求非常严格&#xff0c;在想做总台新闻报道之前&#xff0c;让我们先来了解下总台对新闻选题有哪些要求&#xff1a; 一、新闻价值 社会意义&#xff1a;新闻报道的首要任务…

【电源开发】输出电压纹波

输出电压纹波是什么 电压纹波指的是直流输出电压中一个交流部分 减小输出电压纹波的方法 调整输出端的电容值 提高开关电源的工作频率

R语言做图

目录 1. 图形参数 2. 低级图形 3. 部分高级图形 参考 1. 图形参数 图形参数用于设置图形中各种属性。 有些参数直接用在绘图函数内&#xff0c;如plot函数可以用 pch&#xff08;点样式&#xff09;、col&#xff08;颜色&#xff09;、cex&#xff08;文字符号大小倍数&…

Android SurfaceFlinger——概述(一)

一、基础介绍 SurfaceFlinger 是 Android 系统中的一个关键组件&#xff0c;负责管理屏幕显示的合成和渲染。 服务角色&#xff1a;SurfaceFlinger 作为一个系统服务独立运行&#xff0c;它不依赖于任何应用程序进程&#xff0c;而是由系统启动并持续运行。窗口管理&#xff1a…

用Flask定制指令上传Excel数据到数据库

用Flask定制指令上传Excel数据到数据库 假设现在有一张员工信息data.xlsx文件 使用SQLAlchemy创表 # ExcelModel.py from sqlalchemy import create_engine, Column, Integer, String from sqlalchemy.orm import DeclarativeBaseclass Base(DeclarativeBase):passclass Emp(…

《Windows API每日一练》4.6 矩形、区域和裁剪

在前面的4.3节中我们讲述了绘制矩形的API函数Rectangle和RoundRect。本节我们将介绍另外一组使用RECT矩形结构和区域的绘图函数。 本节必须掌握的知识点&#xff1a; 矩形 第28练&#xff1a;绘制随机矩形 矩形与区域的裁剪 第29练&#xff1a;区域裁剪 4.6.1 矩形 ■FillRe…

2025年计算机毕业设计题目参考-简单容易

2025年最新计算机毕业设计题目参考-第二批 以下可以参考 企业员工薪酬关系系统的设计 基于SpringBoot在线远程考试系统 SpringBootVue的乡政府管理系统 springboot青年公寓服务平台 springboot大学生就业需求分析系统 基于Spring Boot的疗养院管理系统 基于SpringBoot的房屋交…

堆优化版Dijkstra求最短路-java

主要通过堆优化Dijkstra算法解决最短路&#xff0c;可以跟朴素版的Dijkstra算法进行对比。 文章目录 前言 一、Dijkstra求最短路 二、算法思路 1.邻接表存储图 2.用小根堆优化Dijkstra 三、代码如下 1.代码如下&#xff08;示例&#xff09;&#xff1a; 2.读入数据 3.代码运行…

高压线防外破警示灯在电力安全发挥的作用_鼎跃安全

高压输电线路往往跨越城市、乡村和野外&#xff0c;覆盖范围广泛。随着城乡建设和交通运输的快速发展&#xff0c;高压线路周围的活动频繁&#xff0c;外部破坏风险增加。车辆撞击电线杆、施工机械误碰线路以及人为破坏等事件时有发生&#xff0c;严重影响电力供应的稳定性和安…

人工智能--自然语言处理NLP概述

欢迎来到 Papicatch的博客 目录 &#x1f349;引言 &#x1f348;基本概念 &#x1f348;核心技术 &#x1f348;常用模型和方法 &#x1f348;应用领域 &#x1f348;挑战和未来发展 &#x1f349;案例分析 &#x1f348;机器翻译中的BERT模型 &#x1f348;情感分析在…

深入了解Java的ConcurrentHashMap类

深入了解Java的ConcurrentHashMap类 在多线程编程中&#xff0c;线程安全的数据结构至关重要。ConcurrentHashMap是Java提供的一种线程安全的哈希表实现&#xff0c;它在不使用显式同步的情况下允许并发的读取和写入操作。 ConcurrentHashMap属于java.util.concurrent包。它是…