视觉大模型系列 | SEEM : 一种比 SAM 交互能力更强,且具有语义感知的分割大模型

本文涉及的产品
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: 视觉大模型系列 | SEEM : 一种比 SAM 交互能力更强,且具有语义感知的分割大模型

640.png


Title: Segment Everything Everywhere All at Once

Paper: https://arxiv.org/pdf/2304.06718.pdf

Code: https://github.com/UX-Decoder/Segment-Everything-Everywhere-All-At-Once

导读

图1. SEEM 可以处理任何分割任务

尽管对于交互式 AI 系统的需求不断增长,但在视觉理解领域(例如分割),人工智能与人类交互的综合研究仍然很少。

近期,SAM 提出了一种可提示分割模型,用于一般分割任务。虽然 SAM 推进了 CV 大模型的进展,但其分割结果缺乏语义意义,提示类型也仅限于点、框和文本。相比之下,本研究构建了一个更通用的分割系统,可以通过一个预训练模型分割具有语义意义的所有对象,并适用于所有类型的交互和提示组合。

本文通过基于提示 (prompt) 的通用界面开发的启示,提出了 SEEM,一种可提示、交互式的模型,用于一次性分割图像中的所有物体。SEEM 具有四个愿景:

多功能

通过引入灵活的提示引擎,包括点、框、涂鸦 (scribbles)、掩模、文本和另一幅图像的相关区域,实现多功能性;

可组合

通过学习联合视觉-语义空间,为视觉和文本提示组合实时查询,实现组合性,如图1所示;

可交互

通过结合可学习的记忆提示进行交互,实现通过掩模 引导的交叉注意力保留对话历史信息;

语义感知

通过使用文本编码器对文本查询和掩模标签进行编码,实现面向开放词汇分割的语义感知。

本文通过大量的实验,验证了 SEEM 在各种分割任务上的有效性。SEEM表现出强大的泛化能力,能够学习在统一的表示空间中组合不同类型的提示以适应未见过的用户意图。 此外,SEEM 可以使用轻量级提示解码器高效地处理多轮交互。

创作背景


640.png


图2. 与 SAM 比较

大型语言模型 (Large Language Model, LLMs) 的成功,如 ChatGPT,证明了现代人工智能模型在与人类互动中的重要性,并提供了人工通用智能 (AGI) 的一瞥。与人类互动的能力需要一个用户友好的界面,可以接受尽可能多类型的人类输入,并生成人类容易理解的响应。在自然语言处理 (NLP) 领域,这样的通用交互界面已经出现并发展了一段时间,从早期的模型如 GPTT5,到一些更高级的技术,如提示和思维链。在图像生成领域,一些最近的工作尝试将文本提示与其他类型,如草图或布局相结合,以更准确地捕捉用户意图,生成新的提示并支持多轮人工智能交互。

本文提出了一种通用的提示方案,可以通过多种类型的提示(如文本、点击、图像)与用户交互,进而构建一个通用的“分割一切”的模型 SEEM。该模型采用 Transformer 编码器-解码器结构,将所有查询作为提示输入到解码器中,并使用图像和文本编码器作为提示编码器来编码所有类型的查询,从而使视觉和文本提示始终保持对齐。

此外,该模型还引入了记忆提示来缩减以前的分割信息,并与其他提示进行通信,以增强互动性。与 SAM 等其他工作不同的是,该模型支持多种提示类型,具有零样本泛化能力。实验结果表明,SEEM 在许多分割任务中具有强大的性能,包括封闭集和开放集全景分割、交互式分割、接地分割以及使用多种提示的分割任务。

方法

图3. SEEM 架构

SEEM 是一种采用通用编码器-解码器架构的模型,但具有复杂的查询和提示交互,如图3(a) 所示。给定输入图像 ,首先使用图像编码器提取图像特征,然后 SEEM 解码器基于与视觉、文本和记忆提示 、、 交互的查询输出  来预测掩模  和语义概念 。

在训练期间, 被复制用于全景分割、指代分割和交互分割。

在推断时,可学习的查询从相同的权重集合初始化,从而实现 zero-shot 组合。这种设计受到 X-Decoder 的成功实践的启发,但不同之处是,这允许使用具有以下属性的通用图像分割模型:

多功能

除了文本输入外,SEEM 还引入了视觉提示  来处理所有的非文本输入,例如点、框、涂鸦和另一幅图像的区域引用等。

