可提示 3D 分割研究里程碑!SAM2Point:SAM2加持泛化任意3D场景、任意提示!
郑重声明:本解读已获得论文作者的原创解读授权
文章链接:https://arxiv.org/pdf/2408.16768
在线demo: https://huggingface.co/spaces/ZiyuG/SAM2Point
code链接:https://github.com/ZiyuGuo99/SAM2Point
亮点直击
无投影 3D 分割:SAM2POINT 通过将 3D 数据体素化为视频格式,避免了复杂的 2D-3D 投影,实现了高效的零样本 3D 分割,同时保留了丰富的空间信息。
多样的提示支持:该方法支持 3D 点、3D框和mask三种提示类型,实现了灵活的交互式分割,增强了 3D 分割的精确度和适应性。
强大的泛化能力:SAM2POINT 在多种 3D 场景中表现出优越的泛化能力,包括单个物体、室内场景、室外场景和原始 LiDAR 数据,显示了良好的跨领域转移能力。
本文介绍了 SAM2POINT,这是一种初步探索,将 Segment Anything Model 2 (SAM 2) 适配于零样本和可提示的 3D 分割。SAM2POINT 将任何 3D 数据解释为一系列多方向视频,并利用 SAM 2 进行 3D 空间分割,无需进一步训练或 2D-3D 投影。框架支持多种提示类型,包括 3D 点、框和mask,并且可以在各种场景中进行泛化,例如 3D 单个物体、室内场景、室外场景和原始 LiDAR。在多个 3D 数据集上的演示,如 Objaverse、S3DIS、ScanNet、Semantic3D 和 KITTI,突出了 SAM2POINT 的强大泛化能力。据我们所知,展示了 SAM 在 3D 中的最忠实实现,这可能成为未来可提示 3D 分割研究的起点。
效果展示
下图 3-7 展示了 SAM2POINT 在使用不同 3D 提示对不同数据集进行 3D 数据分割的演示。
SAM2POINT
SAM2POINT 的详细方法如下图 2 所示。下面介绍了 SAM2POINT 如何高效地将 3D 数据格式化以兼容 SAM 2,从而避免复杂的投影过程。接下来,以及详细说明了支持的三种 3D 提示类型及其相关的分割技术。最后,展示了 SAM2POINT 有效解决的四种具有挑战性的 3D 场景。
3D 数据作为视频
给定任何对象级别或场景级别的点云,用 表示,其中每个点为 。本文的目标是将 转换为一种数据格式,这种格式一方面能使 SAM 2 以零样本的方式直接处理,另一方面能够很好地保留细粒度的空间几何结构。为此,我们采用了 3D 体素化技术。与 RGB 图像映射、多视角渲染和 NeRF等先前工作相比,体素化在 3D 空间中高效执行,因此避免了信息降解和繁琐的后处理。
通过这种方式,获得了 3D 输入的体素化表示,记作 ,其中每个体素为 。为了简化, 值根据距离体素中心最近的点设置。这种格式与形状为 的视频非常相似。主要区别在于,视频数据包含在 帧之间的单向时间依赖性,而 3D 体素在三个空间维度上是各向同性的。考虑到这一点,我们将体素表示转换为一系列多方向的视频,从而启发 SAM 2 以与视频相同的方式进行 3D 分割。
可提示分割
为了实现灵活的交互性,SAM2POINT 支持三种类型的 3D 提示,这些提示可以单独使用,也可以联合使用。在下文中具体说明提示和分割的细节:
-
3D 点提示,记作 。首先将 视为 3D 空间中的一个锚点,以定义三个正交的 2D 截面。然后,从这些截面开始,将 3D 体素分为沿六个空间方向的六个子部分,即前、后、左、右、上和下。接着,我们将它们视为六个不同的视频,其中截面作为第一帧, 被投影为 2D 点提示。应用 SAM 2 进行并发分割后,将六个视频的结果整合为最终的 3D mask 预测。
-
3D 框提示,记作 ,包括 3D 中心坐标和尺寸。我们采用 的几何中心作为锚点,并按照上述方法将 3D 体素表示为六个不同的视频。对于某一方向的视频,我们将 投影到相应的 2D 截面,作为分割的框点。我们还支持具有旋转角度的 3D 框,例如 ,对于这种情况,采用投影后的 的边界矩形作为 2D 提示。
-
3D mask提示,记作 ,其中 1 或 0 表示mask区域和非mask区域。使用mask提示的质心作为anchor,并类似地将 3D 空间划分为六个视频。3D mask提示与每个截面的交集被用作 2D mask提示进行分割。这种提示方式也可以作为后期精炼步骤,以提高先前预测的 3D mask的准确性。
任意 3D 场景
凭借简洁的框架设计,SAM2POINT 在各种领域中表现出优越的零样本泛化能力,从对象到场景、从室内到室外场景。在下文中详细阐述了四种不同的 3D 场景:
-
3D 单个物体,如 Objaverse,具有多种类别,具有不同实例的独特特征,包括颜色、形状和几何结构。对象的相邻组件可能会重叠、遮挡或融合,这要求模型准确识别细微差别以进行部分分割。
-
室内场景,如 S3DIS和 ScanNet,通常具有多个在封闭空间内(如房间)排列的对象。复杂的空间布局、外观相似性和对象间的不同方向给模型从背景中分割这些对象带来挑战。
-
室外场景,如 Semantic3D,与室内场景不同,主要由于对象的大小对比明显(建筑物、车辆和人)和点云的尺度更大(从一个房间到整个街道)。这些变化使得在全球尺度或细粒度水平上分割对象变得复杂。
-
原始 LiDAR,如 KITTI在自动驾驶中,与典型点云不同,其分布稀疏且缺乏 RGB 信息。稀疏性要求模型推断缺失的语义以理解场景,且缺乏颜色迫使模型仅依靠几何线索区分对象。在 SAM2POINT 中,我们直接通过 LiDAR 强度设置 3D 体素的 RGB 值。
结论
本文提出了 SAM2POINT,它利用 Segment Anything 2 (SAM 2) 实现 3D 分割,采用零样本和可提示框架。通过将 3D 数据表示为多方向视频,SAM2POINT 支持多种类型的用户提供的提示(3D 点、框和mask),并在多种 3D 场景(3D 单个物体、室内场景、室外场景和原始稀疏 LiDAR)中展示了强大的泛化能力。作为初步探索,SAM2POINT 提供了关于将 SAM 2 适配于有效和高效的 3D 理解的独特见解。希望本文的方法能够作为可提示 3D 分割的基础基准,鼓励进一步研究以充分发挥 SAM 2 在 3D 领域的潜力。
参考文献
[1]SAM2Point: Segment Any 3D as Videos in Zero-shot and Promptable Manners
相关文章:

可提示 3D 分割研究里程碑!SAM2Point:SAM2加持泛化任意3D场景、任意提示!
郑重声明:本解读已获得论文作者的原创解读授权 文章链接:https://arxiv.org/pdf/2408.16768 在线demo: https://huggingface.co/spaces/ZiyuG/SAM2Point code链接:https://github.com/ZiyuGuo99/SAM2Point 亮点直击 无投影 3D 分割࿱…...
Rabbitmq中得RPC调用代码详解
文章目录 1.RPC客户端2.RabbitMQ连接信息实体类3.XML工具类 本文档只是为了留档方便以后工作运维,或者给同事分享文档内容比较简陋命令也不是特别全,不适合小白观看,如有不懂可以私信,上班期间都是在得 直接上代码了 1.RPC客户端 …...

ISAC: Toward Dual-Functional Wireless Networks for 6G and Beyond【论文阅读笔记】
此系列是本人阅读论文过程中的简单笔记,比较随意且具有严重的偏向性(偏向自己研究方向和感兴趣的),随缘分享,共同进步~ Integrated Sensing and Communications: Toward Dual-Functional Wireless Networks for 6G and…...

split 分割字符串方法解析,substring 截取字符串方法解析;二者的作用和区别?使用时需要注意什么?附代码和运行图
目录 一. 摘要 二. split 方法 2.1 String[] split(String regix) 2.2 String[] split(String regix,int limit) 2.3.1 当 int < 0时,会按照最大数量切割字符串 2.3.2 当 int 0时,此时就和第一个方法一样了,等于没有传入…...

HTTP 协议的基本格式
HTTP协议("超文本传输协议"),是一个被广泛使用应用层协议,自1991年正式发布HTTP协议以来,HTTP协议就一直在更新,目前已经更新到3.0版本,但是目前主流的依旧是1.1版本,但依旧是一个最主流使用的应…...

STM32-HAL库开发快速入门
注:本文主要记录一下STM32CubeMX软件的使用流程,记录内容以STM32外设(中断、I2C、USART、SPI等配置)在STM32CubeMX中的设置为主,对驱动代码编写不做记录,所以阅读本文最好有标准库开发经验。除第2节外,使用的都是韦东山…...
vue3-print打印eletable某一行的数据
主页面的表格 <template><el-table :data"list"><el-table-column label"操作" align"center"><template #default"scope"><el-buttonlinktype"primary"click"handleType(scope.row)"…...

【Vue】pnpm创建Vue3+Vite项目
初始化项目 (1)cmd切换到指定工作目录,运行pnpm create vue命令,输入项目名称后按需安装组件 (2)使用vs code打开所创建的项目目录,Ctrl~快捷键打开终端,输入pnpm install下载项目…...

