**
Inpaint Anything: Segment Anything Meets Image Inpainting
**
论文地址:https://arxiv.org/abs/2304.06790
项目地址:https://github.com/geekyutao/Inpaint-Anything
Abstract
尽管现代图像修复系统取得了显著的进展,但在mask选择和holes填充方面仍然面临挑战。基于Segment-Anything Model(SAM),我们首次尝试进行mask-free图像修复,并提出了一种名为“clicking and filling”的新范式,称为Inpaint Anything(IA)。IA背后的核心思想是结合不同模型的优势,以构建一个非常强大且用户友好的流程来解决修复相关问题。IA支持三个主要功能:(i)移除任何内容:用户可以点击一个对象,IA将移除它并用上下文平滑“hole”;(ii)填充任何内容:在移除某些对象后,用户可以向IA提供基于文本的提示,然后IA通过驱动诸如稳定扩散的AIGC模型来用相应的生成内容填充“hole”;(iii)替换任何内容:使用IA,用户可以选择保留点击选择的对象,并用新生成的场景替换其余背景。
Motivation and Observation
Why do we need Inpaint Anything?
最先进的图像修复工作,如 LaMa、Repaint、MAT、ZITS等,已经取得了很大的进展。它们可以成功修复大面积区域,并能很好地处理复杂的重复结构,并能很好地推广到高分辨率图像。然而,他们通常需要对每个mask进行精细注释,这对于训练和推理至关重要。
SAM是一个强大的分割基础模型,可以根据点或框等输入提示生成高质量的对象mask,并且可以用于为图像中的所有对象生成全面且准确的mask。然而,他们的mask分割预测尚未得到充分探索。
此外,现有的修复方法只能用上下文填充移除的区域。 AIGC 模型开辟了新的创作机会,有可能满足大量需求并帮助人们新生成他们想要的内容。
因此,通过结合 SAM、SOTA 图像修复和AIGC模型的优势,我们提供了一个强大且用户友好的流程来解决更常见的修复相关问题,例如对象移除、新内容填充、背景替换。
What Inpaint Anything can do?
SAM + SOTA inpainters for removing anything
借助 IA,用户只需单击特定对象即可轻松从界面中移除它们。此外,IA 还为用户提供了一个选项,可以用上下文数据来填充由此产生的“hole”。以此为导向,我们结合了 SAM 和 LaMa 等一些 SOTA Inpainters 的优势。通过corrosion and dilation进行细化后,SAM 生成的mask预测将作为修复模型的输入,为要擦除和填充的对象区域提供清晰的指示。
SAM + AIGC models for filling or replacing anything
(1) 移除对象后,IA 为用户提供了用上下文数据或“新内容”填充所产生的“hole”的选项。具体来说,利用Stable Diffusion等强大的AIGC模型通过文本提示生成新对象。例如,用户可以使用“狗”这个词或“一只可爱的狗,坐在长凳上”的句子来生成一条新狗,以用新生成的狗来填补这个“hole”。
(2) 此外,用户还有另一种选择,即采用 IA 单击保留选定的对象,并用新生成的场景替换剩余的背景。IA的场景替换过程支持多种提示AIGC模型的方式,例如使用不同的图像作为视觉提示或使用简短的标题作为文本提示。例如,用户可以将狗保留在图像中,但将原始的室内背景替换为室外背景。
Methodology
Preliminary
Segment Anything Model (SAM).上周发布了基于大型视觉语料库(SA-1B)训练的大型ViT模型的Segment Anything [7]的基础计算机视觉模型。SAM在各种场景中展示了有希望的分割能力,展示了基础模型在计算机视觉中的巨大潜力。这是迈向视觉通用人工智能的突破性进展,而SAM曾被誉为“ChatGPT的计算机视觉版”。
SOTA Inpainters. 图像修复作为一种不适定的逆问题,在计算机视觉和图像处理领域得到了广泛的探索,其目的是用视觉上合理的结构和纹理来替换损坏图像的缺失区域。深度学习的成功带来了新的机遇[13,10,8,4],所有这些SOTA方法都可以从多个角度进行分类,例如修复策略、网络结构和损失函数。对于我们的Inpaint Anything (IA),我们研究了一种简单的单阶段方法LaMa [13]用于基于mask的修复,通过组合快速傅里叶卷积(FFCs)[1]、感知损失[6]和积极的训练mask生成策略,该方法在生成重复的视觉结构方面具有优势。
AIGC Models. ChatGPT 1和其他生成式人工智能(GAI)技术都属于人工智能生成内容(AIGC)的范畴,它通过AI模型创建数字内容,如图像、音乐和自然语言。这被视为一种新型的内容创作方式,并在各种内容生成方面展示了最先进的性能[11, 12]。在我们的IA工作中,我们直接使用了强大的AIGC模型Stable Diffusion [11],根据文本提示在空白区域生成所需的内容。
Inpaint Anything
我们提出的Inpaint Anything (IA)的原则是将现成的基础模型组合起来,以实现解决广泛的图像修复问题的能力。通过组合各种基础模型的优势,IA可以生成高质量的修复图像。具体而言,我们的IA有三种方案,即Remove Anything、Fill Anything和Replace Anything,分别用于移除、填充和替换任意对象。
Remove Anything. Remove Anything 专注于对象移除问题 [2,3,5],允许用户从图像中消除任何对象,同时确保生成的图像在视觉上保持合理。移除任何内容由三个步骤组成:单击、分割和移除,如图 1 所示。第一步,用户通过单击选择要从图像中移除的对象。接下来,利用基础分割模型,例如 Segment Anything [7],根据点击位置自动分割对象并创建mask。最后,使用最先进的修复模型(例如 LaMa [13])来填充使用mask移除的对象所产生的孔。由于该对象不再出现在图像中,因此修复模型会用背景信息填充该hole。请注意,在整个过程中,用户只需单击要从图像中移除的对象即可。
Fill Anything.Fill Anything允许用户使用任何内容来填充图像中的任何对象。该工具包括四个步骤:点击、分割、文本提示和生成。Fill Anything的前两个步骤与Remove Anything相同。在第三步中,用户输入一个文本提示,指示他们希望用什么来填充对象的hole。最后,采用强大的AIGC模型,如Stable Diffusion [11],根据文本提示修复模型在hole中生成所需的内容。
Replace Anything. Replace Anything能够用任何背景替换任何对象。Replace Anything的过程与Fill Anything类似,但在这种情况下,AIGC模型被提示生成在指定对象之外存在的视觉一致的背景。
Practice. 将基础模型组合起来解决任务可能会遇到不兼容或不合适的问题。为了更好地协调模型和任务之间的关系,我们应该考虑中间处理。在这项工作中,针对图像修复场景,我们总结了以下几个组合的良好实践。
-
Dilation matters.
我们观察到SAM的分割结果可能包含不连续和非平滑的边界,或者对象区域内部存在holes。这些问题给有效地移除或填充对象带来了挑战。因此,我们采用a dilation操作来优化mask。此外,在填充对象时,较大的mask给AIGC模型更多的创建空间,有利于与用户目的的“对齐”。因此,我们在Fill Anything中采用了较大的dilation。
-
Fidelity matters.
大多数最先进的AIGC模型(如Stable Diffusion)要求图像具有固定的分辨率,通常为512×512。简单地将图像调整为这个分辨率可能会导致保真度的损失,这可能对最终的修复结果产生不利影响。因此,采取保留原始图像质量的措施非常重要,例如使用裁剪技术或在调整大小时保持图像的纵横比。
-
Prompt matters.
我们的研究表明,文本提示对AIGC模型具有显著影响。然而,我们观察到,在文本提示修复的场景中,简单的提示,如“长凳上的泰迪熊”或“墙上的毕加索绘画”,通常可以产生令人满意的结果。相比之下,更长、更复杂的提示可能会产生令人印象深刻的结果,但往往不太用户友好。
Experiment
我们在Inpaint Anything中对Remove Anything、Fill Anything和Replace Anything进行了评估,分别在三种情况下进行了测试:移除对象、填充对象和替换背景。我们从COCO数据集[9]、LaMa测试集[13]和我们手机拍摄的照片中收集了测试图像。结果如图2、图3和图4所示。实验结果表明,提出的Inpaint Anything具有通用性和鲁棒性,能够有效地修复具有多样化内容、分辨率和长宽比的图像。
心得体会
“移除一切、填充一切、替换一切”操作简单,IA其结合不同模型优势的核心思想,建立一个用户操作友好且功能强大的图像修复系统,展现了模型与模型的的组合可以充分展现了大型模型的强大功能。
本文链接:https://my.lmcjl.com/post/4513.html
4 评论