可提示 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. 事件背景 近期,网宿平台某客户在使用云主机工作的时候突然出现主机卡顿,连接不稳定,网络断开的情况,并且收到了网宿主机入侵检测产品的告警信息。由于客户没有专职的安全人员,由运维人员兼任安全运营工作ÿ…...
Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...
通过Wrangler CLI在worker中创建数据库和表
官方使用文档:Getting started Cloudflare D1 docs 创建数据库 在命令行中执行完成之后,会在本地和远程创建数据库: npx wranglerlatest d1 create prod-d1-tutorial 在cf中就可以看到数据库: 现在,您的Cloudfla…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
关键领域软件测试的突围之路:如何破解安全与效率的平衡难题
在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的核心战斗力。不同于普通商业软件,这些承载着国家安全使命的软件系统面临着前所未有的质量挑战——如何在确保绝对安全的前提下,实现高效测试与快速迭代?这一命题正考验着…...
算法:模拟
1.替换所有的问号 1576. 替换所有的问号 - 力扣(LeetCode) 遍历字符串:通过外层循环逐一检查每个字符。遇到 ? 时处理: 内层循环遍历小写字母(a 到 z)。对每个字母检查是否满足: 与…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...
WEB3全栈开发——面试专业技能点P7前端与链上集成
一、Next.js技术栈 ✅ 概念介绍 Next.js 是一个基于 React 的 服务端渲染(SSR)与静态网站生成(SSG) 框架,由 Vercel 开发。它简化了构建生产级 React 应用的过程,并内置了很多特性: ✅ 文件系…...
Docker、Wsl 打包迁移环境
电脑需要开启wsl2 可以使用wsl -v 查看当前的版本 wsl -v WSL 版本: 2.2.4.0 内核版本: 5.15.153.1-2 WSLg 版本: 1.0.61 MSRDC 版本: 1.2.5326 Direct3D 版本: 1.611.1-81528511 DXCore 版本: 10.0.2609…...
el-amap-bezier-curve运用及线弧度设置
文章目录 简介示例线弧度属性主要弧度相关属性其他相关样式属性完整示例链接简介 el-amap-bezier-curve 是 Vue-Amap 组件库中的一个组件,用于在 高德地图 上绘制贝塞尔曲线。 基本用法属性path定义曲线的路径,可以是多个弧线段的组合。stroke-weight线条的宽度。stroke…...
【Redis】Redis从入门到实战:全面指南
Redis从入门到实战:全面指南 一、Redis简介 Redis(Remote Dictionary Server)是一个开源的、基于内存的键值存储系统,它可以用作数据库、缓存和消息代理。由Salvatore Sanfilippo于2009年开发,因其高性能、丰富的数据结构和广泛的语言支持而广受欢迎。 Redis核心特点:…...
