1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > VIO主流SOTA算法介绍

VIO主流SOTA算法介绍

时间:2021-01-04 16:15:21

相关推荐

VIO主流SOTA算法介绍

1.概述

VIO(Visual-Inertial Odometry视觉惯性里程计)即结合相机与惯性测量单元IMU实现局部状态如位置、姿态、速度、路标点的最优状态估计。完整的SLAM系统还包括闭环检测(位置识别和相对状态求解)、全局地图构建(位姿图或者全局BA)等,理论上说这些模块可以在不同的VIO算法中进行复用。VIO为整个SLAM系统提供持续的局部状态,是整个SLAM系统能够保持实时、稳定运行的基础。

2.算法分类

把是否将数据放在一起进行联合优化可将VIO算法分类成松耦合和紧耦合,业界已证明紧耦合VIO从精度和鲁棒性上要好于松耦合,本文只对紧耦合VIO算法进行相关分析。

3.开源SOTA算法介绍

3.1 OpenVINS [1]

(1)介绍

基于特征点+EKF。通过多状态约束卡尔曼滤波(MSCKF),利用特征点在多个相机状态之 间构建几何约束,构建观测模型对状态进行更新。

(2)特点

FEJ实现、零空间投影Nullspace Projection、观测压缩Measurement Compression、多种路标点的表示形式等。

(3)开源地址

/rpng/open_vins

3.2 ORBSLAM3 [2]

(1)介绍

基于特征点法+最小二乘(G2O库)。通过提取 ORB 特征,维护特征地图,构建局部 BA 和全局 BA,利用最小二乘进行最优估计。

(2)特点

共视图、多地图数据关联、最大后验估计包含初始化阶段等。

(3)开源地址

GitHub - UZ-SLAMLab/ORB_SLAM3: ORB-SLAM3: An Accurate Open-Source Library for Visual, Visual-Inertial and Multi-Map SLAM

3.3 Basalt [3][4]

(1)介绍

基于特征点法+最小二乘(L-M法,未使用第三方优化库)。设计了一种两级 SLAM 系统, vi-odometry 环节和 vi-mapping 环 节,并且在 vi-odometry 环节以边缘化的形式保存帧间运动信息, 在 vi-mapping 环节恢复这些信息并且应用到基于特征点的全局 BA 中。

(2)特点

FEJ实现、基于QR的边缘化方法并行计算、不依赖第三方优化库等。

(3)开源地址

Vladyslav Usenko / basalt · GitLab

3.4 Kimera [5]

(1)介绍

基于特征点法+贝叶斯网络(GTSAM库)。实现了基于关键帧的的最大后验视觉惯性估计器。

(2)特点

后端优化基于贝叶斯网络实现、框架完整,实现了包含语义SLAM等应用。

(3)开源地址

GitHub - MIT-SPARK/Kimera-VIO: Visual Inertial Odometry with SLAM capabilities and 3D Mesh generation.

3.5 DM-VIO [6]

(1)介绍

基于稀疏直接法+最小二乘(GTSAM库)。利用延迟边缘化和位姿图BA实现单目视觉惯性里程计。

(2)特点

稀疏直接法、延迟边缘化策略、利用位姿图BA的IMU初始化

(3)开源地址

GitHub - lukasvst/dm-vio: Source code for the paper DM-VIO: Delayed Marginalization Visual-Inertial Odometry

4.比较

4.1分析

参考相关论文中的实验以及自测数据,从精度和效率上进行比较(仅比较VIO)。

注:来自OpenVINS论文,VIO的结果(EuRoC dataset)

注:来自ORB-SLAM3论文,SLAM即带Loop的结果(EuRoC dataset)

注:来自DM-VIO论文,VIO的结果(EuRoC dataset)

注:来自DM-VIO论文,VIO的结果(4Seasons dataset)

4.2结论

从精度来看,ORBSLAM3和DM-VIO在大部分数据集上最优,其次是Basalt和OpenVINS;从效率来看,OpenVINS大部分情况最优,其次是Basalt,再之DM-VIO和ORBSLAM3(只考虑VIO情况)。

注:效率为作者自测结果,ORBSLAM3测试效率仅为VIO的结果。

4.3说明

(1) OpenVINS非最新版本,测试的版本为静态初始化,在一些数据集上会失败,其精度的评估不够充分,但由于采用滤波的方法,效率确实可以达到最优。

(2)Basalt的效率明显高于其他非滤波的方法,原因是采用了基于QR分解的边缘化策略,利用该方法可以实现比较好的并行计算。其精度稍低的一个原因是初始化采用了静态初始化的方法,如果采用动态初始化的方法,理论上精度可以更高。

(3)DM-VIO精度和效率都不错,该方法为稀疏直接法,对光照比较敏感,从测试的数据集上来看,整体效果不错。

(4)ORBSLAM3由于带有闭环和全局BA模块,整体精度最优,且其VIO模块精度次优,但由于有ORB特征提取和Altas地图维护,整体效率偏低。

注:高斯噪声下的最小均方误差MMSE(卡尔曼滤波)与最大后验估计MAP(最小二乘与贝叶斯网络)可认为等价,不同的是卡尔曼滤波无法像最小二乘等可多次线性化(观测一阶线性化),故两者可达到的精度理论相近,卡尔曼滤波会差一些。

参考文献:

[1] Geneva P, Eckenhoff K, Lee W, et al. Openvins: A research platform for visual-inertial estimation[C]// IEEE International Conference on Robotics and Automation (ICRA). IEEE, : 4666-4672.

[2] Campos C, Elvira R, Rodríguez J J G, et al. Orb-slam3: An accurate open-source library for visual, visual–inertial, and multimap slam[J]. IEEE Transactions on Robotics, , 37(6): 1874-1890.

[3] Usenko V, Demmel N, Schubert D, et al. Visual-inertial mapping with non-linear factor recovery[J]. IEEE Robotics and Automation Letters, , 5(2): 422-429.

[4] Demmel N, Sommer C, Cremers D, et al. Square root bundle adjustment for large-scale reconstruction[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. : 11723-11732.

[5] Rosinol A, Abate M, Chang Y, et al. Kimera: an open-source library for real-time metric-semantic localization and mapping[C]// IEEE International Conference on Robotics and Automation (ICRA). IEEE, : 1689-1696.

[6] von Stumberg L, Cremers D. DM-VIO: Delayed Marginalization Visual-Inertial Odometry[J]. IEEE Robotics and Automation Letters, , 7(2): 1408-1415.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。