当「分割一切」遇上图像修补:无需精细标记,单击物体实现物体移除、内容填补、场景替换...

5cad52863621fbd0b466194f8cb7930c.gif

©作者 | 机器之心编辑部

来源 | 机器之心

这次,强大的「分割一切」模型——Segment Anything Model,在图像修补任务上碰撞出了火花。

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

998d2ac80405706af9c43c94e8e4a6e8.gif

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

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

f79ff3c09256accb54908eb93f4cc39b.png

论文链接:

http://arxiv.org/abs/2304.06790

代码库链接:

https://github.com/geekyutao/Inpaint-Anything

0832eea80e7cfe5df03026b8c2bfde3c.png

方法介绍

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

IA 拥有三个主要功能:

1. 移除一切(Remove Anything):用户只需点击一下想要移除的物体,IA 将无痕地移除该物体,实现高效「魔法消除」;

2. 填补一切(Fill Anything):同时,用户还可以进一步通过文本提示(Text Prompt)告诉 IA 想要在物体内填充什么,IA 随即通过驱动已嵌入的 AIGC(AI-Generated Content)模型(如 Stable Diffusion [2])生成相应的内容填充物体,实现随心「内容创作」;

3. 替换一切(Replace Anything):用户也可以通过点击选择需要保留的物体对象,并用文本提示告诉 IA 想要把物体的背景替换成什么,即可将物体背景替换为指定内容,实现生动「环境转换」。

IA 的整体框架如下图所示:

3864f814330c2408e5e2444be66e3548.png

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

移除一切

ccab3b217db348ee08d1cdb3ff984948.gif

▲ 移除一切(Remove Anything)示意图

「移除一切」步骤如下:

  • 第 1 步:用户点击想要移除的物体;

  • 第 2 步:SAM 将该物体分割出来;

  • 第 3 步:图像修补模型(LaMa)填补该物体。

填补一切

9c6ec48bb0141224d34af8619b234f08.gif

▲ 填补一切(Fill Anything)示意图,图中使用的文本提示:a teddy bear on a bench

「填补一切」步骤如下:

  • 第 1 步:用户点击想要移除的物体;

  • 第 2 步:SAM 将该物体分割出来;

  • 第 3 步:用户通过文本示意想要填充的内容;

  • 第 4 步:基于文本提示的图像修补模型(Stable Diffusion)根据用户提供的文本对物体进行填充。

替换一切

0e23dd833c420422ccdef3cb4eb88fc1.gif

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

「填补一切」步骤如下:

  • 第 1 步:用户点击想要移除的物体;

  • 第 2 步:SAM 将该物体分割出来;

  • 第 3 步:用户通过文本示意想要替换的背景;

  • 第 4 步:基于文本提示的图像修补模型(Stable Diffusion)根据用户提供的文本对物体的背景进行替换。

c699dd175e2c35aa488ccf4d7edac4f4.png

模型结果

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

移除一切实验结果

900bc538193981abcd742467fb9228eb.gif

23f2ab13e9dd72b96b336f9c8637b425.gif

f486bd4fd7bbfbd55bb2774f4390e46c.gif

5dac0195f2612d22147ee8fb201863c9.gif

037e101eb4f9827dbad440f3f2b8f223.gif

填充一切实验结果

53e166a85fc753ab1ff469852ab0e704.gif

▲ 文本提示:a camera lens in the hand

2c84f918c77bf034b79089711fcc2579.gif

▲ 文本提示:an aircraft carrier on the sea

6abd3567a81bf8a6da685b484e9640c2.gif

▲ 文本提示:a sports car on a road

840a63e6f05e4e69fa79d5b555f7b477.gif

▲ 文本提示:a Picasso painting on the wall

替换一切实验结果

9ce77068d75ac95dc5f1636abebd5d72.gif

▲ 文本提示:sit on the swing

f0ad4a702560037902f42d81bf1f88aa.gif

▲ 文本提示:breakfast

880bae6d2e93af687a6317250ef4c704.gif

▲ 文本提示:a bus, on the center of a country road, summer

c9590fccd49e697adec5edfd35748588.gif

▲ 文本提示:crossroad in the city

d154b8e62fdb638e1c9269944ccaa2ee.png

总结

研究者建立这样一个有趣的项目,来展示充分利用现有大型人工智能模型所能获得的强大能力,并揭示「可组合人工智能」(Composable AI)的无限潜力。项目所提出的 Inpaint Anything (IA) 是一种多功能的图像修补系统,融合了物体移除、内容填补、场景替换等功能(更多的功能正在路上敬请期待)。

