轨迹误差评估指标[APE/RPE]和EVO[TUM/KITTI]

这篇具有很好参考价值的文章主要介绍了轨迹误差评估指标[APE/RPE]和EVO[TUM/KITTI]。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Reference:

  1. 高翔,张涛 《视觉SLAM十四讲》
  2. 视觉SLAM基础:算法精度评价指标(ATE、RPE)

在实际工程中,我们经常需要评估一个算法的估计轨迹与真实轨迹的差异来评价算法的精度。真实轨迹往往通过某些更高精度的系统获得,而估计轨迹则是由待评价的算法计算得到的。考虑一条估计轨迹 T e s t i , i T_{esti,i} Testi,i 和真实轨迹 T g t , i T_{gt,i} Tgt,i,其中 i = 1 , ⋅ ⋅ ⋅ , N i=1,\cdot\cdot\cdot,N i=1,,N,那么我们可以定义一些误差指标来描述它们之间的差别。

1. ATE/APE

《视觉SLAM十四讲》上的命名感觉跟 EVO 稍微有一点点区别,比如绝对轨迹误差(Absolute Trajectory Error, ATE)
A T E a l l = 1 N ∑ i = 1 N ∥ log ⁡ ( T g t , i − 1 T esti  , i ) ∨ ∥ 2 2 , \mathrm{ATE}_{\mathrm{all}}=\sqrt{\frac{1}{N} \sum_{i=1}^N\left\|\log \left(T_{\mathrm{gt}, i}^{-1} T_{\text {esti }, i}\right)^{\vee}\right\|_2^2}, ATEall=N1i=1N log(Tgt,i1Testi ,i) 22 ,这玩意儿应该就是 EVO 中的 绝对位姿误差(Absolute Pose Error, APE),后面这个概念统称 APE。

这个公式实际上是每个位姿李代数的均方根误差(Root-Mean-Squared Error, RMSE)。这种误差可以刻画两条轨迹的旋转和平移误差。同时,也有的地方仅考虑平移误差,从而可以定义绝对平移误差(Absolute Translational Error, ATE)
A T E trans  = 1 N ∑ i = 1 N ∥ trans ⁡ ( T g t , i − 1 T est  , i ) ∥ 2 2 \mathrm{ATE}_{\text {trans }}=\sqrt{\frac{1}{N} \sum_{i=1}^N\left\|\operatorname{trans}\left(\boldsymbol{T}_{\mathrm{gt}, i}^{-1} \boldsymbol{T}_{\text {est }, i}\right)\right\|_2^2} ATEtrans =N1i=1N trans(Tgt,i1Test ,i) 22 其中 trans 表示取括号内部变量的平移部分。因为从整条轨迹上看,旋转出现误差后,随后的轨迹在瓶以上也会出现误差,所以两种指标在实际中都适用。

2. RPE

RPE 定义的是相对的误差。例如,考虑 i i i 时刻到 i + Δ t i+\Delta t i+Δt 时刻的运动,那么相对位姿误差(Relative Pose Error, RPE)可定义为:
R P E all  = 1 N − Δ t ∑ i = 1 N − Δ t ∥ log ⁡ ( ( T g t , i − 1 T g t , i + Δ t ) ) − 1 ( T esti  , i − 1 T esti  , i + Δ t ) ) ∨ ∥ 2 2 , \mathrm{RPE}_{\text {all }}=\sqrt{\left.\frac{1}{N-\Delta t} \sum_{i=1}^{N-\Delta t} \| \log \left(\left(T_{\mathrm{gt}, i}^{-1} T_{\mathrm{gt}, i+\Delta t}\right)\right)^{-1}\left(T_{\text {esti }, i}^{-1} T_{\text {esti }, i+\Delta t}\right)\right)^{\vee} \|_2^2,} RPEall =NΔt1i=1NΔtlog((Tgt,i1Tgt,i+Δt))1(Testi ,i1Testi ,i+Δt))22, 同样地,也可只取平移部分:
R P E trans  = 1 N − Δ t ∑ i = 1 N − Δ t ∥ trans ⁡ ( ( T g t , i − 1 T g t , i + Δ t ) ) − 1 ( T esti  , i − 1 T esti  , i + Δ t ) ) ∥ 2 2 \mathrm{RPE}_{\text {trans }}=\sqrt{\left.\frac{1}{N-\Delta t} \sum_{i=1}^{N-\Delta t} \| \operatorname{trans}\left(\left(\boldsymbol{T}_{\mathrm{gt}, i}^{-1} \boldsymbol{T}_{\mathrm{gt}, i+\Delta t}\right)\right)^{-1}\left(T_{\text {esti }, i}^{-1} T_{\text {esti }, i+\Delta t}\right)\right) \|_2^2} RPEtrans =NΔt1i=1NΔttrans((Tgt,i1Tgt,i+Δt))1(Testi ,i1Testi ,i+Δt))22

