Prompt-To-Prompt——仅通过文本进行图像编辑

news2025/1/13 8:03:02

文章目录

  • 1.摘要
  • 2.算法
    • 2.1 Cross-attention in text-conditioned Diffusion Models
    • 2.2 Controlling the Cross-attention
      • Word Swap
      • Adding a New Phrase
      • Attention Re–weighting
  • 3.应用
    • Text-Only Localized Editing
    • Global editing
    • Fader Control using Attention Re-weighting
    • Real Image Editing
  • 4.结论

论文: 《Prompt-to-Prompt Image Editing with Cross Attention Control》
github: https://github.com/google/prompt-to-prompt

1.摘要

文生图到图像编辑充满挑战,图像编辑需要保留原始图片大部分信息,而对于文生图,只要prompt稍微更改将导致生成完全不同图像。当前SOTA方法用户需要提供编辑位置的mask,忽略mask区域内容。作者探究一种仅通过文本进行编辑的框架,对此对条件文本模型进行深入探究,发现cross-attention层控制图像空间布局与prompt中每个word之间的相关性。作者通过仅编辑纹理prompt进行图像生成,包括:替换单词进行局部编辑、增加明细进行全局编辑、甚至精细化控制哪个单词映射到图像中哪部分。

2.算法

对于依据文本 p r o m p t P prompt P promptP生成图像 I I I,通过编辑的 p r o m p t P ∗ prompt P^* promptP,生成编辑后图像 I ∗ I^* I
作者发现生成图像的结构与外观不仅依赖于随机种子还依赖于像素及文本embedding之间交互。注入输入图 I I I的cross-attention层使得保留原始构图和结构,整体结构如图3所示。
在这里插入图片描述

2.1 Cross-attention in text-conditioned Diffusion Models

噪声图经过映射得到查询矩阵 Q Q Q p r o m p t prompt prompt分别经过映射得到 K 、 V K、V KV a t t e n t i o n m a p M attention map M attentionmapM计算如式1,cross-attention输出为 M V MV MV,用于更新空间特征 ϕ ( z t ) \phi(z_t) ϕ(zt)
在这里插入图片描述

2.2 Controlling the Cross-attention

像素与文本交互如图4,第一行展示每个单词的attention mask,第二行展示随着扩散过程,attention map变化。我们发现在扩散早期阶段图像结构已经确定。
在这里插入图片描述
由于attention映射整体架构,因此可将原始 p r o m p t prompt prompt生成过程的 a t t e n t i o n m a p M attention map M attentionmapM引入更改后 p r o m p t P ∗ prompt P^* promptP二次生成过程,这使得生成图不仅与编辑 p r o m p t prompt prompt一致,同时保留原始输入图I的结构。
作者定义扩散过程DM,输出图像 z t − 1 z_{t-1} zt1 a t t e n t i o n m a p M t attention map M_t attentionmapMt,使用编辑 p r o m p t P ∗ prompt P^* promptP生成 a t t e n t i o n m a p M t ∗ attention map M_t^* attentionmapMt,作者定义 E d i t ( M t , M t ∗ , t ) Edit(M_t,M_t^*,t) Edit(MtMtt)用于重写 a t t e n t i o n m a p M attention map M attentionmapM。为减少编辑过程随机性,作者固定随机种子,Prompt-to-Prompt图像编辑算法如算法1所示,
在这里插入图片描述
E d i t ( M t , M t ∗ , t ) Edit(M_t,M_t^*,t) Edit(MtMtt)如图3底部,

Word Swap

用户将原始prompt中个别词替换。该问题挑战为保存原始结构同时与新prompt内容一致,将原图attention map直接引入可能会过于限制几何形状。因此作者提出softer attention限制,如下式, τ \tau τ为时间戳,
在这里插入图片描述
在前期使用原始图片 a t t e n t i o n m a p M t attention map M_t attentionmapMt,后期使用新 p r o m p t P ∗ prompt P^* promptP生成图像的 a t t e n t i o n m a p M t ∗ attention map M_t^* attentionmapMt

Adding a New Phrase

此情况表示用户在prompt中增加新的token。为保留共同细节,作者仅将attention注入共同token,使用对齐功能A,对于目标 p r o m p t P ∗ prompt P^* promptPtoken index输出 P P P中对应token index,编辑功能如下式,
在这里插入图片描述

Attention Re–weighting

