Inpaint Anything: Segment Anything Meets Image Inpainting

  • 论文链接:http://arxiv.org/abs/2304.06790
  • 代码库链接:https://github.com/geekyutao/Inpaint-Anything

4 月初,Meta 发布了史上首个图像分割基础模型–SAM(Segment Anything Model)。作为分割模型,SAM 的能力强大,操作使用方式也十分友好,比如用户简单地点击来选择对应物体,物体就会立即被分割出来,且分割结果十分精准。截至 4 月 15 号,SAM 的 GitHub 仓库的 Star 数高达 26k。

如何利用好如此强大的「分割一切」模型,并拓展到更加有实际需求的应用场景至关重要。例如,当 SAM 遇上实用的图像修补(Image Inpainting)任务会碰撞出什么样的火花?

来自中国科学技术大学和东方理工高等研究院的研究团队给出了令人惊艳的答案。基于 SAM,他们提出「修补一切」(Inpaint Anything,简称 IA)模型。区别于传统图像修补模型,IA 模型无需精细化操作生成掩码,支持了一键点击标记选定对象,IA 即可实现移除一切物体(Remove Anything)、填补一切内容(Fill Anything)、替换一切场景(Replace Anything),涵盖了包括目标移除、目标填充、背景替换等在内的多种典型图像修补应用场景。

主要功能:

尽管当前图像修补系统取得了重大进展,但它们在选择掩码图和填补空洞方面仍然面临困难。基于 SAM,研究者首次尝试无需掩码(Mask-Free)图像修复,并构建了「点击再填充」(Clicking and Filling) 的图像修补新范式,他们将其称为修补一切 (Inpaint Anything)(IA)。IA 背后的核心思想是结合不同模型的优势,以建立一个功能强大且用户友好的图像修复系统

IA 拥有三个主要功能:(i) 移除一切(Remove Anything):用户只需点击一下想要移除的物体,IA 将无痕地移除该物体,实现高效「魔法消除」;(ii) 填补一切(Fill Anything):同时,用户还可以进一步通过文本提示(Text Prompt)告诉 IA 想要在物体内填充什么,IA 随即通过驱动已嵌入的 AIGC(AI-Generated Content)模型(如 Stable Diffusion )生成相应的内容填充物体,实现随心「内容创作」;(iii) 替换一切(Replace Anything):用户也可以通过点击选择需要保留的物体对象,并用文本提示告诉 IA 想要把物体的背景替换成什么,即可将物体背景替换为指定内容,实现生动「环境转换」。IA 的整体框架如下图所示:

Inpaint Anything(IA)示意图。用户可以通过单击来选择图像中的任何物体。借助强大的视觉模型,如 SAM、LaMa 和 Stable Diffusion (SD) ,IA 能够平滑移除选定物体(即 Remove Anything)。进一步地,通过向 IA 输入文本提示,用户可以用任何想要的内容填充物体(即 Fill Anything)或者任意替换对象的物体(即 Replace Anything)

移除一切(Remove Anything)示意图

 「移除一切」步骤如下:

  • 第 1 步:用户点击想要移除的物体;
  • 第 2 步:SAM 将该物体分割出来;
  • 第 3 步:图像修补模型(LaMa)填补该物体。

填补一切

Text prompt: “a teddy bear on a bench”

image

Click on an object, type in what you want to fill, and Inpaint Anything will fill it!

  • Click on an object;
  • SAM segments the object out;
  • Input a text prompt;
  • Text-prompt-guided inpainting models (e.g., Stable Diffusion) fill the “hole” according to the text.

「填补一切」步骤如下:

  • 第 1 步:用户点击想要移除的物体;
  • 第 2 步:SAM 将该物体分割出来;
  • 第 3 步:用户通过文本示意想要填充的内容;
  • 第 4 步:基于文本提示的图像修补模型(Stable Diffusion)根据用户提供的文本对物体进行填充。

替换一切

替换一切(Replace Anything)示意图,图中使用的文本提示:a man in office

「填补一切」步骤如下:

  • 第 1 步:用户点击想要移除的物体;
  • 第 2 步:SAM 将该物体分割出来;
  • 第 3 步:用户通过文本示意想要替换的背景;
  • 第 4 步:基于文本提示的图像修补模型(Stable Diffusion)根据用户提供的文本对物体的背景进行替换。

Text prompt: “a man in office”

image

Click on an object, type in what background you want to replace, and Inpaint Anything will replace it!

  • Click on an object;
  • SAM segments the object out;
  • Input a text prompt;
  • Text-prompt-guided inpainting models (e.g., Stable Diffusion) replace the background according to the text.

Remove Anything 3D

Remove Anything 3D can remove any object from a 3D scene! We release some results below.

org.gif
mask.gif
result.gif

研究者随后在 COCO 数据集、LaMa 测试数据集和他们自己用手机拍摄的 2K 高清图像上对 Inpaint Anything 进行测试。值得注意的是,研究者的模型还支持 2K 高清图和任意长宽比,这使得 IA 系统在各种集成环境和现有框架中都能够实现高效的迁移应用

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注