Advertisement

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

阅读量:

目录

  • 摘要
    • 1. 研究背景分析

    • 2. 方法框架设计

      • 补充介绍:
      • 2.1 交叉注意力机制的设计与实现
      • 2.2 注意力权重调节的具体策略
        • 编辑操作:基于提示的图像编辑框架
        • 具体编辑步骤如下:
          • 1. 词汇替换策略的引入
      • 2. 新增短语生成技术的应用
      • 3. 注意力权重调节的具体方法
    • 3. 应用场景

    • 总结

摘要

最近,在大规模文本驱动的图像合成领域取得了重要进展。这类模型能够基于用户提供的具体提示生成丰富的图像类型,并因其与人类自然表达意图的一致性而备受关注。然而,在进行文本驱动的图像编辑时会遇到诸多挑战:在操作过程中必须保留原始图像的主要特征,并且任何对提示内容的小幅修改都可能导致显着的画面变化。目前广泛采用的方法是通过要求用户提供空间遮罩来确定编辑区域,并在此遮罩之外维持原始图像的内容。

本文创新性地提出了一种基于文本提示的编辑框架,在其核心在于仅依赖文本信息进行图像编辑操作。研究者深入探讨了基于条件生成模型的文字与图像交互机制,并发现交叉注意力机制在协调图像空间布局与文字信息处理方面展现出独特的优势。在此基础上,本文提出了三种具体的应用方案:首先支持通过替换关键词实现局部区域的精细修改;其次允许用户在整体图像层面添加上下文说明以实现全局调整;进一步支持用户对特定词语在图像中的呈现效果进行精确调控。实验结果表明,在多样化的输入条件下该模型均能输出高质量的重建图像,并展现出对指令指导的有效遵循能力

1. 研究背景

近年来,在大规模的文本驱动图像生成领域取得了显著进展(如Imagen、DALL·E 2与Parti),这些系统展现出卓越的能力去处理视觉内容,并得到了广泛的研究者与公众的关注。它们通过训练庞大的语言-视觉数据集,并结合最先进的人工智能技术(包括自回归架构与扩散采样方法)。然而,在图像编辑方面仍显不足:特别是在对特定语义区域进行精细控制时面临明显挑战。尤其是当文本提示发生微小变化时,在某些情况下可能会影响最终输出结果

为了缓解这一问题,在现有文本驱动方法中迫使用户为图像进行空间掩膜设置

本文阐述了一种直观而强大的文本编辑方法 ,可以通过调整文本提示(即'Prompt-to-Prompt')来进行图像编辑。为了实现这一目标,作者深入探讨了交叉注意力层的作用机制,并揭示出它们在调控图像生成过程中的深层意义。具体来说,在交叉注意力机制中包含了将图像像素与其对应的上下文提示关键词之间建立关联的信息网络;这些关键信息不仅影响着视觉感知层面的细节处理能力,并且对于整体图像质量提升具有不可替代的价值。

本文的主要思路是通过在扩散过程中引入交叉注意力机制来调节图像生成的过程。具体而言,在扩散的不同阶段动态地关联不同的像素位置与文本描述的内容,并在此基础上设计了一种简单的 yet 语义丰富的编辑方法:例如,在不改变初始条件的情况下修改提示中的单个关键词(如将‘狗’替换为‘猫’),从而保留场景的基本构成;或者在整体风格上进行调整时固定某些关键词以实现新的视觉效果;此外还可以通过调节关键词在图像中的重要性来精确调控生成效果

我们的方法提供了多种Prompt-to-Prompt编辑功能。用户可以调整形容词的影响程度(左上角),替换图像中的物体(右上角),指定图像的风格(左下角),或对生成的图像进行进一步的细化(右下角)。这些操作通过扩散模型的交叉注意力机制进行渗透,无需对图像像素空间进行任何额外的指定。
通过注意力注入进行内容修改。我们从一个由“柠檬蛋糕”提示生成的原始图像开始,并将文本提示修改为其他各种蛋糕。在顶部行中,我们在扩散过程中注入原始图像的注意力权重。底部则仅使用与原始图像相同的随机种子,而不注入注意力权重。这会导致一个完全不同的结构,几乎与原始图像无关。