此情况适用于用户希望加强或削弱某个token对生成图影响。对此作者通过参数 c ∈ [ − 2 , 2 ] c \in [−2, 2] c[2,2]将token j对应attention map放大,如下式,
在这里插入图片描述

3.应用

Text-Only Localized Editing

图2上展示通过引入原始prompt的attention map可保留物体结构,同时背景区域得到还不错保留。
在这里插入图片描述
图5展示attention map仅作用于特定词“butterfly",能够很好保留前景,同时背景区域变化。
在这里插入图片描述
图6展示本方法不仅可更改纹理,同时可更改结构。最佳结果不是整个扩散过程引入attention map。
在这里插入图片描述
图7上展示目标增加修饰词情况,保留背景同时生成图与新增词一致。
在这里插入图片描述

Global editing

图7下及图8展示保留原始目标位置及特性的同时,对全局进行编辑。
在这里插入图片描述

Fader Control using Attention Re-weighting

图9展示通过增加或降低特定词权重所产生影响。
在这里插入图片描述

Real Image Editing

编辑真实图像需要找到初始噪声,通过扩散过程可生成输入图。常规方法是对输入图添加高斯噪声,进行扩散,但容易导致失真,因此作者使用一种改进的反向方法,如图10,可生成满意效果;
在这里插入图片描述
如图11,许多情况反向过程不够准确。这归因于乱序与编辑的均衡,降低prompt权重提升重建能力,但限制编辑能力。
在这里插入图片描述
因此作者使用mask仅对无编辑区域进行重构。如图12
在这里插入图片描述

4.结论

作者揭示了文生图扩散模型中cross-attention层强大能力。作者展示通过操纵prompt可进行本地或全局编辑。
限制:
1、当前反向过程导致在一些测试集出现失真;
2、attention map为低分辨率,这限制了进行精确本地化编辑的能力;作者建议在高分辨率增加cross-attention层。
3、当前方法不能对图中物体进行空间移动。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【QT5-解决不同分辨率屏幕-进行匹配大小-适应屏幕大小-基础样例】

【QT5-解决不同分辨率屏幕-进行匹配大小-适应屏幕大小】 1、前言2、实验环境3-1、问题说明-屏幕视频3-2、解决方式-个人总结解决思路:我们在软件启动的时候,先获取屏幕大小,然后根据长宽,按照一定比例,重新设置大小。并…

如何用思维导图做备考计划

