视觉大模型 | SEEM:比SAM更强!

2023-05-16

作者 | 派派星  编辑 | CVHub

点击下方卡片,关注“自动驾驶之心”公众号

ADAS巨卷干货,即可获取

点击进入→自动驾驶之心【语义分割】技术交流群

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

导读

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

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

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

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

多功能

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

可组合

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

可交互

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

语义感知

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

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

创作背景

1112e69ef2f9d86b77378e33b5e41cbf.png
图2. 与 SAM 比较

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

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

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

方法

b11c86ef6243763112f891b30684a922.png
图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)所示。

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

实验

7d833e6c8aeb86e17486887a9b81e16f.png

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

00a2f74c1713b6e3305c90105633c8a7.png

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

4d8abcc5b0ef19f0e6047beb0c807e94.png

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

f018f897bf56ca2a0f1aebddc32e6900.png
图4. 点击分割

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

73111de7b350ba472886b6c0f2ba0b37.png
图5. 文本引导分割

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

8d7c51f805a06dcc125cd93518d0016d.png
图6. 视觉参考分割

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

总结

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

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

视频课程来了!

自动驾驶之心为大家汇集了毫米波雷达视觉融合、高精地图、BEV感知、传感器标定、传感器部署、自动驾驶协同感知、语义分割、自动驾驶仿真、L4感知、决策规划、轨迹预测等多个方向学习视频,欢迎大家自取(扫码进入学习)

976a98acb375cbf4fe85de31be5d64de.png

(扫码学习最新视频)

国内首个自动驾驶学习社区

近1000人的交流社区,和20+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(分类、检测、分割、关键点、车道线、3D目标检测、Occpuancy、多传感器融合、目标跟踪、光流估计、轨迹预测)、自动驾驶定位建图(SLAM、高精地图)、自动驾驶规划控制、领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

0035dda4d8c341f4cf94262bb102bd31.jpeg

自动驾驶之心】全栈技术交流群

自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多传感器融合、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向;

032b6a3ded79123f23bdb789bfa83e3b.jpeg

添加汽车人助理微信邀请入群

备注:学校/公司+方向+昵称

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

