前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Open-YOLO 3D | 仅利用 RGB 图像的2D目标检测,实现快速准确的开放词汇3D实例分割 !

Open-YOLO 3D | 仅利用 RGB 图像的2D目标检测,实现快速准确的开放词汇3D实例分割 !

作者头像
集智书童公众号
发布2024-06-14 13:38:53
4050
发布2024-06-14 13:38:53
举报
文章被收录于专栏:集智书童

近期关于开放词汇3D实例分割的工作显示出巨大的潜力,但这是以缓慢的推理速度和高计算要求为代价的。这种高计算成本通常是由于它们严重依赖于3D剪辑特征,这需要计算成本高昂的2D基础模型,如Segment Anything(SAM)和CLIP,以多视角聚合到3D中。 因此,这在许多需要快速准确预测的现实世界应用中限制了它们的适用性。为此,作者提出了一种快速而准确的开放词汇3D实例分割方法,名为Open-YOLO 3D,它有效地仅利用来自多视角RGB图像的2D目标检测进行开放词汇3D实例分割。 作者通过为场景中的目标生成类无关的3D Mask 并将它们与文本提示相关联来处理这一任务。作者观察到,类无关的3D点云实例的投影已经包含了实例信息; 因此,使用SAM可能会导致不必要的冗余,这会不必要地增加推理时间。作者通过实验发现,使用2D目标检测器可以更快地实现将文本提示与3D Mask 匹配的更好性能。 作者在两个基准ScanNet200和Replica上验证了作者的Open-YOLO 3D,分为两种情况: (i)使用真实 Mask ,这时需要对给定的目标 Proposal 进行标签标注; (ii)使用从3D Proposal 网络生成的类无关3D Proposal 。作者的Open-YOLO 3D在两个数据集上均实现了最先进的性能,同时与文献中最佳现有方法相比,速度提高了约16倍。 在ScanNet200验证集上,作者的Open-YOLO 3D实现了24.7%的平均精度(mAP),而每场景的操作时间为22秒。代码和模型可在github.com/aminebdj/OpenYOLO3D获取。

1 Introduction

三维实例分割是计算机视觉任务,涉及预测三维点云场景中单个目标的 Mask 。它在机器人学和增强现实等领域具有重要意义。由于其在多样化应用中的重要性,近年来这一任务受到了越来越多的关注。研究行人长期以来一直专注于通常在封闭集合框架内操作的方法,这限制了它们识别训练数据中不存在目标的能力。

这种限制在必须在新奇环境中识别或分类新目标时尤其具有挑战性。最近的方法[34; 42]解决了新奇类别分割的问题,但由于它们依赖于计算量大的基础模型如SAM[23]和CLIP[55],以及将2D CLIP特征提升到3D所需的繁重计算,它们的推理速度很慢,对小场景需要5分钟,对大场景需要10分钟。

开词汇量的三维实例分割对于机器人任务非常重要,例如材料搬运,在这些任务中,期望机器人根据基于文本的指令(如移动特定产品、装卸货物和库存管理)进行操作,并且在决策过程中要快速。尽管最先进的开词汇量三维实例分割方法在针对新目标的一般化能力方面显示出很高的希望,但由于它们依赖于像SAM这样的重型基础模型,因此它们的推理时间仍以分钟计。受到最近2D目标检测[7]的进展启发,作者研究了另一种方法,该方法利用快速目标检测器而不是利用计算成本高昂的基础模型。

本文提出了一种名为Open-YOLO 3D的新型开词汇量三维实例分割方法,该方法利用高效的联合2D-3D推理,使用2D边界框预测来替代计算密集型的分割模型。作者采用开词汇量的2D目标检测器为所有对应于三维场景的帧生成带有类别标签的边界框;