3. SLAM 轨迹保存格式

3.1 TUM

TUM 数据集格式:timestamp tx ty tz qx qy qz qw
轨迹误差评估指标[APE/RPE]和EVO[TUM/KITTI]

3.2 KITTI

KITTI 数据集格式:一行 12 12 12 个数据,表示 Pose(R+t),可能还有另一个文件存放 timestamp
轨迹误差评估指标[APE/RPE]和EVO[TUM/KITTI]

4. EVO

使用示例如下:

evo_ape kitti ground_truth.txt laser_odom.txt -r full --plot --plot_mode xyz
evo_rpe kitti ground_truth.txt laser_odom.txt -r trans_part --delta 100 --plot --plot_mode xyz

evo_ape 的默认形式是 -r trans_part,即计算的是这里的 ATE,想要计算 APE,可以使用 -r full。

-r 用法:

  • -r full:表示同时考虑旋转和平移误差得到的ape,无单位(unit-less);
  • -r trans_part:表示考虑平移部分得到的ape,单位为m;
  • -r rot_part:表示考虑旋转部分得到的ape,无单位(unit-less);
  • -r angle_deg:表示考虑旋转角得到的ape,单位°(deg);
  • -r angle_rad:表示考虑旋转角得到的ape,单位弧度(rad);

4.1 评估指标

  • max:表示最大误差;
  • mean:平均误差;
  • median:误差中位数;
  • min:最小误差;
  • rmse:均方根误差;
  • sse:和方差、误差平方和;
  • std:标准差

4.2 使用

可以先使用 EVO 仓库中自带的数据尝试

4.2.1 轨迹可视化

cd test/data
evo_traj kitti KITTI_00_ORB.txt KITTI_00_SPTAM.txt --ref=KITTI_00_gt.txt -p --plot_mode=xz
轨迹误差评估指标[APE/RPE]和EVO[TUM/KITTI]轨迹误差评估指标[APE/RPE]和EVO[TUM/KITTI]轨迹误差评估指标[APE/RPE]和EVO[TUM/KITTI]

其中:

  • –ref=ground_truth.txt:指明参考轨迹即真实轨迹;
  • –plot-p:表示画图;
  • –plot_mode xy:表示图像投影在xoy平面上,其余可选参数为:xz,yx,yz,zx,zy,xyz。

4.2.2 APE

evo_ape kitti KITTI_00_gt.txt KITTI_00_ORB.txt -va --plot --plot_mode xz --save_plot ./tra1plot --save_results ./tra1.zip

轨迹误差评估指标[APE/RPE]和EVO[TUM/KITTI]轨迹误差评估指标[APE/RPE]和EVO[TUM/KITTI]

其中:

  • -v–verbose:指明输出文件数据的相关信息;
  • -a–align:指明对轨迹进行配准;
  • –save_plot ./tra1plot:表示保存生成的图片,./tra1plot 这里写自己保存的地址;
  • –save_results ./tra1.zip:表示保存计算结果,./tra1.zip 这里写自己保存的地址。

4.2.3 RPE

evo_rpe tum fr2_desk_groundtruth.txt fr2_desk_ORB.txt -va --plot --plot_mode xyz

轨迹误差评估指标[APE/RPE]和EVO[TUM/KITTI]轨迹误差评估指标[APE/RPE]和EVO[TUM/KITTI]

4.3 其他常用命令

evo_traj - 用于分析,绘制或导出一个或多个轨迹的工具
evo_res - 用于比较evo_ape或evo_rpe一个或多个结果文件的evo_rpe
evo_fig - 用于重新打开序列化图的(实验性)工具(使用–serialize_plot保存)
evo_config - 全局设置和配置文件操作的工具

4.3.1 evo_traj

evo_traj 主要是用来画轨迹、输出轨迹文件、转换数据格式等功能。

  1. 绘制单个轨迹:

    evo_traj euroc ground_truth.csv --plot

  2. 绘制多个轨迹:

    evo_traj kitti KITTI_00_ORB.txt KITTI_00_SPTAM.txt --ref=KITTI_00_gt.txt -p --plot_mode=xz

