ORB-SLAM3车载双目视觉自主导航性能评估

2023-01-07 07:23刘宗毅
导航定位学报 2022年6期
关键词:关键帧双目位姿

熊 超,乌 萌,刘宗毅,高 力,郭 浩

ORB-SLAM3车载双目视觉自主导航性能评估

熊 超,乌 萌,刘宗毅,高 力,郭 浩

(地理信息工程国家重点实验室/西安测绘研究所,西安 710054)

针对全球卫星导航系统(GNSS)用于车载导航在复杂环境下定位精度较低、低成本和惯导漂移明显等问题,论述了基于旋转不变特征点的同时定位与地图构建第3代(ORB-SLAM3)系统的整体架构和其创新点,并评估了其采用不同的运动轨迹、不同运动状态的车载数据的性能,重点分析ORB-SLAM3整体的位姿精度、ORB-SLAM3和基于旋转不变特征点的同时定位与地图构建第2代(ORB-SLAM2)系统车载双目视觉算法对比和ORB-SLAM3车载双目视觉跟踪耗时。实验结果表明:ORB-SLAM3整体的定位精度优于1.42 m,姿态精度优于3.2×10-3(°)/m,ORB-SLAM3整体的位姿精度与ORB-SLAM2的整体位姿精度相当,ORB-SLAM3跟踪耗时比ORB-SLAM2少约12 ms。

双目视觉;自主导航;性能评估;车载;跟踪时间

0 引言

视觉同时定位与地图构建(simultaneous location and mapping,SLAM)技术是基于多视图几何理论,主要通过视觉传感器的方式,根据视觉传感器获取的图像帧之间像素的匹配关系求解相机的实时位姿并且同时构建周围环境地图的技术。视觉SLAM系统可以完成定位的同时并创建环境地图。

2007年,文献[1]提出具有里程碑意义的并行跟踪与地图构建系统(parallel tracking and mapping,PTAM)。PTAM系统是第一个使用非线性优化的SLAM系统,使用了2个线程,分别为实时匹配跟踪特征点的相机跟踪线程和维护序列图像中选取的稀疏关键帧和基于关键帧的3维点的地图构建线程。2015年,文献[2]在PTAM的基础上提出了基于旋转不变特征点的同时定位与地图构建(oriented fast and rotated brief simultaneous localization and mapping,ORB-SLAM)算法并开源了系统的源代码。ORB-SLAM在整体架构上继承了PTAM系统的多线程思想,同时对PTAM系统初始化时需要进行手动操作的缺陷进行了重点改进,并在此基础上扩展了ORB-SLAM在多种应用环境下的适应性。ORB-SLAM系统在PTAM系统的基础上增加了一个回环检测的线程。ORB-SLAM包含了跟踪、建图、闭环检测3个线程,将改进后的基于旋转不变特征点(oriented fast and rotated brief,ORB)特征法应用贯穿于整个系统,包括特征检测、匹配以及闭环检测等过程。2017年,文献[3]推出了基于旋转不变特征点的同时定位与地图构建第2代(oriented fast and rotated brief simultaneous localization and mapping 2,ORB-SLAM2)系统。ORB-SLAM2是基于单目、双目和红绿蓝深度(red,green,blue and depth,RGB-D)相机的一个完整的SLAM系统,广泛应用于无人车、无人机及室内外机器人等设备。2020年,文献[4]在ORB-SLAM2的基础上推出了基于旋转不变特征点的同时定位与地图构建第3代(oriented fast and rotated brief simultaneous localization and mapping 3,ORB-SLAM3)系统。ORB-SLAM3除了可以用于单目、双目和RGB-D相机外,还可以用于鱼眼相机,并增加了视觉惯导系统(visual-inertial odometry,VIO)和文献[5]提出的地图集(Atlas)多地图SLAM的系统。

文献[2-3]关于ORB-SLAM和ORB-SLAM2的论文中均对车载视觉自主导航性能进行了测试。2018年,文献[6]对ORB-SLAM2车载双目视觉的自主导航性能进行了评估,其实验结果表明:持续的动态物体会对ORB-SLAM2整体的导航精度有所影响;无回环探测时,位置误差随行驶距离呈现明显的1%线性发散,成功的回环检测能够有效抑制位置姿态误差的发散并提高其精度,定位精度保持在2 m左右。而ORB-SLAM3的论文中作者未给出其车载视觉自主导航性能的测试结果,因此本文着重对其车载视觉自主导航性能进行评估。

