当前位置: 首页 > news >正文

【论文阅读笔记】Prompt-to-Prompt Image Editing with Cross-Attention Control

【论文阅读笔记】Prompt-to-Prompt Image Editing with Cross-Attention Control

  • 个人理解
  • 思考
  • 基本信息
  • 摘要
    • 背景
    • 挑战
    • 方法
    • 结果
  • 引言
  • 方法论
  • 结果
  • 讨论
    • 引用

个人理解

  • 通过将caption的注意力图注入到目标caption注意力中影响去噪过程
  • 以一种直观和便于理解的形式通过修改交叉注意力的交互来实现文本驱动图像编辑

思考

  • 基于掩码的修改如果在修改的同时逐步融合新的Token是否可以更好的进行局部修改?
  • 修改的范围是否足够精准?
  • 要改变物体的时候形状差异过大会导致伪影?
  • 当前的方法不能用于在空间上移动图像中的现有对象
  • 怎么样能更好的生成符合视觉的效果(走Emu Edit造good data并训练的路子?其他的思路该怎么走)
  • zero-shot的改进方法到目前是否已经到了极限(2023年11月28日)
  • 当注意力存在交集,怎么能分离或者说进一步精准控制?
  • 除了注意力机制还有什么是关键的因素
  • 怎么和大语言模型LLM相结合(instruct pix2pix是一个例子)

基本信息

  • 标题: Prompt-to-Prompt Image Editing with Cross-Attention Control
  • 作者: Google Research
  • 链接: 项目主页
  • 发布信息: 2022
  • 关键词: 文生图,扩散模型,图像编辑

摘要

背景

  • 最近的大规模文本驱动合成模型因其生成遵循给定文本提示的高度多样化的图像的显着能力而备受关注。
  • 将文本驱动的图像合成扩展到文本驱动的图像编辑是很自然的

挑战

  • 编辑技术的固有特性是保留大部分原始图像,而在基于文本的模型中,即使是对文本提示的微小修改也会导致完全不同的结果
  • 最先进的方法通过要求用户提供空间掩码来定位编辑来缓解这个问题,因此忽略了掩码区域内的原始结构和内容

方法

  • 在本文中,我们追求一个直观的提示到提示编辑框架,其中编辑仅由文本控制。
  • 深入分析了一个文本条件模型,并观察到交叉注意力层是控制图像空间布局与提示中的每个单词之间关系的关键

结果

  • 通过这一观察,我们展示了几个应用程序,它们仅通过编辑文本提示来监控图像合成
  • 这包括通过添加规范替换单词、全局编辑,甚至巧妙地控制单词在图像中反映的程度来定位编辑
  • 我们在不同的图像和提示上展示了我们的结果,展示了编辑提示的高质量合成和保真度
  • 可以实现各种编辑任务,并且不需要模型训练、微调、额外数据或优化
    在这里插入图片描述

引言

  • 论文研究问题是什么?
    • 文本驱动图像编辑
  • 研究的动机和目的是什么?
    • 文本驱动图像生成大模型的发展产生了文本驱动图像编辑的需求,如何尽量更改特定语义区域而尽量不影响其他区域【由于文本的多义性,很难确定更改应该是全局还是局部
    • 作者深入研究了交叉注意力机制对语义的影响,并通过其控制生成图像
  • 作者提到了哪些相关工作?
    • 现有方法通过定位掩码屏蔽需要更改的区域,但阻碍了快速直观的驱动,并阻碍图像整体的结构信息

方法论