另一方面,作者利用3D实例分割网络为点云生成3D类不可知实例 Mask ,这比从2D实例[34, 32]生成3D Proposal 的方法要快得多。与最近的方法[42, 34]不同,它们使用SAM和CLIP将2D CLIP特征提升到3D以提示3D Mask Proposal ,作者提出了一种替代方法,该方法依赖于2D目标检测器预测的边界框,这比基于CLIP的方法快得多。作者使用所有对应于点云场景的RGB帧中预测的边界框来构建每个帧的低粒度(LG)标签图。一个LG标签图是一个与RGB帧具有相同高度和宽度的二维数组,边界框区域用其预测的类别标签替换。接下来,作者使用内在和外在参数将点云场景投影到它们各自具有top-k可见度的LG标签图上,以进行最终的类别预测。作者在图1中展示了作者方法的示例输出。作者的贡献如下:

  • 作者引入了一种基于2D目标检测的方法,用于对3D实例进行开放词汇标记,这比2D分割方法大大提高了效率。
  • 作者提出了一种仅使用2D目标检测器中的边界框来评分3D Mask Proposal 的新方法。
  • 作者的Open-YOLO 3D在两个基准测试中均取得了优越的性能,同时比现有文献中的方法快得多。在ScanNet200验证集上,作者的Open-YOLO 3D在mAP50上实现了2.3%的绝对增益,同时与最近的Open3DIS [34]相比,速度快了约16倍。

封闭词汇3D分割: 3D实例分割任务旨在预测3D场景中单个目标的 Mask ,以及属于已知类别集合的类别标签。一些方法采用自底向上的基于分组的方法,通过在潜在空间中学习嵌入以促进目标点的聚类。相反,基于 Proposal 的方法采用自顶向下的策略,首先检测3D边界框,然后在每个框内分割目标区域。

值得注意的是,受2D工作的进展[5; 6]启发,最近将 Transformer 设计[43]应用于3D实例分割任务。Mask3D [39]引入了第一种混合架构,将卷积神经网络(CNN)和 Transformer 结合用于此任务。它使用3D CNN主干提取每点特征,并使用基于 Transformer 的实例 Mask 解码器来细化一组 Query 。

在Mask3D的基础上,[1]的作者展示了在3D主干层面使用显式的空间和语义监督可以进一步改进实例分割结果。Oneformer3D [24]遵循类似的架构,并在 Transformer 解码器中引入了可学习的 Kernel ,以实现统一的语义、实例和全景分割。

ODIN [20]提出了一种使用2D-3D融合生成 Mask 和类别标签的架构。其他方法引入了弱监督的替代方法以减少与3D数据相关的标注成本[8; 18; 47]。尽管这些方法努力提高3D实例分割的质量,但它们通常依赖于预定义的语义标签集。相比之下,作者提出的方法旨在分割具有已知和未知类别标签的目标。

开放词汇2D识别:此任务旨在识别已知和新型类别,其中已知类别的标签在训练集中可用,而新型类别在训练过程中未遇到。在开放词汇目标检测(OVOD)方向上,已经提出了几种方法。另一个广泛研究的任务是开放词汇分割(OVSS)。最近的开放词汇语义分割方法[27; 12; 28]利用预训练的CLIP[55]进行开放词汇分割,其中模型被训练以输出与CLIP空间中的文本嵌入对齐的像素级特征。此外,AttrSeg[33]提出了一种分解-聚合框架,其中将普通类别名称首先分解为各种属性描述,然后将不同的属性表示聚合为最终的类别表示。开放词汇实例分割(OVIS)旨在预测实例 Mask 同时保持高零样本能力。一种方法[19]提出了一个跨模态伪标签框架,其中学生模型用教师模型对新类别产生的伪标签进行监督。另一种方法[44]提出了一种无需标注的方法,其中使用预训练的视觉-语言模型在 Box 和像素 Level 产生标注。尽管这些方法显示了高零样本性能和实时速度,但它们仍然仅限于2D应用。

