当前位置: 首页 > news >正文

点云深度学习系列:Sam2Point——基于提示的点云分割

文章:SAM2POINT:Segment Any 3D as Videos in Zero-shot and Promptable Manners

代码:https://github.com/ZiyuGuo99/SAM2Point

Demo:https://huggingface.co/spaces/ZiyuG/SAM2Point

1)摘要

文章介绍了SAM2POINT,这是一种初步探索,采用 Segment Anything Model 2 (SAM2) 进行zero-shot和可提示的3D分割。SAM2POINT将任何 3D 数据解释为一系列多向视频,并利用SAM2进行3D空间分割,无需进一步训练或2D-3D投影。文中的框架支持各种提示类型,包括3D点、框和蒙版,并且可以泛化到各种场景,例如3D对象、室内场景、室外场景和原始激光雷达。在多个3D数据集(例如Objaverse、S3DIS、ScanNet、Semantic3D 和 KITTI)上的演示突出了SAM2POINT的强大泛化功能。据作者了解,其展示的SAM 在 3D 中最真实的实现,这可能作为未来快速 3D 分割研究的起点。

2)创新点

现有SAM在3D上的工作存在以下问题:

①低效的2D-3D投影——考虑到 2D 和 3D 之间的域差距,大多数现有工作将 3D 数据表示为其 2D 对应物作为 SAM 的输入,并将分割结果反向投影到 3D 空间,这种模式转换会带来显著的处理复杂性,从而阻碍高效实施;

②3D空间信息退化——对 2D 投影的依赖会导致精细的 3D 几何图形和语义的丢失,因为多视图数据通常无法保持空间关系。此外,2D 图像无法充分捕捉 3D 对象的内部结构,这严重限制了分割精度

③提示词灵活性不足——SAM 的一个引人注目的优势在于它通过各种提示替代方案的交互功能。不幸的是,这些功能在当前方法中大多被忽视,因为用户很难使用 2D 表示指定精确的 3D 位置。因此,SAM 通常用于整个多视图图像的密集分割,从而牺牲了交互性;

④域泛化性能受限——现有的 2D-3D 投影技术通常是针对特定的 3D 场景量身定制的,在很大程度上依赖于域内图形。这使得它们难以应用于新的环境,例如,从对象到场景或从室内到室外环境。另一个研究方向旨在从头开始在3D中训练一个可提示的网络。虽然绕过了对 2D 投影的需求,但它需要大量的训练和数据资源,并且可能仍会受到训练数据分布的限制。

文章创新点:

①将3D点云转换为视频进行分割——为了在分割过程中保留 3D 几何图形,同时确保与 SAM 2 的兼容性,我们采用体素化来模拟视频。体素化 3D 数据的形状为 w × h × l × 3,与 w × h × t × 3 的视频格式非常相似。这种表示允许 SAM 2 进行零样本 3D 分割,同时保留足够的空间信息,而无需额外的训练或 2D-3D 投影;

②支持多种3D提示词——SAM2POINT 基于 SAM 2 构建,支持三种类型的提示:3D 点、边界框和蒙版。从用户提供的 3D 提示开始,例如一个点 (x, y, z),我们将 3D 空间划分为三个正交方向,生成六个相应的视频。然后,将多向分割结果整合在一起,形成 3D 空间中的最终预测,从而允许交互式可提示分割;

③能泛化到各种场景——SAM2POINT 在具有不同点云分布的不同 3D 场景中展示了强大的泛化能力。文中方法可以有效地分割单个物体、室内场景、室外场景和原始 LiDAR,凸显其在不同领域的卓越可传递性。

3)算法结构

A 3D数据转换为视频格式

给定任何对象级或场景级点云,我们用 P ∈ R n×6 表示它,每个点都表示为 p = (x, y, z, r, g, b)。我们的目标是将 P 转换为一种数据格式,一方面,SAM 2 可以直接以零样本方式处理,另一方面,可以很好地保留细粒度的空间几何特性。为此,我们采用了 3D 体素化技术。与 RGB 图像映射、多视图渲染和 NeRF相比,体素化在 3D 空间中高效执行,避免了信息退化和繁琐的后处理。

通过这种方式,我们获得了 3D 输入的体素化表示,用 V ∈ R w×h×l×3 表示,每个体素为 v = (r, g, b)。为简单起见,根据最接近体素中心的点设置 (r, g, b) 值。此格式与形状为 w×h×t×3 的视频非常相似。主要区别在于,视频数据包含跨 t 帧的单向时间依赖性,而 3D 体素在三个空间维度上是各向同性的。考虑到这一点,作者将体素表示转换为一系列多向视频,从而激发 SAM 2 以与视频相同的方式分割 3D点云空间。