本文首先介绍了ORB-SLAM3相对于ORB-SLAM2、ORB-SLAM算法改进的部分及其创新点,并对ORB-SLAM3车载单双目视觉的自主导航性能进行了评估,然后在公开的数据集上进行实验验证。重点分析ORB-SLAM3整体的位姿精度、ORB-SLAM3和ORB-SLAM2车载双目视觉算法对比和ORB-SLAM3车载双目视觉跟踪耗时。

1 ORB-SLAM3系统整体架构和创新点

1.1 ORB-SLAM3系统整体架构

ORB-SLAM3系统包含3个并行处理的线程,分别是特征跟踪、局部建图和回环检测与地图融合。其系统的整体架构如图1所示。图1中:IMU(inertial measurement unit)为惯性测量单元;

图1 ORB-SLAM3算法整体架构

BA(bundle adjustment)为光束法平差;Sim(3)指的是利用3对匹配点进行相似变换求解的矩阵向量,可以获得2个坐标系之间的旋转矩阵、平移向量和尺度;SE(3)指的是由变换矩阵构成的特殊欧式群;Atlas指的是地图集;由文献[7-8]提出的分布式词袋模型(distributed bags of words 2, DBoW2)指的是一种高效的回环检测算法,包含具有正序和逆序指向索引图片的图像数据库,可实现快速查询和进行特征比较。从图1及对比文献[2-3]中的框架图可以看出,ORB-SLAM3系统的整体架构与ORB-SLAM2相比主要是在单目、双目、RGB-D的基础上增加了IMU,引入了视觉惯性和Atlas多地图模式以及地图融合等功能。而ORB-SLAM2整体架构还是基于ORB-SLAM的结构,区别在于跟踪进程中多了预处理模块,以及最后有一个全局光束法平差模块,可以提高建图的精度,其余的流程没有变化。因此ORB-SLAM3整体架构是在ORB-SLAM和ORB-SLAM2基础上不断继承和优化的。

1.2 ORB-SLAM3的创新点

ORB-SLAM3的创新点主要有:ORB-SLAM只能针对单目相机数据进行处理;ORB-SLAM2增加了对于双目和RGB-D相机的处理,在回环检测模块增加了文献[9]提出的全局光束法平差方法的处理;ORB-SLAM3则增加了对于IMU融合的支持,兼容鱼眼相机模型,并且增加了Altas多地图的支持;同时,回环检测为了支持多地图的模式,提供了一种叫融合(welding) BA的优化方式。ORB-SLAM3是可以解决纯视觉和视觉惯导融合的完整的混合地图的SLAM系统,Atlas代表的是地图的集合,可以把其中的地图应用到所有的建图过程中,如场景重识别、相机重定位、闭环检测和精确的地图融合,即该系统为增量的SLAM系统。

ORB-SLAM3提供了Altas多地图的存储和拼接功能,在视觉跟踪丢失后可以尝试将现有地图和历史地图进行匹配和融合,并及时更新当前的活跃地图。ORB-SLAM3系统在重定位模块上做了一些改进。其主要改进是,当当前关键帧与数据库中的关键帧可以匹配后,检测与当前关键帧具有共视关系的其他关键帧是否也可以进行匹配上:如果可以匹配上那么可以认为是重定位成功;如果匹配不上,则继续使用接下来的关键帧进行检测与判定。重定位模块可以构建混合的地图,可以让ORB-SLAM3系统长期稳定地运行在特征点较少的场景中。当ORB-SLAM3系统的实时位姿估计失败或者跟踪丢失的时候,ORB-SLAM3系统会重新构建新的地图,同时与原来构建的地图进行对齐。如果是原有的DBoW2,需要匹配3个连续的关键帧,而ORB-SLAM3对候选的关键帧首先进行几何一致性检测,然后利用3个共视的关键帧进行局部的一致性检验。这种策略提升了召回率,并增强了数据关联,提高了地图准确性,也提高了实时位姿估计的鲁棒性。ORB-SLAM3系统可以在所有的算法运行阶段重用所有的之前状态信息的SLAM系统。系统可以在光束法平差的时候使用与当前关键帧具有共视关系的其他关键帧,即使2个关键帧在时间上相差很远,或者来自之前构建的地图,也依然有效。这些关键技术的处理使得定位精度有了很大提升。但是这是以显著提高计算成本作为代价的,所以导致ORB-SLAM3系统在内存不足的情况下无法运行。因此考虑ORB-SLAM3系统的实际应用过程时,需要考虑算法的计算成本和计算耗时。

