您的位置:首页 > 娱乐 > 明星 > SAM2POINT:以zero-shot且快速的方式将任何 3D 视频分割为视频

SAM2POINT:以zero-shot且快速的方式将任何 3D 视频分割为视频

2024/10/6 20:25:16 来源:https://blog.csdn.net/qq_51659249/article/details/142026776  浏览:    关键词:SAM2POINT:以zero-shot且快速的方式将任何 3D 视频分割为视频

摘要

我们介绍 SAM2POINT,这是一种采用 Segment Anything Model 2 (SAM 2) 进行零样本和快速 3D 分割的初步探索。 SAM2POINT 将任何 3D 数据解释为一系列多向视频,并利用 SAM 2 进行 3D 空间分割,无需进一步训练或 2D-3D 投影。 我们的框架支持各种提示类型,包括 3D 点、框和掩模,并且可以泛化到不同的场景,例如 3D 对象、室内场景、室外场景和原始 LiDAR。 对多个 3D 数据集(例如 Objaverse、S3DIS、ScanNet、Semantic3D 和 KITTI)的演示凸显了 SAM2POINT 强大的泛化能力。 据我们所知,我们提出了 3D 中 SAM 最忠实的实现,这可以作为未来快速 3D 分割研究的起点。

1 INTRODUCTION

在之前的工作中发现了三个主要问题,这些问题阻碍了他们充分利用 SAM 的优势:

  • 2D-3D 投影效率低下。大多数现有作品将 3D 数据表示为其 2D 数据,作为 SAM 的输入,并将分割结果反投影到 3D 空间。
  • 三维空间信息的退化。对 2D 投影的依赖会导致细粒度 3D 几何和语义的丢失,因为多视图数据通常无法保留空间关系。此外,2D 图像无法充分捕获 3D 物体的内部结构,从而严重限制了分割精度。
  • 失去prompting灵活性。SAM 的一个引人注目的优势在于其通过各种提示选项进行交互的能力。 不幸的是,这些功能在当前方法中大多被忽视,因为用户很难使用 2D 表示来指定精确的 3D 位置。
  • 有限的域名可转移性。