与以往的方法不同,在本文中我们提出了一种全新的方法仅需输入原始图像即可 ,通过深入挖掘生成模型内部层的空间信息特征并结合多模态理解机制提供了一种更为直观的图像编辑方式 。用户只需对图像生成过程中的提示进行微调就能实现目标区域或全图范围内的编辑效果而无需进行模型微调、数据准备或优化工作实验结果表明这种方法能够在高质量图像生成的同时实现灵活多样的编辑效果展示了基于文本的空间关系建模方法的巨大潜力

2. 方法

假设有一张由文本引导的扩散模型生成的图像 I,它是通过文本提示 P 和随机种子 s 生成的。我们的目标是通过编辑后的文本提示P^*来编辑输入图像 I,并生成编辑后的图像I^*。例如,假设一张由提示“我的新自行车”生成的图像,用户可能希望改变自行车的颜色、材质,或者甚至将其替换为滑板车,同时保留图像的外观和结构。一个直观的界面是用户直接通过进一步描述自行车的外观,或者将其替换为另一个词(如滑板车)来修改文本提示。与之前的方法不同,我们希望避免依赖用户定义的掩膜来指示编辑的位置 。一个简单但不成功的尝试是固定内部随机性 ,并使用编辑后的文本提示重新生成图像 。然而,如图2所示,这会导致完全不同的图像,结构和构图也不同。

通过注意力注入进行内容修改。我们从一个由“柠檬蛋糕”提示生成的原始图像开始,并将文本提示修改为其他各种蛋糕。在顶部行中,我们在扩散过程中注入原始图像的注意力权重。底部则仅使用与原始图像相同的随机种子,而不注入注意力权重。这会导致一个完全不同的结构,几乎与原始图像无关。

我们的重要发现表明:生成图像的结构和外观不仅受随机种子影响,在扩散过程中还与像素与文本嵌入之间的交互密切相关 。通过调整交叉注意力机制能够实现基于文本提示的图像编辑。具体而言,在注入输入图像 I 的交叉注意力信息后,则可保持原始构图和结构特征。

补充介绍:

Imagen是一种利用文本生成图像的深度学习架构,由谷歌研究团队开发,旨在实现高质量逼真图像生成.其独特之处在于采用级联式扩散模型(Cascaded Diffusion Models),通过多层次处理从低分辨率到高分辨率合成精美图像.Imagen的核心理念在于建立一个精细对应关系,使模型能够捕捉并解析文本提示中的详细语义信息与风格特征,从而提升描述能力和画面呈现质量.

Imagen的模型结构由多个逐步递进的扩散模型组成。具体流程为:

  • 在初始阶段生成一个大小为64×64像素的低分辨率图像。
  • 经过超分辨率模型处理后得到一个大小为256×256像素的新图像。
  • 最后一步完成了一个高达1024×1024像素的高分辨率图像。

在每个扩散阶段中都采用了单独的模型,在这种架构下,通过采用级联结构可以让图像逐步提升其分辨率和细节质量,并且生成图像的质量能够达到极高的水平。

Imagen采用了先进的自然语言处理技术——T5文本编码器(Text-To-Text Transfer Transformer) ,这种由谷歌开发的大型预训练模型。它能够有效地理解和处理文本语义及其上下文关系。Imagen借助T5技术将文本提示转化为特征向量表示,并将其传递给生成器以完成图像合成。相较于传统基于Transformer架构的模型而言,T5具备更强的多语言和多任务适应能力。

在生成过程中,在每次扩散阶段Imagen模型均采用交叉注意力机制 ,从而使文本特征与图像特征之间建立更为有效的交互关系。通过这种机制的帮助,在不同像素位置上模型得以更加深入地理解和分析每一个文本标记所带来的影响作用;这样一来,在生成图像时不仅能够精准把握整体语义信息,并且能够充分展现文本描述的具体细节要素如物体形状、颜色以及空间分布等信息;值得注意的是,在处理复杂的场景以及多层次描述的图像生成任务时这一特性显得尤为重要

Imagen展现出其图像质量在多个评估基准上的领先水平,在COCO与DrawBench测试中均取得显著成绩。作为由谷歌团队开发的一个测试基准体系,DRAWBench旨在考察生成模型对复杂提示的理解与处理能力,涵盖多种复杂场景与描述,其主要目的是衡量生成模型对不同提示的理解与处理能力.Imagen在此测试体系中展现出卓越的表现,其生成图像不仅具有高度的真实性,而且能够在清晰度细节以及准确性等方面获得广泛的认可.