B 基于提示进行数据分割

为了实现灵活的交互性,文中的 SAM2POINT 支持 3D 空间中的三种类型的提示,可以单独使用,也可以联合使用。

①3D点提示——表示为 。我们首先将 视为 3D 空间中的锚点,以定义三个正交的 2D 截面。从这些部分开始,我们将 3D 体素沿六个空间方向分为六个子部分,即前、后、左、右、上和下。然后,我们将它们视为六个不同的视频,其中该部分作为第一帧, 被投影为 2D 点提示。在应用 SAM 2 进行并发分割后,我们将 6 个视频的结果整合为最终的 3D 蒙版预测。

②3D框提示——表示为 ,包括 3D 中心坐标和尺寸。我们采用的几何中心作为锚点,如前所述,用 6 个不同的视频表示 3D 体素。对于某个方向的视频,我们将 投影到相应的 2D 截面中,作为分割的框点。我们还支持具有旋转角度的 3D 框,例如 ,其中投影 的边界矩形被用作 2D 提示。

③3Dmask提示——表示为 Mp ∈ R n×1 ,其中 1 或 0 表示掩码和未掩码区域。我们以蒙版提示的重心作为锚点,同样将 3D 空间划分为 6 个视频。3D 蒙版提示与每个部分之间的交集用作分段的 2D 蒙版提示。这种类型的提示还可以用作后优化步骤,以提高先前预测的 3D 掩码的准确性。

4)实验

(1)3D对象

(2)室内场景

(3)室外场景

(4)原始激光扫描数据

5)结论

在这个项目中,作者提出了 SAM2POINT,它利用 Segment Anything 2 (SAM 2) 到 3D 分割,具有零样本和可提示的框架。通过将 3D 数据表示为多向视频,SAM2POINT 支持各种类型的提示(3D 点、框和掩码),并在各种 3D 场景(3D 对象、室内场景、室外环境和原始稀疏 LiDAR)中表现出强大的泛化能力。作为初步调查,SAM2POINT 为调整 SAM 2 以实现有效和高效的 3D 理解提供了独特的见解。

相关文章:

点云深度学习系列:Sam2Point——基于提示的点云分割

文章:SAM2POINT:Segment Any 3D as Videos in Zero-shot and Promptable Manners 代码:https://github.com/ZiyuGuo99/SAM2Point Demo:https://huggingface.co/spaces/ZiyuG/SAM2Point 1)摘要 文章介绍了SAM2POINT,这是…...

mysql学习教程,从入门到精通,TOP 和MySQL LIMIT 子句(15)

1、TOP 和MySQL LIMIT 子句内容 在SQL中,不同的数据库系统对于限制查询结果的数量有不同的实现方式。TOP 关键字主要用于 SQL Server 和 Access 数据库中,而 LIMIT 子句则主要用于 MySQL、PostgreSQL(通过 LIMIT/OFFSET 语法)、S…...

备战软考Day02-数据结构与算法

1.基本概念与三要素 1.什么是数据 数据是信息的载体,是描述客观事物属性的数、字符及所有能输入到计算机中并被计算机程序识别和处理的符号的集合。数据是计算机程序加工的原料。 2.数据元素、数据项 数据元素是数据的基本单位,通常作为一个整体进行…...

COMP 6714-Info Retrieval and Web Search笔记week1

哭了哭了,这周唯一能听懂的就这门 目录 IR(Information Retrieval)是什么?IR的基本假设Unstructured (text) vs. structuredDocuments vs. Database Records比较文本(Comparing Text)IR的范围(Dimensions of IR)IR的任…...

C++在Linux实现多线程和多进程的TCP服务器和客户端通信

多进程版本 服务器 #include <arpa/inet.h> #include <stdlib.h> #include <stdio.h> #include <string.h> #include <unistd.h> #include <sys/socket.h> #include <sys/wait.h> #include <signal.h> #include <string&…...

音视频开发常见的开源项目汇总

FFmpeg 地址&#xff1a;https://ffmpeg.org/介绍&#xff1a;FFmpeg 是一个非常强大的开源多媒体框架&#xff0c;它可以用来处理视频和音频文件。它支持多种格式的转换、编码、解码、转码、流处理等。FFmpeg 包括了 libavformat、libavcodec、libavutil、libswscale、libpos…...

Java操控Redis (面经之 使用Redis)

操控Redis的工具 ReactiveRedisTemplate 和 RedisTemplate : RedisTemplate&#xff1a; 它是一个通用的模板类&#xff0c;可以使用任何序列化策略来序列化和反序列化键和值。默认情况下&#xff0c;它使用 JdkSerializationRedisSerializer 序列化值&#xff0c;并使用 Strin…...