当文本提示无法准确识别正确的分割区域时,非文本提示就能够提供有用的补充信息,帮助准确定位分割区域。 以往的交互式分割方法通常将空间查询转换为掩模,然后将它们馈送到图像骨干网络中,或者针对每种输入类型(点、框)使用不同的提示编码器。然而,这些方法存在重量过大或难以泛化的问题。

为了解决这些问题,SEEM 提出了使用视觉提示来统一所有非文本输入。这些视觉提示以令牌的形式统一表示,并位于同一视觉嵌入空间中,这样就可以使用同一种方法来处理所有非文本输入。 为了提取这些视觉提示的特征,该模型还引入了一个称为“视觉采样器”的方法,用于从输入图像或引用图像的特征映射中提取特定位置的特征。

此外,SEEM 还通过全景和引用分割来持续学习通用的视觉-语义空间,使得视觉提示与文本提示能够自然地对齐,从而更好地指导分割过程。在学习语义标签时,提示特征与文本提示映射到相同的空间以计算相似度矩阵,从而更好地协同完成分割任务。

可组合

用户可以使用不同或组合的输入类型表达其意图,因此在实际应用中,组合式提示方法至关重要。

然而,在模型训练时会遇到两个问题。首先,训练数据通常只涵盖一种交互类型(例如,无、文本、视觉)。其次,虽然我们已经使用视觉提示来统一所有非文本提示并将它们与文本提示对齐,但它们的嵌入空间仍然本质上不同。

为了解决这个问题,本文提出了将不同类型的提示与不同的输出进行匹配的方法。在模型训练后,SEEM 模型变得熟悉了所有提示类型,并支持各种组合方式,例如无提示、单提示类型或同时使用视觉和文本提示。值得注意的是,即使是从未像这样训练过的样本,视觉和文本提示也可以简单地连接并馈送到 SEEM 解码器中。

可交互

SEEM 通过引入记忆提示  来进行多轮交互式分割,使得分割结果得到进一步优化。记忆提示是用来传递先前迭代中的分割结果,将历史信息编码到模型中,以在当前轮次中使用。

不同于之前的工作使用一个网络来编码掩模,SEEM 采用掩模引导的交叉注意力机制来编码历史信息,这可以更有效地利用分割历史信息来进行下一轮次的优化。值得注意的是,这种方法也可以扩展到同时进行多个对象的交互式分割。

语义感知

与之前的类别无关的交互式分割方法不同,SEEM 将语义标签应用于来自所有类型提示组合的掩码,因为它的视觉提示特征与文本特征在一个联合视觉-语义空间中是对齐的。

在训练过程中,虽然没有为交互式分割训练任何语义标签,但是由于联合视觉-语义空间的存在,掩膜嵌入(mask embeddings) 和 视觉取样器 (visual sampler)  之间的相似度矩阵可以被计算出来,从而使得计算出的 logits 可以很好的对齐,如图3(a)所示。

这样,在推理过程中,查询图像就可以汇集多个示例的信息。

实验

我们的方法与 RITMSimpleClickSAM 等模型的性能相近,其中 SAM 使用的数据量比我们都 50 倍。

VisualText 效果更显著,当使用 Visal + Text 进行提示时,IOU精度达到了最高。

当添加迭代和负面视觉提示时,通用分割的性能略有下降。此外,如果我们从头开始训练模型,通用分割的性能会下降得更多。

图4. 点击分割

SEEM 支持用户任意格式的点击或涂鸦。此外,它同时给出了分割掩模的语义标签,这在 SAM 中是不可能的。

图5. 文本引导分割

引用的文本显示在掩模上。SEEM 适用于卡通、电影和游戏领域的各种类型的输入图像。

图6. 视觉参考分割

给定具有简单空间提示的参考图像,SEEM 可以分割不同目标图像中语义相似的内容。

总结

本文介绍了 SEEM,该模型可以同时对所有语义进行全局分割,并且可以与用户互动,接受来自用户的不同类型的视觉提示,包括点击、框选、多边形、涂鸦、文本和参考图像分割。这些提示 (prompt) 通过提示编码器映射到联合视觉-语义空间中,使我们的模型适用于各种提示,并可以灵活地组合不同的提示。通过大量实验证明,该模型在几个开放和交互分割基准测试上表现出竞争力。

当然,SEEM 并不是完美的,其存在的两个主要限制为:训练数据规模有限SEEM不支持基于部分的分割。我们通过利用更多的训练数据和监督,可以进一步提高模型性能,而基于部分的分割可以在不改变模型的情况下无缝地从中学习。最后,非常感谢 SAM 提出的分割数据集,这是是非常宝贵的资源,我们应该好好利用起来。

