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

news2024/11/17 21:55:39

【论文阅读笔记】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}
}

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

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

相关文章

深入了解MD5加密技术及其应用与局限

一、MD5简介 MD5(Message Digest Algorithm 5)是一种单向散列函数,由美国密码学家罗纳德李维斯特(Ronald Linn Rivest)于1991年发明。它主要用于将任意长度的消息映射成固定长度的摘要,从而实现消息的完整…

优雅编写测试代码:在pytest中利用Fixture实现自动化测试!

什么是固件 Fixture 翻译成中文即是固件的意思。它其实就是一些函数,会在执行测试方法/测试函数之前(或之后)加载运行它们,常见的如接口用例在请求接口前数据库的初始连接,和请求之后关闭数据库的操作。 我们之前已经…

Cookie要怎么测试?

Cookie是一种用于在Web应用程序中存储用户特定信息的方法,可以让网站服务器把少量数据存储到客户端的硬盘或内存,或是从客户端的硬盘读取数据。Cookie的测试是指对Cookie的功能、性能、安全性、兼容性等方面进行验证的过程。 Cookie的测试包括以下几个方…

存在即合理,低代码的探索之路

目录 一、前言 二、低代码迅速流行的原因 三、稳定性和生产率的最佳实践 四、程序员用低代码开发应用有哪些益处? 1、提升开发价值 2、利于团队升级 一、前言 低代码的热潮至今未消停,从阿里钉钉跨平台协作方式,再到飞书上的审批流程&#xf…

Java —— 泛型

目录 1. 什么是泛型 2. 泛型背景及其语法规则 3. 泛型类的使用 3.1 语法 3.2 示例 3.3 类型推导(Type Inference) 4. 裸类型(Raw Type) 4.1 说明 5. 泛型如何编译的 5.1 擦除机制 5.2 为什么不能实例化泛型类型数组 6. 泛型的上界 6.1 上界语法产生的背景 6.2 语法 6.3 示例 6.…

高级JVM

一、Java内存模型 1. 我们开发人员编写的Java代码是怎么让电脑认识的 首先先了解电脑是二进制的系统,他只认识 01010101比如我们经常要编写 HelloWord.java 电脑是怎么认识运行的HelloWord.java是我们程序员编写的,我们人可以认识,但是电脑不…

【数值计算方法(黄明游)】常微分方程初值问题的数值积分法:欧拉方法(向前Euler)【理论到程序】

文章目录 一、数值积分法1. 一般步骤2. 数值方法 二、欧拉方法(Euler Method)1. 向前欧拉法(前向欧拉法)a. 基本理论b. 典例解析c. 算法实现 常微分方程初值问题的数值积分法是一种通过数值方法求解给定初始条件下的常微分方程&am…

Cenos7系统通过链接一键安装LAMP项目环境(linux,apache,mysql,php)

前言:嫌装环境麻烦,以下介绍自动安装环境的方法 一.环境配置 根据自己需要选择 操作系统:CenOS 7.x以上Web服务器:Apache 2.4数据库:MySQL 5.7开发框架:ThinkPHP 5.0(PHP5.0以上)…

模拟退火算法应用——求解TSP问题

仅作自己学习使用 一、问题 旅行商问题(TSP) 是要求从一个城市出发,依次访问研究区所有的城市,并且只访问一次不能走回头路,最后回到起点,求一个使得总的周游路径最短的城市访问顺序。 采用模拟退火算法求解TSP问题&#x…

fiddler测试弱网别再去深山老林测了,这样做就能达到弱网效果了!

弱网测试 概念:弱网看字面意思就是网络比较弱,我们通称为信号差,网速慢。 意义:模拟在地铁、隧道、电梯和车库等场景下使用APP ,网络会出现延时、中断和超时等情况。 添加图片注释,不超过 140 字&#xf…

WPF中DataGrid解析

