EmbodiedSAM:在线实时3D实例分割,利用视觉基础模型实现高效场景理解

2025-02-12,由清华大学和南洋理工大学的研究团队开发 一种名为 EmbodiedSAM(ESAM)的在线3D实例分割框架。该框架利用2D视觉基础模型辅助实时3D场景理解,解决了高质量3D数据稀缺的难题,为机器人导航、操作等任务提供了高效、准确的视觉感知能力。

一、研究背景

随着机器人技术和人工智能的发展,机器人在复杂环境中执行任务(如导航、操作和交互)的能力越来越依赖于对三维(3D)场景的实时、准确理解。这种能力被称为“具身感知”,它要求机器人能够实时处理连续的RGB-D视频流,并生成对场景中物体的细粒度、高泛化的3D实例分割结果。

目前遇到的困难和挑战

1、高质量3D数据稀缺:与2D图像相比,高质量的3D标注数据极为有限,这使得直接在3D中训练模型变得不切实际。

2、实时性要求:具身任务需要模型在数据采集的同时进行感知,且必须具备高推理速度,以支持机器人的实时规划和控制。

3、泛化能力不足:现有方法大多依赖于离线处理或手工设计的策略,难以在不同场景和传感器参数下保持一致的性能。

二、让我们一起来看一下EmbodiedSAM框架

EmbodiedSAM(ESAM)是一种在线3D实例分割框架,目的利用2D视觉基础模型的强大能力,实现对3D场景的实时、细粒度分割。该框架的核心思想是将2D分割掩码提升为3D查询,并通过双层查询解码器进行迭代优化,最终生成准确的3D实例掩码。ESAM的主要模块包括:

1、几何感知查询提升模块:

该模块将SAM生成的2D掩码转化为3D感知的查询,通过点云特征提取和超点(superpoints)聚合,保留细粒度 形状信息。

2、双层查询解码器:

通过掩码交叉注意力和前馈网络,该解码器迭代优化查询,生成点级3D掩码,同时支持超点级和点级特征的高效交互。

3、快速查询合并策略:

利用几何、对比和语义相似性辅助任务,ESAM通过矩阵运算快速计算掩码之间的相似度,并通过二分图匹配合并实例掩码,实现高效的在线更新。

ESAM概述

我们的高效查询合并策略的详细信息。我们提出了三种具有代表性的辅助任务,它们以向量的形式生成几何、对比和语义表示。然后可以通过矩阵乘法有效地计算相似性矩阵。我们进一步修剪了相似性矩阵,并采用二分匹配来合并实例。

不同 3D 实例分割方法在 ScanNet200 数据集上的可视化结果。如红框所示,SAM3D 预测有噪声的掩模,而 SAI3D 倾向于将实例过度分割为多个部分。

合并策略的辅助任务可视化。(a) 几何相似性的 3D 框预测。我们可视化对象在不同时间 moment 的边界框。(b) 对比相似性的实例特异性表示的 t-SNE 可视化。不同的颜色表示不同的实例,不同的点表示不同帧的实例特征。(c) 语义相似性的查询式语义分割。

三、EmbodiedSAM应用场景

比如在工厂里,有一个机器人机械臂,它的任务是从传送带上抓取各种形状和大小的零件,然后把它们精确地安装到一台正在组装的机器上。这个任务听起来好像挺简单的,但实际上,传送带上的零件摆放得乱七八糟,有的歪着,有的躺着,还有的可能被别的零件遮挡了一部分。而且,零件的种类也不止一种,每种零件的形状和尺寸都不一样。

这时候,ESAM就派上大用场了!

首先,工厂里安装了一个RGB-D摄像头,它会实时拍摄传送带上的画面,并且把彩色图像和深度信息一起传送给机器人。ESAM就像是机器人的眼睛和大脑,它能够快速地处理这些图像和深度数据。

具体来说,ESAM的工作是这样的:

1、实时识别和分割:当传送带上的零件进入摄像头的视野时,ESAM会在不到一秒钟的时间内,把传送带上的每个零件都识别出来,并且用3D的方式把它们分割开来。比如,传送带上有一个圆形的齿轮和一个方形的金属块,ESAM不仅能准确地分辨出这是两个不同的物体,还能把它们的形状、大小和位置都精确地“画”出来。

2、提供3D信息:ESAM不仅告诉机器人“这里有东西”,还会告诉机器人这些零件具体在3D空间里的位置。比如,它会告诉机器人:“嘿,那个齿轮在传送带的左边,离你大概50厘米远,直径是10厘米。”这样,机器人就可以根据这些精确的信息,调整自己的机械臂,准确地移动到齿轮的上方。

