[slam评估]evo使用

EVO功能介绍

一、安装与文件介绍

1. 安装

方法一:安装使用命令行

pip install evo --upgrade --no-binary evo

方法二:从GitHub下载程序包后解压安装(本文使用方法)

EVO在GitHub上主页:MichaelGrupp/evo: Python package for the evaluation of odometry and SLAM (github.com)

2. EVO介绍

evo文件架构:

evo-master
│  
├─contrib
│  └─kitti_poses_and_timestamps_to_trajectory.py /*可将KITTI数据集真值文件加入时间戳生成tum格式*/
│               ...
├─doc
│  └─
├─evo
│  └─
├─notebooks
│  └─
└─test
    │
    ├─cfg
    │  ├─ape_rpe
    │  ├─res
    │  ├─tf
    │  └─traj
    │      └─
    ├─data   /*这个文件夹中是运行范例,其中文件为范例真值文件和不同算法跑出的轨迹文件*/
    │  └─res_files
    ├─demos
    └─tum_benchmark_tools

二、evo使用

在evo使用时主要用到以下工具:

度量:

  • evo_ape - 绝对位姿误差
  • evo_rpe - 相对位姿误差

工具:

  • evo_traj - 分析工具,绘制或导出一个或多个轨迹
  • evo_res - 比较工具,比较evo_ape or evo_rpe生成的一个或多重结果
  • evo_fig - (测试中) tool for re-opening serialized plots (saved with --serialize_plot)
  • evo_config - 用于全局设置和配置文件操作的工具

1. 使用evo_traj进行分析,绘制轨迹图

  • 在evo中提供了使用evo_traj分析使用KITTI数据集轨迹图的范例操作

    cd test/data
    evo_traj kitti KITTI_00_ORB.txt KITTI_00_SPTAM.txt --ref=KITTI_00_gt.txt -p --plot_mode=xz
    

    其中,

    • evo_traj:运行程序名称;

    • kitti:使用数据格式;

    • KITTI_00_ORB.txt KITTI_00_SPTAM.txt:两个算法使用KITTI00数据集生成的轨迹文件;

    • --ref=KITTI_00_gt.txt:以KITTI_00_gt.txt为真值文件;

    • -p:进行绘图,显示plot窗口;

    • --plot_mode=xz:绘制xz平面,不加时默认为三维立体轨迹。

  • plot页面分析

    • trajectories:轨迹图

    • xyz_view:xyz轴视图,其中三个图分别代表在xyz三个方向的位置变化。

    • rpy_view:欧拉角视图,其中三个图分别代表在RPY三个方向的转动变化。

      补充:Roll(滚转角),Pitch(俯仰角),Yaw(偏航角),分别对应绕XYZ轴旋转
      旋转的正方向是,从XYZ轴的箭头方向看过去,顺时针为正,逆时针为负。(详见欧拉角RPY对应XYZ轴

2. 使用evo_ape进行误差分析

  • 在Readme中给出范例,使用计算ORB-SLAM的轨迹绝对误差,并绘制各个结果并将evo_res所需的结果保存到.zip文件中。相应命令如下:

    mkdir results
    evo_ape kitti KITTI_00_gt.txt KITTI_00_ORB.txt -va --plot --plot_mode xz --save_results results/ORB.zip
    

    其中,

    • evo_ape:运行程序名称
    • kitti:使用数据格式
    • KITTI_00_gt.txt:KITTI00的真值文件
    • KITTI_00_ORB.txt:ORB算法使用KITTI00数据集生成的轨迹文件
    • -va:显示详细信息
    • --plot:进行绘图
    • --plot_mode xz:绘制xz平面,不加时默认为三维立体轨迹
    • --save_results results/ORB.zip–save_results保存结果,results/ORB.zip保存的路径及文件名
    • -r trans_part:默认模式(省略时为该模式)。平移误差,单位为m

    保存压缩包内文件:

    alignment_transformation_sim3.npy
    error_array.npy
    info.json
    stats.json
    
  • 页面及文件分析

    raw:

    map: 映射到轨迹上的误差

3. 使用 evo_res 进行多结果比较

主要功能

  • 打印信息和统计数据(默认模式)

  • 绘制结果

  • 在表格中保存统计结果

使用范例

  • 使用在evo_ape功能中生成的压缩文件,进行分析,绘图并保存统计结果:

    evo_res results/*.zip -p --save_table results/table.csv
    

    其中,

    • evo_res:运行程序名称
    • results/*.zip:需要分析的文件路径(由evo_ape生成),.zip代表所有文件类型为zip*的文件
    • -p:进行绘图
    • --save_table results/table.csv:保存统计结果至表格文件,保存位置为results/table.csv

    (保存至表格内容与终端显示一致)

  • 页面及文件分析

    页面介绍

    • raw:分析的初试数据,将数据直接绘制到图中

    • stats:统计,柱状图,内容为所有相比较的数据(与终端显示数据一致)

    • histogram直方图,关于误差在不同等级的比重

    • box_plot箱型图

    • violin_histogram小提琴图

文件分析

文件中内容分别为均方根误差均值中位数标准差最小值最大值误差平方和

  • 0
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SLAM精度评估中的EVO是指使用EVO工具来评估SLAM系统的轨迹误差。EVO是一个开源的工具,用于评估SLAM系统的性能。它提供了一系列命令和功能,可以计算和可视化SLAM系统的轨迹误差。 在EVO中,有几个常用的命令可以用来评估SLAM系统的轨迹误差。其中,evo_traj命令用于评估轨迹误差,可以使用手写的ATE(绝对位姿误差)和RPE(相对位姿误差)来比较SLAM系统的性能。\[1\] 相对位姿误差主要用于比较运动(姿态增量),而不是进行绝对位姿的比较。相对位姿误差可以给出局部精度,例如SLAM系统每米的平移或旋转漂移量。可以使用evo_rpe命令来计算相对位姿误差,并通过设置参数来进行可视化和保存结果。\[2\] 另外,evo_ape命令可以用于计算ATE(绝对位姿误差),并提供了可视化和保存结果的功能。可以使用该命令来评估SLAM系统在KITTI数据集上的性能。\[3\] 总之,EVO是一个用于评估SLAM系统性能的工具,可以通过计算和可视化轨迹误差来评估SLAM系统的精度。可以使用evo_traj、evo_rpe和evo_ape等命令来进行评估和分析。 #### 引用[.reference_title] - *1* *2* [SLAM精度测评——EVO进阶](https://blog.csdn.net/Darlingqiang/article/details/123534388)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [ros中SLAMEVO、APE测评——SLAM精度测评(一)](https://blog.csdn.net/Yangy_Jiaojiao/article/details/124419966)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值