SLAM 轨迹评估工具——EVO安装、使用介绍

这篇具有很好参考价值的文章主要介绍了SLAM 轨迹评估工具——EVO安装、使用介绍。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、概述

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

二、安装

evo安装方式比较简单,有两种方式:

1.便捷安装
.pip3 install evo --upgrade --no-binary evo
2.源码安装
git clone https://github.com/MichaelGrupp/evo.git
pip3 install --editable . --upgrade --no-binary evo

三、evo使用

1.evo设置

evo全局设置操作-evo_config
1.evo_config show
evo画轨迹,slam,人工智能,机器学习,自动驾驶

ps:截取部分显示

2.evo_config set
利用evo_config set可以设置evo中有关参数的值。下面列举一些常用的参数及含义。

1.plot_export_format表示图片的输出格式,常见的格式有pdf,png等。

命令:evo_config set plot_export_format pdf (将输出图像的存储格式设置为pdf格式。)

2.plot_figsize表示图片的尺寸,第一个数字代表横轴方向的尺寸,第二个数字代表纵轴方向的尺寸。

命令:evo_config set plot_figsize 6 6 (将输出图像横轴方向尺寸设置为6,纵轴方向尺寸设置为6。)

3.plot_fontscale表示输出图像中字体的粗细。

命令:evo_config set plot_fontscale 1.8 (将输出图像中的字体粗细设置为1.8。)

4.plot_linewidth代表作图时线的宽度。

命令:evo_config set plot_linewidth 1.8 (将输出图像的线宽设置为1.8。)

5.plot_reference_color表示输出图像中参考轨迹的颜色。

命令:evo_config set plot_reference_color black (将输出图像中参考轨迹的颜色设置为黑色。)
6.plot_reference_linestyle表示输出图像中参考轨迹的线型。

命令:evo_config set plot_reference_linestyle - (将输出图像中参考轨迹的线型设置为 -。)

7.plot_seaborn_style表示输出图像中背景网格颜色

命令:evo_config set plot_seaborn_style darkgrid (将输出图像中背景网格设置为"darkgrid"。)

8.plot_split表示是否分开显示各个生成的图像,因为有的时候一组数据会同时生成多幅图,可以选择在同一个窗口显示也可以选择在不同的窗口显示。

命令:evo_config set plot_split true (将输出图像分不同的窗口显示。)

9.plot_trajectory_linestyle表示输出图像中估计轨迹的线型。

命令:evo_config set plot_trajectory_linestyle - (将输出图像中估计轨迹的线型设置为-。)

10.table_export_format表示表格数据的输出格式,例如csv,excel,latex,json。

命令:evo_config set table_export_format csv (将输出表格数据的格式设置为 csv。)

11.evo_config reset 将参数还原到默认值。

2.evo_traj轨迹绘制

evo_traj指令可以将各个算法估计出的路径和真实路径画在同一幅图中。

例:

evo_traj tum GroundTruth.txt vins-fusion.txt --ref=have_fun_tum.txt -p --plot_mode=xz

tum表明处理的是tum数据集的相关结果,这里也可以替换为kitti和euroc;

GroundTruth.txt vins-fusion.txt 表示的是不同算法所估计出的轨迹,这里可以列举多个文件每个文件名之间用一个空格隔开;

–ref=GroundTruth.txt指明参考轨迹即真实轨迹;

-va包含两部分;1.-v或–verbose指明输出文件数据的相关信息;2.-a或–align指明对轨迹进行配准;

–plot表示画图;

–plot_mode xz表示图像投影在xoz平面上,其余可选参数为:xy,yx,yz,zx,zy,xyz;

画图结果如下:
evo画轨迹,slam,人工智能,机器学习,自动驾驶

3.evo_ape计算轨迹的绝对位姿误差

绝对位姿误差,用于比较估计轨迹和参考轨迹并计算整个轨迹的统计数据,常用于评估测试轨迹的全局一致性。这里还是以tum为例,kitti和euroc格式相同。

evo_ape tum GroundTruth.txt vins-fusion.txt -r full -va --plot --plot_mode xz --save_plot trajape --save_results ape_result/vins-fusion.zip
evo画轨迹,slam,人工智能,机器学习,自动驾驶

