【深度学习 AIGC】将diffusion用于Inpainting ,图像修复,Inpainting using Denoising Diffusion Probabilistic Models

代码:https://github.com/andreas128/RePaint

论文:https://bit.ly/3b1ABEb

Abstract

自由形式修复(Free-form inpainting)是在图像中根据任意二值掩模指定的区域添加新内容的任务。大多数现有方法训练针对特定分布的掩模,这限制了它们对未见掩模类型的泛化能力。此外,使用像素级和感知损失进行训练通常会导致对缺失区域进行简单的纹理扩展,而不是语义上有意义的生成。

在这项工作中,我们提出了RePaint:一种基于去噪扩散概率模型(DDPM)的修复方法,可适用于极端掩模。我们使用一个预训练的无条件DDPM作为生成先验。为了调节生成过程,我们仅通过使用给定的图像信息对未遮挡区域进行采样,从而改变了反向扩散迭代。由于这种技术不修改或调节原始的DDPM网络本身,因此该模型可以为任何修复形式生成高质量和多样化的输出图像。

我们验证了我们的方法用于人脸和通用图像修复,使用标准和极端掩模。RePaint在至少五个六种掩模分布中优于最先进的自回归和生成对抗网络方法。

在这里插入图片描述

Introduction

图像修复,也称为图像补全,旨在填补图像中的缺失区域。这些修复区域需要与图像的其余部分协调一致,并且在语义上合理。因此,修复方法需要强大的生成能力。为此,当前的最先进方法[20, 40, 48, 51]依赖于生成对抗网络(GANs)[8]或自回归建模[33, 42, 49]。此外,修复方法需要处理各种形式的掩模,如细或粗的刷子,正方形,甚至是绝大部分图像都缺失的极端掩模。这是非常具有挑战性的,因为现有方法是根据某种掩模分布进行训练的,这可能导致对新型掩模类型的泛化能力差。在这项工作中,我们研究了一种替代的生成方法,旨在设计一种无需特定掩模训练的方法。

去噪扩散概率模型(DDPM)是一种新兴的用于生成建模的替代范式[12, 38]。最近,Dhariwal和Nichol[7]证明了DDPM甚至可以超越基于GAN的最先进方法[4]用于图像合成。实质上,DDPM被训练成通过反转扩散过程来迭代去噪图像。从随机采样的噪声开始,DDPM然后被迭代应用一定数量的步骤,从而产生最终的图像样本。虽然基于有原则的概率建模,但已经显示DDPM可以生成多样化和高质量的图像[7, 12, 28]。

我们提出了RePaint:一种仅利用现成训练的无条件DDPM的修复方法。

具体而言,我们不是学习一个与掩模相关的生成模型,而是在反向扩散迭代过程中通过从给定像素进行采样来调节生成过程。值得注意的是,因此我们的模型不是为修复任务本身而训练的。这有两个重要的优点。首先,它允许我们的网络在推断过程中泛化到任何掩模。其次,它使我们的网络能够学习更多的语义生成能力,因为它具有强大的DDPM图像合成先验(图1)。

尽管标准的DDPM采样策略会产生匹配的纹理,但修复通常在语义上不正确。因此,我们引入了一种改进的去噪策略,重新采样(RePaint)迭代以更好地调节图像。值得注意的是,与减缓扩散过程不同[7],我们的方法在扩散时间上前后移动,产生了非常有意义的图像。我们的方法允许网络在整个推断过程中有效地协调生成的图像信息,从而更有效地对给定的图像信息进行调节。

我们在CelebA-HQ [21]和ImageNet [36]上进行了实验,并与其他最先进的修复方法进行了比较。我们的方法具有更好的泛化能力,整体上具有更多语义上有意义的修复区域。

Related Work

早期对于图像修复或图像补全的尝试利用了输入图像中的低级线索[1–3],或者利用大型图像数据集的邻域[10]来填补缺失的区域。

Deterministic Image Inpainting确定性图像修复:自从引入了生成对抗网络(GANs)[8]以来,大多数现有方法都遵循了一种标准配置,最早由Pathak等人[32]提出,即使用编码器-解码器架构作为主要的修复生成器,采用对抗训练和旨在实现照片逼真性的定制损失函数。随后的研究在近年来取得了令人印象深刻的结果[15, 20, 30, 34, 50]。

由于图像修复需要高级语义上下文,并且要明确地包含在生成管道中,因此存在手工设计的架构设计,例如扩张卷积[16, 45]以增加感知域,部分卷积[19]和门控卷积[48]以根据修复的掩模引导卷积核,上下文注意力[46]以利用全局信息,边缘图[9, 27, 43, 44]或语义分割图[14, 31]以进一步引导生成,以及傅立叶卷积[40]以高效地包含全局和局部信息。尽管最近的研究产生了逼真的照片结果,但是由于GANs以其文本合成而闻名,因此这些方法在背景修复或移除对象等需要重复结构合成的任务上表现出色,但在语义合成方面则表现出困难(图5)