在这里插入图片描述
方法概述。
在这里插入图片描述

  • 论文使用了什么方法或技术?

    • 如Fig.3,上图为视觉和文本嵌入使用交叉注意力层融合,该层为每个文本标记生成空间注意力图。下图为使用源图像的注意力图来控制生成图像的空间布局和几何。允许通过仅编辑文本提示来实现各种编辑任务。
    • 通过在扩散过程中注入交叉注意力图来编辑图像,控制哪些像素关注扩散步骤期间提示文本的哪些标记。
    • 展示了几种方法,通过简单和语义界面控制交叉注意力图
      • 第一个是在修复交叉注意力图的同时,在提示中更改单个令牌的值(例如,“dog”到“cat”),以保留场景组合。在交换提示中的单词时,我们注入源图像mapsMt,覆盖目标图像映射M * t,以保留空间布局。
      • 第二个是全局编辑图像,例如改变风格,通过在提示中添加新词并冻结先前标记的注意力,同时允许新的注意力流向新的标记。在添加新短语的情况下,我们只注入与提示不变部分相对应的映射。
      • 第三个是放大或减弱生成图像中单词的语义效果。通过重新加权相应的注意力图来实现的单词的语义效果放大或减弱。
  • 方法的创新点是什么?

    • 生成的图像的结构和外观不仅取决于随机种子,还取决于像素与通过扩散过程嵌入之间的交互。通过修改交叉注意层中出现的像素到文本的交互,提供了Prompt-to-Prompt图像编辑功能
  • 方法的优势和潜在劣势是什么?

    • 优势:无需掩码,直观地通过新文本修改原文本生成的图像
    • 劣势:对于真实图像依赖于反演、文本的歧义性带来视觉对齐问题(修改文本生成的是否是视觉想要的,这也是Emu edit尝试解决的问题
  • 实施步骤

    • 设DM (zt, P, t, s)为扩散过程单步t的计算,输出噪声图像zt−1,注意图Mt(未使用省略)。用 DM (zt, P, t, s){M ← M ^ \hat{M} M^} 表示扩散步骤,我们用一个额外的给定映射 M ^ \hat{M} M^覆盖注意力图 M,但保留来自提供的提示的值 V。还用 M t ∗ M^*_t Mt表示使用编辑提示 p ∗ p^* p生成的注意图。最后,我们将 Edit( M t M_t Mt, M t ∗ M^*_t Mt , t) 定义为一个通用的编辑函数,在生成过程中接收原始图像和编辑图像的第 t 个注意力图作为输入
      在这里插入图片描述

    • word swap

      • 通过在设定注意力交互的时间步可以更好控制编辑程度
        在这里插入图片描述
        在这里插入图片描述
    • Adding a New Phrase在这里插入图片描述 在这里插入图片描述
      在这里插入图片描述

    • Attention Re–weighting
      在这里插入图片描述在这里插入图片描述

    • DDIM反演并执行P2P
      在这里插入图片描述
      但由于DDIM反演可能会产生和原图不一致的情况,使用直接从注意力图中提取的掩码恢复原始图像的未编辑区域。请注意,这里掩码是在没有用户指导的情况下生成的。
      在这里插入图片描述

结果

  • 实验结果显示了什么?
    文本到图像扩散模型中交叉注意力层的强大能力
  • 结果支持了哪些论点?

讨论

  • 讨论中提到哪些限制和未来的工作方向?
    • 基于反演的图像重建失真(Null text很好的解决了这个问题)
    • 模型的交叉注意力分辨率较低,限制了性能
    • 当前的方法不能用于在空间上移动图像中的现有对象

引用

如何引用本文:

@article{hertz2022prompt,title={Prompt-to-prompt image editing with cross attention control},author={Hertz, Amir and Mokady, Ron and Tenenbaum, Jay and Aberman, Kfir and Pritch, Yael and Cohen-Or, Daniel},booktitle={arXiv preprint arXiv:2208.01626},year={2022}
}

相关文章:

【论文阅读笔记】Prompt-to-Prompt Image Editing with Cross-Attention Control

【论文阅读笔记】Prompt-to-Prompt Image Editing with Cross-Attention Control 个人理解思考基本信息摘要背景挑战方法结果 引言方法论结果讨论引用 个人理解 通过将caption的注意力图注入到目标caption注意力中影响去噪过程以一种直观和便于理解的形式通过修改交叉注意力的…...

Echarts legend图例配置项 设置位置 显示隐藏

Echarts 官网完整配置项 https://echarts.apache.org/zh/option.html#legend 配置项 legend: { }设置图例为圆形 icon: circle,//设置图例为圆形设置图例位置 top: 20%//距离顶部百分之20//y:bottom 在底部显示设置图例 宽度 高度 itemWidth: 10,//设置图例宽度 itemHeight: …...

C#每天复习一个重要小知识day3:随机数的生成

目录 格式: 生成随机数: 生成一个0-100的随机数: 以下是更详细的代码示例: 在C#中,可以使用Random类来生成随机数。这个类提供了多种方法来生成不同类型的随机数。 格式: Random 随机变量名(r) new …...

Java后端使用XWPFDocument生成word文档,踩坑

以下都是借鉴网上内容: 环境 纯后端, java, spring项目 maven管理. maven内容: <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>3.16</version></dependency><dependency>…...

asp.net core HttpContextAccessor类

在 ASP.NET Core 中 &#xff0c;HttpContextAccessor 是一个用于访问当前 HTTP 请求的工具类。它通常用于在应用程序中获取当前 HTTP 请求的上下文信息&#xff0c;例如请求的路由、头部信息、用户身份验证状态等。 HttpContextAccessor 类通常在需要访问当前 HTTP 请求上下文…...

微服务--04--SpringCloudGateway 网关

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 1.网关路由1.1 认识网关在SpringCloud当中&#xff0c;提供了两种网关实现方案&#xff1a; 1.2.快速入门1.3.路由过滤 2.网关登录校验2.1.鉴权思路分析2.2.网关过滤…...

Java程序连接 nacos集群

我们在bootstrap.yml文件里可以直接连一个nacos集群的. 架构如下 没错,我们程序直连的是通过Nginx的,利用nginx的反向代理来做到连接nacos集群. 我们先把nginx的配置贴上来 upstream cluster{server 127.0.0.1:8848;server 127.0.0.1:8849;server 127.0.0.1:8850; }server{l…...

【深度学习】参数优化和训练技巧

寻找合适的学习率(learning rate) 学习率是一个非常非常重要的超参数&#xff0c;这个参数呢&#xff0c;面对不同规模、不同batch-size、不同优化方式、不同数据集&#xff0c;其最合适的值都是不确定的&#xff0c;我们无法光凭经验来准确地确定lr的值&#xff0c;我们唯一可…...

CeresPCL 曲线拟合之三次多项式

文章目录 一、简介2.1 实现步骤二、实现代码三、实现效果参考资料一、简介 2.1 实现步骤 (1)构建代价函数。假设我们得到了一组数据,也知晓该数据是用曲线方程: y = a x 3 + b x 2 + c x +...

小白备战蓝桥杯:Java基础语法

一、注释 IDEA注释快捷键&#xff1a;Ctrl / 单行注释&#xff1a; //注释信息 多行注释&#xff1a; /* 注释信息 */ 二、字面量 常用数据&#xff1a;整数、小数、字符串&#xff08;双引号&#xff09;、字符&#xff08;单引号&#xff09;、布尔值&#xff08;tr…...

C#面向对象

过程类似函数只能执行没有返回值 函数不仅能执行&#xff0c;还可以返回结果 1、面向过程 a 把完成某一需求的所有步骤 从头到尾 逐步实现 b 根据开发需求&#xff0c;将某些 功能独立 的代码 封装 成一个又一个 函数 c 最后完成的代码就是顺序的调用不同的函数 特点 1、…...

智能优化算法应用:基于蝙蝠算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于蝙蝠算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于蝙蝠算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.蝙蝠算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…...

【栈和队列(1)(逆波兰表达式)】

文章目录 前言什么是栈(Stack)栈方法栈的模拟实现链表也可以实现栈逆波兰表达式逆波兰表达式在栈中怎么使用 前言 什么是栈(Stack) 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶&#xff0…...

Blazor Table 实现获取当前选中行的功能

这里需要使用到OnClickRowCallBack事件 后台使用案例...

Flask Echarts 实现历史图形查询

Flask前后端数据动态交互涉及用户界面与服务器之间的灵活数据传递。用户界面使用ECharts图形库实时渲染数据。它提供了丰富多彩、交互性强的图表和地图&#xff0c;能够在网页上直观、生动地展示数据。ECharts支持各种常见的图表类型&#xff0c;包括折线图、柱状图、饼图、散点…...

【漫谈】信创

近些年来&#xff0c;自主创新绝对是高频词汇。 以往是供应链、芯片领域&#xff0c;现在终于到了信息领域。 近期&#xff0c;从上至下、从中央到地方、从政府到国企&#xff0c;各层面、各行业、各领域都在提及“信创”。 信创是个大工程&#xff0c;从计算机通用处理器、…...

linux wget --no-check-certificate

如果您希望每次使用wget命令时都跳过SSL证书检查&#xff0c;可以将–no-check-certificate参数添加到wget的默认配置文件中。 请按照以下步骤进行操作&#xff1a; vi ~/.wgetrc# 插入内容 check_certificate off保存并关闭文件。 现在&#xff0c;wget命令将在每次使用时自…...

mysql命令行连接数据库

有时项目连接不上数据库&#xff0c;报错鉴权失败&#xff0c;先用mysql工具连接下&#xff0c;容易发现问题。 直接输入mysql看是否已安装&#xff0c;如果没有就安装下。 # 注&#xff1a;直接mysql就行&#xff0c;不用-cli也不用-client&#xff0c;也不用-server&#xf…...

计算机丢失vcomp140.dll是什么意思,如何解决与修复(附教程)

vcomp140.dll缺失的5种解决方法以及vcomp140.dll缺失原因 引言&#xff1a; 在日常使用电脑的过程中&#xff0c;我们可能会遇到一些错误提示&#xff0c;其中之一就是“vcomp140.dll缺失”。这个错误提示通常出现在运行某些程序或游戏时&#xff0c;给使用者带来了困扰。本文…...

基于SSM实现的叮当书城

一、系统架构 前端&#xff1a;jsp | jquery | layui 后端&#xff1a;spring | springmvc | mybatis 环境&#xff1a;jdk1.7以上 | mysql | maven 二、代码与数据库 三、功能介绍 01. 系统首页 02. 商品分类 03. 热销 04. 新品 05. 注册 06. 登录 07. 购物车 08. 后台-首页 …...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

基于大模型的 UI 自动化系统

基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件&#xff1a; 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

力扣-35.搜索插入位置

题目描述 给定一个排序数组和一个目标值&#xff0c;在数组中找到目标值&#xff0c;并返回其索引。如果目标值不存在于数组中&#xff0c;返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

通过MicroSip配置自己的freeswitch服务器进行调试记录

之前用docker安装的freeswitch的&#xff0c;启动是正常的&#xff0c; 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...

uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)

UniApp 集成腾讯云 IM 富媒体消息全攻略&#xff08;地理位置/文件&#xff09; 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型&#xff0c;核心实现方式&#xff1a; 标准消息类型&#xff1a;直接使用 SDK 内置类型&#xff08;文件、图片等&#xff09;自…...