更详细的evo学习可见:https://github.com/MichaelGrupp/evo/wiki
sudo apt install python-pip
pip install evo --upgrade --no-binary evo --user
在数据集目录下打开终端(~/dataset/mav0/state_groundtruth_estimate0)
evo_traj euroc data.csv --plot
出现错误:
ImportError: No module named tkinter
具体解决办法可见------解决办法,亲测有效。
输出结果:
略。
支持EUROC、KITTI、TUM这三个公开数据集格式。
需要注意一下:EUROC数据、TUM数据集、KITTI数据集使用的四元数顺序是不一样的,因此在使用命令的时候后续需要加参数予以区分,在自己保存算法输出的轨迹文件的时候应当注意这一点。
主要是用来画轨迹、输出轨迹文件、转换数据格式等功能;
简单用法 :evo_traj +数据格式 +文件名
:
evo_traj tum a.txt
-p
、 --plot
画图,输出轨迹,默认输出xyz形式的,也可以在结尾加 --plot_mode=xyz 或者 --plot_mode=xzevo_traj tum a.txt -p
evo_traj tum a.txt --plot_mode=xyz
evo_traj euroc MH_data1.csv MH_data3.csv
evo_traj euroc MH_data1.csv MH_data3.csv -v
evo_traj euroc MH_data1.csv MH_data3.csv -v --full_check
evo_traj tum vins_result_loop.txt --ref=data.tum -p --plot_mode=xyz --align --correct_scale
--save_as_tum、--save_as_bag、--save_as_kitti
evo_traj euroc data.csv --save_as_tum
因euroc格式只对euroc数据集的groundtruth数据有意义,所以没有–save_as_euroc。
evo_traj euroc --help
如果使用的是ROS的bag文件,给出你要使用的.bag文件路径以及topics。例如:
evo_traj bag ROS_example.bag groundtruth ORB-SLAM S-PTAM
利用–all_topics可以加载bagfile中的所有轨迹。
如果需要将轨迹对齐(-a/ --align, -s / --correct_scale, --n_to_align),则需要利–ref指定参考轨迹。例如:
evo_traj bag ROS_example.bag ORB-SLAM S-PTAM --ref groundtruth -s
evo_traj tum VINS_MAP_PATH/vins_result_loop.txt ORB_SLAM2_PATH/ORB_SLAM2-master/CameraTrajectory.txt --ref=data.tum -p --plot_mode=xyz --align --correct_scale
关于VINS_MONO的相关测评可以看我的这篇博客--------UBUNTU16.04跑VINS_MONO
用于评估绝对位姿误差。
evo_ape 数据格式 参考轨迹文件1 估计轨迹文件2 [可选项]
evo_ape kitti a.txt b.txt
evo_ape euroc data.csv /home/ouc/output/vins_mono/EUROC/vins_result_loop_euroc4.txt
max:表示最大误差;
mean:平均误差;
median:误差中位数;
min:最小误差;
rmse:均方根误差;
sse:和方差、误差平方和;
std:标准差。
-r
表示ape所基于的姿态关系,不添加-r/–pose_relation
和可选项,则默认为trans_part
。-v
表示详细模式。evo_traj
命令中的解析。--plot
表示画图,--plot_mode
选择画图模式,二维图或者三维图,可选参数为[xy, xz, yx, yz, zx, zy, xyz],默认为xyz--plot_mode=xyz
--save_plot
实现,–save_plot后接保存路径,如./VINSplot, 表示存储在当前路径下的名称为VINSplot的文件中,保存文件的类型可以通过evo_config设置。常见的可以保存成png,pdf等,详见evo_config部分。--save_results
表示存储结果,后面跟随存储路径以及压缩文件名称,存储后得到zip压缩文件。evo_ape euroc --help
~/dataset/EUROC/4_mav0/state_groundtruth_estimate0
路径下:evo_ape euroc data.csv /home/ouc/output/vins_mono/EUROC/vins_result_loop_euroc4.txt -r full -va --plot --plot_mode=xyz --save_plot ./VINSplot --save_results ./VINS.zip
evo_ape euroc data.csv /home/ouc/output/vins_mono/EUROC/vins_result_loop_euroc4.txt -r full -va --plot --plot_mode=xyz --save_plot /home/ouc/output/vins_mono/ape_MH_04/VINSplot --save_results /home/ouc/output/vins_mono/ape_MH_04/VINS.zip
该命令用于比较两个轨迹之间的相对轨迹误差,也就是两个时间戳相同时刻的轨迹误差,更具体来说,两组轨迹持续时间相同,但是采样频率不同,那么之间就会有一些少量的相同时间戳,那么这些相同的时间戳就可以进行一对一比较误差。同样的这些误差也会有平均误差、最大、最小误差等等结果。
命令语法:evo_rpe 数据格式 参考轨迹文件1 估计轨迹文件2 [可选项]
其中格式包括euroc、tum等数据格式,可选项有对齐命令、画图、保存结果等。
计算VINS_MONO在数据集MH_04上的相对轨迹误差,简单使用:
evo_rpe euroc data.csv /home/ouc/output/vins_mono/EUROC/vins_result_loop_euroc4.txt
–d/–delta
表示相对位姿之间的增量,–u/–delta_unit
表示增量的单位,可选参数为[f, d, r, m],分别表示[frames, deg, rad, meters]。–d/–delta -u/–delta_unit
合起来表示衡量局部精度的单位,如每米,每弧度,每百米等。其中–delta_unit
为f时,–delta的参数必须为整形,其余情况下可以为浮点型。–delta 默认为1,–delta_unit默认为f。--save_results 、 --save_plot
同上。–all_pairs
,则计算rpe时使用位置数据中所有的对而不是仅连续对,此时,可以通过-t/–delta_tol
控制–all_pairs
模式下的相对增量的容差(relative delta tolerance)。需要注意–all_pairs下不能使用–plot函数。evo_rpe euroc --help
evo_rpe euroc data.csv /home/ouc/output/vins_mono/EUROC/vins_result_loop_euroc4.txt -r angle_deg --delta 1 --delta_unit m -va --plot --plot_mode xyz --save_plot /home/ouc/output/vins_mono/rpe_MH_04/VINSplot --save_results /home/ouc/output/vins_mono/rpe_MH_04/VINS.zip
evo_rpe euroc data.csv /home/ouc/output/vins_mono/EUROC/vins_result_loop_euroc4.txt -r angle_deg --delta 1 --delta_unit m -va --plot --plot_mode xyz --save_plot ./VINSplot --save_results ./VINS.zip
主要进行全局设置和配置文件操作。不太常用。
evo_config show
:查看设置文件中的参数和参数的简要注释evo_config show --help
evo_config set --help
evo_config generate --help
evo_config reset --help
可查看evo_config中几个工具的部分相关介绍。不一一列举了。
evo_ape/evo_rpe
中将结果保存为.zip文件后,可以利用evo_res对不同的结果进行比较。
evo_res /home/ouc/output/vins_mono/rpe_MH_04/VINS.zip /home/ouc/output/vins_mono/rpe_MH_05/VINS.zip -v
参考资料1
参考资料2
参考资料3
参考资料4
参考资料5
evo下载地址