Diverse Image Inpainting 多样化图像修复:大多数基于GAN的图像修复方法容易受到确定性变换的影响,因为在图像合成过程中缺乏控制。为了解决这个问题,Zheng等人[55]和Zhao等人[53]提出了一种基于VAE的网络,权衡了多样性和重建。受到StyleGAN2[18]调制卷积的启发,Zhao等人[54]为修复任务引入了一个共模层,以改善多样性和重建。最近出现了一类新的自回归方法[33, 42, 49],可以处理不规则的掩模,已经成为自由形式图像修复的强大替代方法。

Usage of Image Prior 使用图像先验:在与我们更接近的不同方向上,Richardson等人[35]利用了StyleGAN[17]的先验成功地填补了缺失的区域。然而,类似于利用StyleGAN潜在空间的超分辨率方法[5, 26],这仅适用于特定场景,如人脸。值得注意的是,Ulyanov等人[41]表明,非经过训练的生成器网络的结构包含了一种内在的先验,可以用于修复和其他应用。与这些方法不同,我们利用了预训练的去噪扩散概率模型[12](DDPM)的高表现力,因此将其用作通用图像修复的先验。我们的方法生成了非常详细和高质量的图像,既具有语义上有意义的生成能力,又具有纹理合成能力。此外,我们的方法没有专门为图像修复任务进行训练,而是充分利用了先验的DDPM,因此每个图像都是独立优化的。

Image Conditional Diffusion Models 图像条件扩散模型:SohlDickstein等人的工作[38]将早期的扩散模型应用于修复中。最近,Song等人[39]开发了一种基于随机微分方程的基于分数的公式,用于无条件图像生成,并额外应用于修复。然而,这两项工作仅展示了定性结果,并没有与其他修复方法进行比较。相反,我们的目标是推进图像修复领域的最新技术,并与文献中的顶级竞争方法进行全面比较。

另一条研究线索是使用基于DDPM的引导图像合成[6, 25]方法。在ILVR [6]的情况下,通过条件图像的低频信息引导了训练过的扩散模型。然而,由于遮挡区域中既没有高频信息也没有低频信息,因此这种条件策略不能用于修复。另一种图像条件合成方法由[25]开发。引导生成是通过在某个中间扩散时间点从引导图像初始化反向扩散过程来执行的。还采用了迭代策略,多次重复反向过程,以改善协调性。

由于需要引导图像以在中间时间步骤开始反向过程,所以这种方法不适用于修复,因为新的图像内容需要仅基于非遮挡像素进行生成。

此外,本文提出的重新采样策略与同时进行的[25]不同。我们通过完整的反向扩散过程进行,从结束时间开始,在每个步骤中来回跳转固定数量的时间步骤,以逐渐改善生成质量。

虽然我们提出了一种条件非条件模型的方法,但与同时进行的工作[29]基于无分类器的引导[13]来训练图像条件扩散模型。另一个图像操作的方向是使用扩散模型进行图像到图像的翻译,这在同时进行的工作中得到了探讨[37]。它训练了一个图像条件的DDPM,并展示了修复的应用。与这两个同时进行的工作不同,我们利用了一个无条件的DDPM,并只通过反向扩散过程本身进行条件设定。这使得我们的方法能够轻松泛化到自由形式修复的任何掩模形状。此外,我们提出了一个反向过程的采样计划,大大提高了图像质量。

Preliminaries: Denoising Diffusion Probabilistic Models 前言:扩散概率模型去噪

在本论文中,我们使用扩散模型[38]作为一种生成方法。与其他生成模型一样,DDPM学习了在给定训练集的情况下生成图像的分布。推理过程通过对随机噪声向量xT进行采样,然后逐渐去噪,直到生成高质量的输出图像x0。在训练过程中,DDPM方法定义了一个扩散过程,将图像x0在T个时间步骤内转化为白色高斯噪声xT ∼ N(0, 1)。正向方向的每一步都由以下公式给出:

在这里插入图片描述

样本xt是通过在时间步骤t添加独立同分布的方差为βt的高斯噪声获得,并根据方差计划将前一个样本xt−1按√(1 − βt)进行缩放。

DDPM经过训练以反转(1)中的过程。反向过程由一个神经网络建模,该网络预测了高斯分布的参数µθ(xt, t)和Σθ(xt, t)。

在这里插入图片描述
模型(2)的学习目标是通过考虑变分下界来推导的,
在这里插入图片描述
重要的是,Lt−1训练了网络(2)以执行一个反向扩散步骤。此外,它允许获得目标的闭式表达式,因为q(xt−1|xt, x0)也是高斯分布[12]。