【计网】从零开始使用UDP进行socket编程 --- 服务端业务实现

在我们每个人都曾经历过“沮丧”时刻里&#xff0c; 如果我们不能对别人说有益的好话&#xff0c; 那我们最好还是什么也别说。 --- 卡耐基 《人性的弱点》--- 从零开始使用UDP进行socket编程 1 前情提要2 单词翻译2.1 业务需求2.2 设计字典类2.3 服务端与客户端逻辑2.4 运…...

正式发售!《黑神话:悟空》背后的技术力量——UE5与实时云渲染

千呼万唤始出来&#xff0c;《黑神话&#xff1a;悟空》终于在今年8月发售了&#xff0c;相信大家都已经玩起来了&#xff01; 作为国产游戏的画质巅峰之作&#xff0c;《黑神话&#xff1a;悟空》凭借其令人叹为观止的画面质量和游戏体验&#xff0c;赢得了广泛的好评。这一切…...

qt-creator-10.0.2之后版本的jom.exe编译速度慢下来了

1、Qt的IDE一直在升级&#xff0c;qt-creator的新版本下载地址 https://download.qt.io/official_releases/qtcreator/ 2、本人一直用的是qt-creator-10.0.2版本&#xff0c;官网历史仓库可以下载安装包qt-creator-opensource-windows-x86_64-10.0.2.exe https://download.qt…...

2024CSP-J初赛全真模拟卷选择题篇(原创,难度偏简单)

注意&#xff0c;本卷由再临TSC原创&#xff0c;禁止转载&#xff01; 本卷难度偏简单&#xff0c;若想要通过初赛本卷应拿80分左右 查看答案的方法&#xff1a; if(设备"PC") { 把光标移到答案上面&#xff0c;选中答案&#xff0c;就会显示()&#xff1b; } …...

【Android 13源码分析】WindowContainer窗口层级-4-Layer树

在安卓源码的设计中&#xff0c;将将屏幕分为了37层&#xff0c;不同的窗口将在不同的层级中显示。 对这一块的概念以及相关源码做了详细分析&#xff0c;整理出以下几篇。 【Android 13源码分析】WindowContainer窗口层级-1-初识窗口层级树 【Android 13源码分析】WindowCon…...

C# 开发教程-中级教程

1.C# 多线程/异步 C# 异步编程Task整理&#xff08;一&#xff09; C# 异步编程Task整理&#xff08;二&#xff09;异常捕捉 C# 异步编程Task(三) async、await C#中创建线程&#xff0c;创建带参数的线程 C# 线程同步之排它锁/Monitor监视器类 C# lock关键词/lock语句块…...

【C++】c++的继承

目录 思维导图大纲&#xff1a; 1.基类和派生类 1.1 定义格式 1.2 继承方式 1.3 基类和派生类的转换 2. 继承中的作用域(隐藏关系) 2.1 考察继承作⽤域相关选择题 3. 派生类的默认成员函数 4. 继承类模板 5. 一个不能被继承的类 ​编辑 6.继承与友元 ​编辑 7. 继…...

【ShuQiHere】 进制转换的世界:从十进制到二进制、十六进制的转换技巧

【ShuQiHere】 在计算机科学中&#xff0c;进制转换&#xff08;Radix Conversion&#xff09; 是一个基础且非常重要的技能。无论是理解计算机的存储、数据表示&#xff0c;还是在编程中处理不同的进制数据&#xff0c;进制转换都是不可或缺的。本文将详细讲解 十进制&#x…...

《化工管理》

《化工管理》征稿简则 《化工管理》杂志是由中国石油和化学工业联合会主管、中国化工企业管理协会主办&#xff0c;1986年创刊&#xff0c;在国内外公开发行&#xff0c;国内统一连续出版物号&#xff1a;CN 11—3991/F&#xff0c;中国标准连续出版物号&#xff1a;ISSN 1008—…...

LeetCode70:爬楼梯

class Solution { public:int climbStairs(int n) {if(n 1) return 1;if(n 2) return 2;vector<int> dp(n 1, 0);dp[1] 1;dp[2] 2;for(int i 3; i < n 1; i){dp[i] dp[i - 1] dp[i - 2];}return dp[n];} }; 这个题目也就是最简单的动态规划&#xff0c;题目…...

[程序员] 前人留下的苦难源,我们是否有勇气改正?

最近遇到一个客户现场发现的&#xff0c;表象是网络有问题&#xff0c;分析一圈下来发现是程序进入了某种死循环状态&#xff0c;耗尽CPU。 产品里的很多线程/进程的优先级设置的很高&#xff0c;甚至高过了内核运行程序的优先级&#xff0c;高过了产品内警告处理程序的运行&a…...

聚类_K均值

