Open-YOLO 3D

Boudjoghra 2024 · 论文

一句话总结 — 一种快速的开放词汇三维实例分割方法,用一个实时开放词汇二维目标检测器取代缓慢的 SAM + CLIP 标注流程,相比此前的最先进方法实现了约 16 倍的速度提升。

问题

开放词汇三维实例分割展现出了强大的潜力,但代价是推理速度缓慢:像 OpenMask3D 和 Open3DIS 这类方法通过将类别无关的三维提议投影到许多视图中,用 SAM 进行细化,用 CLIP 编码裁剪图像,再聚合三维 CLIP 特征来给这些提议打标签——每个场景耗时 5-10 分钟。其关键观察在于:一个类别无关三维实例在图像上的投影本身就已经携带了实例信息,因此当最终目标仅仅是为每个三维掩码分配一个文本标签时,逐视图使用 SAM 进行分割就是多余的。第二个瓶颈是可见性计算,此前的做法是逐帧逐掩码地迭代统计可见点数。

方法与架构

流程:一个三维网络提出掩码,一个二维检测器跨视图对其标签进行投票。

Vf=1(0<Px2D<W)1(0<Py2D<H),Vd=1(Pz2DDz<τdepth)V^{f}=\mathbb{1}(0<P_{x}^{2D}<W)\odot\mathbb{1}(0<P_{y}^{2D}<H), \qquad V^{d}=\mathbb{1}(|P_{z}^{2D}-D_{z}|<\tau_{depth})

其中 1\mathbb{1} 是指示函数,DzD_z 是深度图给出的真实深度,τdepth\tau_{depth} 是阈值。每个掩码在所有帧上的分数可见性可以一次性得到:

V=((VfVd)MT)Mcount1V=\left((V^{f}\odot V^{d})\cdot M^{T}\right)\odot M_{count}^{-1}

其中 McountM_{count} 是每个掩码的点数统计。

实验结果

ScanNet200 验证集(312 个场景,200 个类别;Mask3D 提议;单张 A100 40GB):

对SLAM的意义

开放词汇语义是让机器人能够回答关于其地图的语言查询(“灭火器在哪里?“)的关键,但这只有在能以交互速率运行时才对在线机器人应用有帮助。Open-YOLO 3D 证明了一个实时二维检测器加多视图标签投票就能取代重量级的 SAM+CLIP 流程来标注三维实例——将每个场景的标注时间从数分钟缩短到数秒,使开放词汇语义建图能够实际接入一个实时运行的 SLAM 系统,而不再只是一个离线后处理步骤。其批量化的投影/可见性计算机制在任何多视图语义融合技术栈中也都可以直接复用。

相关条目