轨迹误差评估指标[APE/RPE]和EVO[TUM/KITTI]轨迹误差评估指标[APE/RPE]和EVO[TUM/KITTI]轨迹误差评估指标[APE/RPE]和EVO[TUM/KITTI]
  1. 轨迹尺度缩放
    单目相机会存在尺度的不确定性,evo_traj 支持使用 -s–correct_scale 参数进行Sim(3)上的对齐(旋转、平移与尺度缩放,能非常方便的用于 RTK/GNSS 对轮齿脉冲的标定

  2. 格式转换
    如将 EuRoC 转成 TUM 格式,输出为 data.tum:

    evo_traj euroc data.csv --save_as_tum文章来源地址https://www.toymoban.com/news/detail-402095.html

4.4 其他参数

  • --n_to_align n:对齐第一个轨迹前n个姿态。

4.5 EVO 常见问题

  1. EVO 录数据时经常会出现以下错误:
    [ERROR] TUM trajectory files must have 8 entries per row and no trailing delimiter at the end of the rows (space).
    轨迹误差评估指标[APE/RPE]和EVO[TUM/KITTI]注意除了格式需要正确外,每行末尾不要有空格。

到了这里,关于轨迹误差评估指标[APE/RPE]和EVO[TUM/KITTI]的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 19 | 分类模型评估指标

    2024年02月14日
    浏览(83)
  • 目标检测的评估指标

    在训练阶段是不需要nms处理的,只有在验证或者是测试阶段才需要将预测结果进行非极大值抑制处理, Precision(精确率/查准率):是指在所有被预测为正的样本中,确实是正样本的占比。当Precision越大时,FP越小,此时将其他类别预测为本类别的个数也就越少,可以理解为预测

    2024年02月13日
    浏览(44)
  • 目标检测评估指标

    评估指标是评价目标检测算法方法好坏的重要依据,目标检测有:IoU(交并比)、Precision(精确度)、Recall(召回率)、AP(平均正确率)、mAP(平均类别AP)等多种评价指标。 1.IoU IoU:用来评价目标检测算法的对象定位精度,IoU是目标检测的预测框和标签框之间的重叠面积

    2024年02月06日
    浏览(48)
  • Yolov5——评估指标

    IoU也称为交并比,评价边界框正确性的度量指标,表示detection box(检测框)与ground truth(真实标签)的交集和并集的比值。 计算公式 所有预测为正样本的结果中,预测正确的比率。 对于多目标检测任务,TP(true positive)表示预测出的正确的框,但问题是我们如何判断这个框

    2024年02月04日
    浏览(49)
  • 最新目标跟踪评估指标汇总

    前段时间接触了一些目标跟踪的场景,本文主要汇总目标跟踪的常用评估指标,主要包括下面几类: 容易理解的概念:FP、FN、TP、id switch、ML、MT 更加综合的概念:MOTA、IDF1、MOTP、HOTA 主要的介绍集中在HOTA ,因为这个评估指标比较新,我能看到的讲解都比较少一点,所以展开

    2024年02月04日
    浏览(39)
  • 机器学习——常见模型评估指标

    目录 一.模型评估综述 1.1 什么是模型评估 1.2 评估类型 1.3 模型泛化能力 1.4 过拟合与欠拟合 1.4.1 过拟合 1.4.2欠拟合 二.常见的分类模型评估方式 2.1 混淆矩阵 2.2 准确率(Accuracy) 2.3 精确率(Precision) 2.4 召回率(Recall) 2.5 F1-score 2.6 ROC曲线及AUC值 2.7 PR曲线 三. PR曲线和ROC曲线的

    2024年04月10日
    浏览(65)
  • 轨迹评估工具使用:evo安装以及学习

    核心功能是能够绘制相机的轨迹,或评估估计轨迹与真值的误差。支持多种数据集的轨迹格式( TUM、KITTI、EuRoC MAV、ROS的bag ),同时支持这些数据格式之间进行相互转换。在此仅对其基本功能做简要介绍。 evo工具github地址 在终端使用安装命令即可: 注:需要安装一下相关的

    2024年02月06日
    浏览(37)
  • 图像融合评估指标Python版

    这篇博客利用Python把大部分图像融合指标基于图像融合评估指标复现了,从而方便大家更好的使用Python进行指标计算,以及一些I/O 操作。除了几个 特征互信息 的指标没有成功复现之外,其他指标均可以通过这篇博客提到的Python程序计算得到,其中 SSIM 和 MS_SSIM 是基于PyTorc

    2023年04月08日
    浏览(45)
  • 敏捷指标: 评估计划的进展

    作者 | Will Hayes, Patrick Place, and Keith Korzec ——卡耐基梅隆大学 度量标准有助于实现一个运作良好的系统,评判现有流程的绩效。在项目交付契约功能时能够对其性能进行监督。本文探讨了在一个复杂的信息物理系统的迭代、增量交付过程中,政府项目评估的指标所起的作用。

    2024年02月07日
    浏览(44)
  • 目标检测评估指标 mAP, FPS

    参考1 mAP (mean Average Precision) might confuse you! 参考2 Breaking Down Mean Average Precision (mAP) 根据 IoU 的取值,可以将预测得到 bbox 判断为 TP, FP 或者 FN。 TN 不考虑。 考虑下面这幅图,只查看 person 的预测 bbox。 TP 为 IoU 0.5 的bbox. FP : 有两种情况会被考虑为 FP IoU 0.5 其他大于0.5 但是小于

    2024年02月07日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包