开放词汇3D分割:已经提出了几种方法[35; 13; 16]来解决开放词汇语义分割的挑战,它们使用如CLIP等基础模型进行未知类别发现,而[2]的作者关注于在不依赖任何2D基础模型的情况下,对未知类别发现进行弱监督。OpenScene[35]利用2D开放词汇语义分割模型将像素级的2D CLIP特征提升到3D空间,这使得3D模型能够执行3D开放词汇点云语义分割。另一方面,ConceptGraphs[13]依赖于创建一个开放词汇场景图,捕获目标的属性,如空间位置,使得包括分割、目标定位、导航、操作、定位和重映射在内的一系列下游任务成为可能。在3D点云实例分割方向上,OpenMask3D[42]使用3D实例分割网络生成类别无关的 Mask Proposal ,以及SAM[23]和CLIP[55],通过关联3D场景的RGB-D图像为每个 Mask 构建3D CLIP特征。与使用3D Proposal 网络的OpenMask3D不同,OVIR-3D[32]通过融合由2D实例分割模型获得的2D Mask 生成3D Proposal 。Open3DIS[34]通过层次聚集聚类结合来自2D和3D的 Proposal ,并通过新颖的2D Mask 融合方法,并提出使用点级的3D CLIP特征而不是 Mask 级的特征。最近的两项研究[34; 42]在新型类别发现[42]和新颖目标几何特别是小目标[34]的泛化能力方面显示出前景。然而,它们都受到推理速度慢的影响,因为它们依赖于SAM进行3D Mask Proposal CLIP特征聚合,以及从2D Mask 生成新型3D Proposal Mask [34]。

3 Preliminaries

问题表述: 3D实例分割旨在在3D场景内分割单个物体,并为每个分割的物体分配一个类别标签。在开放词汇(OV)设置中,类别标签可以属于训练集中的先前已知类别,也可以是新类别标签。为此,令表示一个3D重建点云场景,其中一系列RGB-D图像用于重建。作者将RGB图像帧表示为以及它们相应的深度帧D。类似于最近的方法[35; 42; 34],作者假设输入3D场景的位姿和相机参数是可用的。

Baseline Open-Vocabulary 3D Instance Segmentation

作者的方法基于OpenMask3D [42],这是第一种以零样本方式执行开放词汇3D实例分割的方法。OpenMask3D有两个主要模块:一个类无关的 Mask Proposal 头,和一个 Mask 特征计算模块。类无关的 Mask Proposal 头使用基于 Transformer 预训练的3D实例分割模型[39]来预测点云中每个目标的二值 Mask 。 Mask 特征计算模块首先通过将3D Mask 投影到3D实例高度可见的视图中生成2D分割 Mask ,并使用SAM[23]模型进行细化。然后使用预训练的CLIP视觉语言模型[55]为2D分割 Mask 生成图像嵌入。随后,将这些嵌入在所有2D帧中进行聚合,以生成3D Mask 特征表示。

局限性:OpenMask3D利用2D分割(SAM)和视觉语言模型(CLIP)的进展来生成和聚合2D特征表示,使得可以根据开放词汇概念 Query 实例。然而,这种方法遭受着高计算负担,导致推理时间缓慢,每个场景的处理时间为5-10分钟。计算负担主要来自两个子任务:从各个2D视图中对大量目标进行2D分割,以及基于目标可见性的3D特征聚合。接下来,作者将介绍作者提出的方法,旨在减少计算负担并提高任务准确性。

4 Method: Open-YOLO 3D

动机:作者在此介绍作者提出的三维开放词汇实例分割方法——Open-YOLO 3D,该方法旨在以高效策略生成3D实例预测。作者提出的方法在任务 Level 和数据 Level 引入了高效且改进的模块。_任务 Level :与生成投影3D Mask 分割的OpenMask3D不同,作者依靠2D目标检测采用更高效的方法。由于最终目标是生成3D Mask 的标签,因此来自2D分割任务的额外计算是不必要的。_数据 Level :OpenMask3D通过在2D帧中迭代计算3D Mask 可见性。

总体架构