ORB-SLAM3是第一个可以对短期、中期、长期数据进行数据关联的视觉惯导系统,在已知地图的环境中可以无漂移误差地运行,其中混合地图数据关联可以保证我们进行地图匹配和进行光束法平差优化。这样可以构建一幅地图,然后可以在地图中进行精确的定位。短期的数据关联指的是,在最近的几帧图像匹配地图元素,丢弃时间过于久远的帧,这样会减少累计的漂移误差。中期的数据关联指的是,跟踪匹配相机累积误差较小的地图,这也可以用在光束法平差中,当系统在已经建好的地图中运行的时候可以达到零漂移。长期的数据关联指的是,利用场景重识别来匹配当前的观测和先前的观测,不用管累计的漂移误差,而且即使跟踪失效也可以实现长期的匹配。长期的匹配可以使用位姿图优化重新设置漂移的误差。这是在大场景中精度保证的关键。

2 自主导航性能评估指标

通常可以从定位精度、算法的复杂度、计算耗时和计算成本等多个角度来对SLAM算法进行评估和评价。一般来说,定位精度的评价是最受关注的,同时我们也要考虑算法实际运行时的耗时。因此本文设计的车载双目视觉的自主导航性能评估指标主要有4个,分别是绝对轨迹误差、相对位姿误差、相对姿态误差以及视觉导航跟踪耗时。

2.1 绝对轨迹误差

2.2 相对位姿误差

但这样的计算复杂度非常高,计算起来很耗时间。因此在参考文献[10]中,德国慕尼黑工业大学(Die)数据集在给定的评估工具中,通过计算固定数量的RPE样本计算一个估计值作为最终结果。

需要注意的是,文献[11]提出RPE和ATE在实际使用过程中需要结合实际,选择合适的指标进行算法评价。

2.3 相对姿态误差

2.4 视觉导航跟踪耗时

位姿估计精度直接影响最终的定位和建图结果,计算消耗的时间也将影响到自主导航的实时性。本文采取视觉导航跟踪耗时来统计自主导航计算耗时,分别以跟踪耗时中值和跟踪耗时均值进行统计。

3 实验及结果分析

为了全面准确地对ORB-SLAM3系统的车载双目视觉进行自主导航的性能评估,本文采用不同的运动轨迹、不同运动状态的车载双目视觉数据对ORB-SLAM3系统的整体实时位姿估计的性能及其与ORB-SLAM2的整体实时位姿估计的性能相比较,并和ORB-SLAM3的视觉导航跟踪耗时等方面分别进行实验和分析。

3.1 数据准备

实验数据为KITTI标准数据集。KITTI数据集是由德国卡尔斯鲁厄理工学院(Karlsruhe Institute of Technology, KIT)和丰田工业大学芝加哥分校(Toyota Technological Institute at Chicago, TTIC)联合创办,利用组装的设备齐全的采集车辆对实际交通场景进行数据采集获得的公开数据集。本文实验数据选取文献[12]中推出的KITTI里程计(odometry)数据集,该数据集包含Flea2 Firewire相机采集的高质量立体图像序列及OXTS RT 3000 IMU/全球定位系统(global positioning system, GPS)测量系统采集的地理数据(作为真值,IMU/GPS标称平面精度优于0.05 m),这里选取00—10序列数据进行实验,分别记为KITTI00—KITTI10。实验数据集参数设置详见表1。

表1 实验数据集参数设置

3.2 结果及分析

本文选取KITTI odometry数据集序列00—10进行实验性能测试。本文的实验平台为联想台式机电脑(中央处理器(CPU)酷睿i9-9900K,3.60 GHz 8核,内存32 GB),本文所有实验平台均在乌班图(Ubuntu)20.04系统和开源计算机视觉库(open source computer vision library, OpenCV)4.2.0等环境中实现。

3.2.1 ORB-SALM3车载双目视觉整体位姿精度分析

以IMU/GPS的组合定位结果作为轨迹的真值,解算实时估计的轨迹与轨迹的真值的偏差值大小,解算的偏差值结果由不同的颜色条表示。KITTI00—KITTI10共11张图的ORB-SLAM3与真实轨迹的误差如图2所示,颜色越深代表误差越大。KITTI数据集序列00—10序列中00、02、05、08包含多回环,06、07、09包含单回环,01、03、04、10无回环。

由图2可知,所有轨迹均与真值轨迹的重合度较高,大转弯处的轨迹误差相比其他时段轨迹误差大,说明纯视觉自主导航对于大转弯造成的运动过快的情况还需要进行优化,提升精度。同时00、02、05、08序列中多回环处的轨迹误差较小,这是因为经过回环检测可修正由误差累积所导致的尺度漂移问题。

