当分割一切遇见图像修复!Inpaint Anything来了!单击实现物体移除、内容填补、场景替换...

本文主要是介绍当分割一切遇见图像修复!Inpaint Anything来了!单击实现物体移除、内容填补、场景替换...,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—>【图像分割】微信技术交流群

转载自:机器之心

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

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

2702a6989daf7347ca45faeeb482d7cd.gif

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

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

aa4e0e4df317521a202c5eda6e915434.png

  • 论文链接:http://arxiv.org/abs/2304.06790

  • 代码库链接:https://github.com/geekyutao/Inpaint-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 [2])生成相应的内容填充物体,实现随心「内容创作」;(iii) 替换一切(Replace Anything):用户也可以通过点击选择需要保留的物体对象,并用文本提示告诉 IA 想要把物体的背景替换成什么,即可将物体背景替换为指定内容,实现生动「环境转换」。IA 的整体框架如下图所示:

705dfc620cc90e8fd284ed6984a39cc6.png

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

移除一切

7f89655c744a9b46123a1b6ceae46ab5.gif

移除一切(Remove Anything)示意图

 「移除一切」步骤如下:

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

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

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

填补一切

40d2cf1da0e01bff09a5ed384ef269b8.gif

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

「填补一切」步骤如下:

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

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

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

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

替换一切

ad165c1b7f6888db830fb1369c01ff43.gif

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

「填补一切」步骤如下:

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

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

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

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

模型结果

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

移除一切实验结果

64a2d1879aeffe01c7fab7f6a91ec6dc.gif

43034ac201e8b0bea321bd336ff416d8.gif

6c4174113d8df890925a61031bf2265a.gif

20635422f469570b716a3296b6c2b586.gif

eb680e3dd457e86b0b73f55ae1f5309e.gif

填充一切实验结果

a60981f92d3adcfa40350fc41498246a.gif

文本提示:a camera lens in the hand

b7e452bf0aaeb8b18a16a5112d01843b.gif

文本提示:an aircraft carrier on the sea

4a9eafb0f189d1118d9f7e0a4adb8961.gif

文本提示:a sports car on a road

5a58067118ee37f78298cd063d4b0533.gif

文本提示:a Picasso painting on the wall

替换一切实验结果

2963fb5115420e822e1b195c38265256.gif

文本提示:sit on the swing

8a55ae303608398791c6da30ba42b2a3.gif

文本提示:breakfast

735c03b1458aacfc924e2d3ff2653983.gif

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

4b56f425d1189ce17f2c452bb673232d.gif

文本提示:crossroad in the city

总结

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

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

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

参考文献

[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.

点击进入—>【图像分割】微信技术交流群

最新CVPR 2023论文和代码下载

 

后台回复:CVPR2023,即可下载CVPR 2023论文和代码开源的论文合集

后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF

图像分割交流群成立
扫描下方二维码,或者添加微信:CVer333,即可添加CVer小助手微信,便可申请加入CVer-图像分割 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如图像分割+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群▲扫码或加微信号: CVer333,进交流群
CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉,已汇集数千人!▲扫码进星球
▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看c93c63635e1fccc9a1c845d381b7bb5c.gif

这篇关于当分割一切遇见图像修复!Inpaint Anything来了!单击实现物体移除、内容填补、场景替换...的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/236440

相关文章

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

【C++】_list常用方法解析及模拟实现

相信自己的力量,只要对自己始终保持信心,尽自己最大努力去完成任何事,就算事情最终结果是失败了,努力了也不留遗憾。💓💓💓 目录   ✨说在前面 🍋知识点一:什么是list? •🌰1.list的定义 •🌰2.list的基本特性 •🌰3.常用接口介绍 🍋知识点二:list常用接口 •🌰1.默认成员函数 🔥构造函数(⭐) 🔥析构函数 •🌰2.list对象

【Prometheus】PromQL向量匹配实现不同标签的向量数据进行运算

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开发,小程序开发,人工智能,js逆向,App逆向,网络系统安全,数据分析,Django,fastapi

让树莓派智能语音助手实现定时提醒功能

最初的时候是想直接在rasa 的chatbot上实现,因为rasa本身是带有remindschedule模块的。不过经过一番折腾后,忽然发现,chatbot上实现的定时,语音助手不一定会有响应。因为,我目前语音助手的代码设置了长时间无应答会结束对话,这样一来,chatbot定时提醒的触发就不会被语音助手获悉。那怎么让语音助手也具有定时提醒功能呢? 我最后选择的方法是用threading.Time

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略

Kubernetes PodSecurityPolicy:PSP能实现的5种主要安全策略 1. 特权模式限制2. 宿主机资源隔离3. 用户和组管理4. 权限提升控制5. SELinux配置 💖The Begin💖点点关注,收藏不迷路💖 Kubernetes的PodSecurityPolicy(PSP)是一个关键的安全特性,它在Pod创建之前实施安全策略,确保P

工厂ERP管理系统实现源码(JAVA)

工厂进销存管理系统是一个集采购管理、仓库管理、生产管理和销售管理于一体的综合解决方案。该系统旨在帮助企业优化流程、提高效率、降低成本,并实时掌握各环节的运营状况。 在采购管理方面,系统能够处理采购订单、供应商管理和采购入库等流程,确保采购过程的透明和高效。仓库管理方面,实现库存的精准管理,包括入库、出库、盘点等操作,确保库存数据的准确性和实时性。 生产管理模块则涵盖了生产计划制定、物料需求计划、