目录
相关文章
vscode将本地代码实时同步到服务器
vscode近些年变得越来越流行了,主要是IDEA用上去实在有点卡,机器卡崩溃几次,这段时间也想用vscode体验一下,在自己的一些项目上面,想实现像phpstorm或者goland那样直接把代码通过sftp传到服务器上面,那么怎么来做这个事情呢,经过一番研究,把方案整理下来。
1271 0
|
存储 数据库
Dataset之ADE20k:ADE20k数据集的简介、安装、使用方法之详细攻略
Dataset之ADE20k:ADE20k数据集的简介、安装、使用方法之详细攻略
Dataset之ADE20k:ADE20k数据集的简介、安装、使用方法之详细攻略
|
11月前
|
数据采集 前端开发 物联网
【项目实战】通过LLaMaFactory+Qwen2-VL-2B微调一个多模态医疗大模型
本文介绍了一个基于多模态大模型的医疗图像诊断项目。项目旨在通过训练一个医疗领域的多模态大模型,提高医生处理医学图像的效率,辅助诊断和治疗。作者以家中老人的脑部CT为例,展示了如何利用MedTrinity-25M数据集训练模型,经过数据准备、环境搭建、模型训练及微调、最终验证等步骤,成功使模型能够识别CT图像并给出具体的诊断意见,与专业医生的诊断结果高度吻合。
21352 162
【项目实战】通过LLaMaFactory+Qwen2-VL-2B微调一个多模态医疗大模型
|
9月前
|
编解码 计算机视觉
RT-DETR改进策略【Head】| 增加针对 大目标 的检测层 (四个检测头)
RT-DETR改进策略【Head】| 增加针对 大目标 的检测层 (四个检测头)
470 16
|
11月前
|
机器学习/深度学习 编解码 人工智能
InvSR:开源图像超分辨率生成模型,提升分辨率,修复老旧照片为超清图像
InvSR 是一个创新的图像超分辨率模型,基于扩散模型的逆过程恢复高分辨率图像。它通过深度噪声预测器和灵活的采样机制,能够高效地提升图像分辨率,适用于老旧照片修复、视频监控、医疗成像等多个领域。
2159 9
InvSR:开源图像超分辨率生成模型,提升分辨率,修复老旧照片为超清图像
|
机器学习/深度学习 JSON 算法
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
本文介绍了DeepLab V3在语义分割中的应用,包括数据集准备、模型训练、测试和评估,提供了代码和资源链接。
2926 0
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
|
机器学习/深度学习 编解码 Java
YOLO11创新改进系列:卷积,主干 注意力,C3k2融合,检测头等创新机制(已更新100+)
《YOLO11目标检测创新改进与实战案例》专栏已更新100+篇文章,涵盖注意力机制、卷积优化、检测头创新、损失与IOU优化、轻量级网络设计等多方面内容。每周更新3-10篇,提供详细代码和实战案例,帮助您掌握最新研究和实用技巧。[专栏链接](https://blog.csdn.net/shangyanaf/category_12810477.html)
YOLO11创新改进系列:卷积,主干 注意力,C3k2融合,检测头等创新机制(已更新100+)
|
机器学习/深度学习 数据可视化 自动驾驶
YOLO11-seg分割如何训练自己的数据集(道路缺陷)
本文介绍了如何使用自己的道路缺陷数据集训练YOLOv11-seg模型,涵盖数据集准备、模型配置、训练过程及结果可视化。数据集包含4029张图像,分为训练、验证和测试集。训练后,模型在Mask mAP50指标上达到0.673,展示了良好的分割性能。
5420 4
|
机器学习/深度学习 人工智能 文字识别
ultralytics YOLO11 全新发布!(原理介绍+代码详见+结构框图)
本文详细介绍YOLO11,包括其全新特性、代码实现及结构框图,并提供如何使用NEU-DET数据集进行训练的指南。YOLO11在前代基础上引入了新功能和改进,如C3k2、C2PSA模块和更轻量级的分类检测头,显著提升了模型的性能和灵活性。文中还对比了YOLO11与YOLOv8的区别,并展示了训练过程和结果的可视化
19935 0
|
数据可视化 数据处理 计算机视觉
Grounded-SAM模型:自动化检测、分割、生成一切
借着Meta发布的Segment Anything视觉大模型,作者团队做了一个最强Zero-Shot视觉应用:最强的Zero-Shot检测器,最强的Zero-Shot分割器,最强的Zero-Shot生成器,三合一模型简称为Grounded-SAM。

热门文章

最新文章