视觉大模型 | SEEM:比SAM更强! 的相关文章

  • 用rs_lidar雷达跑lio_sam

    1 准备工作 imu绑定串口有线连接雷达并能用rviz显示雷达点云用两个imu标定包标定imu在完成第二步必要的工作后 xff0c 配置LIO SAM config 下的params yaml参数 xff0c 更改之前建议备份在旁边复制粘贴
  • 雷达系列论文翻译(十一):LVI-SAM: Tightly-coupled Lidar-Visual-Inertial Odometryvia Smoothing and Mapping

    LVI SAM Tightly coupled Lidar Visual Inertial Odometryvia Smoothing and Mapping 摘要 我们提出了一个通过平滑和映射实现的紧耦合激光雷达视觉惯性里程计的框架LVI
  • lvi-sam的深度匹配策略

    在lvi sam中 xff0c 作者通过视觉处理的时候 xff0c 利用lidar的深度信息 xff0c 得到了更稳定的估计 那在代码里是怎么实现的呢 xff1f 一起来看看看呗 1 在lvi sam的feature tracker nod
  • SAM-Segment Anything Model进行单张图片的检测记录

    一 代码和模型下载 下载链接 GitHub facebookresearch segment anything 将代码下载并解压到一个没有中文的路径下 页面往下滑找到需要下载的模型 nbsp 这里提供了三个模型 vit b的大小是358m
  • lio-sam中点云地图保存

    在 src save map srv 中有如下的定义 float32 resolution string destination bool success 注意 下面指的是feedback xff0c 接下来看save map这个服务是如何
  • LVI-SAM论文翻译

    摘要 我们提出了一个通过smoothing and mapping的紧耦合的雷达视觉惯性里程计框架 xff0c LVI SAM xff0c 能够实时状态估计和建图 xff0c 且具有很高的精度和鲁棒性 LVI SAM基于因子图构建 xff0
  • LIO-SAM论文翻译

    摘要 我们提出了一个通过smoothing and mapping实现的紧耦合激光惯性里程计框架 xff0c LIO SAM xff0c 能够取得高精度 实时的移动机器人的轨迹估计和地图构建 LIO SAM基于因子图构建 xff0c 把多个
  • Ubuntu20.04部署编译LVI-SAM

    该动图来自LVI SAM开源地址 xff08 https github com TixiaoShan LVI SAM xff09 1 写在开头 1 1 为何诞生此文 近期在学习SLAM相关知识 xff0c 拜读了此篇经典论文LVI SAM
  • ROS-3DSLAM(二)lvi-sam项目认识

    2021SC 64 SDUSC xff08 二 xff09 lvi sam项目认识 一 SLAM简介 SLAM是Simultaneous Localization and Mapping xff08 同时定位 43 建图 xff09 独立的
  • lio-sam中雅克比推导

    lio sam做的是scan map xff0c 点变到世界系下 xff0c 优化本帧在是世界系下的位姿 xff0c 和loam有所不同 符号 xff1a 本帧特征点云 xff08 相对机体系 xff09 P s c a
  • 视觉大模型 | SEEM:比SAM更强!

    作者 派派星 编辑 CVHub 点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自动驾驶之心 语义分割 技术交流群 Title Segment Everything Everywher
  • 记录编译测试LVI-SAM遇到的问题(附测试数据百度云下载链接)

    在测试开源的视觉 雷达 IMU紧耦合的工作LVI SAM时遇到一些问题 xff0c 在此记录 xff1a 参考博客 xff1a https blog csdn net learning tortosie article details 11
  • 【SLAM】LVI-SAM解析——综述

    LVI SAM可以认为是LIO SAM和VINS MONO的合体 xff0c 在此基础上的修改不大 github xff1a https github com TixiaoShan LVI SAM paper LVI SAM Tightly
  • 一键分块,轻松拼图!使用Segment Anything让你的设计更加高效!

    目录 第一步 第二步 第三步 第四步 如果你是一名设计师或者摄影爱好者 那么你一定经常需要将图片分割成不同的块 以便在不同的场合下使用 例如 在网页设计中 你可能需要将图片分割成不同的块 以便在不同的区域中使用 而分块的难度不小 需要一定的
  • Segment Anything开源项目学习记录

    一 什么是Segment Anything开源项目 Introduction We introduce the Segment Anything SA project a new task model and dataset for ima
  • RNA-seq——三、使用Hisat2进行序列比对

    步骤 1 下载对应的index 2 序列比对 3 samtools 将sam文件转为bam文件 4 将bam文件载入IGV 为什么要比对 https www jianshu com p 681e02e7f9af Jimmy老师主要演示了四种
  • 【CV大模型SAM(Segment-Anything)】如何一键分割图片中所有对象?并对不同分割对象进行保存?

    之前的文章 CV大模型SAM Segment Anything 真是太强大了 分割一切的SAM大模型使用方法 可通过不同的提示得到想要的分割目标 中详细介绍了大模型SAM Segment Anything 根据不同的提示方式得到不同的目标分
  • 利用SAM实现自动标注

    利用SAM实现自动标注 目录 利用SAM实现自动标注 一 下载安装 1 1 下载SAM Tool和SAM 1 2 下载SAM模型文件 1 3 安装SAM 二 配置项目 三 提取信息 四 获得SAM onnx文件 五 标注 六 格式转换 6
  • Kotlin 推荐使用 SAM 注销监听器的方法

    所以我有一个交互器 它使用 Realm 执行插入操作 然后使用 RealChangeListener 通知插入已完成 它是这样的 fun insertCar item Car realm doInTransaction val car Ca
  • FunctionName 的调用容器没有响应

    尝试端口转发docker化的Lambda to my 本地主机使用命令 sam local start api docker network host 每次尝试访问 Lambda 时都会出错 FunctionName 的调用容器没有响应 也