2.1 文本引导扩散模型中的交叉注意力

该研究采用Imagen [38]作为研究基础,并将其应用于64×64分辨率下的图像分析工作。基于这一前提条件,在完成图像整体构图及几何特征确定后阶段性工作时,在后续处理中我们主要专注于将文本信息适配至图像扩散模型中,并保持超分辨率生成过程不变。回顾整个扩散过程中的每一个时间步t,在t时刻的状态变量z_t包含了一个带噪声的图像信号以及与输入文本相关的编码ψ(P)。随后利用一个U型架构预测噪声项ε的过程始于对带噪声图像z_t以及与输入文本相关的编码ψ(P)进行处理;最终经过T步迭代后得到完整重建后的无噪图像I=z_0(此处T为总时间步数)。值得注意的是,在整个过程中两个模态的信息交互仅限于噪声预测环节,在此阶段视觉编码信息与文本编码信息通过交叉注意力机制整合形成空间注意力图谱。

具体而言,在图3顶端可见于图中的是带噪声图像的深度空间特征\phi(z_t)经过投影映射作用于查询矩阵Q=Q(\phi(z_t))这一过程;与此同时,则是将文本嵌入分别投射至键矩阵K=K(\psi(P))以及值矩阵V=V(\psi(P))中;这些线性变换关系是通过学习得到的。随后按照上述关系计算出注意力权重图M:

M = \text{Softmax}\left( \frac{Q K^T}{\sqrt{d}} \right),

其中 M_{ij} 代表第 j 个标记作用于像素 i 的权重,在这里 d 则代表键和值经过投影后的维度。最后,在交叉注意力机制中计算得到的结果 \phi_b(z_t) = M V 被用来更新空间特征 \phi(z_t) 的表示

方法概述。顶部:将视觉和文本嵌入通过交叉注意力层融合,这些层为每个文本标记生成空间注意力图。底部:通过使用源图像的注意力图控制生成图像的空间布局和几何结构,从而实现仅编辑文本提示即可完成的各种编辑任务。在提示中交换一个词时,将源图像的注意力图 注入,覆盖目标图像的注意力图 ,以保留空间布局。如果添加一个新短语,仅注入对应于未更改部分提示的注意力图。通过重新调整相应注意力图的权重,可以增强或减弱特定词语的语义效果。

在实际操作场景中进行处理时,在为了增强表达能力的情况下,则会采用多头注意力机制[44];随后将提取的特征进行拼接,并经过线性层的处理得到最终输出

2.2 控制交叉注意力

回顾之前的研究发现,在生成图像的过程中,默认空间布局与几何形状主要由交叉注意力机制所决定。该像素与文本之间的相互作用过程如图4所示,在其中展示了每个标记单元平均计算所得的关注度分布

文本条件下扩散图像生成的交叉注意力图。第一行展示了提示中每个词的平均注意力掩码,这些掩码生成了左侧的图像。下方的行展示了针对单词 “bear”(熊)和 “bird”(鸟)在不同扩散步骤中的注意力图。

我们能够观察到,在图像中各个像素点往往会倾向于与描述其自身的词汇产生关联。举个例子来说,在图像中"熊"这一区域对应的像素点会与"熊"这个词汇建立关联。值得注意的是,在这种展示中所采用的平均处理仅是为了便于观察各个位置的空间分布情况,并不代表真实场景下各注意力头之间的共存关系。实际上每个注意力头都有独立的空间分布特征

值得注意的是,在扩散过程中其架构在早期阶段已基本固定。因此我们能够将基于原始提示P产生的交叉注意力图M整合进由编辑后提示P生成的新图像中。这也意味着通过新方法得到的编辑图像既遵循了更新后的指示P的方向又保留了原始输入I的核心架构。

编辑操作:Prompt-to-Prompt 图像编辑框架