springboot配置多数据源
springboot配置多数据源 学习新技术,争做新青年,欢迎围观,河南老乡在上海请,加,微,andyfau2022, ----获取数据源:null,数据源为null时默认使用主数据源的。 1-yml文件…...
无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案
墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切…...

ChatGPT+Simple Mind Map生成思维导图:快速提升学习效率
一、告别杂乱笔记,一键生成清晰思维导图! 最近开始学习网络安全,一头扎进了各种协议、漏洞、防御机制的海洋中。信息量巨大,知识点零散,让我很快便陷入了“知识焦虑”——笔记越记越多,却越来越混乱&#…...

Day9 | Java框架 | SpringBoot
Day9 | Java框架 | SpringBoot SpringBoot简介入门程序概述起步依赖 基础配置配置文件格式:3种yaml语法规则yaml数据读取三种格式 多环境启动配置文件参数命令行参数多环境开发控制:Maven & SpringBoot 多环境兼容 配置文件分类:4种 整合…...
Wordpress右下角表单弹出插件
Ultimate Sticky Popup & Widgets Charcoal Making Machine | Equipment for Sale - Kingtiger...

影刀RPA实战:自动化批量生成条形码完整指南
今天我们聊聊使用影刀来实现批量生成条形码,条形码在零售行业运用非常广泛,主要作用表现在产品识别,库存管理,销售管理,防伪保护等,这些作用使其成为现代商业和工业环境中不可或缺的工具,它极大…...
Python Flask简介
简介 Flask 有两个主要依赖:路由、调试和 Web 服务器网关接口(Web Server Gateway Interface,WSGI) 子系统由:Werkzeug 提供模板系统由:Jinja2提供Werkzeug 和 Jinjia2 都是由 Flask 的核心开发者开发而成…...

视频监控平台是如何运作的?EasyCVR视频汇聚平台的高效策略与实践
随着科技的飞速发展,视频监控平台在社会安全、企业管理、智慧城市构建等领域发挥着越来越重要的作用。一个高效的视频监控平台,不仅依赖于先进的硬件设备,更离不开强大的视频处理技术作为支撑。这些平台集成了多种先进的视频技术,…...

欧拉下搭建第三方软件仓库—docker
1.创建新的文件内容 切换目录到etc底下的yum.repos.d目录,创建docker-ce.repo文件 [rootlocalhost yum.repos.d]# cd /etc/yum.repos.d/ [rootlocalhost yum.repos.d]# vim docker-ce.repo 编辑文件,使用阿里源镜像源,镜像源在编辑中需要单独复制 h…...

pcs升压变流一体机
在当今全球积极推进能源转型的大背景下,新能源技术的发展日新月异。其中,PCS 升压变流一体机作为一种关键的能源转换设备,正发挥着越来越重要的作用。它一般可分为10KV与35KV等级的。 PCS 升压变流一体机,全称为 Power Conversion…...

上海泗博EtherNet/IP转PROFIBUS DP网关EPS-320IP成都地铁项目应用案例
背景: 地铁,作为城市的活力脉搏,不仅是衔接城市生活的关键纽带,更是现代城市交通体系中不可或缺的核心组成部分。因此,确保地铁的稳定运行对任何一座城市都至关重要。 上海泗博自动化,作为与成都地铁项目合…...

猫鼠游戏: KaijiK病毒入侵溯源分析
1. 事件背景 近期,网宿平台某客户在使用云主机工作的时候突然出现主机卡顿,连接不稳定,网络断开的情况,并且收到了网宿主机入侵检测产品的告警信息。由于客户没有专职的安全人员,由运维人员兼任安全运营工作ÿ…...

【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...

【大模型RAG】Docker 一键部署 Milvus 完整攻略
本文概要 Milvus 2.5 Stand-alone 版可通过 Docker 在几分钟内完成安装;只需暴露 19530(gRPC)与 9091(HTTP/WebUI)两个端口,即可让本地电脑通过 PyMilvus 或浏览器访问远程 Linux 服务器上的 Milvus。下面…...

前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)
在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

网络编程(UDP编程)
思维导图 UDP基础编程(单播) 1.流程图 服务器:短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

AI病理诊断七剑下天山,医疗未来触手可及
一、病理诊断困局:刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断",医生需通过显微镜观察组织切片,在细胞迷宫中捕捉癌变信号。某省病理质控报告显示,基层医院误诊率达12%-15%,专家会诊…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...

嵌入式学习笔记DAY33(网络编程——TCP)
一、网络架构 C/S (client/server 客户端/服务器):由客户端和服务器端两个部分组成。客户端通常是用户使用的应用程序,负责提供用户界面和交互逻辑 ,接收用户输入,向服务器发送请求,并展示服务…...