[slam评估]evo使用

一、安装与文件介绍

方法一:安装使用命令行

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

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

evo文件架构:

evo-master
│
├─contrib
│  └─kitti_poses_and_timestamps_to_trajectory.py
│               ...

├─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 – 用于全局设置和配置文件操作的工具

  • 在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轴

  • 在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:
  • APE:绝对位姿误差
  • w.r.t. :with respect to 的缩写。是 关于;谈及,谈到的意思。(自论文中的 w.r.t. 和 i.e. 是什么意思_颜的博客-CSDN博客_w.r.t.什么意思)
  • translation part (m):平移误差,单位m
  • rmse:均方根误差(Root Mean Square Error)
  • median:中位数
  • mean:均值
  • std:个人理解是误差带(误差数据的波动范围) map: 映射到轨迹上的误差

主要功能

  • 打印信息和统计数据(默认模式)
  • 绘制结果
  • 在表格中保存统计结果

使用范例

  • 使用在 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
小提琴图

文件分析

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

Original: https://blog.csdn.net/yeluoyeqiushui/article/details/124571068
Author: 叶落夜秋水
Title: [slam评估]evo使用

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/597920/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球