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

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

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

相关文章

二分查找(Java)

二分查找,也称为折半查找,是一种在有序数组中查找特定元素的高效算法。其基本思想是每次将查找范围缩小一半,直到找到目标元素或确定目标元素不存在。 以下是二分查找的详细步骤: 初始化左右边界:将初始查找范围设置…

台灯怎么选对眼睛好?适合考研使用的护眼台灯推荐

现在晚上仍然需要工作、学习的人有很多,这样的一件事似乎已经成为“家常便饭”,尤其事对于一些学生党而言。每天都有写不完的作业、做不完的功课,这样高强度的用眼下来,容易导致眼睛疲劳、近视等等。很多人会选择在夜晚的时候使用…

webpack如何处理css

一、准备工作 新建目录 添加样式 .word {color: red; } index.js添加dom元素,添加一个css word import ./css/index.css;const div document.createElement("div"); div.innerText "hello word!!!"; div.className "word"; do…

(附源码)基于NET学生信息管理系统-计算机毕设 24077

基于NET学生信息管理系统 摘 要 随着互联网趋势的到来,各行各业都在考虑利用互联网将自己推广出去,最好方式就是建立自己的互联网系统,并对其进行维护和管理。在现实运用中,应用软件的工作规则和开发步骤,采用C#技术建…

【c++|SDL】开始使用之---demo

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 SDL 记录 1. hello word #include<SDL2/SDL.h>SDL_Window* g_pWindow 0; SDL_Renderer* g_pRenderer 0;int main(int argc, char* args[]) {//…

文章解读与仿真程序复现思路——电力自动化设备EI\CSCD\北大核心《考虑不确定性的火电发电商现货-深度调峰市场优化决策》

标题涉及到电力行业的领域&#xff0c;尤其是火电发电商在电力市场中面对深度调峰需求时的决策问题。下面是对标题的解读&#xff1a; 考虑不确定性&#xff1a; 这指的是在制定优化决策时&#xff0c;考虑到环境的不确定性&#xff0c;可能包括但不限于电力市场的价格波动、发…

ASP.NET Core Web API设置响应输出的Json数据格式的两种方式

前言 在ASP.NET Core Web API中设置响应输出Json数据格式有两种方式&#xff0c;可以通过添加System.Text.Json或Newtonsoft.JsonJSON序列化和反序列化库在应用程序中全局设置接口响应的Json数据格式&#xff0c;本文示例使用的是新的Minimal API模式。 JSON序列化和反序列化库…

访问对象的方式

创建对象自然是为了后续使用该对象&#xff0c;我们的Java程序会通过栈上的reference数据来操作堆上的具体对象。由于reference类型在《Java虚拟机规范》里面只规定了它是一个指向对象的引用&#xff0c;并没有定义这个引用应该通过什么方式去定位、访问到堆中对象的具体位置&a…

基于SSM的老年公寓信息管理(有报告)。Javaee项目

演示视频&#xff1a; 基于SSM的老年公寓信息管理&#xff08;有报告&#xff09;。Javaee项目 项目介绍&#xff1a; 采用M&#xff08;model&#xff09;V&#xff08;view&#xff09;C&#xff08;controller&#xff09;三层体系结构&#xff0c;通过Spring SpringMvc …

【从零开始学习Linux】一文带你了解yum周边生态及vim常见模式

&#x1f6a9;纸上得来终觉浅&#xff0c; 绝知此事要躬行。 &#x1f31f;主页&#xff1a;June-Frost &#x1f680;专栏&#xff1a;Linux入门 &#x1f52d;【从零开始学习Linux】系列均属于Linux入门&#xff0c;主要包含Linux操作系统下的指令、操作、权限以及开发工具&a…

15.Docker-Compose的概念理解及安装

1.Docker-Compose是什么&#xff1f; Docker-Compose是实现对Docker容器集群的快速编排的工具软件。它是Docker官方开源的一个工具软件&#xff0c;可以管理多个Docker容器组成一个应用。你需要定义一个YAML格式的配置文件docker-compose.yml.写好多个容器间的调用关系&#x…

佳易王个体诊所管理系统电子处方软件,个体诊所人员服务软件,卫生室配方模板电子病历系统教程

佳易王个体诊所管理系统电子处方软件&#xff0c;个体诊所人员服务软件&#xff0c;卫生室配方模板电子病历系统教程 软件试用版下载可以点击最下方官网卡片 软件功能&#xff1a; 1、配方模板&#xff1a;可以自由添加配方分类&#xff0c;预先设置药品配方&#xff0c;可以…

力扣hot100 最大子数组和 动态规划 分治 无后效性 子问题划分

&#x1f468;‍&#x1f3eb; 题目地址 无后效性 为了保证计算子问题能够按照顺序、不重复地进行&#xff0c;动态规划要求已经求解的子问题不受后续阶段的影响。这个条件也被叫做「无后效性」。换言之&#xff0c;动态规划对状态空间的遍历构成一张有向无环图&#xff0c;遍…

《许犁庭与柔性世界》第二十五章 藤乃伊

“据说虽然内院被外殿层层环绕&#xff0c;可它们却分属不同系统&#xff0c;是也不是&#xff1f;”台下有人问道。 “没错。就算你天赋异禀&#xff0c;外殿九层一路闯将过去&#xff0c;顺利成为命运师。可若是没收到不忍大师的邀请函&#xff0c;也绝无可能进入内院。” “…

NineData:帮助开发者用好数据和云

导语 &#xff1a;数据库工具是指用于创建、设计、管理、开发、维护和优化数据库的一系列软件工具&#xff0c;包括数据库设计工具、数据库迁移与复制、数据库管理工具、数据安全工具等&#xff0c;这些工具可以帮助数据库管理员和开发人员更高效地管理、使用和开发数据库&…

Lambda表达式与方法引用

作者简介&#xff1a;大家好&#xff0c;我是smart哥&#xff0c;前中兴通讯、美团架构师&#xff0c;现某互联网公司CTO 联系qq&#xff1a;184480602&#xff0c;加我进群&#xff0c;大家一起学习&#xff0c;一起进步&#xff0c;一起对抗互联网寒冬 引子 先来看一个案例 …

技巧-PyCharm中Debug和Run对训练的影响和实验测试

简介 在训练深度学习模型时&#xff0c;使用PyCharm的Debug模式和Run模式对训练模型的耗时会有一些区别。 Debug模式&#xff1a;Debug模式在训练模型时&#xff0c;会对每一行代码进行监视&#xff0c;这使得CPU的利用率相对较高。由于需要逐步执行、断点调试、查看变量值等操…

Python hashlib库解析:数据安全加密必备指南

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com 哈希函数在计算机科学中扮演着重要的角色。它是一种能够将任意长度的数据转换成固定长度的唯一值的算法。Python提供了hashlib库&#xff0c;用于生成哈希摘要&#xff0c;提供了常见的哈希算法&#xff0c;如MD…

Prometheus的详细部署

普罗米修斯下载网址: Download | Prometheus 准备两台机器&#xff1a; 192.168.58.152 prometheus 192.168.58.142 node_exporter 关闭防火墙和selinux&#xff1a; [rootlocalhost ~]# setenforce 0 && systemctl stop firewalld[rootlocalhost ~]# seten…

Ubuntu:安装Powershell

Powershell的安装与使用&#xff1a; 1&#xff09;安装Powershell&#xff1a;在终端依次运行以下命令即可&#xff1a; $ sudo apt-get update $ sudo apt-get install -y wget apt-transport-https software-properties-common $ wget -q "https://packages.microsof…