Resolution-robust Large Mask Inpainting with Fourier Convolutions(2021)

本文介绍了一种名为LaMa的新型图像修复方法,它利用傅里叶卷积增强感受野,解决大尺寸缺失区域和复杂结构修复难题。通过高感受野网络、感知损失和激进的掩码生成策略,LaMa在保持高性能的同时,参数和计算成本远低于竞品,且能有效推广到高分辨率。

[Paper] Resolution-robust Large Mask Inpainting with Fourier Convolutions(2021)
[Code]saic-mdal/lama

基于傅里叶卷积的分辨率稳健的大型掩码修复

在这里插入图片描述
现在的图像修复系统,尽管取得了重大进展,但经常与大面积缺失区域、复杂几何结构和高分辨率图像做斗争。我们发现造成这种情况的主要原因之一是修复网络和损失函数都缺乏有效的感受野。
为缓解这个问题,我们提出了一种称为大蒙版修复(LaMa)的新方法。LaMa基于:1)新的修复网络结构,该网络结构使用快速傅里叶卷积,具有图像范围的感受野;2)高感受野感知损失;3)大型训练掩码,它释放了前两个组件的潜力。我们的修复网络改进了一系列数据集的最新技术,即使在具有挑战性的场景中也能实现出色的性能,例如,完成周期性结构。我们的模型非常好地推广到比训练时看到的分辨率更高的分辨率,并以此竞争基线更低的参数和计算成本实现这一目标。

概述

图像修复问题的解决方案——真实填充缺失部分——既需要“理解”自然图像的大规模结构,也需要进行图像合成。该主题在前深度学习时代 [1, 5, 13] 进行了研究,近年来通过使用深度和宽神经网络 [26, 30, 25] 和对抗性学习 [34, 18, 56、44、57、32、54、61]。

通常的做法是在自动生成的大型数据集上训练修复系统,该数据集是通过随机屏蔽真实图像创建的。复杂的两阶段方法曾经是一种常见的做法,通常涉及中间预测(例如平滑图像 [27、54、61]、边缘 [32、48] 和分割图 [44])。在这项工作中,我们使用最简单的单级网络实现了最先进的结果。

大的有效感受野 [29] 对于理解图像的全局结构并因此解决修复问题至关重要。此外,在大掩码的情况下,即使大但有限的感受野可能不足以访问生成质量修复所需的信息。我们注意到流行的卷积架构可能缺乏足够大的有效感受野。我们仔细干预系统的每一个组件,以缓解问题并释放单阶段解决方案的潜力。具体来说:
1)我们提出了一种基于最近开发的快速傅立叶卷积 [4] 的修复网络。快速傅立叶卷积允许覆盖整个图像的图像范围的感受野,即使在网络的早期层也是如此。我们表明网络受益于感受野的快速增长,实现了更高的质量和参数效率。有趣的是,快速傅立叶卷积中的归纳偏差允许网络推广到训练期间从未见过的高分辨率(图 5、图 6)。这一发现带来了显着的实际好处,因为需要更少的训练数据和计算。
2)我们建议使用基于具有高感受野的语义分割网络的感知损失 [20]。这依赖于以下观察:感受野的缺乏不仅会影响修复网络,还会影响感知损失。损失促进了全局结构和形状的一致性。
3)我们引入了一种极简的训练掩码生成策略,以释放前两个组件的高感受野的潜力。该过程产生宽大的掩码,迫使网络充分利用模型的高感受野和损失函数。

这将我们引向大型掩码修复(LaMa)——一种新颖的单阶段图像修复系统。LaMa的主要组成部分是高感受野架构(1),具有高感受野损失函数(2),以及训练掩码生成的激进算法(3)。我们精心将LaMa与最先进的基线进行比较,并分析每个提议组件的影响。通过评估,我们法向LaMa仅在低分辨率数据上训练后可以推广到高分辨率图像。LaMa可以捕获并生成复杂的周期性结构,并且对大型掩码具有鲁棒性。此外,与竞争基线相比,这是通过显着减少可训练参数和计算成本来实现的。

方法

我们的目标是修复被未知像素 m m m 的二进制掩码掩蔽的彩色图像 x x x,掩蔽图像表示为 x ⨀ m x \bigodot m xm。掩码 m m m与掩码图像 x ⨀ m x \bigodot m xm堆叠,产生一个四通道输入张量$x’=stack( x ⨀ m x \bigodot m xm, m)$。我们使用前馈修复网络 f θ ( ⋅ ) f_θ(·) fθ(),我们也将其称为生成器。取 x ′ x' x ,修复网络以全卷积方式处理输入,并生成修复后的三通道彩色图像 x ^ = f θ ( x ′ ) \hat x = f_θ(x') x^=

### LaMa(Large Mask Inpainting)模型对输入图像分辨率的最低要求 LaMa 模型的设计目标之一是能够在高分辨率图像上实现良好的修复效果,即使其训练时仅使用低分辨率图像(256x256)进行学习。根据其方法描述,LaMa 具备“分辨率鲁棒性”(resolution-robust),这意味着它可以在推理阶段处理比训练时更高分辨率的图像[^3]。然而,这并不意味着输入图像可以无限低或没有最低要求。 从技术角度来看,LaMa 使用基于快速傅里叶卷积(FFC)的网络结构来扩展感受野,从而能够处理大范围的遮挡区域和高分辨率图像。尽管训练图像尺寸为 256x256,但该模型在推理过程中能够推广到更高分辨率的图像,例如高达约 2K(2048x2048)的图像[^1]。 关于输入图像的最低分辨率要求,虽然没有明确给出具体的下限数值,但从图像修复任务的一般实践来看,输入图像需要具备足够的内容信息以供模型提取特征并进行有效的修复。通常情况下,图像修复模型的最低输入分辨率建议为 128x128 或更高,以确保模型能够有效捕捉图像结构和纹理信息。因此,可以合理推断 LaMa 的最低输入图像分辨率建议不低于 128x128,否则可能会影响修复质量或导致结构信息缺失[^2]。 ### 示例代码:图像预处理 在使用 LaMa 进行图像修复前,可以对图像进行预处理以确保其符合模型的输入要求: ```python from PIL import Image import numpy as np def preprocess_image(image_path, min_size=128): img = Image.open(image_path).convert('RGB') width, height = img.size if width < min_size or height < min_size: # Resize to minimum size while preserving aspect ratio scaling_factor = min_size / min(width, height) new_size = (int(width * scaling_factor), int(height * scaling_factor)) img = img.resize(new_size, Image.BILINEAR) return np.array(img) image = preprocess_image("path_to_your_image.jpg") ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值