EVO轨迹评估工具学习笔记

1、说明:

evo是一款用于视觉里程计和slam问题的轨迹评估工具。核心功能是能够绘制相机的轨迹,或评估估计轨迹与真值的误差。支持多种数据集的轨迹格式(TUM、KITTI、EuRoC MAV、ROS的bag),同时支持这些数据格式之间进行相互转换。

2、安装:

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

说明:安装时会自动安装相关依赖项。安装完毕后,在命令行输入evo,若显示了相关信息,则表明安装成功。若提示"command not found"也不用惊慌,很多人遇到这种问题,重启电脑即可找到evo相应指令

3、绘制轨迹

3.1 基础指令(绘制轨迹-p)

evo绘制轨迹的指令为:evo_traj,后跟必要参数有:数据的格式(tum/kitti/bag/euroc等)+ 轨迹文件。轨迹文件可以有多个,例如:

---evo_traj tum traj1.txt traj2.txt

这个指令只是显示轨迹的基本信息,若要绘制轨迹,则增加可选参数 -p 或 --plot

---evo_traj tum traj1.txt –p

3.2 轨迹对齐(-a)

我们时常需要将估计轨迹与真实轨迹同时绘制,可采用指令:

---evo_traj tum realTraj.txt estTraj.txt -p

然而存储时轨迹多为相对位置变化,所以绘制出的轨迹在初始位置上存在一定的位置和角度偏移

3.3 轨迹尺度缩放(-s)

单目相机会存在尺度的不确定性,evo_traj 支持使用-s(或 --correct_scale)参数进行Sim(3)上的对齐(旋转、平移与尺度缩放)

4、轨迹评估

evo可以评估两条轨迹的误差,主要有两个命令:

evo_traj:用于画轨迹、输出轨迹文件、转换轨迹数据格式

eg.

将Euroc数据转换为tum数据集格式

---evo_traj euroc MH01_data.csv  --save_as_tum

可视化显示轨迹(会出图)

---evo_traj euroc data.csv --plot

evo_res:比较来自evo_ape和evo_rpe生成的一个或多个结果文件的工具

evo_fig:(不常用)用于重新打开序列化图

evo_config:(不常用)evo工具全局设置和配置文件操作

evo_config set 进行参数设置

evo_ape:计算绝对位姿误差(absolute pose error),用于整体评估整条轨迹的全局一致性;

eg.

---evo_ape tum realTraj.txt estTraj.txt -a –s

此时将显示轨迹误差相关结果。

evo_rpe:计算相对位姿误差(relative pose error),用于评价轨迹局部的准确性。

MH01_data.csv文件是MH_01_easy\mav0\state_groundtruth_estimate0\data.csv

f_dataset-MH01_mono.txtMH_01_easy数据集跑的单目SLAM的轨迹结果

---evo_rpe tum MH01_data.tum f_dataset-MH01_mono.txt  -p --plot_mode=xyz -a --correct_scale --save_results ./orb3_rpe01.zip

5、进阶学习

evo可以进行数据格式转化、曲线颜色配置、轨迹导出等多种功能。

详细请参考evo在github上的wiki:

详细教程

evo其他命令:

evo pkg --version 查看evo版本

(我的是v1.22.0

evo pkg --info 查看evo的简要介绍和描述

evo pkg --pyversion 查看evo使用的python版本

(我的是3.8.10

evo pkg --license 查看许可证

evo pkg --location 查看evo安装路径

(我的是/home/hank/.local/lib/python3.8/site-packages/evo

evo pkg --logfile 查看日志文件路径

evo pkg --open_log 打开日志文件

evo pkg --clear_log 清除日志文件

猜你喜欢

转载自blog.csdn.net/tangling1/article/details/132207115
今日推荐