算法 1: Prompt-to-Prompt 图像编辑

  1. 输入包括源提示 P、目标提示 P^* 以及随机种子 s。
  2. 输出包含源图像 x_{src} 和编辑后的目标图像 x_{dst}
  3. 通过生成器G作用于白噪声z_T得到初始化的输入特征图。
  4. 在扩散模型中执行时间步操作序列后得到当前时刻的状态特征图z_t以及对应的注意力权重矩阵M_t。
  5. 通过调整优化器参数θ得到更新后的模型参数θ后,在给定条件下的输入样本x进行推断运算得到预测结果y
  6. 返回最终推断得到的目标预测样本y*。

具体编辑操作

1. 词语替换(Word Swap)

用户可以通过修改原始提示中的某些关键词来调整图像内容。例如,在"一个大红色的自行车"这一描述中将其替换为"一个大红色的汽车"就是一个实例。当希望在保持原有构图的基础上以应对新的需求时,则需要将源图像的交叉注意力机制整合进生成流程中。

2. 添加新短语(Adding a New Phrase)

当用户在提示框中加入新词语时(比如将'河边的城堡'替换为'儿童画中的河边城堡'),为了保持共同细节,在原有关键词项上进行注意力分配。

3. 注意力加权(Attention Re-weighting)

除了调节各个词汇对图像生成的影响程度之外,用户还可以根据自身需求进行具体调整。比如想要使‘红色的毛绒球’更加圆润,则可以通过调节‘毛绒’这一词汇的关注程度来实现效果提升。

通过前述操作,我们不仅能够修改图像内容,并且也能够维持图像的结构与外观.

通过不同数量的扩散步骤进行注意力注入。顶部显示了源图像和提示词。在每一行中,我们通过更改文本中的一个词来修改图像内容,并将源图像的交叉注意力图注入不同的扩散步骤范围,从左侧的 0% 到右侧的 100%。需要注意的是,一方面,如果不使用我们的方法,源图像的内容可能无法得到保留;另一方面,在所有扩散步骤中注入交叉注意力可能会过度限制图像的几何结构,导致对文本提示的忠实度降低。例如,第三行中的“汽车”在完全注入交叉注意力后变成了一辆“自行车”。

3. 应用场景

以下是第 3 节方法的一些应用实例, 呈现了如何通过调整文本提示中每个单词的空间布局以达到直观的仅文本编辑效果。

  1. 局部编辑(只用文字,无需遮罩)
    我们可以直接修改提示词实现局部编辑,无需为图像手动添加遮罩。例如在图 2 中,我们使用提示“柠檬蛋糕”生成图像。在更换提示中的“柠檬”为“南瓜”时,此方法能保留原图的布局、几何和语义(如背景与左上角柠檬变为南瓜)。而直接使用“南瓜蛋糕”提示生成的图像则具有完全不同的布局。此方法甚至可在复杂的提示下(如“意面蛋糕”)生成合理图像:蛋糕由意面层和番茄酱组成。
通过注意力注入进行内容修改。我们从一个由“柠檬蛋糕”提示生成的原始图像开始,并将文本提示修改为其他各种蛋糕。在顶部行中,我们在扩散过程中注入原始图像的注意力权重。底部则仅使用与原始图像相同的随机种子,而不注入注意力权重。这会导致一个完全不同的结构,几乎与原始图像无关。

在另一个例子(图5)中,我们对‘蝴蝶’单词进行了注意机制的引入,并保持了原图中的蝴蝶特征的同时进行内容优化。

在这里插入图片描述

更多结果见附录(图 13)。

在这里插入图片描述

在图6中, 该方法不仅具有纹理修改功能, 还能够实现结构上的调整, 如将"自行车"一词替换为"汽车". 左侧对比组未采用交叉注意力机制, 不同词语的替换显著影响结果. 分阶段引入注意力机制能够较好地保持原图特征, 但完全引入所有中间步骤并非最优选择. 通过控制注入阶段的数量能够更好地平衡图像修复与细节保留之间的关系.

通过不同数量的扩散步骤进行注意力注入。顶部显示了源图像和提示词。在每一行中,我们通过更改文本中的一个词来修改图像内容,并将源图像的交叉注意力图注入不同的扩散步骤范围,从左侧的 0% 到右侧的 100%。需要注意的是,一方面,如果不使用我们的方法,源图像的内容可能无法得到保留;另一方面,在所有扩散步骤中注入交叉注意力可能会过度限制图像的几何结构,导致对文本提示的忠实度降低。例如,第三行中的“汽车”在完全注入交叉注意力后变成了一辆“自行车”。