大学除了上课,还有很多事情需要我们去做,比如说期末考试、考证等。思维导图作为一种高效的思维工具,可以帮助我们整理和规划备考内容。今天我们就将探讨如何用思维导图做备考计划,并提供一些实用的建议。甘特图(Gantt …

flutter开发实战-自定义长按TextField输入框剪切、复制、选择全部菜单AdaptiveTextSelectionToolba样式UI效果

flutter开发实战-自定义长按TextField输入框剪切、复制、选择全部菜单样式UI效果 在开发过程中,需要长按TextField输入框cut、copy设置为中文“复制、粘贴”,我首先查看了TextField中的源码,看到了ToolbarOptions、AdaptiveTextSelectionToo…

工作5年,没用过分布式锁,正常吗?

公司想招聘一个5年开发经验的后端程序员,看了很多简历,发现一个共性问题,普遍都没用过分布式锁,这正常吗? 下面是已经入职的一位小伙伴的个人技能包,乍一看,还行,也没用过分布式锁。…

基于Java的新能源充电系统的设计与实现(亮点:完整合理的充电流程,举报反馈机制、余额充值、在线支付、在线聊天)

新能源充电系统 一、前言二、我的优势2.1 自己的网站2.2 自己的小程序(小蔡coding)2.3 有保障的售后2.4 福利 三、开发环境与技术3.1 MySQL数据库3.2 Vue前端技术3.3 Spring Boot框架3.4 微信小程序 四、功能设计4.1 主要功能描述 五、系统实现5.1 完整充…

【Python】自动化办公之路:word自动化实战宝典!

文章目录 前言一、环境安装二、使用步骤1.引入库2.读入数据 Python-docx 编辑已存在文档win32com 将 doc 转为 docxwin32com 操作 word总结 前言 使用Python操作word大部分情况都是写操作,也有少许情况会用到读操作,在本次教程中都会进行讲解&#xff0…

GitHub无法访问的解决方法

每次刚装完系统我们访问GitHub就会出现无法访问的情况,此时只需要修改host文件将可访问的dns解析地址写入进去即可。 查询DNS 使用dns监测查询工具 https://tool.chinaz.com/dns https://dnsdaquan.com/ 输入无法访问的IP github.com 进行检测 查询到可访问的i…

HarmonyOS应用开发Web组件基本属性应用和事件

一、Web组件概述 Web组件用于在应用程序中显示Web页面内容,为开发者提供页面加载、页面交互、页面调试等能力。 页面加载:Web组件提供基础的前端页面加载的能力,包括加载网络页面、本地页面、Html格式文本数据。页面交互:Web组件提…

【C刷题训练营】第四讲(打好基础很重要)

前言: 大家好,这是c语言刷题训练营的第四讲,打好基础便于对c语言语法与算法思维的提高,感谢你的来访与支持! 💥🎈个人主页:​​​​​​Dream_Chaser~ 🎈💥 ✨✨刷题专栏…

QT工具MaintenanceTool.exe如何管理组件(解决“要继续此操作,至少需要一个有效且已启用的储存库”问题)

试了好多个博客的链接,终于是试了一个: http://mirrors.ustc.edu.cn/qtproject/online/qtsdkrepository/windows_x86/root/qt/ 哪里放这个链接就不说了,可以自己去找其他博客,我用其他博客的链接不行,但这个链接试用。…

国庆假期将至,拓世AI智能规划行程,让您轻松游遍全球热门景点!

卡夫卡曾说:“人不是活几年、几月、几天、几小时,而只活几个瞬间。” 亲赴一场与美景的邂逅,便是去找寻人生里的瞬间之美。转眼已是九月,正是人间好时节,挥别工作和生活的烦闷,奔向辽阔的天地中。即将到来…

基于SSM+Vue的“魅力”繁峙宣传网站

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用Vue技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

基于图像形态学处理和边缘提取算法的路面裂痕检测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 [Rr,Cc] size(Image1);% 获取 Image1 矩阵的大小(行数和列数) % 创…

ubuntu+.net6+docker 应用部署教程

先期工作 1、本地首先安装 Docker Desktop 2、本地装linux in windows 3、生成镜像 后期工作 1、云服务器部署 生成镜像方法 1、生成Dockerfile配置文件 开发工具visual studio 2022 如果项目已经存在,可以选中项目,右键点击->选择添加Docker…

3D Web轻量化引擎HOOPS:轻松解决OSGB模型复杂性与性能挑战!

在当今的数字时代,三维模型的创建和展示对于众多行业都至关重要。无论是用于游戏开发、虚拟现实体验、建筑设计还是工程仿真,高质量的3D模型都能够提供更真实的视觉效果和更精确的数据表示。 然而,随着模型的复杂性增加,其数据量…

【数据库系统概论】数据库的四个基本概念:数据、数据库、数据库管理系统和数据库系统

数据(data)数据库(DataBase, DB)数据库管理系统(DataBase Management System, DBMS)数据库系统(DataBase System, DBS)感谢 💖 数据(data) 定义&…

CSS 实现祥云纹理背景

🪴 背景 最近掘金出来一个中秋创意活动,我准备参加一下。作品方向选择用纯css做一个中秋贺卡,其中有一些中秋的元素和一些简单的动画,而贺卡背景的实现就是本文要讲的内容。 中秋贺卡成果图(生成gif有点失真&#x1f6…

科技云报道:分布式存储红海中,看天翼云HBlock如何突围?

科技云报道原创。 过去十年,随着技术的颠覆性创新和新应用场景的大量涌现,企业IT架构出现了稳态和敏态的混合化趋势。 在持续产生海量数据的同时,这些新应用、新场景在基础设施层也普遍基于敏态的分布式架构构建,从而对存储技术…

GE D20 EME 10BASE-T电源模块产品特点

GE D20 EME 10BASE-T 电源模块通常是工业自动化和控制系统中的一个关键组件,用于为系统中的各种设备和模块提供电源。以下是可能包括在 GE D20 EME 10BASE-T 电源模块中的一些产品特点: 电源输出:D20 EME 模块通常提供一个或多个电源输出通道…

laravel框架 - 语言包的安装和配置

1, 查找 laravel框架语言包地址: \根目录\resources\lang\ 默认有个 en 语言包 2,下载 和 安装 下载地址:https://packagist.org/ 搜索 laravel/lang 参考网址:https://packagist.org/packages/overtrue/laravel-lang 选择你…