3、机械臂抓取和操作:有了ESAM提供的3D信息,机械臂就可以轻松地调整自己的姿态和抓取动作。比如,它会根据齿轮的形状和位置,调整抓手的角度和力度,然后稳稳地把齿轮抓起来,再把它送到指定的位置安装上去。如果遇到被遮挡的零件,ESAM也能通过3D信息帮助机器人判断零件的完整形状,从而让机械臂找到最佳的抓取点。

在整个过程中,ESAM就像一个超级聪明的助手,让机器人能够快速、准确地完成任务。而且,不管传送带上的零件怎么变,ESAM都能实时处理,让机器人始终保持高效的工作状态。这样一来,工厂的生产效率就能大大提高,而且出错率也会大大降低。

论文中提到数据集

数据集:ScanNet

数据集介绍:ScanNet是一个包含数千个室内场景的三维点云数据集,用于三维视觉研究。

数据集地址:ScanNet|三维视觉数据集|室内场景重建数据集

数据集:ScanNet200

数据集介绍:ScanNet200数据集包含了200个自然类别不平衡的3D场景。

数据集地址:ScanNet200|三维场景分割数据集|增量学习数据集

数据集:SceneNN

数据集介绍:一个由 100 多个室内场景组成的 RGB-D 场景数据集。

数据集地址:SceneNN:带有注释的场景网格数据集,RGB-D 场景数据集|3D视觉数据集|计算机视觉数据集

数据集:3RScan

数据集介绍:3RScan数据集用于训练和评估三元组网络,从所有RGB相机图像中选择适合训练的图像,并根据不同的标准组合成三元组(锚点、正样本、负样本)

数据集地址:3RScan|深度学习数据集|图像识别数据集

更多经典数据集,请打开:遇见数据集

经典数据集从千万数据集中千里挑一,经过了时间和应用的考研,已成为算法和模型性能评估的基准,是各个领域的数据集代表https://www.selectdataset.com/classics

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/73082.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信创-人大金仓数据库创建

一. 官文 资源下载地址 https://download.kingbase.com.cn/xzzx/index.htm 下载安装文件 下载授权文件 产品文档地址:https://help.kingbase.com.cn/v8/index.html 二. 概念 2.1 体系结构 ‌ 实例结构 ‌:由数据库文件和 KingbaseES 实例组成。数据…

C++第三种异质集合 std::any方式实现

#include <type_traits> #include <any> #include <functional> #include <iomanip> #include <iostream> #include <typeindex> #include <typeinfo> #include <unordered_map> #include <vector> //any是编译期的异质…

Springboot实现使用断点续传优化同步导入Excel

springboot实现使用断点续传优化同步导入Excel 需求前言断点续传前端实现后端实现完结撒花&#xff0c;如有需要收藏的看官&#xff0c;顺便也用发财的小手点点赞哈&#xff0c;如有错漏&#xff0c;也欢迎各位在评论区评论&#xff01; 需求前言 在跨境电商系统中&#xff0c…

mysql 对json的处理?

MySQL从5.7版本开始支持JSON数据类型&#xff0c;并提供了多种函数来查询和处理JSON数据。以下是一些基本的操作和函数&#xff1a; 创建包含JSON列的表&#xff1a; 可以直接在表定义中指定某列为JSON类型。 CREATE TABLE my_table (id INT NOT NULL AUTO_INCREMENT,data JSON…

Nexus L2 L3基本配置

接口基本配置 N7K上所有端口默认处于shutdown状态; N5K上所有端口默认处于no shutdown状态(所有端口都是switchport) 默认所有接口都是三层route模式, 只有当线卡不支持三层的时候, 接口才会处于二层switchport模式 show run all | in “system default” 创建SVI口需要提前打…

HCIA-AI人工智能笔记3:数据预处理

统讲解数据预处理的核心技术体系&#xff0c;通过Python/Pandas与华为MindSpore双视角代码演示&#xff0c;结合特征工程优化实验&#xff0c;深入解析数据清洗、标准化、增强等关键环节。 一、数据预处理技术全景图 graph TD A[原始数据] --> B{数据清洗} B --> B1[缺…

G-Star 校园开发者计划·黑科大|开源第一课之 Git 入门

万事开源先修 Git。Git 是当下主流的分布式版本控制工具&#xff0c;在软件开发、文档管理等方面用处极大。它能自动记录文件改动&#xff0c;简化合并流程&#xff0c;还特别适合多人协作开发。学会 Git&#xff0c;就相当于掌握了一把通往开源世界的钥匙&#xff0c;以后参与…

MySQL错误 “duplicate entry ‘1‘ for key ‘PRIMARY‘“ 解决方案

文章目录 1. 错误原因分析2. 快速解决方法场景1:手动插入重复值场景2:自增主键冲突场景3:批量插入冲突3. 长期预防策略4. 高级排查技巧该错误通常由主键冲突引起,表示尝试插入或更新的主键值已存在于表中。以下是分步排查和解决方法: 1. 错误原因分析 主键唯一性约束:表…

WEB攻防-PHP反序列化-字符串逃逸

