S-PTAM
Pire 2017 · 论文
一句话总结 — S-PTAM 将 PTAM 的并行跟踪与建图范式扩展到双目相机,提供了一个完整、实时、以 ROS 发布的双目 SLAM 系统,具备来自基线的度量尺度和基于外观的回环检测。
问题
单目 SLAM 存在启动问题(延迟且脆弱的地图初始化)、尺度模糊与尺度漂移,以及在动态物体和快速运动下的脆弱性。双目相机解决了所有这些问题:从单个双目视图三角化深度可以以低不确定性且无延迟地初始化点,并恢复真实尺度——这”对于必须与周围工作空间交互的机器人而言至关重要”。当时所缺失的是一个成熟、实时、基于特征的双目 SLAM系统,能够在室内、室外、动态物体、光照变化和大型回环场景下保持稳健——并且机器人实验室能够通过 ROS 实际部署。S-PTAM 填补了这一空白。
方法与架构
三个线程共享地图:跟踪、局部建图和回环检测。全局坐标系设定在第一个相机位姿处;初始地图由第一个双目图像对三角化得到(无需启动过程)。
- 特征:使用二值 BRISK 描述子描述的 GFTT 角点——这是论文中在 KITTI 上进行详尽检测器/描述子评估后选定的方案;两幅图像的特征提取在两个并行线程中运行。
- 跟踪(每帧):预测视锥(预测来自轮式里程计或衰减速度模型)内的地图点被投影,并在网格单元内通过汉明距离与特征进行匹配(空间哈希);只考虑邻近关键帧共视区域内的点,并进行视锥剔除和 45° 视角测试。随后,通过将上一帧位姿与由鲁棒高斯-牛顿法在重投影误差上求得的相对运动 相结合来优化位姿: 其中 为 Huber 代价函数,通过 Levenberg-Marquardt(g2o)最小化; 将投影导数与位姿导数 相链接。
- 关键帧与即时点创建:当被跟踪的点数低于上一关键帧被跟踪点数的 90% 时,一帧成为关键帧;未匹配的双目特征会被立即在跟踪线程中三角化并插入地图——这与 PTAM 不同,后者将此工作推迟到建图线程,可能在队列拥塞时丢失跟踪。
- 局部建图:局部光束法平差优化最多十个排队关键帧以及邻近的已优化关键帧及其可见点,联合最小化位姿和点上的同一鲁棒重投影误差,,第一个关键帧固定(它定义了世界坐标系)。剔除坏点;主动搜索新的点-关键帧观测以加强图结构。
- 回环检测:关键帧被描述为二值单词包(DBoW2,);候选项必须通过归一化相似度得分 ,其中 是 范围内的 L1 相似度。几何验证在 3D-2D 对应关系上运行 P3P RANSAC(仅当内点率达到 80% 时才接受回环),随后完整的 PnP 加非线性优化给出相对变换 。校正通过 Slerp 插值加权(越接近回环点权重越大)沿回环传播该变换,随后进行位姿图优化(g2o)和地图点校正——同时”安全建图窗口”允许跟踪和局部光束法平差继续运行,仅在最终地图更新时短暂暂停它们。
实验结果
在 KITTI(00–10)和 Indoor Level 7 S-Block 数据集上,使用配备 i7 @ 2.8 GHz 和 16 GB 内存的笔记本电脑进行实验:
- KITTI 基准:平移误差 1.19%,对比 ORB-SLAM2(双目)1.15% 和 S-LSD-SLAM 1.20%;旋转误差 0.0025 度/米——三者中最佳(ORB-SLAM2 为 0.0027,S-LSD-SLAM 为 0.0033)。
- 回环检测:几何验证在所有回环序列(00、02、05、06、07、09)上以 100% 精度剔除了误检;在约 4 公里的序列 00 轨迹上,最大绝对定位误差保持在 15 米以下。
- 运行速度:跟踪线程包括回环检测开销,运行速度约为 18 Hz。
- Level 7 S-Block(轮式机器人,30 分钟以上的办公室循环):精度与 ORB-SLAM2 相当,且误差峰值出现在相同的区域。
对SLAM的意义
S-PTAM 是 PTAM 时代与现代双目 SLAM 之间的桥梁:它表明跟踪/建图分解方案能够干净地扩展到双目和大规模室外轨迹,并且它是最早的具有回环检测的完整开源双目 SLAM 系统之一,机器人实验室能够通过 ROS 部署它。在 ORB-SLAM2 成为主流的基于特征的参考系统之前,它曾是常见的地面机器人基线系统,而诸如在跟踪线程中即时创建点、以及安全窗口回环校正等细节,至今仍是有启发性的工程经验。