可提示 3D 分割研究里程碑!SAM2Point:SAM2加持泛化任意3D场景、任意提示!

news2024/12/27 13:34:49

郑重声明:本解读已获得论文作者的原创解读授权

文章链接:https://arxiv.org/pdf/2408.16768
在线demo: https://huggingface.co/spaces/ZiyuG/SAM2Point
code链接:https://github.com/ZiyuGuo99/SAM2Point

亮点直击

  1. 无投影 3D 分割:SAM2POINT 通过将 3D 数据体素化为视频格式,避免了复杂的 2D-3D 投影,实现了高效的零样本 3D 分割,同时保留了丰富的空间信息。

  2. 多样的提示支持:该方法支持 3D 点、3D框和mask三种提示类型,实现了灵活的交互式分割,增强了 3D 分割的精确度和适应性。

  3. 强大的泛化能力: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

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

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

相关文章

DAY14信息打点-JS 架构框架识别泄漏提取API 接口枚举FUZZ 爬虫插件项目

本课意义: 1.如何从表现中的JS提取价值信息 2.如何从地址中FUZZ提取未知的JS文件 3.如何从JS开放框架WebPack进行测试 一、JS 前端架构-识别&分析 在JS中寻找更多的URL地址,在JS代码逻辑(加密算法、APIKey配置、验证逻辑)中进…

C语言——静态链表和动态链表

一、静态链表 创建链表中的一个节点,用struct来创建,其中包含两个部分:数据域和指针域。 创建三个结点,node1、node2、node3,分别赋值,初始化为NULL。接着就是将这些节点进行连接,组成链表。连…

干货分享|分享一款完全免费的PDF工具箱 PDF24

PDF 24介绍: PDF 24是一个全面的PDF工具包,旨在简化和优化PDF文件的处理和管理。它提供了广泛的功能和工具,包括创建、编辑、转换、合并、拆分、加密、解密、压缩、优化、签名、水印等。 主要特点:完全免费,轻量便捷,…

现货黄金避险属性是怎么来的?

众所周知,黄金是一种可以规避风险的品种,当地缘局势冲突、经济下行,甚至是出现军事摩擦等等情况,黄金都会受到避险情绪支撑而上涨。典型的例子,我们可以看俄乌冲突,还有中东的地缘局势等,这些事…

TS 常用类型