tum表明处理的是tum数据集的相关结果,这里也可以替换为kitti和euroc;

GroundTruth.txt代表真实轨迹的数据;

vins-fusion.txt代表估计轨迹的数据;

-r full表示同时考虑旋转和平移误差得到的ape,无单位(unit-less);

另外:

-r trans_part表示考虑平移部分得到的ape,单位为m;

-r rot_part表示考虑旋转部分得到的ape,衡量旋转精度,无单位(unit-less);

-r angle_deg表示考虑旋转角得到的ape,单位°(deg);

-r angle_rad表示考虑旋转角得到的ape,单位弧度(rad);

-va包含两部分;1.-v或–verbose指明输出文件数据的相关信息;2.-a或–align指明对轨迹进行配准;

–plot表示画图;

–plot_mode xz表示图像投影在xoz平面上,其余可选参数为:xy,yx,yz,zx,zy,xyz;

–save_plot trajape 表示保存生成的图片名,这里写自己保存的地址;

–save_results ./vins-fusion.zip表示保存计算结果,ape_result/vins-fusion.zip这里写自己保存的地址;

4.evo_rpe 计算相对位姿误差

相对位姿误差不进行绝对位姿的比较,相对位姿误差比较运动(姿态增量)。相对位姿误差可以给出局部精度,例如SLAM系统每米的平移或者旋转漂移量。这里还是以tum为例,kitti和euroc格式相同。

evo_rpe tum GroundTruth.txt vins-fusion.txt -r full -va --plot --plot_mode xz --save_plot trajrpe --save_results rpe_result/vins-fusion.zip
evo画轨迹,slam,人工智能,机器学习,自动驾驶

tum表明处理的是kitti数据集的相关结果,这里也可以替换为kitti和euroc;

ground_truth.txt代表真实轨迹的数据;

vins-fusion.tx代表估计轨迹的数据;

-r full表示同时考虑旋转和平移误差得到的ape,无单位(unit-less);

另外:

-r trans_part表示考虑平移部分得到的rpe,单位为m;

-r rot_part表示考虑旋转部分得到的rpe,衡量旋转精度,无单位(unit-less);

-r angle_deg表示考虑旋转角得到的rpe,单位°(deg);

-r angle_rad表示考虑旋转角得到的rpe,单位弧度(rad);

-va包含两部分;1.-v或–verbose指明输出文件数据的相关信息;2.-a或–align指明对轨迹进行配准;

–plot表示画图;

–plot_mode xz表示图像投影在xoz平面上,其余可选参数为:xy,yx,yz,zx,zy,xyz;

–save_plot trajrpe 表示保存生成的图片名,trajrpe 这里写自己保存的地址;

–save_results ./vins-fusion.zip表示保存计算结果,rpe_result/vins-fusion.zip这里写自己保存的地址;

5.evo_res进行结果比较

在使用evo_ape或evo_rpe将结果保存为.zip文件后,可以利用evo_res对不同的结果进行比较。

evo_res ape_result/.zip -p --save_table ape_result.csv
evo_res ape_result/
.zip -p --save_plot ape_result.pdf