IA 结合了 SAM、图像修补模型(例如 LaMa)和 AIGC 模型(例如 Stable Diffusion)等视觉基础模型,实现了对用户操作友好的无掩码化图像修复,同时支持「点击删除,提示填充」的等「傻瓜式」人性化操作。此外,IA 还可以处理具有任意长宽比和 2K 高清分辨率的图像,且不受图像原始内容限制。

目前,项目已经完全开源。最后,欢迎大家分享和推广 Inpaint Anything (IA) ,也很期待看见更多基于 IA 所拓展的新项目。未来,研究者将进一步挖掘 Inpaint Anything (IA) 的潜力 以支持更多实用的新功能,如细粒度图像抠图、编辑等,并将其应用到更多现实应用中。

outside_default.png

参考文献

outside_default.png

[1] Alexander Kirillov, Eric Mintun, Nikhila Ravi, Hanzi Mao,Chloe Rolland, Laura Gustafson, Tete Xiao, Spencer Whitehead, Alexander C Berg, Wan-Yen Lo, et al. Segment anything. arXiv preprint arXiv:2304.02643, 2023.

[2] Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser, and Björn Ommer. High-resolution image synthesis with latent diffusion models. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern

Recognition, pages 10684–10695, 2022.

[3] Roman Suvorov, Elizaveta Logacheva, Anton Mashikhin, Anastasia Remizova, Arsenii Ashukha, Aleksei Silvestrov, Naejin Kong, Harshith Goka, Kiwoong Park, and Victor Lempitsky. Resolution-robust large mask inpainting with fourier convolutions. In Proceedings of the IEEE/CVF winter conference on applications of computer vision, pages 2149–2159, 2022.

[4] Tsung-Yi Lin, Michael Maire, Serge Belongie, James Hays, Pietro Perona, Deva Ramanan, Piotr Doll´ar, and C Lawrence Zitnick. Microsoft coco: Common objects in context. In Computer Vision–ECCV 2014: 13th European Conference,

Zurich, Switzerland, September 6-12, 2014, Proceedings, Part V 13, pages 740–755. Springer, 2014.

更多阅读

d3b0d4dc612eed87b5637b38f54129d4.png

0a6d9419c7e01519663c7c684eb0cdd5.png

aebd9d2b371ca9bdfb8278d70f7f0f31.png

4d43bbf9f3c1cfc7a324fef077ef2bbe.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

66330a4ec87875b371dbb39dfe3bda99.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

·

44ab3d55584f3c94f7fcf54966f46119.jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我将进行实际操作和解释。 首先,我们需要下载 demo 所需的图像和代码。可以从以下链接中下载: - 图像:https://www.mathworks.com/help/images/examples/circuitboard.png - 代码:https://www.mathworks.com/help/images/examples/watersheddemo.m 将这些文件保存在您的计算机上,然后打开 MATLAB。 在 MATLAB 命令窗口中,切换到代码所在的目录,并键入以下命令以运行 demo: ``` run watersheddemo ``` 这将打开一个名为“Watershed Segmentation”的 GUI 界面,如下图所示: ![GUI](https://www.mathworks.com/help/images/examples/watersheddemo_01.png) 该界面包括以下部分: 1. **原始图像**:显示待分割的原始图像。 2. **标记图像**:显示用户提供的标记图像,其中前景和背景区域用不同的颜色标记。 3. **分割图像**:显示分水岭算法得到的分割结果。 4. **控制面板**:包含可供用户调整的参数和选项。 在 GUI 界面中,我们可以使用鼠标左键单击标记图像来创建标记。左键单击会将标记放置在前景区域,右键单击则将标记放置在背景区域。在放置标记之后,我们可以使用“Calculate Segmentation”按钮运行分水岭算法,该算法会根据标记图像分割为前景和背景。 下面我们来分析一下 demo 中使用的各种函数: 1. `imread`:读取图像文件。 2. `imshow`:显示图像。 3. `imresize`:调整图像大小。 4. `im2double`:将图像转换为双精度浮点数格式。 5. `rgb2gray`:将 RGB 图像转换为灰度图像。 6. `imbinarize`:将灰度图像二值化。 7. `imopen`:执行形态学开运算。 8. `watershed`:执行分水岭算法。 9. `regionprops`:计算分割结果中的区域属性。 10. `imshowpair`:同时显示两幅图像。 11. `imoverlay`:将颜色叠加到图像上。 通过对这些函数的理解,我们可以更好地理解 demo 中的程序逻辑,并且可以更加灵活地运用这些函数进行图像处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值