vMAP
Kong 2023 · 论文
一句话总结 — 物体级神经场SLAM,每个检测到的物体拥有自己的一个微小MLP,所有MLP通过向量化操作同时训练——实现无需模型的、逐物体的水密(watertight)重建,地图更新频率达5 Hz,单场景可支持多达50个物体。
问题
iMAP和NICE-SLAM等神经场SLAM系统将整个场景表示为一个没有物体级结构的单一整体场,提取单个物体十分困难,因为”网络参数与特定场景区域之间的对应关系十分复杂”。与此同时,物体级SLAM则需要CAD模型或类别级形状先验来补全未观测到的表面——没有先验的情况下,只有直接观测到的部分才能被重建,从而留下空洞。vMAP针对的正是无先验的情形:在实时RGB-D SLAM系统内进行高效、水密的逐物体重建。
方法与架构
物体初始化与关联。 每一帧都带有稠密实例掩码(真值,或在LVIS上预训练的Detic)。检测结果通过两个标准在帧间进行关联——语义一致性(预测类别相同)和空间一致性(3D物体边界的平均IoU);未匹配的检测会生成一个新的物体MLP并附加到模型堆栈中。每个物体的3D边界来自深度反投影得到的点云,并随着观测的累积不断细化。相机位姿由ORB-SLAM3从外部提供——研究发现这比联合优化位姿和几何”更准确、更鲁棒”。
向量化训练(关键贡献)。所有物体MLP共享同一架构(4层,隐藏层大小32;背景模型使用128),因此可以将它们堆叠起来,用PyTorch的向量化操作作为单个批处理计算进行优化,而不是使用Python循环。每个物体从各自独立的关键帧缓冲区中采样像素,因此任何物体的训练都可以停止或恢复,而不会与其他物体产生相互干扰。
深度引导采样。 沿每条光线, 个点在近边界 和深度图表面 之间分层均匀采样, 个点集中在表面附近:
其中 cm;无效深度会回退到远边界。
占用率渲染。 省略了视角方向(表面优先于视角相关的外观),每个点具有占用概率 ,由此得到终止概率 ,并渲染出:
损失函数。 对于物体 ,仅在其2D边界框 内采样像素;深度和颜色在掩码 内受到监督(L1损失),而渲染出的占用率在 内的所有位置都被推向与掩码相匹配——从而使该场学习到在物体之外应为空的特性:
组合式渲染。 任何物体都可以在其3D边界内被单独查询、冻结、移除或重新组合;场景级的新视角合成对每个物体使用光线-包围盒相交,并沿每条光线对渲染出的深度进行排序,实现遮挡感知的合成。
实验结果
- Replica(8个场景,每个2000帧RGB-D,标注真值位姿基线用*标记):物体级精度2.23 cm,完整度1.44 cm,完整率94.55%(<5 cm)和69.23%(<1 cm)——相比iMAP*(3.57 / 2.38 / 90.19 / 47.79)和NICE-SLAM*(3.91 / 3.27 / 83.97 / 37.79);“在物体级完整度方面比iMAP和NICE-SLAM提升超过50–70%“。场景级完整率92.99%,相比iMAP*的90.85和NICE-SLAM*的86.52。
- TUM RGB-D跟踪(联合位姿-地图模式,ATE RMSE):在fr1-desk / fr2-xyz / fr3-office上分别为2.6 / 1.6 / 3.0 cm——优于iMAP(4.9 / 2.0 / 5.8)和NICE-SLAM,但落后于ORB-SLAM2(1.6 / 0.4 / 1.0),这正是为何采用ORB-SLAM3作为外部跟踪器的原因。
- 效率(Replica Room-0,RTX 3090):总参数量0.66M(每个物体约40 KB),相比NICE-SLAM的12.12M;每帧建图226毫秒(约5 Hz)——比iMAP快1.5倍,比NICE-SLAM快4倍。即使有200个物体,向量化训练仍能将每次优化步骤保持在15毫秒以内,而顺序for循环训练在此时会急剧变慢。
- 在ScanNet和实时Azure Kinect数据上,它产生的物体边界比NICE-SLAM*更清晰,细节比离线的ObjSDF更精细,且具有逼真的空洞填补效果——尽管在没有3D先验的情况下,完全处于视野之外的区域(例如椅子背面)仍然无法触及。
对SLAM的意义
vMAP为神经场SLAM带来了物体级分解,将物体SLAM谱系(SLAM++、Fusion++、NodeSLAM)与隐式建图谱系(iMAP、NICE-SLAM)连接起来。所得到的地图不仅仅是几何形状,而是一组可独立训练、可操纵的物体实体——这正是机器人操作和场景编辑所需要的——而向量化训练技巧证明了”众多网络”可以在单个GPU上扩展。它成为了以物体为中心的神经场建图的参考设计,并影响了后续以物体为感知对象的稠密SLAM工作。