我们经常说TypeScript是JavaScript的一个超级 TypeScript 常用类型 TypeScript 是 JS 的超集,TS 提供了 JS 的所有功能,并且额外的增加了:类型系统 所有的 JS 代码都是 TS 代码 JS 有类型(比如,number/string 等&…

OPENAIGC开发者大赛企业组AI黑马奖 | 包你面-AI面试助手

在第二届拯救者杯OPENAIGC开发者大赛中,涌现出一批技术突出、创意卓越的作品。为了让这些优秀项目被更多人看到,我们特意开设了优秀作品报道专栏,旨在展示其独特之处和开发者的精彩故事。 无论您是技术专家还是爱好者,希望能带给您…

Linux基础知识之用户和组

Linux基础知识之用户和组 01 1.什么是用户 用户账户为不同人员和运行的程序之间提供安全边界 用户使用 username 进行标识,操作系统为其分配唯一标识号(UID),用户可能含有密码 系统中的每个程序都以一个特定用户运行&#xff…

上/下三角矩阵的压缩存储

1.给自己出题:自己动手创造,画一个5行5列的下三角矩阵 2.画图:按“行优先”压缩存储上述矩阵,画出一维数组的样子 3.简答:写出元素 i,j 与 数组下标之间的对应关系 4.画图:按“列优先”压缩存储上述矩阵…

【卷起来】VUE3.0教程-06-组件详解

各位看官,点波关注和赞吧 组件允许我们将 UI 划分为独立的、可重用的部分,并且可以对每个部分进行单独的思考。在实际应用中,组件常常被组织成层层嵌套的树状结构: 这和我们嵌套 HTML 元素的方式类似,Vue 实现了自己的…

ssrf漏洞利用+CTF实例

引发ssrf漏洞的几个函数 file_get_contents() 把整个文件读入一个字符串中,获取本地或者远程文件内容fsockopen() 获得套接字信息curl_exec() 执行一个curl会话,由curl_init()初始化一个新的会话,返回一个curl句柄fopen() 打开文件或者URLre…

【数据结构与算法 | 灵神题单 | 插入链表篇】力扣2807, LCR 029, 147

1. 力扣2807:在链表中插入最大公约数 1.1 题目: 你一个链表的头 head ,每个结点包含一个整数值。 在相邻结点之间,请你插入一个新的结点,结点值为这两个相邻结点值的 最大公约数 。 请你返回插入之后的链表。 两个…

前端开发macbook——NVM环境配置以及git配置流程

本文主要针对前端使用mac电脑时需要安装nvm对应环境,一文解决环境安装问题 主要步骤如下: 安装homebrew 安装nvm 安装git 第一步:安装homebrew /bin/bash -c "$(curl -fsSL https:/raw.githubusercontent.com/Homebrew/install/HE…

C++基础(七):类和对象之深浅拷贝问题(中-3)

在C编程中,拷贝构造函数是对象复制的核心机制,尤其是在处理对象间的值传递时。当一个对象通过拷贝另一个对象来初始化时,浅拷贝只是简单地复制对象的成员变量的值。如果对象包含指针成员,浅拷贝只复制指针地址,这可能会…

基于matlab交通标志识别系统用的APP designer设计的gui界面 交互原理:bp神经网络-训练好图像处理有灰度化-二值化-颜色区域定位识别

基于MATLAB的交通标志识别系统是一个实用的工具,用于识别道路交通标志。该系统结合了图像处理技术和BP神经网络模型,可以在给定的图像中定位并识别交通标志。通过使用MATLAB的App Designer工具,系统还提供了一个交互式的图形用户界面&#xf…

【idea-安装】

JetBrains官⽹ : https://www.jetbrains.com/ 1.下载idea安装包,下载旧一些的版本,避免新版本的不稳定。 下载下来的安装包是exe格式的,直接点击运行。 点击Next 2.选择要下载的位置,点击下一步。 3.选择⽣成快捷⽅式和建⽴⽂件…

从头开始学MyBatis—01搭建基础框架

首先对mybatis进行一个简单的介绍,然后从最基础的准备工作开始搭建一个mybatis的开发 环境,最后通过简单的增删改查来熟悉配置文件和映射文件的编写。 目录 1.Mybaits简介 2.开发环境和准备工作 2.1开发环境 2.2pom文件 2.3数据库和表 2.4对应实体…

探索Python世界的隐藏宝石:Pika库的神秘力量

文章目录 探索Python世界的隐藏宝石:Pika库的神秘力量背景:为何选择Pika?Pik库简介如何安装Pika?简单库函数使用方法场景应用常见Bug及解决方案总结 探索Python世界的隐藏宝石:Pika库的神秘力量 背景:为何…

【机器学习】8 ——朴素贝叶斯

机器学习 8 ——朴素贝叶斯 特征条件独立假设 朴素是指每个特征独立地影响结果,整个假设在实际应用中不成立,主要是思想 输入输出的来拟合概率分布,贝叶斯定理,后验概率最大 文章目录 机器学习 8 ——朴素贝叶斯前言贝叶斯定理先…

vue2使用ag-grid表格

ag-grid官网:Vue Grid: Custom Components | AG Grid 根据官方文档说的AG Grid no longer supports Vue 2. The last version to support Vue 2 is AG Grid v31.3.,目前只有v31.3.版本支持vue2。 以下是官方给的demo Vue Grid: Get Started with AG G…

C# WPF编程-串口通信

C# WPF编程-串口通信 串口通信1. NuGet安装System.IO.Ports2. 界面布局XAML3. C#代码4. 运行效果源码下载 串口通信 1. NuGet安装System.IO.Ports 2. 界面布局XAML <Window x:Class"BlocksTools.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006…