作者提出的流程如图2所示。首先,作者使用3D实例分割网络生成一组实例 Proposal ; Proposal 以二进制 Mask 的形式表示,每个3D Mask 的维度等于输入点云的点数。对于开放词汇预测,作者使用2D开放词汇目标检测模型为每个帧生成一组边界框集合;带有预测标签的边界框用于构建每个输入帧的低粒度标签图。为了给3D Mask Proposal 分配提示ID,作者首先将点云场景中的所有点投影到帧上,这导致每个帧都有个带有点的2D投影。之后,使用作者的 Proposal 加速可见性计算(VAcc)计算2D投影和3D Mask Proposal 在每个帧中每个 Mask 的可见性;然后使用可见性为每个 Mask 分配top-k低粒度标签图,并选择与每个3D Mask Proposal 对应的top-k 2D投影;对于单个3D Mask ,作者使用实例 Mask 从投影中裁剪(x, y)坐标,并过滤掉被遮挡或位于帧外的点。从top-k帧的最终裁剪(x, y)坐标用于从相应低粒度标签图中选择每个点的标签,最终构建多视图提示分布以预测与3D Mask Proposal 对应的提示ID。

3D Object Proposal

为了生成类不可知的3D目标 Proposal ,作者依赖于3D实例生成方法Mask3D [39],它比基于2D Mask 的3D Proposal 生成方法[34, 32]能更快地生成 Proposal 。Mask3D是一个混合模型,它将3D卷积神经网络作为特征生成的 Backbone 网络,并结合了基于 Transformer 的模型进行 Mask 实例预测。3D CNN Backbone 网络接收 Voxel 化的输入点云场景作为输入,并输出多级特征图,而 Transformer 解码器则通过自注意力和交叉注意力来细化一组 Query 。最终细化的 Query 用于预测实例 Mask 。3D Proposal 网络为一个给定的点云预测一组的3D Mask Proposal ,其中是在齐次坐标系统中的点数,。

Low Granularity (LG) Label-Maps

正如之前所讨论的,作者方法的重点是为生成的3D Proposal 生成快速且准确的开放词汇标签。作者不是依赖于计算密集型的2D分割,而是在作者的流程中提出了一种基于2D检测的方法。对于每个RGB图像 ,作者使用开放词汇的2D目标检测器生成一组 边界框 ,其中 是边界框坐标,而 是其预测的标签。作者为每个输出边界框 分配一个权重 ,其中 和 分别是边界框的高度和宽度。权重表示边界框的大小,并有助于在构建LG标签图时确定边界框的顺序。

在获得2D目标检测结果后,作者将每个2D图像帧 的输出表示为LG标签图 。为了构建 ,作者首先将所有元素初始化为 -1。在作者的表示中,**-1** 表示无类别,在预测时被忽略。接下来,作者按照权重对所有边界框进行排序,并从权重最高的边界框开始,用其对应的预测类别标签 替换标签图中的边界框 区域。选择权重 是基于这样一个事实:如果两个不同大小的物体出现在相机指向的同一方向上,如果小物体比大物体更靠近相机,那么小物体在图像中是可见的。

Accelerated Visibility Computation (VAcc)

为了将2D标签图与3D Proposal 关联起来,作者计算了每个3D Mask 的可见性。为此,作者提出了一种快速方法,能够通过高度可并行的张量操作在帧内计算3D Mask 可见性。

给定 个2D RGB帧 与3D场景 相关联,以及它们的内在矩阵 和外在矩阵 。作者用 表示3D点云 在索引为 的帧上的投影,它可以按如下方式计算 。将所有帧的投影操作堆叠后,场景在所有帧上的投影可以用GPU一次性计算,如下所示

其中 是批量矩阵乘法, 是矩阵乘法, 定义为 。

此外,作者计算所有帧内所有投影点的可见性 ,如下所示

V^{f}=\mathbb{1}(0<p_{x}^{2d}<w)\odot\mathbb{1}(0<p_{y}^{2d}<h)

其中 是指示函数, 和 分别是图像的宽度和高度, 是逐元素乘法, 和 分别是在所有 帧上投影的3D点的 和 坐标。

对于遮挡,作者定义另一个可见性矩阵 ,计算如下

其中 是从深度图获得的3D点云的真实深度,而 是从点云 投影得到的深度, 是绝对值。最后,每个3D Mask Proposal 的可见性 可以用GPU一次性计算,如下所示

其中 是由3D Proposal 网络生成的3D Mask Proposal 矩阵, 是每个 Mask 的点数。