正如Ho等人[12]报告的那样,对模型进行参数化的最佳方式是预测添加到当前中间图像xt的累积噪声ϵ0。因此,我们获得了如下参数化的预测均值µθ(xt, t):

在这里插入图片描述
在这里插入图片描述
正如Nichol和Dhariwal [28]所介绍的,学习反向过程中的方差Σθ(xt, t)(在公式2中)有助于将采样步骤的数量减少一个数量级。因此,他们添加了变分下界损失。

具体来说,我们的训练和推理方法基于最近的工作[7],该工作进一步将推理时间减少了四倍。

要训练DDPM,我们需要一个样本xt以及用于将x0转换为xt的相应噪声。通过使用每个步骤(1中)添加的噪声的独立性属性,我们可以计算总噪声方差,表示为α¯t = ∏s=1 to t (1−βs)。因此,我们可以将(1)重写为一个单一步骤:
在这里插入图片描述
这使我们能够高效地采样训练数据对,以训练反向过渡步骤。

图2. 我们方法的概述。RePaint修改了标准的去噪过程,以便根据给定的图像内容进行条件设置。在每个步骤中,我们从输入中采样已知区域(顶部),并从DDPM输出中采样修复的部分(底部)。

在这里插入图片描述

Method

在本节中,我们首先在第4.1节介绍了我们用于图像修复的无条件DDPM的反向扩散过程的条件设置方法。然后,在第4.2节中,我们介绍了一种改进修复的反向过程本身的方法。

Conditioning on the known Region

修复的目标是使用掩模区域作为条件来预测图像的缺失像素。在本文的其余部分,我们考虑一个经过训练的无条件去噪扩散概率模型(2)。我们将地真图像表示为x,未知像素表示为m ⊙ x,已知像素表示为(1 − m) ⊙ x。

由于每个反向步骤(2)从xt到xt−1仅取决于xt,只要我们保持相应分布的正确属性,我们可以更改已知区域(1 − m) ⊙ xt。由于正向过程是由添加的高斯噪声定义的马尔科夫链(1),我们可以使用(7)在任何时间点采样中间图像xt。

这使我们能够在任何时间步骤t采样已知区域m ⊙ xt。因此,对于未知区域使用(2)和对于已知区域使用(7),我们可以在我们的方法中实现一次反向步骤,得到以下表达式:
在这里插入图片描述
在这里插入图片描述

Resampling

在直接应用第4.1节中描述的方法时,我们观察到只有内容类型与已知区域匹配。例如,在图3中n = 1,修复区域是与狗毛发匹配的毛茸茸的纹理。

尽管修复区域与相邻区域的纹理匹配,但在语义上是不正确的。因此,DDPM是基于已知区域的上下文,但未能与图像的其余部分很好地协调。

接下来,我们讨论了这种行为可能的原因。

从图2中,我们分析了该方法如何对已知区域进行条件设定。如(8)所示,该模型使用xt来预测xt−1,其中包括DDPM的输出(2)和来自已知区域的样本。然而,使用(7)采样已知像素时,没有考虑图像的生成部分,这引入了不协调。尽管模型尝试在每一步中重新协调图像,但它永远不能完全收敛,因为在下一步中会发生相同的问题。此外,在每个反向步骤中,由于βt的方差计划,对图像的最大更改会下降。因此,在后续步骤中,由于受限的灵活性,该方法无法纠正导致不协调边界的错误。因此,在进入下一个去噪步骤之前,模型需要更多时间来在一个步骤中协调条件信息x known t−1与生成信息x unknown t−1。

由于DDPM被训练为生成在数据分布内的图像,它自然地旨在产生一致的结构。在我们的重新采样方法中,我们利用了这个DDPM属性来协调模型的输入。因此,我们通过从(1)中采样xt ∼ N(√(1−βt)xt−1, βtI)将输出xt−1回到xt。

尽管这个操作缩小了输出并引入了噪声,但生成区域x unknown t−1中包含的一些信息仍然保留在x unknown t中。这导致了一个新的x unknown t,既与x known t更加协调,又包含了与之有关的条件信息。

由于这个操作只能协调一步,它可能无法整个去噪过程中整合语义信息。为了解决这个问题,我们将这个操作的时间跨度称为跳跃长度,对于先前的情况,跳跃长度为j = 1。与标准扩散速度变化[7](也称为减速)类似,重新采样也增加了反向扩散的运行时间。减速通过减少每个去噪步骤中添加的方差,应用更小但更多的重新采样步骤。然而,这是一种根本不同的方法,因为减速扩散仍然存在不协调图像的问题,如我们的重新采样策略中所描述的。我们在第5.6节中经验性地展示了我们方法的这一优势。

后面略
在这里插入图片描述

实战

效果还可以。

猜你喜欢

转载自blog.csdn.net/x1131230123/article/details/132903350