视觉惯性 SLAM

vslam

背景介绍:

在视觉惯性SLAM中,通过视觉惯性里程计对相邻图像数据的处理可以得到局部的相机运动关系,但仅靠视觉惯性里程计不可避免地会出现累积误差和尺度漂移等问题。因此,需要引入后端优化来及时消除实时跟踪的误差累积,从而提升SLAM系统的跟踪精度。

本次大作业是基于OpenXRLab XRSLAM[1]的项目代码,对XRSLAM的后端模块进行完善。XRSLAM中包含完整的VIO算法和相应的PC端可视化工具,代码已经高度模块化且提供了文档说明,方便在此基础上扩展完善SLAM的其他模块。

任务要求

输入:

TUM-VI[3]数据集或其他适用的视觉惯性数据集

任务:

  1. 配置TUM-VI数据集的参数文件,在XRSLAM上运行并得到VIO输出的轨迹。参考已经提供的EuRoC[4]数据集配置。

  2. 利用词袋模型DBoW[8]进行回环检测,在图像序列输入的时候能够找出在关键帧数据库中是否存在相似帧,存在的话将两帧结果可视化,可以参考[5,6,7]。

  3. XRSLAM中维护了一个固定大小的滑动窗口用于维护关键帧,现需要维护一个全局关键帧数据库,用于保存运行过程中的关键帧,并且将关键帧可视化出来。

  4. 通过词袋模型检测到回环后,能够执行全局Bundle Adjustment(BA),来优化关键帧位姿以及地图点,而且需要将全局BA过程前后的状态可视化出来。

  5. 将搭建完善后的XRSLAM输出的轨迹文件和数据集的Ground Truth进行对比。比较添加了后端模块的XRSLAM和VIO在TUM-VI数据集上的轨迹精度,包括RPE和ATE。此外,至少需要和[5][7]等SOTA算法进行比较。

附加任务(完成可加分)

基于所搭建的XRSLAM进行AR 应用的开发,输出AR Demo,通过AR效果来体现SLAM算法的稳定性。可以参考[5][6][7]。

输出要求:

  1. 相机位姿,轨迹

  2. 回环检测的可视化结果

  3. 全局优化前后轨迹对比

说明:

  1. XRSLAM已经提供了一个VIO算法框架,包含有基于稀疏光流的特征跟踪和IMU融合,同时提供了可视化模块,现需要在其基础上为其添加后端用于维护全局地图和进行全局地图优化。

  2. 测评工具evo[2],用于测试轨迹精度、完整度等。

  3. 可以参考当前优秀的开源代码,比如[5]、[6]、[7]等,但需要进行标明。

  4. 至少需要在TUM-VI数据集上进行精度测评,除此之外鼓励选择其他的公开数据集进行测评。

参考文献:

[1] XRSLAM(https://github.com/openxrlab/xrslam)

[2]测评工具evo(https://github.com/MichaelGrupp/evo)

[3] TUM-VI数据集(https://vision.in.tum.de/data/datasets/visual-inertial-dataset)

[4]EuRoC数据集(https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets)

[5] VINS-Mono: Qin T, Li P, Shen S. Vins-mono: A robust and versatile monocular visual-inertial state estimator[J]. IEEE Transactions on Robotics, 2018, 34(4): 1004-1020.

[6] ORB-SLAM2: Mur-Artal R, Tardós J D. Orb-slam2: An open-source slam system for monocular, stereo, and rgb-d cameras[J]. IEEE transactions on robotics, 2017, 33(5): 1255-1262.

[7] ORB-SLAM3: Carlos Campos, Richard Elvira, Juan J. Gómez Rodríguez, José M. M. Montiel and Juan D. Tardós, ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM, IEEE Transactions on Robotics 37(6):1874-1890, Dec. 2021.

[8] DBoW: Dorian Gálvez-López and Juan D. Tardós. Bags of Binary Words for Fast Place Recognition in Image Sequences. IEEE Transactions on Robotics, vol. 28, no. 5, pp. 1188-1197, 2012.