Mask 在帧 中的可见性百分比用元素 表示。

Multi-View Prompt Distribution (MVPDist)

给定一个RGB序列 及其对应的LG标签图 。作者定义一个3D Mask Proposal 的标签分布 为

其中 是属于第 个实例的非遮挡帧内点的 Mask , 是第 个3D Mask 具有顶部-k可见性的帧索引集合,通过使用可见性矩阵 计算得出, 和 分别是点云场景在 帧上的投影x和y坐标,而 是一个基于坐标的选择运算符,其中 是任意自然数。

作者将 Mask 被分配到类别 的概率定义为类别 在分布 中的出现次数;作者在图3中对一个3D Proposal 展示了这种方法。作者将概率最高的类别分配给 Mask 。

Instance Prediction Confidence Score

作者在本节中提出了一种方法,通过利用来自边界框的2D信息以及来自3D Mask 的3D信息来评分类无关的3D实例 Mask Proposal 。作者的理由是,一个好的 Mask 应该能导致高类别和 Mask 置信度,这与之前的开放词汇3D实例分割方法不同,后者仅使用类别置信度。为了实现这一点,作者定义了3D Mask Proposal 的得分为 ,其中 是MVPDist中出现频率最高的类别的概率,而 是在多视图之间,投影的3D Mask 的边界框与在视图中使用2D目标检测器生成的具有最高IoU的边界框之间的平均IoU(更多细节在附录中)。

5 Experiments

数据集: 作者使用ScanNet200 [38] 和 Replica [40] 数据集进行实验。对ScanNet200的分析基于其验证集,包含312个场景。对于3D实例分割任务,作者使用ScanNet200标注中的200个预定义类别。根据训练集中标记点的频率,ScanNet200标签被分为三个子集—— Head (66个类别),常见(68个类别)和尾部(66个类别)。

这种分类使作者能够评估作者的方法在长尾分布上的性能,强调了ScanNet200作为一个合适的评估数据集。此外,为了评估作者方法的泛化能力,作者在Replica数据集上进行了实验,该数据集有48个类别。在指标方面,作者遵循ScanNet [9] 中的评估方法,并在两个 Mask 重叠阈值50%和25%下报告平均精度(AP),以及在整个重叠范围[0.5:0.95:0.05]下的平均值。

实现细节: 作者使用来自ScanNet200和Replica数据集的RGB-深度对,对ScanNet200每10帧处理一次,对Replica处理所有帧,以保持与OpenMask3D相同的设置以便公平比较。为了创建LG标签图,作者使用了YOLO-World [7] 的超大型模型,因为其具有实时能力和高零样本性能。作者使用Mask3D [39] 与非最大值抑制来过滤与Open3DIS [34] 类似的 Proposal ,并避免使用DBSCAN [11] 以防止推理速度减慢。所有实验均使用单个NVIDIA A100 40GB GPU。

Results analysis

在ScanNet200上的开放式词汇3D实例分割:作者在表1中比较了作者在ScanNet200数据集上与其他方法的性能表现。

作者指出每种方法的泛化性测试:为了测试作者方法的泛化性,作者使用了在ScanNet200训练集上预训练的3D Proposal 网络,并在Replica数据集上进行评估;结果展示在表2中。作者的方法在与最先进模型[34](使用CLIP特征)的性能竞争中显示出竞争力,速度提高了约11倍。

表2:在Replica数据集上的最先进比较。作者使用在ScanNet200训练集上训练的Mask3D生成类不可知的 Mask Proposal 。作者证明了在只使用来自3D网络的 Proposal 的情况下,作者的方法比最先进的方法具有更好的泛化性。

在给定3D Mask 的情况下的性能:作者进一步测试了作者的3D Proposal 提示方法,与文献中现有方法在提供真实3D Mask 的情况下的性能,并在表5中报告了结果。对于Mask3D,使用匈牙利匹配将预测的 Mask 的类别预测分配给最优的 Mask 。对于开放式词汇方法,作者使用真实 Mask 作为输入 Proposal 。

