文章目录
前言
在CV和NLP领域,最近涌现出了许多跨模态的大模型,在处理图像和文本数据时取得了令人瞩目的成果。其中,生成模型是一类重要的模型,可以生成新颖的图像、文本或音频等内容,具有重要的实用价值。其中的三个大模型:Inpaint Anything、Edit Everything 和 Grounded SAM,利用了最新的深度学习技术和模型架构,创造性地解决了图像生成、修复和编辑等问题,具有许多实际应用价值。
具体来说, Inpaint Anything 主要用于实现物体移除、内容填补、场景替换等图像修复和编辑任务;Edit Everything 则是一个基于文本引导的图像生成和编辑系统;而 Grounded SAM 则是一个检测、分割和替换任何图像中的对象的强大系统。这些模型已经在许多实际场景中得到了广泛的应用,并展示了其强大的理论和实用价值。
本文旨在介绍这三个模型的原理、算法和应用,希望能够为读者带来有价值的信息和启发。在下文中,我们将分别对这三个模型进行详细的介绍,并对其应用和性能进行分析和评估。`
一、Inpaint Anything:一键实现物体移除、内容填补、场景替换
IMCL实验室基于Meta发布的图像分割基础模型SAM (Segment Anything Model),提出了修补一切模型(Inpaint Anything,简称 IA),具有功能:
1.移除一切(Remove Anything):点击一下想要移除的物体,IA 将无痕地移除该物体;
2.填补一切(Fill Anything):可以进一步通过文本提示告诉 IA 想要在物体内填充什么,IA 随即通过驱动已嵌入的stable diffusion模型生成相应的内容填充物体,实现随心「内容创作」;
3.替换一切(Replace Anything):可以通过点击选择需要保留的物体对象,并用文本提示告诉 IA 想要把物体的背景替换成什么,即可将物体背景替换为指定内容,实现生动「环境转换」。
整体框架:
主要由SAM、LaMa、SD三个模型构成,SAM负责前期的图像分割,LaMa负责移除物体(第一个功能),SD负责填充物体或更换背景(后两个功能)。LaMa模型用于填充缺失的图像,其架构和原理如下:
LaMa采用快速傅里叶卷积FFC,将图像转入频域来保留高频信息:输入被划分为两个分支进行运算。Local分支使用常规卷积;Global分支使用Real FFT进行全局上下文关注。其中在Global分支中经历了Real FFT2d和Inverse Real FFT2d的操作,实现了图像重建。在FFC的输出中两分支进行结果合并。
实验结果:
在 COCO 数据集、LaMa 测试数据集和自己用手机拍摄的 2K 高清图像上对 Inpaint Anything 进行测试。此外,模型还支持 2K 高清图和任意长宽比,这使得 IA 系统在各种集成环境和现有框架中都能够实现高效的迁移应用。
二、Edit Everything: 一种文本引导的图像编辑生成系统
Edit Everything作为一个新的生成系统,它可以接受图像和文本输入,然后产生图像输出。Edit Everything允许用户使用简单的文本指令(instructions)来编辑图像。本文的系统设计prompts,以指导视觉模型生成所要求的图像。实验证明,通过使用Segment Anything模型和CLIP,Edit Everything有助于实现Stable Diffusion的视觉效果。
整体框架:
由文本引导的生成系统Editing Everything由三个主要组件组成:Segment Anything Model (SAM)、CLIP和Stable Diffusion(SD):
SAM被用来提取图像的所有分段(segments),而CLIP被训练来根据给定的源提示对这些片段进行排列。源提示描述感兴趣的对象,本质是描述目标对象和编辑样式的文本。然后选择得分最高的分段作为目标分段。最后,SD由目标提示引导以生成新对象来替换所选目标分段(黑色)。这允许精确和个性化的图像编辑方法:
三、Grounded-SAM :检测、分割与替换一切!
就在 SAM 发布后一天,IDEA-Research在此基础上搞出了一个进化版本「Grounded-SAM」。Grounded-SAM 把 SAM 和 BLIP、Stable Diffusion 集成在一起,将图片「分割」、「检测」和「生成」三种能力合一,成为最强 Zero-Shot 视觉应用。
项目开源于https://github.com/IDEA-Research/Grounded-Segment-Anything,最新功能更新了聊天机器人,实现语音输入,一键更换语义场景等,结合SD可以做到局部替换功能。
功能1:通过whisper模块对语音进行转换,直接对图片的检测对象进行替换,例如将狗替换成猴子,看图片确实是毫无违和感:
功能2:实现自动数据标注,包括标签信息及预测概率,有点类似于YOLOV8系列,借助SAM分割万物的思想可以直接对图片中的所有场景进行分割及分类标注。使用Tag2Text直接生成标签,使用Grounded-SAM进行box和mask生成。Tag2Text 具有卓越的标记和字幕功能。使用BLIP生成标题,使用chatGPT提取标签,使用Ground-SAM生成框和MASK图片。浅浅的谈一句,针对简单场景,确实该项目有很多过人的优势,复杂场景的实际应用还有待商榷,目前看来最大的一个问题是分割的场景会存在分割过细的情况,需要手动人工check,而且并不是所有参数对不同图片都适用,针对训练的大量图片,实际自动标注效果还有待优化。
功能3:实例替换。如更换头发颜色、背景、交互式应用等。