效果如图&#xff1a; 代码如下&#xff1a; <DataGrid Grid.Row"1" x:Name"dataGrid" ItemsSource"{Binding DataList}" AutoGenerateColumns"False"SelectedItem"{Binding SelectedItem,UpdateSourceTriggerPropertyChange…

【软件测试】性能测试相关指标

性能测试 了解性能测试相关指标 1.什么是做性能测试 1.1 生活中遇到的软件性能问题 软件用着用着就不能用了&#xff0c;一看热搜&#xff0c;发现该软件的服务器崩崩溃了。 1.2 性能测试定义 测试人员借助性能测试工具&#xff0c;模拟系统在不同场景下&#xff0c;对应…

QT6 Creator编译KDDockWidgets并部署到QT

为什么使用KDDockWidgets 为什么使用KDDockWidgets呢&#xff1f; 首先它是一个优秀的开源dock库&#xff0c;弥补QDockWidget的不足&#xff0c;详情见官网。 其次它支持QML&#xff0c;这是我最终选择这个dock库的主要原因&#xff0c;因为最近在考虑将前端界面用QML做&…

[Linux ] sed文本处理和免交互

一、sed 1.1 sed是什么 sed 是一种流编辑器&#xff08;stream editor&#xff09;&#xff0c;用于对文本数据进行文本转换和处理。它通常被用于在命令行中执行文本编辑任务&#xff0c;可以对输入的文本进行搜索、替换、删除等操作&#xff0c;并将结果输出。sed 是一个非交…

项目中的svg图标的封装与使用

1.安装 npm install vite-plugin-svg-icons -D2.在vite.config.ts中配置 **所有的svg图标都必须放在assets/icons // 引入svg import { createSvgIconsPlugin } from vite-plugin-svg-iconsexport default defineConfig({plugins: [vue(),createSvgIconsPlugin({iconDirs: [p…

Java第十二篇:连接安全版kafka(Kerberos认证)出现的问题解答

Could not find a ‘KafkaClient’ entry in the JAAS configuration 问题现象 问题原因 原因没有找到&#xff0c;怎么引起的倒是很清楚。原因就是找到不到指定路径下的kafka_client_jaas.conf文件&#xff0c;别看我的路径带了两个//&#xff0c;但没问题的&#xff0c;等同…

实战中使用的策略模式,使用@ConditionalOnProperty实现根据环境注册不同的bean

场景复现 举个例子&#xff0c;针对不同的设备的内存的不同加载一些资源的时候需要采取不同的策略&#xff0c;比如&#xff0c;在内存比较大的设备&#xff0c;可以一次性加载&#xff0c;繁殖需要使用懒加载&#xff0c;这个时候我们就可以采用配置文件配置中心去控制了 Cond…

.NET生成微信小程序推广二维码

前言 对于小程序大家可能都非常熟悉了&#xff0c;随着小程序的不断普及越来越多的公司都开始推广使用起来了。今天接到一个需求就是生成小程序码&#xff0c;并且与运营给的推广图片合并在一起做成一张漂亮美观的推广二维码&#xff0c;扫码这种二维码就可以进入小程序。为了…

智能学习台灯_AI摄像头学习机基于MTk8175方案

智能学习台灯是一款专为中小学生设计的学习辅助工具&#xff0c;具有多项突出的参数和功能。首先&#xff0c;它采用了基于联发科MTK平台的解决方案&#xff0c;内置了12纳米四核Cortex-A53处理器&#xff0c;提供了稳定而高效的性能。操作系统方面&#xff0c;智能学习台灯运行…

Java17(LTS Long Term Support)特性

支持JDK17的主流技术框架 spring framework 6.xspringboot 3.xkafka 3.0(不在支持jdk8)jenkins 2.357&#xff08;必须jdk11起步&#xff09;James Gosling表示赶紧弃用Java8&#xff0c;使用性能最好的JDK17Chart GPT也推荐JDK17&#xff0c;从长期到性能来说。 JDK17的特性 …