evo轨迹评估工具使用
文章目录
- 1.资料
- 2.命令总结
- 2.1.两个指标命令,四个工具命令
- 2.2.命令示例
- 2.2.1.绘制一条轨迹
- 2.2.2.绘制两条轨迹,一条为真实参考轨迹
- 2.2.3. 绘制轨迹误差结果图
- 2.2.4.转换euroc轨迹格式为tum格式
- 3.使用evo评价VINS-Mono精度
1.资料
视觉里程计的轨迹评估的工具:evo
一种SLAM精度评定工具——EVO使用方法详解
EVO使用方法详解:写的很好!
视觉SLAM/视觉里程计论文绘图工具/评测工具之evo
安装和使用evo工具遇到的坑
evo_github_wiki
evo_github
2.命令总结
2.1.两个指标命令,四个工具命令
指标命令:
- evo_ape - absolute pose error 绝对位姿误差
- evo_rpe - relative pose error 相对位姿误差
工具命令:
- evo_traj - tool for analyzing, plotting or exporting one or more trajectories,最常用,绘制轨迹图,分析轨迹结果
- evo_res - tool for comparing one or multiple result files from evo_ape or evo_rpe,较常用,对结果进一步分析
- evo_fig - (experimental) tool for re-opening serialized plots (saved with --serialize_plot)
- evo_config - tool for global settings and config file manipulation
2.2.命令示例
2.2.1.绘制一条轨迹
- 第1个
evo_traj
命令绘制轨迹; - 第2个参数
euroc
表示绘制的轨迹是EuRoc数据集的格式; - 第3个参数是绘制的轨迹文件。但是如果只到这里的话,这个指令只是显示轨迹的基本信息。
- 若要绘制轨迹变成图像,则增加第4个参数
-p
或--plot
。 - 第5个参数
--plot_mode
是对绘图的显示模式的设置,这里设置视角为xyz视角。
evo_traj euroc GT_MH_01_data.csv -p --plot_mode xyz
2.2.2.绘制两条轨迹,一条为真实参考轨迹
- 第1个
evo_traj
命令绘制轨迹; - 第2个参数
tum
表示绘制的轨迹是TUM数据集的格式; - 第3个参数是绘制的轨迹文件;
- 第4个参数用
--ref=
选项作为前缀表示真实参考轨迹; - 第5个参数中的
-a
选项表示对齐两条轨迹,第5个参数中的-v
选项表示输出轨迹对齐的详细信息(即对齐的平移、旋转); - 第6个参数用
-p
选项表示绘制图像,用--plot_mode
选项表示对绘图显示模式的设置。
evo_traj tum vins_result_loop.tum --ref=GT_MH_01_data.tum -va -p --plot_mode xyz
2.2.3. 绘制轨迹误差结果图
- 第1个
evo_ape
命令计算绝对位姿误差; - 第2个参数
tum
表示绘制的轨迹是TUM数据集的格式; - 第3个参数是真实参考轨迹;
- 第4个参数是绘制的轨迹文件;
- 第5个参数中的
-a
选项表示对齐两条轨迹,第5个参数中的-v
选项表示输出轨迹对齐的详细信息(即对齐的平移、旋转); - 第6个参数用
-p
选项表示绘制图像,用--plot_mode
选项表示对绘图显示模式的设置。
evo_ape tum GT_MH_01_data.tum vins_result_loop.tum -va -p --plot_mode xyz
2.2.4.转换euroc轨迹格式为tum格式
evo_traj euroc GT_V1_02_medium.csv --save_as_tum
3.使用evo评价VINS-Mono精度
参考:完美实现使用evo评估VINS-Mono
VINS-Mono中使用的是EuRoc数据集,这里选择把它的输出转成TUM格式的轨迹文件。
- 首先修改vins源码. 打开 visulization.cpp, 找到 写文件部分代码,并修改为:
// write result with tum format, for evo tools
ofstream foutC(VINS_RESULT_PATH, ios::app);
foutC.setf(ios::fixed, ios::floatfield);
foutC.precision(10);
foutC << header.stamp.toSec()<< " "; //; 注意,最后是空格
foutC.precision(5);
foutC << estimator.Ps[WINDOW_SIZE].x() << " "<< estimator.Ps[WINDOW_SIZE].y() << " "<< estimator.Ps[WINDOW_SIZE].z() << " "// 注意四元数实部和虚部顺序交换了<< tmp_Q.x() << " "<< tmp_Q.y() << " "<< tmp_Q.z() << " "<< tmp_Q.w() << endl; //; 注意,这一行最后一个数据没有空格
foutC.close();
此时跑完一次数据集之后,会在对应的config.yaml
文件配置的路径中输出轨迹文件,其结尾仍然是.csv
,但是已经是TUM的格式了。
- 使用evo评价轨迹精度
命令中的data.csv是下载EuROC数据集得到的轨迹真值,在state_groundtruth_estimate0/data.csv
路径下。
命令中最后--save_results
选项就是把精度分析的结果图片保存起来,保存到后面的a.zip
文件夹中。
evo_ape euroc data.csv vins_result_no_loop.csv -va -p --plot_mode xyz --save_results a.zip
evo轨迹评估工具使用相关推荐
- EVO轨迹评估工具显示界面设置
设置选项查看命令: evo_config show 设置轨迹背景: evo_config set plot_seaborn_style white
- 一文详解视觉里程计轨迹评估工具-evo的用法
evo是一款用于视觉里程计和slam问题的轨迹评估工具.核心功能是能够绘制相机的轨迹,或评估估计轨迹与真值的误差.支持多种数据集的轨迹格式(TUM.KITTI.EuRoC MAV.ROS的bag),同 ...
- 轨迹评估工具使用总结(二) evo 绘图 ROS map
evo是一款用于视觉里程计和slam问题的轨迹评估工具.核心功能是能够绘制相机的轨迹,或评估估计轨迹与真值的误差.支持多种数据集的轨迹格式(TUM.KITTI.EuRoC MAV.ROS的bag),同 ...
- SLAM 轨迹评估工具EVO
EVO使用教程 1 EVO环境安装 1.1 二进制安装 1.2 源码安装 2 使用方法 2.1 TUM数据集上使用 2.1.1 计算轨迹的绝对误差(evo_ape) 2.1.2 绘制多条曲线(evo_ ...
- EVO 轨迹误差分析
SLAM 轨迹评估工具EVO - 古月居 GitHub - MichaelGrupp/evo: Python package for the evaluation of odometry and SL ...
- 视觉里程计的轨迹评估的工具:evo
作者:Tom Hardy Date:2020-02-11 来源:视觉里程计的轨迹评估的工具:evo
- SLAM中evo评估工具(用自己的数据集评估vinsFusion)
目录: 配置标题文件修改 源码修改 第一处 第二处 第三处 重新编译工程 安装evo 1.安装命令 2.常用指令 运行vinsFusion生成位姿估计文件 使用evo评估轨迹 配置标题文件修改 主要根 ...
- 自动驾驶辅助系统性能评估工具MXeval4.1版本更新快讯
车辆动力学.自动驾驶辅助系统性能评估工具MXeval在新的4.1版本中又更新了一些独特功能. 在此之前,不熟悉的小伙伴们可以浅浅了解下MXeval的整体介绍~ 汽车研发挑战 | 让汽车更懂你的心:车辆 ...
- 人工智能产业发展联盟公布首轮AI芯片基准评测结果,评估工具已开源
来源:量子位 3月6日,由国际电信联盟.中国信息通信研究院联合主办,人工智能产业发展联盟(AIIA)和中兴通讯承办的国际论坛"AI in 5G--引领新时代论坛"在深圳召开. 来自 ...
最新文章
- linux user32.lib,USER32!__ClientLoadLibrary定位
- 电商618背后的那些技术事儿
- python opencv 窗口循环显示时,如果用鼠标拖动窗口会导致程序暂停(卡住)(不知道为啥。。。)
- 在往sql server 插入数据时 报此错误“ 消息 8152,级别 16,状态 14,第 1 行 将截断字符串或二进制数据。”...
- springcloud服务注册中心eureka搭建
- 在局域网访问_Jupyter notebook设置局域网访问方法
- Linux内核Makefile编译生成内核目标文件的过程
- 计算机学的是苹果系统,苹果电脑装windows7教程 苹果电脑装windows7方法
- docker安装教程
- 学习双拼必看(最全教程):双拼输入法的心得以及快速入门办法
- LTE学习笔记二:扁平化的组网架构
- 分享| 电脑设置双屏或多屏显示2种简单方法,你能学会几种?
- php独孤九剑,(独孤九剑)--PHP 视频学习 -- 文件系统
- 进程间同步---system v ipc 对象信号灯集
- mysql 在当前时间上加几小时
- 通信算法之139: 软件无线电位同步1
- MySQL数据库高可用之mmm
- 数据湖与数据仓库的新未来:阿里提出湖仓一体架构
- (五)深入理解蓝牙BLE之“Beacon包格式详解”
- 毕业设计-基于微信小程序的移动端轻量 GIS 系统