评估指标
如何评判一个SLAM系统比另一个”更好”?社区给出的答案是一对基于真值(来自动作捕捉、GPS/INS,或高精度测绘参考)计算的轨迹误差指标:ATE衡量全局精度,RPE衡量局部精度。这两者之所以都成为标准,是因为它们衡量的是不同类型的失败。
ATE:绝对轨迹误差(Absolute Trajectory Error)
ATE衡量整条轨迹的全局一致性。首先用一个单一的刚体变换 (通过最小二乘求得;对于单目系统,由于尺度不可观测,需用相似变换)将估计轨迹 与真值轨迹 对齐。然后:
在实践中,平移部分通常以米为单位的RMSE来报告。较高的ATE表明存在累积漂移,或者存在一次错误的回环检测把整条轨迹在全局上扭曲了。
RPE:相对位姿误差(Relative Pose Error)
RPE衡量局部精度——即每单位时间或每单位距离上的漂移。对于跨越间隔 的相对运动,设 (真值)、(估计值):
平移和旋转部分的RMSE会分别报告(例如,%平移误差和度/米)。KITTI的官方指标就是RPE的一种变体:在100-800米的子序列上取平均误差。
为什么两者都需要
一个局部跟踪出色但没有回环检测的视觉里程计系统,可能RPE很低但ATE很差;而一个使用了激进(偶尔出错)回环检测的系统则可能表现出相反的情况。ATE奖励全局地图的正确性;RPE则单独衡量里程计质量,对漂移发生在何处不敏感。在比较论文时,还要检查对齐方式的约定(SE(3)还是Sim(3))——经尺度对齐的单目数据与度量尺度的立体/VIO数据是不可比较的。
标准基准数据集
| 数据集 | 传感器 | 环境 | 真值来源 |
|---|---|---|---|
| KITTI Odometry | 双目+LiDAR+IMU | 室外驾驶 | GPS/INS |
| TUM RGB-D | RGB-D+IMU | 室内手持 | 动作捕捉 |
| EuRoC MAV | 双目+IMU | 室内无人机 | 动作捕捉 |
- KITTI:11个带真值的训练序列,加上11个留出的测试序列;评估方式为在所有100-800米长度的子序列上平均的%平移和旋转误差。
- TUM RGB-D:39个难度不同的序列(静态场景、动态物体、运动模糊);ATE是标准指标,其评估脚本推动普及了这两种指标。
- EuRoC:来自两栋建筑物的11个序列,难度分级(从V1_01简单到V2_03困难);同时报告ATE和RPE,IMU数据同步良好——是VIO的默认试验场。
工具
事实上的标准评估工具是evo,它能读取常见的轨迹格式(TUM、KITTI、EuRoC、ROS bag),并以明确可控的对齐方式计算这两种指标:
evo_ape tum groundtruth.txt estimate.txt -a # 使用SE(3)对齐的ATE
evo_ape tum groundtruth.txt estimate.txt -as # ...Sim(3):同时对齐尺度(用于单目)
evo_rpe tum groundtruth.txt estimate.txt --delta 1 --delta_unit m # 每米的RPE
在脚本中明确写出对齐方式的标志,才能保证你的数值可以与已发表的结果相比较。
阅读(或制作)结果表格时的陷阱
- 对齐方式不匹配——将一个Sim(3)对齐的单目ATE与一个SE(3)对齐的立体ATE放在同一列比较是不公平的。
- 时间戳关联——估计值和真值的采样频率不同;关联容差会悄悄改变分数。
- 不确定性(非确定性)——多线程的SLAM系统每次运行产生的轨迹都不同;严谨的评估会报告多次运行的统计量,而不是单次的幸运结果。
- 跟踪失败会隐藏在平均值中——一个丢失跟踪、只报告存活片段的系统,可能给出一个具有欺骗性的低ATE;完整性和失败率必须与之一并报告。
- 指标只衡量均值——两个ATE相同的系统,其不确定性的质量可能天差地别;参见一致性。
除了精度之外,严谨的评估还会报告运行时间、鲁棒性(多次运行中的跟踪失败率),以及——对于概率型估计器——一致性,这些是单纯的轨迹指标无法体现的。
对SLAM的意义
ATE和RPE是这个领域的通用货币:每一篇SLAM论文的结果表格都建立在它们之上,因此你必须准确了解它们究竟衡量了什么——以及掩盖了什么——才能批判性地阅读文献,或者证明自己的系统确实有效。它们同时也是日常的工程工具:RPE退化指向前端/里程计出了问题,而ATE退化但RPE稳定则指向回环检测或后端出了问题。