目录 前置知识 字符串逃逸-减少 字符串逃逸-增多 前置知识 1.PHP 在反序列化时&#xff0c;语法是以 ; 作为字段的分隔&#xff0c;以 } 作为结尾&#xff0c;在结束符}之后的任何内容不会影响反序列化的后的结果 class people{ public $namelili; public $age20; } var_du…

把生产队的大模型Grok 3 beta用来实现字帖打磨

第一个版本&#xff0c;就是简单的田字格&#xff0c;Grok 3 beta 思考了15s就得到了html前端代码&#xff0c;javascript; 然而还不完美&#xff1b; 第二个版本&#xff0c;进一步&#xff0c;通过pinyin项目给汉字加上注音&#xff0c;米字格和四线格&#xff1b;&#xff…

windows+ragflow+deepseek实战之一excel表查询

ragflows平台部署参考文章 Win10系统Docker+DeepSeek+ragflow搭建本地知识库 ragflow通过python实现参考这篇文章 ragflow通过python实现 文章目录 背景效果1、准备数据2、创建知识库3、上传数据并解析4、新建聊天助理5、测试会话背景 前面已经基于Win10系统Docker+DeepSeek+…

OpenCV图像处理基础2

接着上一篇OpenCV图像处理基础1继续说。 图像阈值处理 1、简单阈值处理 ret, thresholded_image = cv2.threshold(image, thresh, maxval, cv2.THRESH_BINARY)thresh 是阈值,maxval 是最大值。 2、自适应阈值处理 thresholded_image = cv2.adaptiveThreshold(image, maxv…

go安装lazydocker

安装 先安装go环境 https://blog.csdn.net/Yqha1/article/details/146430281?fromshareblogdetail&sharetypeblogdetail&sharerId146430281&sharereferPC&sharesourceYqha1&sharefromfrom_link 安装lazydocker go install github.com/jesseduffield/laz…

【架构】单体架构 vs 微服务架构:如何选择最适合你的技术方案?

文章目录 ⭐前言⭐一、架构设计的本质差异&#x1f31f;1、代码与数据结构的对比&#x1f31f;2、技术栈的灵活性 ⭐二、开发与维护的成本博弈&#x1f31f;1、开发效率的阶段性差异&#x1f31f;2、维护成本的隐形陷阱 ⭐三、部署与扩展的实战策略&#x1f31f;1、部署模式的本…

C#实现分段三次Hermite插值

目录 一、Hermite插值介绍 1、功能说明 2、数学方法 二、代码实现 1、CubicHermiteInterpolator类封装 2、应用示例 三、导数值的获取方式 1、数学方法介绍 2、代码应用示例 四、其它封装的分段三次Hermite插值类 1、方式一 &#xff08;1&#xff09;封装代码 &…

重要重要!!fisher矩阵元素有什么含义和原理; Fisher 信息矩阵的形式; 得到fisher矩阵之后怎么使用

fisher矩阵元素有什么含义和原理 目录 fisher矩阵元素有什么含义和原理一、对角线元素( F i , i F_{i,i} Fi,i​)的含义与原理二、非对角线元素( F i , j F_{i,j} Fi,j​)的含义与原理Fisher 信息矩阵的形式矩阵的宽度有位置权重数量决定1. **模型参数结构决定矩阵维度**2.…

【STM32】uwTick在程序中的作用及用法,并与Delay函数的区别

一、uwTick 的作用 1.系统时间基准 uwTick 是一个全局变量&#xff08;volatile uint32_t&#xff09;&#xff0c;记录系统启动后的毫秒级时间累计值。默认情况下&#xff0c;它由 SysTick 定时器每 ​1ms 自动递增一次&#xff08;通过 HAL_IncTick() 函数。例如&#xff0…

docker速通

docker 镜像操作搜索镜像拉取镜像查看镜像删除镜像 容器操作!查看容器运行容器run命令详细介绍 启动容器停止容器重启容器查看容器状态查看容器日志删除容器进入容器 保存镜像提交保存加载 分享社区登录命名推送 docker存储目录挂载卷映射查看所有容器卷创建容器卷查看容器卷详…

OpenCV旋转估计(5)图像拼接的一个函数waveCorrect()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 waveCorrect 是OpenCV中用于图像拼接的一个函数&#xff0c;特别适用于全景图拼接过程中校正波浪形失真&#xff08;Wave Correction&#xff09…

Python、MATLAB和PPT完成数学建模竞赛中的地图绘制

参加数学建模比赛时&#xff0c;很多题目——诸如统计类、数据挖掘类、环保类、建议类的题目总会涉及到地理相关的情景&#xff0c;往往要求我们制作与地图相关的可视化内容。如下图&#xff0c;这是21年亚太赛的那道塞罕坝的题目&#xff0c;期间涉及到温度、降水和森林覆盖率…