随机推荐

  • 二值信号量和互斥信号量的区别

    互斥信号量和二进制信号量的区别 互斥型信号量必须是同一个任务申请 xff0c 同一个任务释放 xff0c 其他任务释放无效 同一个任务可以递归申请 二进制信号量 xff0c 一个任务申请成功后 xff0c 可以由另一个任务释放 二进制信号量
  • 敏捷开发

    这两个圆圈表示不同的视角上的敏捷实践 xff0c 包括开发者视角和项目管理的视角 接下来从里向外进行介绍 xff0c 因为有些实践我了解得不清楚 xff0c 如果下面有哪些说得不对的地方也请大家指出 Test Driven Developm
  • c++结构体的二进制文件,python如何解析

    c 43 43 结构体的二进制文件 xff0c python如何解析 场景分析 现有如下场景 xff1a 有一个二进制文件需要解析成可读数据已知条件 xff1a 该文件符合c 43 43 结构体对应的结构体数据 xff0c 因此我们可以通过
  • LeetCode刷题记录(Python3)——线性表

    LeetCode27 移除元素 简单 问题描述 xff1a 给定一个数组nums和一个值val xff0c 你需要原地 移除所有数值等于val的元素 xff0c 并返回移除后数组的新长度 不要使用额外的数组空间 xff0c 必须仅使用 O
  • 使用百度网盘上传大文件到云服务器

    因为需要把几个7G大小左右的数据上传至服务器 xff0c 但无奈使用的是共享服务器 xff0c 上传速度非常慢 管理员建议可以用奶牛快传 xff08 目前收费 xff09 中转 xff0c 百度搜了一下 xff0c 百度网盘有相同作用 xf
  • ubuntu操作系统中TCP客户端和服务器端的开发

    网络编程在Python中的应用 xff0c 三次握手和四次挥手的理解 TCP客户端和服务器端流程图 xff1a TCP客户端开发流程 xff1a 1 创建客户端套接字 2 和服务端套接字建立连接 3 发送数据 4 接收数据 5 关闭客户端套
  • sphinx 文档_Sphinx轻松漂亮的文档

    sphinx 文档 Sphinx是允许开发人员以纯文本格式编写文档的工具 xff0c 可轻松生成满足各种需求的格式的输出 使用版本控制系统跟踪更改时 xff0c 这将很有帮助 纯文本文档对于跨不同系统的协作者也很有用 纯文本是当前可用的最可
  • 经典激光雷达SLAM系统:LeGO-LOAM

    作者 密斯特李 编辑 汽车人 原文链接 xff1a https zhuanlan zhihu com p 511968459 点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自动驾驶之
  • 经典激光雷达SLAM系统:LOAM-Livox

    作者 密斯特李 编辑 汽车人 原文链接 xff1a https zhuanlan zhihu com p 515732721 点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自动驾驶之
  • SLAM中姿态估计的图优化方法比较(g2o/Ceres/GTSAM/SE-Sync)

    编辑 深蓝AI 点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 后台回复 SLAM综述 获取视觉SLAM 激光SLAM RGBD SLAM等多篇综述 xff01 本文是对论文 A Compari
  • 多传感器融合 | 详解PointPainting和MVP

    作者 谷溢 编辑 深蓝AI 点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自动驾驶之心技术交流群 后台回复 多传感器融合综述 获取图像 激光雷达 毫米波雷达融合综述等干货资料 xff
  • 2022最新!视觉SLAM综述(多传感器/姿态估计/动态环境/视觉里程计)

    目录 摘要 视觉SLAM算法的发展 相关综述 VSLAM 设置标准 传感器和数据采集 目标环境 视觉特征处理 系统评估 语义等级 基于主要目标的VSLAM方法 目标一 xff1a 多传感器处理 目标二 xff1a 姿态估计 目标三 xff1
  • 自动驾驶路径规划五大常用算法(Dijkstra/人工势场/图搜索等)

    编辑 希骥智能网联汽车 点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自动驾驶之心 规划控制 技术交流群 后台回复 规划控制综述 获取自动驾驶 智能机器人规划控制最新综述论文 xff
  • 论文汇总!物体级SLAM(定位/建图/重定位/回环检测)

    作者 黑桃K 编辑 汽车人 原文链接 xff1a https zhuanlan zhihu com p 570562248 点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自动驾驶之心
  • VSLAM与VIO的3D建图,重定位与世界观综述

    作者 紫川Purple River 编辑 汽车人 原文链接 xff1a zhuanlan zhihu com p 592225457 点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自
  • 3D激光雷达-IMU的无目标外参标定

    点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自动驾驶之心 全栈算法 技术交流群 后台回复 相机标定 获取超详细的单目双目相机模型介绍 内外参标定算法原理视频 xff01 摘要 xf
  • 力扣刷题路线-c++学习笔记(1)

    1 数组 数组的在内存空间的地址是连续的 xff0c 所以我们在删除或者增添元素的时候 xff0c 就难免要移动其他元素的地址 如下所示 数组的元素是不能删的 xff0c 只能覆盖 可以看出在C 43 43 中二维数组在地址空间上是连续的
  • 最新Benchmark | 4Seasons:面向挑战场景的自动驾驶视觉SLAM基准

    点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自动驾驶之心 SLAM 技术交流群 后台回复 4Seasons 获取论文和数据集下载地址 xff01 xff01 xff01 1摘要 论
  • 20余家自动驾驶规控岗位技能知识点梳理

    规划控制是自动驾驶的核心模块之一 它的主要作用是 xff1a 无人车在感知到周边环境的基础上 xff0c 结合车辆自身的目的地 当前位置以及地图信息 xff0c 对车辆自身做出最合理的决策动作 决策后 xff0c 车辆会规划一条新的轨迹 x
  • 视觉大模型 | SEEM:比SAM更强!

    作者 派派星 编辑 CVHub 点击下方卡片 xff0c 关注 自动驾驶之心 公众号 ADAS巨卷干货 xff0c 即可获取 点击进入 自动驾驶之心 语义分割 技术交流群 Title Segment Everything Everywher