SLAM算法精度评价指标(ATE、RPE)

1. 前言

  • 当我们需要评估一个SLAM/VO算法的表现时,可以从时耗、复杂度、精度多个角度切入,其中对精度的评价是我们最关注的,这个过程中不可避免会遇到两个精度指标ATERPE。这两个evaluation metrics最早是在TUM数据集benchmark中定义的,应用非常广泛。
  • 介绍前,先对定义一下公式标注:算法估计位姿:P_1,\ldots,P_n\in SE(3)
  • 真实位姿:Q_1,\ldots,Q_n\in SE(3)下标代表时间t(或帧),这里我们假设估计位姿和真实位姿各帧时间已对齐,总帧数相同。\Delta表示相隔时间time interval。

2. RPE: relative pose error 相对位姿误差

        相对位姿误差主要描述的是相隔固定时间差\Delta两帧位姿差的精度(相比真实位姿),相当于直接测量里程计的误差。 因此第i帧的RPE定义如下:

E_i:=(Q_i^{-1}Q_{i+\Delta})^{-1}(P_i^{-1}P_{i+\Delta})

        已知总数n与间隔\Delta的情况下,可以得到m=n-\Delta个RPE,然后我们可以用均方根误差RMSE统计这个误差,得到一个总体值:

\mathrm{RMSE}(E_{1:n},\Delta):=(\frac{1}{m}\sum_{i=1}^{m}\|trans(E_i)\|^2)^{\frac{1}{2}}

        其中trans(E_{i})代表取相对位姿误差中的平移部分translation。当然也有人不用RMSE,直接使用平均值、甚至中位数来描述相对误差情况。 需要注意的是,除了平移误差,RPE也包含旋转误差,但通常使用平移误差进行评价已经足够,如果需要,旋转角的误差也可以使用相同的方法进行统计。 到这一步,我们基本可以从RMSE值的大小来评价算法的表现,然而实际情况中,我们发现对 \Delta的选取有多种选择,为了能综合衡量算法表现,我们可以计算遍历所有\Delta的RMSE的平均值:

\mathrm{RMSE}(E_{1:n}):=\frac{1}{n}\sum_{\Delta=1}^{n}\mathrm{RMSE}(E_{1:n},\Delta).

        但这样新的问题又出现了,这样的计算复杂度非常高,很耗时间,因此TUM在自己给定的工具中,通过计算固定数量的RPE样本计算一个估计值作为最终结果。

3. ATE: absolute trajectory error 绝对轨迹误差

        绝对轨迹误差是估计位姿和真实位姿的直接差值,可以非常直观地反应算法精度和轨迹全局一致性。需要注意的是,估计位姿和groundtruth通常不在同一坐标系中,因此我们需要先将两者对其:对于双目SLAM和RGB-D SLAM,尺度统一,因此我们需要通过最小二乘法计算一个从估计位姿到真实位姿的转换矩阵\mathrm{S}\in SE(3) ;对于单目相机,具有尺度不确定性,我们需要计算一个从估计位姿到真实位姿的相似转换矩阵\mathrm{S}\in SE(3)因此第i帧的ATE定义如下:

F_i:=Q_i^{-1}SP_i

        与RPE相似,建议使用RMSE统计ATE

\mathrm{RMSE}(F_{1:n},\Delta):=(\frac{1}{m}\sum_{i=1}^{m}\|trans(F_i)\|^2)^{\frac{1}{2}}

        当然,使用平均值、中位数等来反应ATE亦可,现在很多evaluation工具会将RMSE、Mean、Median都给出。旋转误差可以通过相同的方式计算,目前的一些开源评测工具都提供了对应的选项。

        综上,RPE与ATE具有强烈的相关性,但含义不尽相同,需结合实际,选择合适的指标进行算法评价。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值