Open-YOLO 3D
Boudjoghra 2024 · 论文
一句话总结 — 一种快速的开放词汇三维实例分割方法,用一个实时开放词汇二维目标检测器取代缓慢的 SAM + CLIP 标注流程,相比此前的最先进方法实现了约 16 倍的速度提升。
问题
开放词汇三维实例分割展现出了强大的潜力,但代价是推理速度缓慢:像 OpenMask3D 和 Open3DIS 这类方法通过将类别无关的三维提议投影到许多视图中,用 SAM 进行细化,用 CLIP 编码裁剪图像,再聚合三维 CLIP 特征来给这些提议打标签——每个场景耗时 5-10 分钟。其关键观察在于:一个类别无关三维实例在图像上的投影本身就已经携带了实例信息,因此当最终目标仅仅是为每个三维掩码分配一个文本标签时,逐视图使用 SAM 进行分割就是多余的。第二个瓶颈是可见性计算,此前的做法是逐帧逐掩码地迭代统计可见点数。
方法与架构
流程:一个三维网络提出掩码,一个二维检测器跨视图对其标签进行投票。
- 类别无关三维提议:Mask3D(三维 CNN 骨干网络加 Transformer 掩码解码器)在 点云上预测 个二元实例掩码 (经 NMS 过滤,不使用 DBSCAN 以保持推理速度)。
- 低粒度(LG)标签图:一个开放词汇二维检测器(YOLO-World XL)对每个 RGB 帧产生框 。每一帧变成一个标签图 ,初始化为 -1(无类别);框区域按权重 从大到小依次涂上其类别标签,因此较小(更近、更可见)的框会覆盖较大的框。
- 加速可见性计算(VAcc):所有点通过一次批量运算投影到所有 帧,( 分别为内参/外参, 表示批量矩阵乘法)。图内可见性与遮挡可见性以张量运算的方式计算:
其中 是指示函数, 是深度图给出的真实深度, 是阈值。每个掩码在所有帧上的分数可见性可以一次性得到:
其中 是每个掩码的点数统计。
- 多视图提示分布(MVPDist):对于每个三维掩码,取其最可见的前 k 帧,查找其投影后、未被遮挡点坐标处的 LG 标签图取值,并将其汇聚成一个标签分布 ;该掩码被赋予出现次数最多的类别——遮挡和视角歧义通过多视图共识解决,完全不需要聚合任何 CLIP 特征。
- 置信度分数:,将 MVPDist 类别概率与投影后三维掩码边界框和最匹配二维检测框之间的平均多视图 IoU 相结合。
实验结果
ScanNet200 验证集(312 个场景,200 个类别;Mask3D 提议;单张 A100 40GB):
- Open-YOLO 3D:24.7 mAP,31.7 mAP50,36.2 mAP25,每场景耗时 21.8 秒——相比之下,使用二维+三维提议的 Open3DIS 为 23.7 mAP,耗时 360.12 秒(快约 16 倍;mAP 提升 1.0;mAP50 提升 2.3),仅用三维的 Open3DIS 为 18.6 mAP(57.68 秒),OpenMask3D 为 15.4 mAP(553.87 秒)。尾部类别:21.6 mAP,对比 OpenMask3D 的 14.9。封闭词汇 Mask3D 的上限为 26.9 mAP。
- Replica(48 个类别,提议来自在 ScanNet200 上训练的 Mask3D——一项泛化测试):23.7 mAP,每场景耗时 16.6 秒,对比 Open3DIS 的 18.5 mAP(187.97 秒)和 OpenMask3D 的 13.1 mAP(547.32 秒)。
- 使用真值提议的消融实验证实两项替换都有帮助:用 LG 标签图取代基于 SAM 的高粒度标签图,以及用 MVPDist 取代 CLIP 特征,二者均在保持或提升 mAP 的同时大幅缩短了耗时;代码和模型均已公开。
对SLAM的意义
开放词汇语义是让机器人能够回答关于其地图的语言查询(“灭火器在哪里?“)的关键,但这只有在能以交互速率运行时才对在线机器人应用有帮助。Open-YOLO 3D 证明了一个实时二维检测器加多视图标签投票就能取代重量级的 SAM+CLIP 流程来标注三维实例——将每个场景的标注时间从数分钟缩短到数秒,使开放词汇语义建图能够实际接入一个实时运行的 SLAM 系统,而不再只是一个离线后处理步骤。其批量化的投影/可见性计算机制在任何多视图语义融合技术栈中也都可以直接复用。
相关条目
- YOLO — 该方法所利用的实时检测技术谱系
- Grounding DINO — 文本提示的开放词汇二维检测
- SAM — 该方法在推理时所避开的分割基础模型
- ConceptGraphs — 受益于快速标注的开放词汇三维场景图
- OpenScene — 点级的开放词汇三维理解
- Clio — 恰恰需要这种快速标注能力的任务驱动开放集建图方法