Guilin Liu Fitsum A. Reda Kevin J. Shih Ting-Chun Wang Andrew Tao Bryan CatanzaroNVIDIA Corporation
摘要:
现有的基于深度学习的图像修复方法在损坏的图像上使用标准卷积网络,使用以有效像素为条件的卷积滤波器响应以及掩码孔中的替代值(通常是平均值)。这通常会导致颜色差异和模糊等伪影。后处理通常用于减少此类伪影,但昂贵并且可能失败。我们建议使用部分卷积,其中卷积被屏蔽并重新归一化以仅有效像素为条件。我们进一步包括一个机制来自动生成下一层的更新掩码作为前向传递的一部分。我们的模型优于不规则掩码的其他方法。我们展示了与其他方法的定性和定量比较来验证我们的方法。
修复效果展示:
对比方案概述(摘自原文):
1.PatchMatch:迭代搜索最佳拟合补丁,在b图像上就是使用图像的阴影还有墙面相关像素来进行补充空洞的图像;
2.使用具有不同空值初始化的卷积层U-net架构的结果,如图e,f,分别初始化均值为127.5即255的一半,周围图像的均值?得到的复原结果
3.基于2的卷积层生成的结果后,不同的研究者有多种后处理,其中图c展示的为Lizuka使用快速行进&泊松图像混合处理;图d展示的为增加了后续的细化网络去优化原始网络预测。但是这些解决方案依然存在伪影
4.本文提出的方案旨在实现和孔洞初始化值无关的良好的预测,同时不需要任何后处理。
对于这篇论文,在这篇文章中对于公式以及原理都有一个详细描述。【论文阅读笔记】Image Inpainting for Irregular Holes Using Partial Convolutions-CSDN博客
对于网络流程图进行了简单补充,来源于论文。
依然是经典的unet的框架:
但是本文的改进在于将部分卷积操作和掩码更新函数联合称为部分卷积层。
部分卷积层:
其中,掩码 M 中的每个元素取值是0或1:
- 当 𝑀 中的元素为1时,表示对应的像素是有效的,即它是原始图像中未被损坏或缺失的部分。
- 当 𝑀 中的元素为0时,表示对应的像素是无效的,即它是需要被填充或重建的区域。
在论文中提到的部分卷积(partial convolution)操作中,卷积运算仅在掩码 𝑀 为1的像素上进行,即只考虑有效的像素。这样做的目的是使得卷积运算的结果仅依赖于有效的输入像素,而忽略无效的像素区域。随后,部分卷积操作后会有一个掩码更新步骤,如果卷积能够在至少一个有效输入值上进行条件化,则将该位置在掩码中标记为有效。这样,随着网络的逐层传递,掩码 𝑀 会逐渐更新,最终使得所有的掩码区域都被有效像素所替代,从而完成图像的修复任务。