import numpy as np import matplotlib.pyplot as plt from sklearn.datasets import make_blobs1.数据预处理 #创建基于高斯分布的样本点, x是点的坐标&#xff0c;y是所属聚类值 x, y make_blobs(n_samples100, centers6, random_state100, cluster_std0.6) # 设置图形尺寸…...

Mac电脑剪切板在哪里找 苹果电脑剪切板打开教程【详解】

Windows 和 Mac 电脑在使用方式上存在一些差异&#xff0c;许多习惯了 Windows 系统的用户初次接触 Mac 时可能会对某些操作感到困惑。比如&#xff0c;很多人会问&#xff1a;Mac 上的剪贴板在哪里&#xff1f;如果你也有这样的疑问&#xff0c;不妨看看下面这篇关于如何在 Ma…...

从理论到实践:基于快马平台打造openclaw颜色分拣实战项目

最近在做一个很有意思的实战项目——基于openclaw的自动化颜色分拣系统。这个项目完美结合了计算机视觉和机械控制&#xff0c;特别适合用来验证一些工业自动化场景中的关键技术点。下面分享下我的实现过程和经验总结。 项目整体架构设计 这个系统主要分为四个核心模块&#…...

终极Fuel测试指南:使用MockWebServer编写可靠的Kotlin网络测试

终极Fuel测试指南&#xff1a;使用MockWebServer编写可靠的Kotlin网络测试 【免费下载链接】fuel The easiest HTTP networking library for Kotlin/Android 项目地址: https://gitcode.com/gh_mirrors/fu/fuel Fuel是Kotlin平台最简单易用的HTTP网络库&#xff0c;专为…...

Java面试八股文总结(金三银四版)建议收藏。

今年的行情&#xff0c;让招聘面试变得雪上加霜。已经有不少大厂&#xff0c;如腾讯、字节跳动的招聘名额明显减少&#xff0c;面试门槛却一再拔高&#xff0c;如果不用心准备&#xff0c;很可能就被面试官怼得哑口无言&#xff0c;甚至失去了难得的机会。 现如今&#xff0c;…...

MaaYuan使用指南

MaaYuan使用指南 【免费下载链接】MaaYuan 代号鸢 / 如鸢 一键长草小助手 项目地址: https://gitcode.com/gh_mirrors/ma/MaaYuan MaaYuan是一款基于MaaFramework开发的跨平台游戏自动化工具&#xff0c;专为《代号鸢》和《如鸢》玩家设计。通过图像识别和模拟控制技术&…...

BilibiliDown:3分钟上手,从此告别B站视频下载烦恼

BilibiliDown&#xff1a;3分钟上手&#xff0c;从此告别B站视频下载烦恼 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader &#x1f633; 项目地址: https://gitcode.com/gh_mi…...

ILI9163 LCD驱动库设计与嵌入式显示工程实践

1. ILI9163 LCD驱动库技术解析与工程实践ILI9163是一款由ILITEK公司推出的16位色、240320分辨率的TFT-LCD控制器芯片&#xff0c;广泛应用于低成本嵌入式显示终端&#xff0c;如便携式仪器、工业HMI面板、智能穿戴设备子屏及教育开发板。其核心优势在于低功耗&#xff08;典型待…...

实时多人姿态估计终极指南:从理论到实践的技术突破

实时多人姿态估计终极指南&#xff1a;从理论到实践的技术突破 【免费下载链接】Realtime_Multi-Person_Pose_Estimation Code repo for realtime multi-person pose estimation in CVPR17 (Oral) 项目地址: https://gitcode.com/gh_mirrors/re/Realtime_Multi-Person_Pose_E…...

React on Rails 终极集成指南:React 18/19 与 Rails 7/8 的未来展望

React on Rails 终极集成指南&#xff1a;React 18/19 与 Rails 7/8 的未来展望 【免费下载链接】react_on_rails Integration of React Webpack Rails including server-side rendering of React, enabling a better developer experience and faster client performance. …...

SEO 搜索推广需要哪些技能和工具

SEO 搜索推广需要哪些技能和工具 在当今数字化时代&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;搜索推广已经成为网站流量增长和品牌推广的关键。如果你是一个希望提升网站在搜索引擎中排名的人&#xff0c;了解SEO搜索推广需要哪些技能和工具是至关重要的。本文将从…...

提升电路设计效率:快马AI一键生成三极管偏置方案与对比报告

作为一名电子工程师&#xff0c;经常需要设计三极管放大电路&#xff0c;其中最基础也最繁琐的就是偏置电路的计算。传统方法需要手动查公式、反复验算&#xff0c;不仅耗时还容易出错。最近发现InsCode(快马)平台可以快速生成三极管偏置方案&#xff0c;体验后发现确实能大幅提…...