图 1 本文提出的算法可以很好地修复遮挡面积较大的图像并且适用于各种图像,即使图像具有复杂的重复结构,本文的方法还可以推广到更高分辨率的图像上。
摘要
- 问题描述:目前的图像修复算法在大块缺失区域、复杂几何结构以及高分辨率图像上的修复效果差强人意。
- 原因分析:在修复网络和损失函数都缺少有效的感受野。
- 解决方案: large mask inpainting(lama)
- 1)使用 fast Fourier convolutions(FFCs)以获取更大(wide)的感受野;
- 2)使用一个更大(high)感受野的 perceptual loss(感知损失);
- 3)训练的时候采用更大(large)的 mask 来验证前 2 步改进的效果。
- 实验结果:超过了以往的 SOTA 模型,鲁棒性更好(即使在比训练的分辨率 256×256 更高的图像上也有很好的效果),参数量和时间也更少。
关键字:图像修复(image inpainting), 大掩膜(large), 感受野(large mask), 傅里叶卷积(FFCs)
引言
首先,指出了图像修复问题的本质是尽可能真实地填补图像缺失部分,但要做到这一点需要 2 步,即先理解图像的大尺度结构,然后进行图像合成。
然后,介绍了训练图像修复模型的数据集是在真实图像上进行随机 mask 来产生的。
接着,指出了一个大的、有效的感受野对于理解图像全局结构的重要性,所以作者引进了 FFCs(让网络即使在浅层也拥有整个输入图像的全部感受野) 和 perceptual loss 来增大感受野。
最后,为了发挥大的感受野的优势,训练图像进行大面积的 mask。
图 2 LaMa 是一个基于前馈 ResNet 类型的修复网络,它使用:最近提出的快速傅里叶卷积、一种结合了对抗损失和高感受野感知损失的多损失组合以及一个大掩膜生成程序。
原理解析
要想还原较大范围遮挡的图像,网络在浅层就应该获得更大的感受野。而目前的卷积模型,如 ResNet 的感受野增长是缓慢的。特别是对于大范围的遮挡,整个感受野可能都落在被遮挡的区域。
FFC 将通道划分为两个并行的分支:局部分支和全局分支。局部分支使用传统的卷积网络获取局部信息,全局分支使用 FFT(傅里叶变换)获取全局上下文信息,最终将这两个分支获得的输出进行融合。
损失函数
对于图像修复问题来说,损失函数的选取至关重要,特别是当被遮挡的区域很大时。
高感受野感知损失
原始的监督损失要求生成器尽可能地去还原 Ground Truth。但是当遮挡区域很大时,已有的可见区域的信息不足以还原,因此模型会做出很多摸棱两可的判断,从而导致模糊。
本文提出了 high receptive field perceptual loss(HRF PL),利用一个基本的预训练模型来评估预测图和目标图之间的距离。因为针对 large mask 的修复问题的重点是理解图像的全局结构,因此不需要精确的还原,允许有一定的变化。
预训练模型的选取也很重要,分割模型会关注图像的高级语义信息,而分离模型可能会更关注图像的纹理。
最终的损失函数
最终的损失函数是对 HRF PL 和其他几个损失函数(包括对抗损失)的融合。
训练集中的 mask 生成
训练模型时采用了一种激进的 large mask 生成策略,随机生成遮挡面积较大的 wide 或 box 遮挡。
图 3 来自不同训练 mask 生成策略的样例。作者认为 mask 生成方式会极大地影响最终的修复效果。
实验结果表明,使用 large mask 策略会提高模型的性能,无论是在 narrow 亦或是 wide mask 上进行评估。
模型对比
- 网络:模型的网络框架是 GAN,主体网络结构是 ResNet,其中加入了 FFC。
- 数据集:Place 和 CelebAHQ。
- 评估指标:FID 和 LPIPS(相比于 L1 和 L2 距离,这些指标更适合评估 large mask 的修复效果)。
图 4 在 512×512 的图像上各种修复算法的对比结果。FFCs 能够很好的生成重复的结构,例如玻璃和铁丝网。
图 5 将修复模型迁移到更高分辨率的图像上。随着分辨率的提高,基于传统卷积的模型开始产生致命的伪影,而基于 FFC 的模型继续生成精细的语义一致的图像。
实验结果展示
本文中,实现了简单的 single-stage 方法来修复 large-mask。并被证明是图像修复领域的 SOTA 模型,并给出了框架实现、损失函数以及训练图像生成策略,而且在比较难的修复问题上(比如重复的结构)也表现好。
图 7 LaMa 在重复结构上的修复示例图。
不足之处:
- LaMa 在透视失真和复杂背景上表现不好;
- FFC 是否能够解释周期信号的这些变形仍然是一个问题;
- 除傅里叶和膨胀卷积外,还有其他能够获取高感受野的方案比如 ViT。