概述SAM2POINT的三个功能:

  • Segmenting Any 3D as Videos. 用体素化来模拟视频。(体素化(Voxelization):这是一种将三维物体或场景转换为体素(voxel)网格的技术。体素是三维空间中的像素(pixel),类似于二维图像中的像素。体素化可以将复杂的三维物体或场景简化为由体素组成的网格,便于计算机处理和渲染。)体素化3D的数据是这样的维度:w×h×l×3(这通常指的是一个三维图像数据的格式,其中 w 代表宽度(width),h 代表高度(height),l 可能代表深度(length)或者层数(layers),3 通常表示颜色通道数,比如 RGB(红绿蓝)。很像视频的格式w×h×t×3:这通常指的是视频数据的格式,其中 w 同样代表宽度,h 代表高度,t 代表时间(time),也就是视频的帧数,3 同样表示颜色通道数。
  • 支持多种3Dprompts。3D points, bounding boxes, and masks。
  • 可推广到各种场景。可以有效地分割单个对象、室内场景、室外场景和原始 LiDAR,突出了其跨不同领域的卓越可转移性。

2 SAM2POINT

2.1 3D DATA AS VIDEOS

我们的目标是将P转换为一种数据格式,一方面SAM 2可以以零样本的方式直接处理,另一方面可以很好地保留细粒度的空间几何形状。为此,我们采用3D体素化技术,体素化是在 3D 空间中有效执行的,从而避免了信息退化和繁琐的后处理。

如何将三维输入的体素化表示转换为可以被特定系统(SAM 2)处理的视频格式?

  • 与视频格式的相似性

    • 体素化表示的格式与视频数据的格式 w×h×t×3非常相似,其中 t 代表时间帧数。
    • 这种相似性使得体素化数据可以被视频处理系统直接处理

2.2 PROMPTABLE SEGMENTATION

1、3D Point Prompt

使用3D Point Prompt来辅助三维体素分割的过程。

定义一个三维点提示 pp=(xp,yp,zp),这个点在三维空间中作为一个锚点(anchor point)。

②定义三个正交的二维截面:以 pp 为锚点,定义三个相互垂直的二维截面。这些截面在三维空间中分别对应于三个不同的平面。

③分割三维体素:从这些二维截面开始,将三维体素沿着六个空间方向分割成六个子部分,分别是:前面、后面、左面、右面、上面和下面。

④将子部分视为不同的视频:将每个分割得到的子部分视为一个独立的视频,其中二维截面作为视频的第一帧,而 pp被投影为二维点prompt。

⑤应用 SAM 2 进行并行分割:使用 SAM 2 系统对这六个“视频”进行并行的分割处理。SAM 2 系统能够同时处理多个视频流,并对每个视频流进行分割。

⑥整合分割结果:将六个视频的分割结果整合起来,形成最终的三维掩码(mask)预测。这个掩码预测代表了三维空间中目标对象的分割结果。

2、3D Box Prompt

使用3D Box Prompt来辅助三维体素分割的过程。

3D Box Prompt:定义一个三维盒子提示 bp=(xp,yp,zp,wp,hp,lp)其中 (xp,yp,zp)表示三维空间中的几何中心坐标,(wp,hp,lp) 表示盒子的宽度、高度和长度。

使用几何中心作为锚点:将三维盒子的几何中心作为锚点,用于定义三维空间中的分割。

③表示三维体素为六个不同的视频:如前所述,将三维体素沿着六个空间方向分割成六个子部分,每个子部分被视为一个独立的视频。

投影三维盒子到二维截面:对于每个方向的视频,将三维盒子 bp投影到相应的二维截面上,这个投影的盒子用作分割的二维提示点(box point)

支持带有旋转角度的三维盒子:支持三维盒子带有旋转角度,例如 (αp,βp,γp),这些角度分别代表绕 x、y、z 轴的旋转。对于带有旋转的三维盒子,采用投影后的盒子的边界矩形(bounding rectangle)作为二维提示。

分割过程:在每个方向的视频上,使用投影得到的二维提示(无论是单个点还是边界矩形)来辅助分割过程。应用分割算法(如 SAM 2)对每个视频进行处理,以识别和分割出目标对象。

整合分割结果:将六个方向的视频分割结果整合起来,形成最终的三维掩码(mask)预测。

3、3D Mask Prompt

三维掩码提示(3D Mask Prompt):定义一个三维掩码提示 Mp∈Rn×1Mp∈Rn×1,其中 nn 表示点的数量。每个点的值是 1 或 0,1 表示被掩码(masked)的区域,0 表示未被掩码(unmasked)的区域。

使用质心作为锚点:将三维掩码提示的质心(center of gravity)作为锚点。质心是所有掩码区域点的加权平均位置,可以认为是掩码区域的几何中心。

分割三维空间为六个视频:与之前的方法类似,将三维空间沿着六个空间方向分割成六个子部分,每个子部分被视为一个独立的视频。

利用掩码提示与截面的交集:对于每个方向的视频,计算三维掩码提示与相应二维截面的交集,这个交集用作二维掩码提示(2D mask prompt)来辅助分割。

分割过程:使用二维掩码提示来辅助分割算法(如 SAM 2)对每个视频进行处理,以识别和分割出目标对象。

后处理步骤:这种类型的提示可以作为后处理步骤,用于提高之前预测的三维掩码的准确性。通过比较预测的掩码与掩码提示的交集,可以对预测结果进行微调,修正错误或不精确的部分。

整合分割结果:将六个方向的视频分割结果整合起来,形成最终的三维掩码(mask)预测。

未完待续~~~

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com