作者在表5中展示了MVPDist在从文本提示中检索正确的3D Proposal Mask 方面可以胜过基于CLIP的方法,这是由于最先进的开放式词汇2D目标检测器实现了高零样本性能。关于Replica数据集的消融研究:为了测试目标检测器替换SAM生成3D CLIP特征聚合的裁剪的能力,作者在Replica数据集上进行了三项实验,使用不同的目标检测器,并比较在提供真实3D Mask Proposal 的情况下,作者方法的标注能力与其他方法。

结果在表3的R2R4行中,R1行展示了OpenMask3D[42]基础代码的结果。作者用目标检测器生成类不可知的边界框,然后将每个3D实例的最高IoU边界框作为裁剪,选择最可见的视图。

对于3D CLIP特征聚合,作者遵循OpenMask3D的方法,从多个 Level 和视图聚合特征。这些实验表明,YOLO-World可以生成几乎与SAM一样好的裁剪,同时显著提高速度。

R5行展示了使用作者提出的Multi-View Prompt Distribution与LG标签图时,YOLO-World更好的零样本性能。

R6行显示了使用GPU进行3D Mask 可见性计算的速度提升。

Top K分析:如表4所示,简单地使用YOLO-World,每个3D Mask Proposal 只使用一个可见性最高的标签图,会导致次优的结果,而使用Top-K标签图可以导致更好的预测,因为这种分布可以跨多个帧提供更好的估计,由于YOLO-World在生成某些视图的正确分类的同时,也预期会在其他视图中产生误分类。这种方法假设YOLO-World对同一3D目标在多个视图中进行正确的类别预测,才能使其有效。

高粒度(HG)与低粒度(LG):表4显示,使用SAM生成高粒度标签图略微降低了mAP,并将推理速度降低了约5倍。这是由于将3D实例投影到2D的性质,其中投影已经包含如图3所示的2D实例信息,而SAM在预测中只会导致冗余。

定性结果:作者在图4上展示了Replica数据集的定性结果,并将其与Open3DIS进行比较。Open3DIS在回溯新型几何形状方面表现良好,这些形状是像Mask3D这样的3D Proposal 网络通常无法捕捉到的(小尺寸目标)。然而,这以非常低的精度为代价,因为具有不同类别预测的冗余 Mask 。

局限性:作者的方法仅使用3D Proposal 网络来生成 Proposal 以达到高速度。其他 Proposal 生成方法[32; 34]融合来自2D实例分割方法的2D实例 Mask ,为非常小的目标生成丰富的3D Proposal ,这通常被像Mask3D[39]这样的3D Proposal 网络忽视,因为3D中的分辨率较低。因此,可以使用像FastSAM[56]这样的快速2D实例分割模型从2D图像生成3D Proposal ,这可能会进一步提高作者方法的性能。结论。

作者提出了Open-YOLO 3D,一种新颖且高效的开词汇量3D实例分割方法,它利用开词汇量的2D目标检测器而非沉重的分割模型。

作者的方法利用2D目标检测器获取带类别标签的边界框,以及一个3D实例分割网络来获取类别无关的 Mask 。

作者提出使用从多视图低粒度标签图生成的MVPDist来将文本提示与3D类别无关 Mask 匹配。作者提出的方法超越了现有技术,在mAP和推理速度上都有所提升。这些结果展示了一条通往更高效的开词汇量3D实例分割模型的新方向。

参考

[1].Open-YOLO 3D: Towards Fast and Accurate Open-Vocabulary 3D Instance Segmentation.

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 集智书童 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 Introduction
  • 3 Preliminaries
  • Baseline Open-Vocabulary 3D Instance Segmentation
  • 4 Method: Open-YOLO 3D
    • 总体架构
    • 3D Object Proposal
    • Low Granularity (LG) Label-Maps
    • Accelerated Visibility Computation (VAcc)
    • Multi-View Prompt Distribution (MVPDist)
    • Instance Prediction Confidence Score
    • 5 Experiments
    • Results analysis
    • 参考
    相关产品与服务
    GPU 云服务器
    GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档