对于真实场景下录制的数据集,一般以高精度RTK+IMU组合导航设备(室外常用,如KITTI数据集[1])、动作捕捉系统(室内常用,如TUM RGB-D数据集[2])以及测绘领域用的激光全站仪(室内外均可用但只能直接得到位置,我目前只在EuRoC[3]数据集上见到过),使用这些设备获得传感器系统运动的参考值,由于其精度比较高(比如室内动作捕捉系统marker点的位置精度一般在亚毫米级),对于激光/视觉SLAM的厘米级精度来说,该参考值可以视作真值。
对于所谓软件技术合成的数据集(通常利用游戏引|擎渲染得到)如ICL-NUIM[4]和Kimera[5]测试使用的模拟器(忘了具体是啥了),这直接相当于开了上帝视角,模拟器编程时即可获得传感器位姿,因为拍摄图像的相机、激光雷达等传感器的位置就是开发者给定的,如果你用过
Direct3D/OpenGL/Vulkan等图形API,在学如何根据键盘和鼠标输入调整观察摄像机视角时会非常好理解。
相对于上文提到的参考值(真值),SLAM得到的传感器系统位姿称之为估计值。
真值轨迹点和通过SLAM估计的轨迹点的数据关联通过时间戳或者SE3、Sim3对齐这种类似ICP的方式进行。
这里“单对点”指的是经过1.2中数据关联得到的一对参考轨迹点和估计轨迹点。评估方式有关注全局一致性的绝对轨迹误差(Absolute Trajectory Error,ATE)和关注局部一致性的相对位姿误差(Relative Pose Error,RPE)。对于单对点,ATE定义如下(后续公式均来自参考文献[2]):
对于RPE,有三种评价方式:仅平移、仅旋转以及无量纲的综合评价,其中第三者用到的比较少,但是在一些工具比如EVO中有提到。
以上为无量纲的评价方式,如果P、Q换成R或者T,那么就是对应的仅平移或仅旋转评价方式。
每对匹配的参考轨迹点和估计轨迹点都有一个误差,但我们的目的是评估一整个数据序列上整条轨迹的误差,所以需要使用统计量。一般有这几个:
因此这就变成了论文中大家看到的RPE RMSE Trans、RPE RMSE Rot、ATE RMSE,以及对应的均值和中位数等;
由于上述指标只能在总体上反映算法在某个序列中的精度水平,具体到某段特殊运动或者特殊场景中的轨迹是否会发生漂移则无法展示,因此通常会有一些轨迹图作为辅助的展示。比如当年VINS-MONO[7]的炫技:
以及对于—段序列中轨迹误差统计得到的箱型图:
还有和其他VIO的轨迹精度定性对比(说是定性,但是在下图和上面的箱型图中还是需要定量计算指标,也许放在“定性对比”—节不合适,回头我看看调整调整):
当然也有些不需要参考轨迹直接使用估计轨迹进行不同算法对比的,比如最新的TUM VIE[8]数据集中进行得简单对比:
有些算法也会尝试通过稠密建图质量的定性表示,侧面说明定位精度的准确,比如ORB-SLAM2[9]开篇就放了这个图:
或者在某些场景中的确无有效手段可以拿到参考真值,此时对于视觉为主要输入的SLAM来说可以以精度更高的激光SLAM作为参考。比如赵世博Q师兄和室友王鹏的工作TP-TIO[10],以LOAM作为参考评估VINS、OKVIS、RVIO等在浓烟场景下工作的可靠性(附图并不是在浓烟环境下,浓烟环境下每一个现有视觉SLAM/VIO没一个能跑下来)∶
全名为“Python package for the evaluation of odometry and SLAM”,使用Python写的轨迹评估工具,目前在SLAM领域论文中的“使用率”逐渐上升,可以说已经成为了作为SLAMer一定要会用的工具。
没有对应论文,开源代码在此:
慕尼黑工业大学作为SLAM相关数据集的“高产工厂”,在提供针对各类型传感器、各类型场景的数据集序列之外,还提供了对应的轨迹评估工具,轨迹格式简洁、高效。该工具获取页面:
相关wiki页面在此:
全名为“Toolbox for quantitative trajectory evaluation of vO/VIO”,为文献[12]的开源代码,代码网页链接为:
暂时就想到这些了,想到其他的后补
[1] Geiger, Andreas, Philip Lenz, and Raquel Urtasun. “Are we ready for autonomousdriving? the kitti vision benchmark suite.” 2012 IEEE conference on computer vision andpattern recognition.IEEE,2012.
[2] Sturm,Jurgen, et al. " A benchmark for the evaluation of RGB-D SLAM systems." 2012IEEE/RSJ international conference on intelligent robots and systems.IEEE,2012.
[3] Burri,Michael, et al.“The EuRoC micro aerial vehicle datasets.” The International Journalof Robotics Research35.10(2016): 1157-1163.
[4] Handa, Ankur, et al.“A benchmark for RGB-D visual odometry, 3D reconstruction andSLAM.” 2014 IEEE international conference on Robotics and automation (ICRA).IEEE,2014.
[5] Rosinol,Antoni, et al. “Kimera: an open-source library for real-time metric-semanticlocalization and mapping.” 2020 lEEE International Conference on Robotics and
Automation (ICRA).IEEE,2020.
[6] Yu, Chao, et al.“DS-SLAM:A semantic visual SLAM towards dynamic
environments.” 2018IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS). IEEE,2018.
[7] Qin, Tong,Peiliang Li, and Shaojie Shen.“Vins-mono: A robust and versatile monocularvisual-inertial state estimator.” IEEE Transactions on Robotics34.4(2018):1004-1020.
[8] Klenk, Simon, et al.“TUM-VIE: The TUM Stereo Visual-Inertial Event Dataset.” arXivpreprint arXiv:2108.07329(2021).
[9] Mur-Artal,Raul, and Juan D.Tard6s."Orb-slam2:An open-source slam system formonocular, stereo, and rgb-d cameras."IEEE transactions on robotics33.5(2017): 1255-1262.
[10] Zhao, Shibo, et al.“Tp-tio: A robust thermal-inertial odometry with deep
thermalpoint.” 2020IEEE/RSJ International Conference on Intelligent Robots and Systems(IROS).IEEE,2020.
[11] github.com/MichaelGrupp.….
[12] Zhang, Zichao, and Davide Scaramuzza. “A tutorial on quantitative trajectoryevaluation for visual (-inertial) odometry.” 2018IEEE/RSJInternational Conference onlntelligent Robots and systems (lROS).IEEE,2018.
原文地址