evo测评


https://github.com/MichaelGrupp/evo/wiki

安装

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

支持的数据集格式

TUM,KITTI,euroc(四元数顺序不一样,所以待比较的数据文件之间的格式要一致)

evo_traj euroc data.csv --save_as_tum #转换格式
evo_ape kitti/euroc/tum a.txt b.txt # 比较kitti、euroc、tum数据集格式的a.txt、b.txt的绝对误差精度

输出的结果:

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

3种误差评估方式、4种工具

evo_ape:绝对位姿误差(比较估计轨迹和参考轨迹并计算整个轨迹的统计数据,适用于测试轨迹的全局一致性)
evo_rpe:相对位姿误差(相对位姿误差比较运动(姿态增量),不比较绝对位姿;可以给出局部精度)

evo_rpe -for-each -sub-sequence-wise averaged pose error

evo_traj:画轨迹图、表格、输出轨迹文件、转换数据格式
evo_res:比较来自evo_ape或evo_rpe生成的一个或多个结果文件
evo_fig:用于重新打开序列化图(使用–serialize_plot保存)
evo_config:evo工具的全局设置和配置文件操作

evo_traj tum groundtruth.txt a.txt --ref=a.txt -va -p

–ref:指定参考轨迹
evo_res angle_ape1.zip angle_ape2.zip -p --save_table table.csv

evo_ape tum groundtruth.txt a.txt -va --plot

指定参考轨迹 groundtruth.txt

参数

evo_rpe euroc MH_data3.csv pose_graphloop.txt -r full --delta 1 --delta_unit m -va --plot --plot_mode=xyz --save_plot ./VINSplot --save_results ./VINS.zip

-r/–pose_relation可选参数(默认trans_part)含义
full同时考虑旋转和平移误差得到的误差,无单位(unit-less)
trans_part考虑平移部分得到的误差,单位为m
rot_part考虑旋转部分得到的误差,无单位(unit-less)
angle_deg考虑旋转角得到的误差,单位°(deg)
angle_rad考虑旋转角得到的误差,单位弧度(rad)

-p、–plot:绘制轨迹

-v:verbose mode,详细模式

命令含义
–align/-a采用SE(3) Umeyama对齐,只处理平移、旋转
–align --correct_scale/-as采用Sim(3) Umeyama对齐,同时处理平移、旋转、尺度
–correct_scale/-s仅对齐尺度(默认尺度对齐参数为1.0,即不进行尺度对齐)

不同对齐命令效果:
在这里插入图片描述

–plot_mode:选择画图模式,二维图或者三维图,可选项:xy, xz, yx, yz, zx, zy, xyz,默认为xyz

–save_plot:保存画图结果,后接保存路径;也可以自己手动在窗体上保存,保存文件的类型可以通过evo_config设置
–save_results:存储为 *.zip 压缩文件结果,后面跟随存储路径以及压缩文件名称(evo_res会用到)

–d/–delta:相对位姿之间的增量(默认为1)

–u/–delta_unit:增量的单位,可选参数为[f, d, r, m],分别表示[frames, deg, rad, meters] (默认为f)

–d/–delta -u/–delta_unit合起来:衡量局部精度的单位,如每米,每弧度,每百米等。–delta_unit为f时,–delta的参数必须为整形,其余情况下可以为浮点型
当在命令中加上–all_pairs,计算rpe时使用位置数据中所有的对而不是仅连续对,此时,可以通过-t/–delta_tol控制–all_pairs模式下的相对增量的容差(relative delta tolerance)。–all_pairs下不能使用–plot函数。

evo_ape tum data.tum CameraTrajectory.txt -a -s -p # -a:轨迹的匹配; -s:尺度修正

单目SLAM轨迹没有尺度,所以多个轨迹不会一样大,需要对轨迹进行sim(3)相似变换,那么evo就会自动的对轨迹的位移、旋转、尺度进行对齐

生成的文件的后缀改成tum

evo_ape +数据格式 + --help查看更多参数的含义以及如何使用

evo_traj euroc MH_data1.csv MH_data3.csv -v --full_check

–full_check:对轨迹进行检查

画两个或者两个以上的轨迹:evo_traj tum a.txt b.txt c.txt -p --align_origin
–align_origin:把两个轨迹匹配到同一个原点

转换数据格式

如,vins生成的结果与euroc ground truth的格式不一样

因euroc格式只对euroc数据集的groundtruth数据有意义,所以没有–save_as_euroc

–save_as_bag–save_as_kitti–save_as_tum
bagyesyesyes
eurocyesyesyes
kittino(no timestamps)yesno(no timestamps)
tumyesyesyes

evo其他常用命令

命令含义
evo pkg --version查看evo版本
evo pkg --info查看evo的简要介绍和描述
evo pkg --pyversion查看python版本
evo pkg --license查看许可证
evo pkg --location查看evo安装路径
evo pkg --logfile查看日志文件路径
evo pkg --open_log打开日志文件
evo pkg --clear_log清除日志文件

evo_config

evo全局设置和配置文件操作

evo_config show可以查看设置文件中的参数和参数的简要注释。如下图所示。
在这里插入图片描述
在这里插入图片描述
evo_config set 进行参数设置
下面是几个常用的参数,其含义以及可选项

参数含义可选项
plot_export_format输出图像时图像存储格式常用png,pdf等
plot_linewidth作图时线的宽度matplotlib支持的宽度,默认1.5
plot_reference_color图像中参考轨迹的颜色black,red,green等
plot_reference_linestyle参考轨迹的线型matplotlib支持的线型,默认–
plot_seaborn_style图像背景和网格whitegrid,darkgrid,white,dark
plot_split是否分开显示/存储图像false/true
plot_figsize画图的图像大小默认宽高均为6,可使用其他值
table_export_format表格数据输出格式常用 csv,excel,latex,json

1.将画图背景更改成白色网格

evo_config set plot_seaborn_style whitegrid

2.将字体改为衬线型并调为1.2倍大小

evo_config set plot_fontfamily serif plot_fontscale 1.2 

3.将画图所使用的线型改为 -

evo_config set plot_reference_linestyle - 

4.将所画图的图像大小调整为10 9(宽 高)

evo_config set plot_figsize 10 9 

5.当你想要将配置还原为默认时,只需要使用命令:

evo_config reset

evo_config generate 将命令行参数转换成–out指定的.json文件
例如:evo_config generate --pose_relation angle_deg --delta 1 --delta_unit m --verbose --plot --out rpe_config.json
在这里插入图片描述
当需要再次使用这样的参数配置时,可以通过 -c .json文件来实现。例如
evo_rpe euroc MH_data3.csv pose_graphloop.txt -c rpe_config.json

evo_config show --help
evo_config set --help
evo_config generate --help
evo_config reset --help

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值