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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何生成唯一ID:探讨常用方法与技术应用

文章目录 1. UUID(Universally Unique Identifier)2. 数据库自增ID3. Twitter的Snowflake算法4. 数据库全局唯一ID(Global Unique Identifier,GUID)结语 🎉如何生成唯一ID:探讨常用方法与技术应…

Umi-OCR图片批量识别文字工具

OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/粘贴/批量导入图片,段落排版/排除水印,扫描/生成二维码。内置多国语言库。 项目地址:https://github.com/hiroi-sora/Umi-OCR

xv6 磁盘中断流程和启动时调度流程

首发公号:Rand_cs 本文讲述 xv6 中的一些细节流程,还有对之前文中遗留的问题做一些补充说明,主要有以下几个问题: 一次完整的磁盘中断流程进入调度器后的详细流程sched 函数中的条件判断scheduler 函数中为什么要周期性关中断 …

软工2021上下午第六题(组合模式)

阅读下列说明和Java代码,将应填入(n)处的字句写在答题纸的对应栏内。 【说明】 层叠菜单是窗口风格的软件系统中经常采用的一种系统功能组织方式。层叠菜单中包含的可能是一个菜单项(直接对应某个功能),也可…

Servlet-Vue-JSON交互

Servlet-Vue-JSON交互 统一结果返回 定义 package org.example.result;import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor;Data NoArgsConstructor AllArgsConstructor public class Result<T> {private Integer code;private St…

Python(八十九)函数的参数的内存分析

❤️ 专栏简介&#xff1a;本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中&#xff0c;我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 &#xff1a;本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

pandas教程:USDA Food Database USDA食品数据库

文章目录 14.4 USDA Food Database&#xff08;美国农业部食品数据库&#xff09; 14.4 USDA Food Database&#xff08;美国农业部食品数据库&#xff09; 这个数据是关于食物营养成分的。存储格式是JSON&#xff0c;看起来像这样&#xff1a; {"id": 21441, &quo…

OpenHarmony亮相MTSC 2023 | 质量效率共进,赋能应用生态发展

11月25日&#xff0c;MTSC 2023第十二届中国互联网测试开发大会在深圳登喜路国际大酒店圆满举行。大会以“软件质量保障体系和测试研发技术交流”为主要目的&#xff0c;旨在为行业搭建一个深入探讨和交流的桥梁和平台。OpenAtom OpenHarmony&#xff08;简称“OpenHarmony”&a…

Linux系统编程:文件系统总结

目录和文件 获取文件属性 获取文件属性有如下的系统调用&#xff0c;下面逐个来分析。 stat:通过文件路径获取属性&#xff0c;面对符号链接文件时获取的是所指向的目标文件的属性 从上图中可以看到stat函数接收一个文件的路径字符串&#xff08;你要获取哪个文件的属性&a…

零基础学Python第三天||写一个简单的程序

通过对四则运算的学习&#xff0c;已经初步接触了Python中内容&#xff0c;如果看官是零基础的学习者&#xff0c;可能有点迷惑了。难道敲几个命令&#xff0c;然后看到结果&#xff0c;就算编程了&#xff1f;这也不是那些能够自动运行的程序呀&#xff1f; 的确。到目前为止…

07-学成在线修改/查询课程的基本信息和营销信息

修改/查询单个课程信息 界面原型 第一步: 用户进入课程列表查询页面,点击编辑按钮编辑课程的相关信息 第二步: 进入编辑界面显示出当前编辑课程的信息,其中课程营销信息不是必填项,修改成功后会自动进入课程计划编辑页面 查询课程信息 请求/响应数据模型 使用Http Client测…

蓝桥杯day02——第三大的数

题目 给你一个非空数组&#xff0c;返回此数组中 第三大的数 。如果不存在&#xff0c;则返回数组中最大的数。 示例 1&#xff1a; 输入&#xff1a;[3, 2, 1] 输出&#xff1a;1 解释&#xff1a;第三大的数是 1 。 示例 2&#xff1a; 输入&#xff1a;[1, 2] 输出&…