SLAM(Simultaneous Localization and Mapping,即时定位与地图构建)系统的性能评估是确保其在各种环境下稳定性和准确性的关键。其中,ATE和RPE是两种常用的精度评价指标,它们分别代表了绝对轨迹误差(Absolute Trajectory Error)和相对姿态误差(Relative Pose Error)。
绝对轨迹误差 (ATE)
定义: ATE度量的是估计轨迹与真实轨迹之间的全局偏差。具体来说,它是通过计算每一帧估计位姿(由SLAM算法得到)与真实位姿之间的三维空间距离(通常是欧氏距离),然后对所有帧的这种距离取平均或均方根误差(RMSE)来得到的。ATE提供了关于整个轨迹估计质量的综合视图,适用于评估SLAM系统在长时间运行后的累计误差。
计算公式:
对于整个轨迹上的N个时刻,ATE的均方根误差可以表示为:
ATE
RMSE
=
1
N
∑
i
=
1
N
∥
p
i
est
−
p
i
true
∥
2
\text{ATE}_{\text{RMSE}} = \sqrt{\frac{1}{N}\sum_{i=1}^{N} \| \mathbf{p}_i^{\text{est}} - \mathbf{p}_i^{\text{true}} \|^2}
ATERMSE=N1i=1∑N∥piest−pitrue∥2
其中,
p
i
est
\mathbf{p}_i^{\text{est}}
piest 和
p
i
true
\mathbf{p}_i^{\text{true}}
pitrue 分别代表第i帧估计的和真实的平移向量。
相对姿态误差 (RPE)
定义: RPE 关注的是相邻帧间姿态变化的误差,用来评估系统随时间的漂移量。它测量的是连续帧之间估计姿态变换与真实姿态变换之间的差异。RPE特别适合用来评估视觉里程计系统(VO)的性能,因为它能够揭示系统在短时间尺度上的稳定性,比如每秒的漂移量。
计算公式:
对于两帧之间的相对姿态误差,可以定义为:
RPE
i
j
=
∥
log
(
T
i
est
T
j
est
−
1
)
−
log
(
T
i
true
T
j
true
−
1
)
∥
\text{RPE}_{ij} = \left\| \log\left( \mathbf{T}_i^{\text{est}} \mathbf{T}_j^{\text{est}-1} \right) - \log\left( \mathbf{T}_i^{\text{true}} \mathbf{T}_j^{\text{true}-1} \right) \right\|
RPEij=
log(TiestTjest−1)−log(TitrueTjtrue−1)
其中,T 代表姿态变换矩阵(包括旋转和平移),log(.) 表示李代数上的对数映射操作,将姿态变换矩阵转换为旋转和平移的误差向量。然后,可以计算一段时间窗口内所有相邻帧对的RPE的平均值或均方根误差,以获得整体的RPE指标。
应用场景:
- ATE 更多用于评估长期运行下的累积定位精度,适用于要求高精度全局定位的应用场景。
- RPE 则侧重于短期稳定性,对于需要高频、高稳定性的运动估计,如无人机飞行控制或机器人导航,RPE是一个非常重要的指标。
在实际应用中,研究人员和开发者通常会结合ATE和RPE以及其他评估指标(如处理时延、计算效率等)来全面分析SLAM系统的性能。此外,EVO工具等第三方软件包提供了自动化评估这些指标的手段,方便了算法性能的标准化测试和比较。