LONER: LiDAR Only Neural Representations for Real-Time SLAM
作者: Seth Isaacson, Pou-Chun Kung, Mani Ramanagopal, Ram Vasudevan, Katherine A. Skinner · RA-L 2023
许可协议
- 开放获取
- 论文: CC BY 4.0
以下内容均依据论文全文,按其 CC BY 4.0 许可协议使用;其中的图已注明作者。
一句话总结
仅使用 LiDAR、基于神经隐式地图的实时 SLAM:ICP 跟踪,在关键帧上联合优化位姿和地图,并使用基于 JS 散度的动态裕度损失实现更快、更清晰的在线学习。
为何重要
它仅凭 LiDAR 就能实时同时估计传感器轨迹和稠密地图,并且地图可以离线渲染为新视角下的深度图像或网格。论文将动态裕度损失与深度监督神经隐式框架中使用的其他损失进行了对比测试,发现它收敛更快、几何重建更精确。
问题
神经隐式地图提供一个连续的场景模型,可以在任意位置查询占据情况,但现有的 LiDAR 隐式建图方法要么需要真值位姿,要么运行速度慢于实时,而实时神经 SLAM 系统使用 RGB 或 RGB-D 相机,并且主要在室内工作。在线训练期间,地图的不同区域被学习到不同的程度,因此像 LOS 损失那样对所有射线使用单一裕度,会使网络遗忘已学到的几何,并且收敛缓慢。
提出的方法
LONER 运行并行的跟踪线程和建图线程:跟踪将扫描抽稀到 5 Hz,并用点到平面 ICP 估计里程计,不使用 IMU;建图每 3 s 添加一个关键帧,并联合优化一个带分层特征网格的 MLP 和 8 个关键帧(当前关键帧加上随机选取的过去关键帧)的位姿。损失结合了 Jensen-Shannon 动态裕度损失(在地图学得差的地方给每条射线更大的裕度,在学得好的地方给更小的裕度)、一个降低权重的深度损失,以及一个根据 LiDAR 回波中的空洞找到的天空损失。
关键见解
- 根据目标与预测的射线终止分布之间的 JS 散度来设置每条射线的裕度,使新区域能够快速学习,同时保持已学到的几何清晰。
- 在训练时间有限的情况下,仅用深度损失会得到模糊的几何,但它有助于填补空洞,因此以较小的权重(λ₁ = 5 × 10⁻⁶)保留。
- 使用 ICP 而不是逆 NeRF(inverse-NeRF)进行跟踪,为建图节省了 GPU 时间,使系统保持实时;随后建图步骤会对 ICP 位姿进行细化。
- 天空射线无需相机即可找到:它们来自 LiDAR 深度图像中指向地平线以上的空洞,前提是假设传感器在初始化时大致水平。
- 为优化窗口随机选择过去的关键帧,通常比只使用最近的关键帧或一半最近、一半随机的混合方式效果更好。
主要结果
- 轨迹 RMS 绝对位姿误差(m),LONER 对 LeGO-LOAM:MCR 0.029 对 0.052,Canteen 0.064 对 0.129,Garden 0.056 对 0.161,Quad 0.130 对 0.126。
- 以更多样本和迭代的离线配置运行的 NICE-SLAM,只跟踪成功了较小的 MCR 序列(0.248 m),在 Canteen 和 Garden 上失败。
- 室内 MCR 序列上的地图质量,LONER 对 SHINE Mapping(使用真值位姿):精度 0.186 对 0.164 m,完整度 0.069 对 0.075 m,准确率 0.473 对 0.624,召回率 0.932 对 0.757;在 Quad 上,精度 0.380 对 0.301 m,完整度 0.373 对 0.148 m,准确率 0.327 对 0.453,召回率 0.809 对 0.717。
- 在 AMD Ryzen 5950X CPU 和 NVIDIA A6000 GPU 上的运行时间:每个跟踪步骤 14 ms;每个关键帧 50 次建图迭代耗时 2.79 s(每次约 56 ms,约 18 Hz),在 3 s 的关键帧间隔之内。
- 损失消融(表 V),Quad 序列:完整系统的 L1 深度为 0.880,位姿误差为 0.130 m,而仅用深度损失为 2.265 和 0.779,深度损失加固定衰减 LOS 损失为 1.747 和 0.570,不含深度损失的动态裕度 LOS 为 2.262 和 0.154。
- 在单次 CARLA 仿真器扫描上训练时,JS 损失比采用慢速、中速和快速裕度衰减的 LOS 损失以及仅用深度损失更快达到较低的深度误差。
局限
- 未处理动态物体;测试序列是特意挑选的、只含少量动态物体,作者表示高度动态的环境还需要更多工作。
- 未使用惯性数据;作者指出,在快速旋转以及 LiDAR 信息量较少的特征稀疏场景中,惯性数据可能有助于跟踪。
- 城市尺度的运行可能需要其他输入特征嵌入和射线选择启发式方法(作者指出)。
- 地图只有几何信息;在不损失实时性能的前提下加入 RGB 是未来工作(作者指出)。
- 在室外 Quad 序列上,SHINE Mapping(使用真值位姿)生成的几何更完整,捕捉到了 LONER 遗漏的柱子,并且 LeGO-LOAM 的轨迹误差略低。
对领域的影响
荣获 RA-L 2024 最佳论文奖,被引用 56 次。作者在项目页面上公布了完整的评估数据,该页面还链接了代码仓库。
摘要
本文提出了 LONER,这是首个使用神经隐式场景表示的实时 LiDAR SLAM 算法。现有面向 LiDAR 的隐式建图方法在大规模重建中展现出有前景的结果,但要么需要真值位姿,要么运行速度慢于实时。相比之下,LONER 使用 LiDAR 数据训练一个 MLP 来实时估计稠密地图,同时估计传感器的轨迹。为了实现实时性能,本文提出了一种新颖的信息论损失函数,它考虑到在整个在线训练过程中,地图的不同区域可能被学习到不同的程度。所提出的方法在两个开源数据集上进行了定性和定量评估。评估表明,与深度监督神经隐式框架中使用的其他损失函数相比,所提出的损失函数收敛更快,并能带来更精确的几何重建。最后,本文表明,LONER 估计轨迹的能力可与最先进的 LiDAR SLAM 方法相媲美,同时生成的稠密地图也可与使用真值位姿的现有实时隐式建图方法相媲美。
链接
- arXiv 2309.04937: https://arxiv.org/abs/2309.04937
- DOI 10.1109/LRA.2023.3324521: https://doi.org/10.1109/LRA.2023.3324521
- PDF: https://arxiv.org/pdf/2309.04937v1
- 代码: https://github.com/umautobots/LONER
- 项目主页: https://umautobots.github.io/loner