3.2.2 ORB-SLAM3和ORB-SLAM2算法对比及分析

对KITTI00—KITTI10序列分别进行ORB-SLAM3和ORB-SLAM2车载双目视觉的自主导航性能评估,限于篇幅,这里仅给出00序列的ORB-SLAM3和ORB-SLAM2的估计轨迹与真实轨迹的误差,实验结果如图3所示。其中图3(a)为ORB-SLAM3和ORB-SLAM2的估计轨迹与真实轨迹的整体轨迹,图3(b)为ORB-SLAM3和ORB-SLAM2的估计轨迹与真实轨迹的位置误差,图3(c)为ORB-SLAM3和ORB-SLAM2的估计轨迹与真实轨迹的姿态误差。同时分别统计了ORB-SLAM3和ORB-SLAM2车载双目视觉的自主导航整体精度数值,详见表2。

图3 KITTI00序列的ORB-SLAM3和ORB-SLAM2的估计轨迹与真实轨迹的整体轨迹、位置误差和姿态误差

表2 基于KITTI数据集的测试整体精度对比

从图3和表2中可以看出ORB-SLAM3车载双目视觉整体定位精度优于1.42%,即行驶100 m偏离真值1.42 m,角度误差优于3.2×10-3(°)/m。ORB-SLAM3自主导航整体的位姿精度与ORB-SLAM2的整体位姿精度相当。

3.2.3 ORB-SLAM3和ORB-SLAM2车载双目视觉跟踪耗时分析

视觉导航算法的跟踪耗时和算法的实际使用密切相关。对KITTI odometry数据集序列00—10分别进行ORB-SLAM3和ORB-SLAM2车载双目视觉跟踪耗时分析,并分别以跟踪耗时中值和跟踪耗时均值分别进行统计,实验结果的耗时统计如图4所示,详细数值见表3。从图4和表3中可以看出,ORB-SLAM3跟踪耗时中值约为30.07 ms,ORB-SLAM3跟踪耗时均值约为30.76 ms,ORB-SLAM2跟踪耗时中值约为42.24 ms,ORB-SLAM2跟踪耗时均值约为43.40 ms,ORB-SLAM3跟踪耗时比ORB-SLAM2少约12 ms左右,ORB-SLAM3跟踪耗时性能更优。

图4 基于KITTI odometry数据集的测试耗时统计

表3 基于KITTIodometry数据集的测试耗时分析 ms

4 结束语

本文对ORB-SLAM3车载单双目视觉的自主导航性能进行了评估,并在公开的KITTI odometry标准数据集上进行实验验证。重点分析了ORB-SLAM3整体的位姿精度、ORB-SLAM3和ORB-SLAM2车载双目视觉算法对比和ORB-SLAM3车载双目视觉跟踪耗时。从实验结果来看,纯视觉自主导航对于大转弯造成的运动过快的情况还需要进行优化提升精度。可考虑和IMU传感器进行融合处理,利用IMU输出频率高和能输出6个自由度(6 degrees of freedom,6DoF)的测量信息等优点对视觉和IMU得到的位姿结果进行融合,以得到更加鲁棒的输出结果,实现在复杂环境下可长期稳定运行的、具有低成本的、可高精度定位的车载双目视觉和IMU融合的自主导航SLAM系统。

[1] KLEIN G, MURRAY D. Parallel tracking and mapping for small AR workspaces[C]//The Institute of Electrical and Electronic Engineers (IEEE). Proceedings of IEEE and ACM International Symposium on Mixed and Augmented Reality. Nara, Japan: IEEE, 2007: 225-234[2022-04-07].

[2] MUR-ARTAL R, MONTIEL J, TARDOS J. ORB-SLAM: a versatile and accurate monocular SLAM system[J]. IEEE Transactions on Robotics, 2015, 31(5): 1147-1163.

[3] MUR-ARTAL R, TARDOS J. ORB-SLAM2: an open-source SLAM system for monocular, stereo, and RGB-D cameras[J]. IEEE Transactions on Robotics, 2017, 33(5): 1255–1262.

[4] CAMPOS C, ELVIRA R, GOMEZ J, and et al. ORB-SLAM3: an accurate open-source library for visual, visual-inertial and multi-map SLAM[J]. IEEE Transactions on Robotics, 2021, 37(6): 1874-1890.

[5] ELVIRA R, TARDOS J, MONTIEL J. ORBSLAM-Atlas: a robust and accurate multi-map system[C]//The Institute of Electrical and Electronic Engineers (IEEE). Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). Macau, China: IEEE, 2019: 6253-6259[2022-04-07].

