基于文本到图像扩散模型的空前成功,在文本引导的图像修复方面取得了最新进展,取得了异常逼真和视觉上可靠的结果。然而,目前的文本到图像修复模型仍然存在显著的改进潜力,特别是在更好地与用户提示对齐和执行高分辨率修复方面。因此,在本文中,介绍了HD-Painter,这是一种完全无需训练的方法,能够准确地遵循提示并一致地扩展到高分辨率图像修复。
为此,本文设计了Prompt-Aware Introverted Attention(PAIntA)层,通过提示信息增强自注意力分数,从而实现更好的文本对齐生成。为了进一步提高提示的一致性,引入了Reweighting Attention Score Guidance(RASG)机制,将一种事后采样策略无缝集成到DDIM的一般形式中,以防止潜在分布偏移。此外,HD-Painter通过引入一种定制的用于修复的专门超分辨率技术,允许将图像的缺失区域补全到2K分辨率。
实验证明,HD-Painter在定性和定量上均优于现有的最先进方法,实现了61.4%的生成精度改进,而最先进方法为51.9%。
论文链接: https://arxiv.org/pdf/2312.14091
开源代码: https://github.com/Picsart-AI-Research/HD-Painter
最近的扩散模型浪潮席卷全球,成为我们日常生活中越来越重要的一部分。在文本到图像模型取得空前成功之后,基于扩散的图像操作,如基于提示的编辑和变体、可控生成、对象级图像编辑、个性化和专业化图像合成、多模态等成为计算机视觉中的热门话题,引发了大量的应用。特别是,文本引导的图像补全或修复允许用户根据文本提示在给定图像的指定区域生成新内容(见下图1),从而产生了如修饰图像特定区域、替换或添加对象以及修改主题属性(如服装、颜色或情感)等用例。
预训练的文本到图像生成模型,如Stable Diffusion、Imagen和Dall-E 2,可以通过在后向扩散过程中将扩散的已知区域与生成的(去噪)未知区域混合来进行图像补全。尽管这种方法产生了协调一致且视觉上令人信服的补全效果,但在高扩散时间间隔中去噪时,它们在全局场景理解方面仍然存在不足。
为了解决这个问题,现有的方法修改了预训练的文本到图像模型,以获取额外的上下文信息,并专门为文本引导的图像补全进行微调。GLIDE和Stable Inpainting(在Stable Diffusion上微调的修复方法)将mask和mask图像作为额外通道连接到扩散UNet的输入,将新的卷积权重初始化为零。此外,为了获得更好的mask对齐,SmartBrush利用具有对象边界框和分割mask的实例感知训练。
尽管提到的方法产生了高质量的生成,具有令人印象深刻的多样性和逼真性,但我们注意到提示忽略的一个主要缺点,表现为两种情况:
(i) 背景支配:当未知区域使用背景补全而忽略提示时(例如下图4,第1、3行)
(ii) 附近对象支配:当已知区域对象根据视觉上下文可能性传播到未知区域,而不是根据给定提示时(例如上面图4,第5、6行)。
也许两个问题的出现是因为普通的扩散修复缺乏准确解释文本提示或将其与已知区域的上下文信息相结合的能力。为了解决上述问题,本文引入了Prompt-Aware Introverted Attention(PAIntA)块,无需任何训练或微调即可增强自注意力分数。PAIntA根据给定的文本条件提高自注意力分数,目的是减小来自图像已知区域的非提示相关信息的影响,同时增加与提示对齐的已知像素的贡献。
为了进一步提高生成结果的文本对齐性,本文通过利用交叉注意力分数应用事后引导机制。然而,诸如[6, 7]等开创性工作使用的一般事后引导机制可能由于后向扩散方程中的附加梯度项引起的梯度漂移而导致生成质量下降(参考后面的方程4)。为此,本文提出了Reweighting Attention Score Guidance(RASG),这是一种事后机制,可以将梯度分量无缝集成到DDIM过程的一般形式中。这使得能够同时引导采样朝着更与提示对齐的潜在值并保持它们在其训练域内,从而产生视觉上令人信服的修复结果。
通过PAIntA和RASG的组合,本文的方法在解决提示忽略问题上具有显著优势,超越了当前的最先进方法。此外,PAIntA和RASG都是即插即用的组件,因此可以添加到任何扩散基修复模型之上,以缓解上述问题。此外,通过利用高分辨率扩散模型和迭代混合技术,作者设计了一种简单而有效的pipeline,用于2048×2048分辨率的修复。
总结一下,本文的主要贡献如下:
• 引入了Prompt-Aware Introverted Attention(PAIntA)层,以缓解文本引导的图像修复中背景和附近对象支配的提示忽略问题。
• 为了进一步提高生成结果的文本对齐性,提出了Reweighting Attention Score Guidance(RASG)策略,它能够在进行事后引导采样时防止分布外漂移。
• 本文设计的文本引导图像补全的流程是完全无需训练的,并在定量和定性上明显优于当前的最先进方法。此外,通过简单而有效的修复专用超分辨率框架的额外帮助,实现了高分辨率(高达2048×2048)的图像修复。
图像修复是以视觉合理的方式填补图像中缺失区域的任务。早期的深度学习方法,如[20, 42, 43],引入了从已知区域传播深度特征的机制。随后的研究[31, 40, 46, 47]利用类似StyleGAN-v2的解码器和判别式训练来更好地生成图像细节。
引入扩散模型后,修复任务也从中受益。特别是文本引导的图像修复方法出现了。给定一个预训练的文本到图像扩散模型,在采样过程中用已知区域的噪声版本替换潜在的unmasked区域。然而,正如[22]所指出的,这会导致生成质量差,因为去噪网络只看到已知区域的噪声版本。因此,他们提出通过将去噪模型调整为文本引导的图像修复,通过将去噪模型调整为unmasked区域和生成的随机mask的串联来进行微调。在训练中加入对象mask预测以获得更好的mask对齐。在这项工作中,本文提出了一种无需训练的方法,利用了可插拔组件PAIntA和RASG,并改善了文本提示对齐。此外,该方法允许对高分辨率图像进行修复(高达2048×2048)。
早期的深度学习方法设计了用于更好/更高效图像修复的特殊层。特别地,[17, 20, 44]引入了特殊的卷积层,处理图像的已知区域,以有效地提取对视觉上合理的图像补全有用的信息。[42]引入了上下文注意力层,减少了用于高质量修复的all to all自注意力的不必要的繁重计算。在这项工作中,本文提出了Prompt-Aware Introverted Attention(PAIntA)层,专门设计用于文本引导的图像修复。它旨在减少(增加)已知区域中与提示不相关(相关)的信息,以获得更好的文本对齐修复生成。
事后引导方法是反向扩散采样技术,其将下一步的潜在预测引导到特定的目标函数最小化。当生成具有额外约束的视觉内容时,这样的方法似乎非常有帮助。特别是[6]引入了分类器引导,旨在生成特定类别的图像。稍后,[22]引入了CLIP引导,利用CLIP作为一种开放词汇分类方法。LDM进一步将该概念扩展到通过任何图像到图像翻译方法引导扩散采样过程,特别是引导低分辨率训练模型生成两倍或更大的图像。[4]通过最大化多次迭代优化过程中的最大交叉注意力分数来引导图像生成,从而获得更好的文本对齐结果。[7]甚至更进一步,通过利用交叉注意力分数进行对象位置、大小、形状和外观引导。所有提到的事后引导方法都通过梯度术语(见公式6)改变潜在的生成过程,有时会导致图像质量下降。为此,本文提出了Reweighting Attention Score Guidance(RASG)机制,允许在保持扩散潜在域的同时进行任何目标函数的事后引导。具体对于修复任务,为了缓解提示被忽略的问题,利用基于交叉注意力的开放词汇分割属性的引导目标函数。
本文首先制定文本引导的图像补全问题,然后介绍扩散模型,特别是 Stable Diffusion和 Stable Inpainting。然后,讨论该方法及其组件的概述。随后,详细介绍的Prompt-Aware Introverted Attention(PAIntA)块和 Reweighting Attention Score Guidance(RASG)机制。最后,介绍特定于修复的超分辨率技术。
设 I ∈ 为 RGB 图像,M ∈ 为二进制mask,表示在图像 I 中希望用文本提示 τ 进行修复的区域。文本引导的图像修复的目标是输出一个图像 ,使得 在区域 M 中包含由提示 τ 描述的对象,而在 M 之外,它与 I 相符,即 。
Stable Diffusion(SD)是一个扩散模型,其在自编码器 D(E(·)) 的潜在空间中运行(VQ-GAN 或 VQ-VAE),其中 表示编码器,D 表示相应的解码器。具体而言,设 I ∈ 为图像,,考虑具有超参数 {} ⊂[0,1] 的以下正向扩散过程
其中 是在给定 的条件下 的条件密度,{} 是一个马尔可夫链。这里 T 足够大,使得可以假设 ∼ N(0,1)。然后,SD 学习到一个反向过程(类似地,{} 是一个马尔可夫链)
并且有一组超参数 {},允许从标准高斯噪声 生成信号 。其中, 由被建模为神经网络的预测噪声 定义(参见[12]):。然后返回 。
从主要的 DDIM 原理,即 [34] 中的定理 1,可以推导出以下论断。
「论断 1」 在训练了扩散反向过程(方程2)之后,可以应用以下由 {} 参数化的 DDIM 采样过程生成高质量图像:
这里, 可以是任意参数。通常(例如,在下面描述的 SD 或 Stable Inpainting 中),取 = 0 以获得确定性过程:
在文本到图像合成中,SD 使用文本提示 τ 来引导这些过程。因此,函数 ,由类似 UNet 的结构([28])建模,也通过其交叉注意力层对 τ 进行条件化。为简单起见,有时我们在写作 时省略 τ。
如前所述,稳定扩散可以被修改和微调以进行文本引导的图像修复。为此,[27]将由编码器 E 获得的mask图像 = I ⊙ (1 − M) 的特征和(降采样的)二进制mask M 的特征与潜变量 连接,并将生成的张量馈送到 UNet 中,以获得估计的噪声 ,其中 down 是降采样操作,以匹配潜在变量 的形状。新增的卷积滤波器使用零进行初始化,而 UNet 的其余部分来自稳定扩散的预训练checkpoint。通过随机对图像进行mask处理,并优化模型以基于来自 LAION-5B ([32]) 数据集的图像说明重建它们来进行训练。得到的模型显示了视觉上合理的图像修复,将其称为 Stable Inpainting。
本文的方法概览如下图2所示。所提出的流程由两个阶段组成:首先在分辨率 H/4 × W/4 上进行文本引导的图像修复,然后对生成的内容进行 ×4 超分辨率处理。
为了根据给定的提示 τ 补全缺失的区域 M,我们使用预训练的图像修复扩散模型(例如 Stable Inpainting),将自注意力层替换为 PAIntA 层,并通过应用RASG 机制执行扩散反向过程。在获取最终估计的潜在变量 后,对其进行解码,得到修复的图像 。
为了对原始尺寸的图像 I ∈ 进行修复,使用来自[27]的超分辨率稳定扩散。从 ∼ N(0,1) 开始应用 SD 的扩散反向过程,并在每一步中将去噪后的 与原始图像的编码 (I) 在由mask (1−M) ∈{0,1} 指示的已知区域进行混合,并通过 公式4推导出下一个潜在变量 。在最后一步之后,通过 D() 对潜变量进行解码,并与 I 一起使用泊松融合([23]),以避免边缘伪影。
实验中,注意到现有方法,如 Stable Inpainting,往往忽略用户提供的提示,更依赖于修复区域周围的视觉上下文。在介绍中,我们根据用户体验将这个问题分为两类:背景主导和附近对象主导。确实,例如在图4的第1、3、4行中,现有解决方案(除了 BLD)都用背景填充了区域,并且在第5、6行中,它们更倾向于继续是动物和汽车,而不是生成船和火焰。假设视觉上下文主导提示的问题归因于自注意力层的无提示、仅空间特性。为了缓解这个问题,引入了自注意力的插件替代方案,Prompt-Aware Introverted Attention(PAIntA,见图3 (a)),它利用修复mask M 和交叉注意力矩阵来控制未知区域中的自注意力输出。下面将详细讨论 PAIntA。
让 X ∈ 为 PAIntA 的输入张量。与自注意力类似,PAIntA 首先应用投影层来获取分别表示为 的query、key和value,其中 ,并且相似性矩阵 。然后,通过调整对修复区域产生影响的已知像素的注意力分数,我们减轻了已知区域对未知区域的过于强烈影响。具体来说,利用提示 τ,PAIntA 定义了一个新的相似性矩阵。
其中 显示第 j 个特征标记(像素)与给定的文本提示 τ 的对齐情况。
使用跨注意力空间文本相似性矩阵 定义 {},其中 是相应交叉注意层的query和key张量,l 是提示 τ 的token数。具体而言,我们考虑提示 τ 的 CLIP 文本embedding,并分离与 τ 的单词和文本结束 (EOT) token对应的embedding(实质上,我们只是忽略 SOT token和空token embedding),并用 ind(τ) ⊂ {1,2,...,l} 表示所选索引的集合。我们包含 EOT,因为(与 SOT 相反)它包含有关提示 τ 的信息,根据 CLIP 文本编码器的体系结构。对于每个第 j 个像素,我们通过将其与从 ind(τ) 索引的embedding的相似性分数相加来定义其与提示 τ 的相似性,即 。此外,我们发现将分数 cj 进行标准化是有益的,即 = clip(,其中 clip 是在 [0,1] 之间的夹紧操作。
请注意,在纯粹的 SD 中,跨注意力层在自注意力层之后,因此在 PAIntA 中,为了获得query和key张量 ,借用了下一个跨注意模块的投影层权重(见前面图2)。最后,通过与输入的残差连接获得 PAIntA 层的输出:Out = X + SoftMax()·。
由于 RASG 机制依赖于跨注意力层的开放词汇分割属性,为了进一步增强生成与提示 τ 的对齐,采用了一种事后采样引导机制 [6],其目标函数 利用了跨注意层的开放词汇分割属性。具体而言,在每个步骤之后,使用以下更新规则预测噪声 之后: ← ,其中 s 是控制引导量的超参数。然而,正如 [4] 也指出的那样,纯粹的事后引导可能会使扩散潜在 的域发生变化,导致图像质量降低。确实,根据(确定性的)DDIM 过程(公式 4),在用 替换 后,我们得到:
因此,在公式 4中,我们得到了额外的项 S(),它可能会改变 的原始分布。
为此,引入了 Reweighting Attention Score Guidance (RASG) 策略,它利用了通用的 DDIM 后向过程(公式 3)并引入了一个梯度重新加权机制,从而实现了潜在域的保留。具体而言,根据论断 1,通过 公式4 或 公式 3 得到的 将在所需的域内(见下图 3)。
因此,如果在 公式 3 中用梯度 S() 的重新缩放版本(使其更接近从 N(0,1) 中抽样)替换随机分量 ,将保持 在所需的域内,并同时引导其采样朝向 最小化。梯度 S() 的重新缩放是通过将其除以其标准差来补全的(为了保持方向不变,不改变均值,更多讨论见附录)。因此,RASG 采样由以下公式完成:
现在定义函数 S()。首先,考虑所有输出分辨率为 H/32 × W/32 的交叉注意力映射 ,其中 m 是这些交叉注意力层的数量,l 是token embedding的数量。然后,对于每个 k ∈ ind(τ) ⊂ {1, ..., l},对注意力映射进行平均并重塑为 H/32 × W/32:
使用后处理引导和 S(),目标是在由二进制mask M ∈ {0,1}H×W 确定的未知区域中最大化注意力分数,因此我们采用 和 M 之间的二进制交叉熵的平均值(这里的 M 是使用 NN 插值下采样的,σ 是 sigmoid 函数):
这里讨论了高分辨率修复方法,利用预训练的基于扩散的超分辨率模型。利用来自已知区域的细粒度信息来放大修复区域(见图2)。回想一下,I ∈ 是要修复的原始高分辨率图像,E 是 VQ-GAN [8] 的编码器。考虑 并取标准高斯噪声 。然后,通过使用专门用于放大的 SD 模型并在低分辨率修复图像 上进行条件化,在 上应用反向扩散过程(公式 4)。在每个扩散步骤之后,使用 M 将估计的去噪潜在 = 与 混合。
并使用新的 (通过 公式 4)。在最后一个扩散步骤之后, 被解码并与原始图像 I 混合(Poisson 混合)。值得注意的是,我们的混合方法受到开创性的工作 [1, 33] 的启发,这些工作将 与正向扩散的噪声潜在的混合。相比之下,我们将 的高频成分与去噪预测 进行混合,允许无噪声的图像细节在所有扩散步骤中从已知区域传播到缺失区域。
代码基于 Stable Diffusion 2.0 的公共 GitHub 仓库,链接为 https://github.com/Stability-AI/stablediffusion,其中还包括我们用作图像补全和补全专用超分辨率基线的 Stable Inpainting 2.0 和 Stable Super-Resolution 2.0 的预训练模型。PAIntA 用于替换 H/32 × W/32 和 H/16 × W/16 分辨率上的自注意力层。对于 RASG,仅选择 H/32 ×W/32 分辨率的交叉注意力相似矩阵,因为我们注意到当还采取更精细的分辨率时,没有进一步的改进(原因是通过交叉注意力层进行的分割在很大程度上独立于层输入分辨率),而且扩散过程显著减慢。对于超参数 {},我们选择 ,其中 η = 0.25。
在这里,与现有的最先进方法进行比较,如 GLIDE 、Stable Inpainting、NUWA-LIP 和 Blended Latent Diffusion (BLD) 。在 MSCOCO 2017 的验证集中随机选择了 10000 个(图像、mask、提示)三元组进行方法的评估,其中提示被选择为所选实例mask的标签。注意到,当给 Stable Inpainting 一个精确的形状mask时,它倾向于忽略提示,而是根据形状进行图像修复。为了防止这种情况发生,使用对象分割mask的凸包,并相应地计算指标。
使用 MSCOCO 的一个预训练实例检测模型进行 CLIP 分数的评估。在生成图像的裁剪区域上运行它,由于裁剪中可能包含多个对象,如果提示标签在检测到的对象列表中,将其视为正例。最后,使用 PickScore作为文本对齐和视觉保真度的综合度量。在设置中,与其他方法的结果之间应用 PickScore,并计算它何时对我们有优势的百分比。
下表1显示了我们的方法在所有三个指标上均大幅优于竞争对手。
特别是我们在所有竞争对手的基础上将 CLIP 分数提高了 1.5 分以上,并将生成准确率(Acc)提高到了 61.4%,而其他最先进方法为 51.9%。此外,PickScore 的比较显示了我们在整体质量方面的优势。还进行了用户研究,证明了我们在提示对齐和整体质量方面明显优于竞争对手的最先进方法。由于篇幅限制,将用户研究的详细信息放在补充材料中。
前面图4中的示例演示了我们的方法与其他最先进方法之间的定性比较。在许多情况下,基线方法要么生成背景(图 4,行 1、2、3、4),要么在忽略提示的情况下重建已知区域对象的缺失区域(图 4,行 5、6),而我们的方法由于 PAIntA 和 RASG 的结合,成功生成了目标对象。请注意,BLD 生成的所需对象比其他竞争对手更多,然而生成的质量较差。同样,Stable Inpainting 有时会生成对象,但获取提示对齐的频率较低(请参阅附录)。此外,图 1 展示了我们的修复专用超分辨率在利用已知区域细节进行生成区域放大方面的有效性。我们在附录中展示了更多的结果,以及与用于修复后放大的 Stable Super-Resolution 方法作为方法进行比较。
在下表2中,展示了 PAIntA 和 RASG 单独对模型在数量上提供了实质性的改进。还在补充材料中对它们的每一个进行了更多的讨论,包括通过可视化演示它们的影响的深入分析。
本文介绍了一种无需训练的文本引导高分辨率图像修复方法,解决了常见的提示忽略问题:背景和附近对象的支配。本文的贡献,即 Prompt-Aware Introverted Attention (PAIntA) 层和 Reweighting Attention Score Guidance (RASG) 机制,有效地缓解了上述问题,使我们的方法在定性和定量上均超越了现有的最先进方法。此外,独特的修复专用超分辨率技术在高分辨率图像中提供了无缝补全,使我们的方法在区别于现有解决方案的同时得以突显。
[1] HD-Painter: High-Resolution and Prompt-Faithful Text-Guided Image Inpainting with Diffusion Models
更多精彩内容,请关注公众号:AI生成未来