此外,在生成图像时可增添新的描述词以增强细节表现。这有助于保持原有提示词的关注焦点。在这一过程中,在原有提示的基础上增添新元素不会影响整体效果。例如,在图 7 的上端部分(如图所示),通过加入"被碾碎的车辆"可以使图片体现出更多的动态场景元素。这样不仅增加了画面的真实感与丰富性 能使相关的信息与情感得以更好地传达出来

在这里插入图片描述
在这里插入图片描述

这种编辑不仅可以应用于局部区域的调整,在图像整体层面也可以实现显著的变化效果。然而,在这种操作下仍需保留核心构图要素如物体位置、形态特征等关键信息。图7(底部)具体展示了在原有图像基础上添加'雪'元素以及调节光照效果的操作实例;此外还包括将草图转换为具象真实感图像或融入不同艺术风格的表现形式(如图8所示)。

在这里插入图片描述
在这里插入图片描述

注意力渐变控制
然而尽管提示词编辑能有效生成图像,在某些特定场景中仍需更加精细的调控机制。例如,在"雪山"场景中希望调节雪量时,默认的文字描述显得力不从心。为此本研究提出了一种渐变控制机制(Fader Control),通过用户调节特定关键词权重来实现对相关词汇注意力强度的微调。如图9所示,在该框架下可通过缩放相应词汇注意力权重来实现实例级别的调控效果;其中附录部分进一步验证了该方法的有效性(如图15)。

在这里插入图片描述
在这里插入图片描述

为了生成真实图像,在扩散过程中需要确定其起始噪声向量。这一过程被称为“反演”,近年来在GAN框架中引起了广泛关注。然而,在文本指导型扩散模型中这一技术尚未完全实现。本节通过传统反演方法展示了初步的结果。一种简单的方法是在输入图像上叠加高斯噪声后再进行预定步骤的扩散操作;然而这种方法会导致明显的失真效果。为此我们采用了改进型反演方法基于确定性DDIM模型而非传统的DDPM框架,并从t_0逆向推进以获得更精确的结果

在这里插入图片描述

虽然该反演方法在部分场景下表现尚可(如图10所示),但在多数场景下其准确率较低(如图11所示)。这一现象源于失真与可编辑性之间的平衡问题。具体而言,在减少分类器的自由度指导以弱化提示词的影响以改善重建的同时会导致显着的编辑受限为此我们提出一种基于注意力机制的方法利用遮罩来恢复图像中未被编辑的部分如图7所示这种方法能够有效缓解上述矛盾即使采用简单的DDPM反演方案(通过添加噪声后再去除噪声)该方法同样有效。(注:此处"DDPM"是指扩散判别过程模型)值得注意的是这种方法完全依赖于提示文本而不需人工干预因此能够实现自动化处理过程

在这里插入图片描述

总结

本研究发现了文本生成图像扩散模型中交叉注意力层的强大功能。我们通过分析这些高维层中包含可解释的空间映射这一关键点, 发现它们能够将文本提示词与生成图像的空间布局紧密关联起来。基于这一关键发现, 我们进一步表明, 通过提示词的各种操作可以直接控制生成图像的属性参数, 这一发现为实现局部和全局编辑提供了理论基础与技术支撑。这项研究不仅提供了一种直观且高效的图像编辑方法——利用文本语义直接调控图像内容——而且避免了传统方法需要反复重新生成整个图像这一缺点

尽管验证了通过文本实现语义控制的有效性[1] ,但该方法仍存在一些局限性值得深入分析。首先,在当前设计中,在某些测试图像上可能会引入明显的失真效果,并要求用户自定义合适的提示词以引导模型生成预期结果。这使得在复杂场景下应用起来相对困难。此外, 由于当前交叉注意力机制位于网络性能瓶颈位置, 因此导致生成的注意力图分辨率较低, 从而限制了对细节区域的精确编辑能力。为了进一步提高模型精度, 我们建议将交叉注意力模块延伸至高分辨率层, 然而这一改进方案需要深入探索训练过程的具体实现细节, 超出了本研究探讨的主要方向。最后, 本方法目前不具备对已有物体进行空间位置上的调整能力, 这种控制功能也将在后续研究中逐步完善

全部评论 (0)

还没有任何评论哟~