[6] 沈燕芬, 张小红, 朱锋. ORB-SLAM2车载双目视觉的自主导航性能评估[J]. 导航定位学报, 2018, 6(2): 29-35.

[7] GALVEZ-LOPEZ D, TARDOS J. Bags of binary words for fast place recognition in image sequences[J]. IEEE Transactions on Robotics, 2012, 28(5): 1188-1197.

[8] MUR-ARTAL R, TARDOS J. Fast relocalisation and loop closing in keyframe-based SLAM[C]//The Institute of Electrical and Electronic Engineers (IEEE). Proceedings of IEEE International Conference on Robotics and Automation (ICRA). Hong Kong, China: IEEE, 2014: 846-853[2022-04-07].

[9] KONOLIGE K, AGRAWAL M. Frame SLAM: from bundle adjustment to real-time visual mapping[J]. IEEE Transactions on Robotics, 2008, 24(5): 1066-1077.

[10] STURM J, ENGELHARD N, ENDRES F, et al. A benchmark for the evaluation of RGB-D SLAM systems[C]//The Institute of Electrical and Electronic Engineers (IEEE). Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems. Vilamoura-Algarve: IEEE, 2012: 573–580[2022-04-07].

[11] ZHANG Z, SCARAMUZZA D. A tutorial on quantitative trajectory evaluation for visual(-inertial)odometry[C]//The Institute of Electrical and Electronic Engineers (IEEE). Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS). Madrid, Spain: IEEE, 2018: 7244-7251[2022-04-07].

[12] GEIGER A, LENZ P, STILLER C, et al. Vision meets robotics: the KITTI dataset[J]. Int. J. Robot Res, 2013, 32(11): 1231-1237.

Performance evaluation on autonomous navigation of ORB-SLAM3 vehicle stereo vision

XIONG Chao, WU Meng, LIU Zongyi, GAO Li, GUO Hao

(State Key Laboratory of Geo-information Engineering/Xi’an Research Institute of Surveying and Mapping, Xi’an 710054, China)

Aiming at the problems that the positioning accuracy is low and the drift of low-cost inertial navigation is obvious in the vehicle navigation with global navigation satellite system (GNSS) under complex environment, the general overview of the system and the contributions provided by oriented fast and rotated brief simultaneous localization and mapping 3 (ORB-SLAM3) are discussed in this paper, and evaluated the vehicle data performance with different traces and motion states, and given the experimental algorithm comparison between ORB-SLAM3 and oriented fast and rotated brief simultaneous localization and mapping 2 (ORB-SLAM2), and evaluated the tracking time of ORB-SLAM3, among which the accuracy of positioning and attitude for ORB-SLAM3 were mainly focused. Experiment result showed that the navigation accuracy is better than 1.42 m on a 100-m path and rotation error is better than 0.0032 (°)/m based on dataset in this paper. The overall navigation error is at the same level between ORB-SLAM3 and ORB-SLAM2, and the tracking time of ORB-SLAM3 is 12 ms better than that of ORB-SLAM2.

stereo vision;autonomous navigation;performance evaluation;vehicle;tracking time

P228

A

2095-4999(2022)06-0009-09

熊超,乌萌,刘宗毅,等. ORB-SLAM3车载双目视觉自主导航性能评估[J]. 导航定位学报, 2022, 10(6): 9-17.(XIONG Chao, WU Meng, LIU Zongyi, et al.Performance evaluation on autonomous navigation of ORB-SLAM3 vehicle stereo vision[J]. Journal of Navigation and Positioning, 2022, 10(6): 9-17.)

10.16547/j.cnki.10-1096.20220602.

2022-04-14

地理信息工程国家重点实验室研究课题(SKLGIE2022-ZZ-03)。

熊超(1986—),男,湖北麻城人,硕士,工程师,研究方向为视觉导航及多源融合导航。

猜你喜欢
关键帧双目位姿
霜 降 苏美玲
基于图像熵和局部帧差分的关键帧提取方法
自适应无监督聚类算法的运动图像关键帧跟踪
无人机动平台着陆惯性/视觉位姿歧义校正算法
船舶清理机器人定位基准位姿测量技术研究
基于双目测距的卡尔曼滤波船舶轨迹跟踪
基于块分类的矿井视频图像DCVS重构算法
优化ORB 特征的视觉SLAM
基于单目视觉的工件位姿六自由度测量方法研究
基于误差预测模型的半自动2D转3D关键帧提取算法