RePaint: 基于去噪扩散概率模型进行修复
图 1 本文将 Denoising Diffusion Probabilistic Models(DDPM)应用于图像修复工作。以 masked 图像作为输入。它从随机噪声样本开始,迭代去噪,直至产生高质量的输出。由于这个过程是随机,我们可以得到多种不同的输出样本。并且 DDPM 先验强制协调图像,所以能够从其他区域再现纹理,并修复语义上有意义的内容。
文章目录
- RePaint: 基于去噪扩散概率模型进行修复
-
- 速览
- 摘要
- 引言
- 相关工作
- 准备工作:扩散概率去噪模型
- 方法
-
- 在已知域上进行调节
- 重采样
- 实验
-
- 实现细节
- 评估指标
- 与 SOTA 对比
- 多样性分析
- 类别条件控制生成实验
- 消融实验
- 限制
- 潜在的负面社会影响
- 总结
- 读后感
速览
下载 | 收录 | 源码 | 机构 |
---|---|---|---|
thecvf | CVPR 2022 | GitHub 822 PyTorch | 瑞士•苏黎世联邦理工学院 |
@inproceedings{lugmayr2022repaint,
title={Repaint: Inpainting using denoising diffusion probabilistic models},
author={Lugmayr, Andreas and Danelljan, Martin and Romero, Andres and Yu, Fisher and Timofte, Radu and Van Gool, Luc},
booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
pages={11461--11471},
year={2022}
}
摘要
-
问题描述:自由形式的图像修复是在由任意二进制掩码指定的区域中向图像添加新内容的任务。大多数现有的方法针对特定的掩码分布进行训练,这将它们的泛化能力限制到看不见的掩码类型。此外,基于 pixel-wise 和 perceptual 损失的训练通常会导致对缺失区域的简单纹理扩展,而不是语义上有意义的生成。【笔记:指出了目前图像修复面临的两个主要问题,一是用单一类型的 mask 训练限制了模型的泛化能力,二是 pixel-wise 和 perceptual loss 会导致生成模型朝着纹理填充而不是语义修复方向更新】
-
解决方案:本文提出了基于去噪扩散概率模型的图像修复方法:repaint,甚至对于极端的 mask 情况(mask 面积很大,几乎遮挡了整幅图像)都适用。我们利用一个与训练的无条件的 DDPM 作为一个生成先验模型。为了调节生成过程,我们仅通过使用给定的图像信息对未屏蔽区域进行采样来改变反向扩散迭代。由于该技术不修改或调整原始 DDPM 网络本身,因此该模型可以为任何修复形式生成高质量和多样的输出图像。我们使用标准和极端掩码验证了我们的人脸和通用图像修复方法。【笔记:自扩散模型在 NIPS 2020 上发布第一篇 work,即 DDPM 之后,扩散模型在很多领域的应用都取得了极大的成功,本篇 CVPR 2022 的论文也是扩散模型在图像修复领域成功应用的典范】
-
实验结果:对于六种掩模分布中的至少五种,repaint 优于最先进的 Autoregressive 和 GAN 方法。【笔记:从实验上证明了基于 DDPM 的方法具有更强的鲁棒性,即适用于多种掩膜分布】
关键字:图像修复(image inpainting), DDPM(去噪扩散概率模型)
引言
首先,给出了图像修复的定义:图像修复也叫 Image Completion,旨在填补图像中的缺失区域。填补的内容应该与图像的其余部分协调,并且在语义上是合理的。因此,就需要修复算法具有很强的生成能力。
然后,指出了目前 SOTA 模型的不足和在训练方法上的缺陷:当前的 SOTA 方法依赖于 GANs 或者 Autoregressive 模型。此外,修复算法也需要能够处理各种格式的 mask,比如薄或厚的笔刷形状的、方形的、甚至是极端的 mask。这是非常具有挑战性的,因为现有的方法都是在具有特定的掩码分布上进行训练的,这可能导致对新掩码类型的泛化较差。
接着,介绍了最新的生成模型替代范式 DDPM:有研究已经表明了,DDPM 在图像合成上已经能够超越基于 GAN 的 SOTA 模型。本质上,DDPM 被训练为通过反转扩散过程来迭代地对图像进行去噪。从随机采样的噪声开始,DDPM 然后迭代应用一定数量的步骤,这产生最终的图像样本。虽然建立在原则性的概率建模基础上,但 DDPM 已被证明可以生成多种高质量的图像。【笔记:OpenAI 的 DALL·E 2 和谷歌的 Imagen 都是用的 DDPM 来完成由文本生成高分辨率图像的任务】
进而,引出本文提出的方法 RePaint:一种仅利用现成无条件训练的 DDPM 的修复方法。具体而言,我们通过在反向扩散迭代期间从给定像素采样来调节生成过程,而不是学习 mask-conditional 生成模型。值得注意的是,我们的模型因此没有针对修复任务本身进行训练。这有两个重要的优点。首先,它允许我们的网络在推理过程中推广到任何掩码(any mask)。其次,它使我们的网络能够学习更多的语义生成能力,因为它具有强大的 DDPM 图像合成先验知识。
虽然,标准的 DDPM 采样策略产生匹配纹理,但修复通常在语义上是不正确的。因此,我们引入了一种改进的去噪策略,即重新采样(RePaint)迭代以更好地调节图像。
最后,在 CelebA-HQ 和 ImageNet 数据集上和其他各种 SOTA 模型进行了对比。发现我们的方法具有更好的泛化性,总体上具有更具语义意义的修复区域。
相关工作
早期的图像修复工作尝试利用了输入图像或大型图像数据集附近的低水平线索来填充缺失区域。
确定性图像修复:这类大多是基于 GANs 的方法。使用编解码器作为主要的修复生成器,然后利用定制的损失函数进行对抗训练,旨在还原一个写实的图像。由于图像修复高级的语义上下文,并且为了将其显示地包含在生成 pipeline 中,已有很多手工设计的架构,例如 Dilated Convolutions、Partial Convolutions、Gated Convolutions、Contextual Attention、Edges maps、Semantic Segmentation maps 以及 Fourier Convolutions 等。GANs 侧重于纹理合成,例如背景填充和删除对象,但难以进行语义合成。
多样性图像修复:由于在图像合成期间缺乏控制,大多数基于 GAN 的图像修复方法易于发生确定性变换。为了解决该问题,就诞生了基于 VAE 的方法,它可以在多样性和重建之间进行权衡。此外,一个新的基于 Autoregressive,可以处理不规则掩模,最近已成为自由形式图像修复的有力替代方法。
图像先验的使用:Richardson 曾用 StyleGAN 先验成功地修复了图像中的缺失区域。然而,与利用 StyleGAN 潜在空间的超分辨率方法类似,它仅限于人脸等特定场景。值得注意的是,Ulyanov 等人表明,未训练过的生成器网络的结构包含可用于图像修复和其他应用的固有先验。与这些方法相比,我们利用了预训练去噪扩散概率模型(DDPM)的高表达能力,因此将其用作通用图像修复的先验。我们的方法无论是在语义生成还是纹理合成上都能生成精细的、高质量图像。此外,我们的方法没有针对图像修复任务进行训练,而是充分利用了先前的 DDPM,因此每个图像都是独立优化的。
图像条件扩散模型:之前已有两项工作将扩散模型用于图像修复,然而这两项工作仅显示了定性结果,并且与其他修复方法没有比较。相反,我们的目标是提高图像修复的艺术水平,并与文献中最具竞争力的方法进行全面比较。
与当前已有的工作不同,我们利用无条件 DDPM,并且只通过反向扩散过程本身调节。它使我们的方法可以毫不费力地推广到任何掩模形状,以进行自由形式的修补。此外,我们提出了一种用于 reverse 过程的采样计划,这大大提高了图像质量。
准备工作:扩散概率去噪模型
本文使用扩散模型作为生成模型。和其他的生成模型一样,DDPM 学习给定数据集图像中的数据分布。推理过程通过对随机噪声矢量
x
T
x_{T}
xT 进行采样并逐渐对其进行去噪,直到其达到高质量输出图像
x
x_{0}
x0。
训练期间,DDPM 方法定义了在
T
T
T 个时间步长中将图像
x
x_{0}
x0 转换为高斯白噪声
x
T
∼
N
(
,
1
)
x_{T}∼ N (0, 1)
xT∼N(0,1) 的扩散过程。DDPM 的训练就是逆转(reverse)这个扩散过程,逆转过程是由能够预测高斯分布参数的神经网络来建模的。
正如 Nichol 和 Dhariwal 所介绍的,学习逆转过程中的方差有助于将采样步骤数量减少一个数量级。因此,它们增加了变分下限损失。具体而言,我们的训练和推理方法基于最近的工作[7],这进一步将推理时间缩短了四倍。
方法
在已知域上进行调节
图 2 本文方法概述。RePaint 修改标准去噪过程,以便对给定图像内容进行调整。在每一步中,我们从输入中采样已知区域,从 DDPM 输出中采样修复部分。
重采样
当直接应用上述方法时,我们发现只会填补与已知区域匹配的内容。例如,在图 3 中,当 n=1 时修复区域是与狗的毛发匹配的毛茸茸的纹理。虽然修复区域与相邻区域的纹理匹配,但在语义上是不正确的。因此,DDPM 虽然利用了已知区域的上下文,但与图像的其余部分并不协调。接下来,我们讨论这种行为的可能原因。
图 3 应用 n 个采样步长的效果。n=1 的第一个示例是 DDPM 基线,n=2 的第二个示例是一个重采样步骤。更多的重采样步骤导致更协调的图像。在大约 n = 10 次重采样时,趋近饱和。
从图 2 中,我们分析了该方法如何调节已知区域。该模型使用
x
t
x_{t}
xt 预测
x
t
−
1
x_{t−1}
xt−1,其中包括 DDPM 的输出和来自已知区域的样本。然而,对已知像素的采样是在不考虑图像的生成部分的情况下执行的,这引入了不和谐。尽管模型在每一步中都试图再次协调图像,但它永远不会完全收敛,因为下一步会出现相同的问题。此外,在每个 reverse 步骤中,由于
β
t
β_{t}
βt 的方差调度,图像的最大变化减小。因此,由于灵活性有限,该方法无法纠正导致后续步骤中边界不协调的错误。因此,模型需要更多的时间来协调条件信息
x
t
−
1
k
n
o
w
n
x_{t-1}^{known}
xt−1known和生成信息
x
t
−
1
u
n
k
n
o
w
n
x_{t-1}^{unknown}
xt−1unknown,然后前进到下一个去噪步骤。
因此,我们对重采样过程进行了改进,通过减少每个去噪步骤中的附加方差,减速应用更小但更多的重采样步骤。
实验
通过在人脸和通用图像修复上与 SOTA 模型的对比实验,证明了我们方法的 mask 鲁棒性和生成多样性。
实现细节
- 数据集:CeleA-HQ(人脸) 和 ImageNet(通用);
- 训练图像大小:CeleA-HQ 是 256x256;
- 预训练模型:ImageNet 扩散模型。
评估指标
- 定性评估:用户调研。
- 定量评估:LPIPS。
与 SOTA 对比
表 1 CelebA HQ 和 ImageNet 定量结果。与最先进的方法进行比较。我们计算 LPIP(越低越好),并对六种不同的 mask 设置进行投票。票数是指相对于我们的票数的比例。
图 4 CelebA HQ 定性结果。在几种 mask 设置下与最先进的面部修复方法进行比较。放大以获得更好的细节。
图 5 ImageNet 定性结果。在几种 mask 设置下与最先进的通用修复方法进行比较。放大以获得更好的细节。
从对比结果中可以发现,其他方法生成的图像要么模糊,要么就有 artifacts(伪影)。只有基于 GAN 的 LaMa 才有的一拼,但 LaMa 会产生臭名昭著的棋盘伪影(把图放大一点就能看到)。此外,RePaint 相比于 LaMa 更具想象力,能产生更多的语义信息(所以也导致某些情况下定量指标不如 LaMa 好,但这只能说明指标不合适,而不能说明 RePaint 不如 LaMa)。
基线模型产生的伪影可以通过对训练掩码的强过拟合来解释。相反,由于我们的方法不涉及 mask 训练,因此可以处理任何类型的 mask。在大面积修补的情况下,RePaint 会产生语义上有意义的填充,而其他修复算法则会生成伪影或复制的纹理。
多样性分析
每个 reverse diffusion step 本质上是随机的,因为它包含来自高斯分布的新噪声。此外,由于我们不直接以任何损失引导修复区域,因此模型可以自由修复与训练集语义一致的任何内容。
类别条件控制生成实验
预训练的 ImageNet DDPM 模型能够进行类别-条件生成采样。
图 6 在 ImageNet 上生成类别指导的可视化结果。
消融实验
与 slowing down 对比:为了分析增加的计算预算是否会导致重采样性能的提高,我们将其与常用的 slowing down 扩散过程的技术进行了比较。我们观察到,重采样使用额外的计算预算来协调图像,而在 slowing down 扩散过程方面没有明显的改进。
表 2 计算预算使用的定量分析。我们比较了 slowing down 扩散过程和重采样。我们使用 ImageNet 验证集,在 LaMa 宽的 mask 设置上有 32 幅图像。扩散步骤的数量用 T 表示,重采样的数量用 r 表示。
图 7 计算预算使用的定性分析。与 slowing down 扩散过程相比,RePaint 通过重采样以相同的计算预算产生更高的视觉质量。扩散步骤的数量用 T 表示,重采样用 r 表示。
Jumps Length:在应用较大跳跃 j=10 长度时,我们获得了比较小步长更好的性能。我们观察到,对于跳跃长度 j=1,DDPM 更可能输出模糊图像。此外,重采样次数 r 也同样增加了性能。
表 3 跳跃长度 j 和重采样次数 r 的消融分析。我们报告了与 LaMa 相关的 LPIPS 和平均用户研究投票。我们使用来自 CelebA 验证集的 32 幅图像,并使用 LaMa 宽掩码设置。
与 SDEdit 采样策略对比:
表 4 与 SDEdit 中提出的重采样策略在 LPIPS 指标上比较。在我们的 RePaint 中提出的重采样方法实现了更好的结果,特别是对于超分辨率掩模。
限制
主要贡献:
- 我们的方法产生清晰、高度详细和语义有意义的图像。
- 我们的工作为解决图像修复目前的局限性开辟了有趣的研究方向。
有待改进:
- 每个图像的 DDPM 优化过程明显慢于基于 GAN 和自回归的对应过程。这使得目前难以将其应用于实时应用。虽然慢,但 DDPM 仍然很受欢迎,目前很多研究致力于提高其效率。
- 对于极端的 mask 情况,RePaint 可以生成与 GT 图像非常不同的图像。这使得这些条件下的定量评估具有挑战性。一种解决方案是在测试集上使用 FID 进行评估。然而,用于图像修复的可靠 FID 通常使用 1000 多个图像计算。对于当前的 DDPM,这将导致大多数研究机构不可行的运行时。
- 此外,作者在 GitHub 仓库中提到:由于 ImageNet 中狗的占比很高,所以对于 half 或极端的 mask 情况,模型更倾向于去填补狗,例如图 5 中的 Thick 场景的修复,以及下图。
图8 RePaint 修复失败的情况。
潜在的负面社会影响
一方面,RePaint 是一种依赖于无条件预训练 DDPM 的修复方法。因此,该算法可能偏向于其所训练的数据集。由于该模型旨在生成与训练集相同分布的图像,因此可能反映相同的偏见,如性别、年龄和种族。另一方面,RePaint 可以用于面部的匿名化。例如,可以删除公共活动中显示的人的身份信息,并伪造人造脸以保护数据。【笔记:这段简单提了一下该方法可能遇到的伦理问题】
总结
针对图像修复任务,我们提出了一种新的去噪扩散概率模型。详细地说,我们开发了一种掩模不可知方法,该方法广泛增加了用于自由形式修补的掩模的自由度。由于 RaPaint 的新调节方法符合 DDPM 的模型假设,因此无论掩模的类型如何,它都会生成照片逼真的图像。
读后感
DDPM 最近大火,这是一篇将 DDPM 成功地应用到图像修复任务中的典范,由此也说明了 DDPM 的潜力确实不容小觑,貌似快要撼动 GAN 和 VAE 的地位了。因此,有意向的同学赶快去看看 DDPM 的原论文,然后思考如何与自己的任务结合起来。