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