maplab 2.0
Cramariuc 2023 · 论文
一句话总结 —— maplab 2.0是苏黎世联邦理工学院(ETH Zurich)推出的模块化开源建图平台,它统一了多会话与多机器人视觉-惯性建图,并支持额外的传感器模态和深度学习模块。
问题
将多种传感器模态以及深度学习整合进SLAM,是当前研究中最活跃的两个方向:多模态是通向在复杂环境中实现鲁棒性、以及实现具有不同传感器配置的异构多机器人系统互操作性的重要一步。现有框架(ORB-SLAM3、RTAB-Map、初代maplab)都紧密围绕特定的传感器配置构建,因此每一种新的特征类型或模态都需要大量工程工作。maplab 2.0提供了一个通用的开放平台,此类模块可以在其上被开发、测试,并整合进一个功能完备的SLAM系统。
方法与架构
该系统包含三个主要组件(这篇论文以架构为核心贡献,而非新的估计方程):
- 地图结构。 一幅地图是若干任务(missions,每个连续会话对应一个)的集合,存储为因子图。顶点是机器人状态(6自由度位姿、速度、IMU偏差)和地标(可表示视觉特征、激光雷达关键点或语义物体的三维位置)。边包括IMU预积分约束、相对6自由度位姿约束(里程计或回环,回环可选地作为优化器在发生冲突时可以禁用的可切换约束)以及地标观测误差;绝对6自由度约束用于引入GPS或标志物测量。轮式里程计在不可观测轴(z轴、俯仰、横滚)上被赋予无限协方差。
- 地标与特征。 经典的maplab视觉流水线得以保留(使用BRISK/FREAK描述子的ORB检测、陀螺仪辅助匹配、三角化;回环检测通过2D-3D描述子匹配+共视性过滤+P3P-RANSAC完成)。2.0版本的新特性:任意数量的特征类型可以共存于同一幅地图中——浮点描述子(例如SuperPoint、SIFT)通过FLANN匹配,二值描述子通过倒排多重索引匹配——以及以3D方式观测的地标(RGB-D或激光雷达),其位置通过取平均而非三角化得到,使用欧氏距离误差项和3D-3D RANSAC回环检测。
- 建图节点(每个机器人)。 与里程计无关:任何外部6自由度里程计都可以初始化位姿顶点(不再需要IMU)。原始图像或点云作为资源附加到地图上,供后续模块使用。地图被拆分为子地图并流式传输到服务器。
- 建图服务器(新增)。 定期接收子地图,独立对每个子地图进行预处理(局部光束法平差、特征质量评估、地图内部回环检测),然后按机器人拼接,并持续跨机器人进行回环检测(视觉和/或激光雷达)以及全局优化联合的多机器人地图,优化结果可以回传给机器人。该系统曾作为夺冠团队CERBERUS多机器人建图栈的一部分,部署于DARPA地下挑战赛(DARPA Subterranean Challenge)中。
- 离线控制台。 批量优化、多会话地图合并、关键帧化/稀疏化、通过ICP/G-ICP实现的激光雷达回环检测、Voxblox稠密重建,以及一个插件系统。
- 语义回环检测应用案例。 使用Mask R-CNN检测到的物体,在被掩膜的实例上计算NetVLAD描述子,用Deep SORT进行跟踪,并成为带类别标签的3D地标;同一类别内的候选匹配经过几何验证,共视地标簇通过Horn方法对齐,构建出带有估计协方差的6自由度回环约束。
实验结果
- HILTI SLAM挑战赛2021(九个序列,总计52分钟):maplab 2.0与当前最先进水平相当。最佳配置(例如使用SuperPoint+BRISK特征的FAST-LIO2里程计,或加入激光雷达ICP约束)在各序列上的APE RMSE约为0.04-0.19米——例如在Construction 1上为0.04米,在Construction 2上为0.07米,而ORB-SLAM3在这两个序列上的得分分别为1.55米和2.77米。展示了三种里程计来源(ROVIO、OKVIS、FAST-LIO2);SuperPoint/SIFT描述子通过PCA从256维压缩到32维;maplab是唯一使用全部五个相机进行回环检测的方法。
- 大规模多会话建图: 23次手持任务(五个相机+Ouster OS0-128),超过两小时的数据,覆盖约10公里,包含室内外过渡;前五幅地图通过建图服务器在线构建,其余则在控制台中合并,并使用全局视觉回环检测和RTK-GPS绝对约束。
- EuRoC(服务器与控制台对比): 将全部11个序列作为一次同时进行的多机器人实验运行(ROVIO+BRISK),得到与顺序多会话处理相同的平均APE RMSE(0.043米),但并行化的服务器仅耗时3分27秒,而顺序处理需要35分56秒。
- 模态演示: 直接在激光雷达强度图像上跟踪SuperPoint+SuperGlue关键点,对一段HILTI序列进行建图;语义物体回环检测模块在一个定制的RGB-惯性办公室数据集上明显消除了累积漂移。
对SLAM的意义
真实部署很少只涉及单个机器人一次性建图:地图必须能够跨天、跨设备被构建、扩展和维护。maplab(1.0和2.0)是少数围绕这种多会话生命周期构建的、达到生产质量的开源框架之一,这使它成为集中式协作建图的天然骨架——已在SubT规模下得到验证——同时也是将新模块与完整系统进行基准比较的天然平台。其插件架构使它成为将学习特征、新传感器和语义回环检测整合进视觉-惯性建图的常见研究载体(ethz-asl/maplab)。
相关条目
- maplab —— 本文所扩展的原始视觉-惯性建图框架
- Kimera-Multi —— 去中心化的替代设计理念
- 地图合并 —— 支撑多会话与多机器人融合的核心操作
- 集中式与去中心化 —— 基于服务器的框架在设计空间中的位置
- NetVLAD —— maplab 2.0所接入的这类学习式位置识别
- SuperPoint —— 在该框架内演示的学习特征