ape_result/*.zip是之前使用ape或rpe生成的压缩包的地址;

-p表示画图;

–save_table ape_result.csv表示将统计指标保存在csv文件中;
–save_plot ape_result.pdf表示将误差分析图保存在pdf文件中;
evo画轨迹,slam,人工智能,机器学习,自动驾驶

6.evo其它命令

evo pkg --version 查看evo版本

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

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

evo pkg --license 查看许可证

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

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

evo pkg --open_log 打开日志文件

evo pkg --clear_log 清除日志文件

参考

https://zhuanlan.zhihu.com/p/448797378文章来源地址https://www.toymoban.com/news/detail-706544.html

到了这里,关于SLAM 轨迹评估工具——EVO安装、使用介绍的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 轨迹评估工具使用:evo安装以及学习

    核心功能是能够绘制相机的轨迹,或评估估计轨迹与真值的误差。支持多种数据集的轨迹格式( TUM、KITTI、EuRoC MAV、ROS的bag ),同时支持这些数据格式之间进行相互转换。在此仅对其基本功能做简要介绍。 evo工具github地址 在终端使用安装命令即可: 注:需要安装一下相关的

    2024年02月06日
    浏览(34)
  • 用evo工具分析ORB-SLAM2运行TUM,KITTI,EuRoC数据集轨迹

    在ORB-SLAM2的学习过程中,不可避免的会用到这些数据集来运行程序,并且还会将运行轨迹与相机真实轨迹作对比,下面就介绍使用evo工具分析SLAM常用TUM,KITTI,EuRoC数据集。SLAM数据集TUM,KITTI,EuRoC数据集的下载地址与真实轨迹文件的查找总结的博客链接。 可以使用evo工具将

    2024年03月21日
    浏览(46)
  • SLAM精度评定工具——EVO使用方法详解

    系统版本:Ubuntu20.04 ROS版本:Noetic EVO是用于处理、评估和比较里程计和SLAM算法的轨迹输出的工具。 注意:本文的评测是在kitti数据集下进行评测,其他的数据集也支持评测。 安装EVO,可以执行下面这条命令。 evo工具主要有6个常用命令     evo_ape:用于评估绝对位姿误差  

    2024年01月19日
    浏览(33)
  • SLAM算法评测工具——开源工具EVO(以VINS为例)

    EVO库是一个很方便的开源库(Python package for the evaluation of odometry and SLAM), evo是一个很好的测评工具,它可以根据时间戳将轨迹进行对齐,同时可以将不同尺度的轨迹按照你指定的标准轨迹进行拉伸对齐,并可以算出均方差等评定参数,用于测评slam算法性能。 github链接:

    2023年04月21日
    浏览(41)
  • ros中SLAM的EVO、APE测评——SLAM精度测评(一)

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

    2023年04月18日
    浏览(72)
  • 轨迹误差评估指标[APE/RPE]和EVO[TUM/KITTI]

    Reference: 高翔,张涛 《视觉SLAM十四讲》 视觉SLAM基础:算法精度评价指标(ATE、RPE) 在实际工程中,我们经常需要评估一个算法的估计轨迹与真实轨迹的差异来评价算法的精度。真实轨迹往往通过某些更高精度的系统获得,而估计轨迹则是由待评价的算法计算得到的。考虑一

    2023年04月08日
    浏览(42)
  • rosbag命令 | EVO工具 的使用

    目录  一 rosbag录制及查看 1 rosbag话题录制 2 rosbag信息查看 3 rosbag转换格式(bag2txt) 4 rosbag截取录制时间 二 EVO工具使用命令 1 evo_traj 命令 2 evo_ape命令 3 evo_rpe命令 3 evo_config命令 4 evo_res命令 5 evo_fig命令 1 rosbag话题录制 2 rosbag信息查看 3 rosbag转换格式(bag2txt) 4 rosbag截取录制时

    2024年01月21日
    浏览(39)
  • msckf-vio 跑Euroc数据集,并用evo进行评估

    Euroc数据集主页:https://projects.asl.ethz.ch/datasets/doku.php?id=kmavvisualinertialdatasets evo评估工具代码:https://github.com/MichaelGrupp/evo 向msckf-vio中添加保存位姿的代码,可参考 https://blog.csdn.net/xiaoxiaoyikesu/article/details/106308311 不过需要特别注意, 这里的lp[4]~[7]所对应的q的顺序应为x,y,z,w,

    2024年01月22日
    浏览(31)
  • EVO工具的使用,在写论文时常用到的基础命令、参数修改

    11.pip ,直接安装最新的稳定发行版; pip install evo --upgrade --no-binary evo 1.2.源码安装 从github上下载evo工具 git clone https://github.com/MichaelGrupp/evo.git 在evo路径下执行以下命令 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple evo --upgrade --no-binary evo 1) 数据集转换格式 保存/导出为其他格式:

    2024年02月07日
    浏览(50)
  • 【SLAM学习】基于Pangolin绘制运动轨迹

    Pangolin库 是一个轻量级的跨平台视图控制库,主要用于可视化、交互和调试三维数据。该库提供了一系列图形界面工具,包括窗口、OpenGL渲染器、3D相机、图像显示等,可以方便地进行三维数据可视化和交互。 Pangolin库 的主要特点如下: 轻量级:Pangolin库的代码量很少,只依

    2024年02月03日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包