SLAM精度评定工具——EVO使用方法详解

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

系统版本:Ubuntu20.04

ROS版本:Noetic

EVO是用于处理、评估和比较里程计和SLAM算法的轨迹输出的工具。

注意:本文的评测是在kitti数据集下进行评测,其他的数据集也支持评测。

安装EVO,可以执行下面这条命令。

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

evo工具主要有6个常用命令

    evo_ape:用于评估绝对位姿误差
    evo_rpe:用于评估相对位姿误差
    evo_traj:用于画轨迹、输出轨迹文件、转换轨迹数据格式
    evo_res:比较来自evo_ape和evo_rpe生成的一个或多个结果文件的工具
    evo_fig:(不常用)用于重新打开序列化图
    evo_config:(不常用)evo工具全局设置和配置文件操作

1.evo_ape

评价的是绝对误差随路程的累计,是一个累积量。

用于评估两个轨迹的绝对轨迹误差,最简单的使用方法如下:

evo_ape kitti 1.txt 2.txt

执行命令后,结果如下图:

SLAM精度评定工具——EVO使用方法详解,slam,python,开发语言

上述命令运行之后会在终端输出统计信息(单位:米),其中

max:最大误差
mean:误差均值
median:误差中位数
min:最小误差
rmse:均方根误差
sse:方差
std:标准差

发现一个问题,就是运行结果中只给出了数据,没有给出数据图,显得不直接明了,可执行下面的命令解决。

evo_ape kitti 1.txt 2.txt -r full --plot --plot_mode xyz

-r表示ape所基于的姿态关系

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

不添加-r/–pose_relation和可选项,则默认为trans_par

-plot表示画图

–plot_mode选择画图模式,二维图或者三维图,可选参数为[xy, xz, yx, yz, zx, zy, xyz],默认为xyz。

-save_results表示存储结果

存储结果可以手动储存,也可自动储存。自动储存的命令如下:

evo_ape kitti 1.txt 2.txt -r full --plot --plot_mode xyz --save_plot ./trajecoty --save_results ./result.zip

其中,./trajecoty表示结果储存的目录 ./result.zip表示结果文件的命名。

结果如下:

SLAM精度评定工具——EVO使用方法详解,slam,python,开发语言

SLAM精度评定工具——EVO使用方法详解,slam,python,开发语言

 SLAM精度评定工具——EVO使用方法详解,slam,python,开发语言

 此外

v表示verbose mode,详细模式

-a表示采用SE(3) Umeyama对齐,其余可选项如下所示

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

例如,下面这条指令:

evo_ape kitti 1.txt 2.txt -r full -vas --plot --plot_mode xyz --save_plot ./trajecoty --save_results ./result.zip

 2.evo_rpe

相对位姿误差不进行绝对位姿的比较,相对位姿误差比较运动(姿态增量)。相对位姿误差可以给出局部精度,例如slam系统每米的平移或者旋转漂移量。

一个例子:

evo_rpe kitti ground_truth.txt laser_odom.txt -r trans_part --delta 100 --plot --plot_mode xyz

其中,其中--delta 100表示的是每隔100米统计一次误差,这样统计的其实就是误差的百分比,和kitti的odometry榜单中的距离误差指标就可以直接对应了。

运行的结果如下:

SLAM精度评定工具——EVO使用方法详解,slam,python,开发语言

 SLAM精度评定工具——EVO使用方法详解,slam,python,开发语言

 注:数据效果不是很好。

-r表示ape所基于的姿态关系

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

v表示verbose mode,详细模式

-a表示采用SE(3) Umeyama对齐,其余可选项如下所示

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

-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。

一个例子:

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

命令的含义为 求每米考虑旋转角的rpe,以详细模式显示并画图。

 3.evo_traj

最基本的命令,用于画出轨迹、输出轨迹文件、进行轨迹之间的转换。在使用前需要给出轨迹的数据标准。一个例子:

evo_traj kitti ground_truth.txt --plot --plot_mode xyz

实际运行效果:

SLAM精度评定工具——EVO使用方法详解,slam,python,开发语言

SLAM精度评定工具——EVO使用方法详解,slam,python,开发语言

SLAM精度评定工具——EVO使用方法详解,slam,python,开发语言

常用的就这几个。文章来源地址https://www.toymoban.com/news/detail-803593.html

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

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

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

相关文章

  • SLAM算法评测工具——开源工具EVO(以VINS为例)

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

    2023年04月21日
    浏览(41)
  • SLAM 轨迹评估方法 evo(包括GPS坐标转换成TUM)

    安装 evo 运行ORBSLAM 之后会生成一个TUM格式的轨迹FramTrajectory_TUM_Format.txt 我们也需要将获取的GPS轨迹转化成笛卡尔坐标下TUM格式坐标 使用此代码,将GPS的经纬度海拔信息转换成笛卡尔坐标下的坐标,并且保存成TUM格式 轨迹对比图像 链接:https://www.guyuehome.com/18717 里详细介绍了

    2024年01月21日
    浏览(39)
  • 哈希破解工具Hashcat的使用方法详解

    哈希破解工具Hashcat是一款强大的密码破解程序,它通过暴力破解或使用预先计算的彩虹表等方式来破解密码哈希值。本文将详细介绍如何使用Hashcat进行密码破解,并提供相应的源代码示例。 安装Hashcat 首先,我们需要下载和安装Hashcat。Hashcat支持多个操作系统,包括Windows、

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

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

    2024年03月21日
    浏览(46)
  • Linux命令行工具使用HTTP代理的方法详解

    亲爱的Linux用户们,有没有想过在命令行世界里,你的每一个指令都能悄无声息地穿越千山万水,而不被外界窥探?哈哈,没错,就是通过HTTP代理!今天,我们就来一起探索如何在Linux命令行工具中使用HTTP代理,让你的指令行走江湖更加神秘莫测! 一、设置环境变量 首先,

    2024年04月24日
    浏览(40)
  • ORB-SLAM3算法2之EuRoc、TUM和KITTI开源数据集运行ORB-SLAM3生成轨迹并用evo工具评估轨迹

    ORB-SLAM3算法1 已成功编译安装ORB-SLAM3到本地,本篇目的是用 EuRoc 开源数据来运

    2024年02月08日
    浏览(41)
  • 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)
  • 轨迹评估工具使用:evo安装以及学习

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

    2024年02月06日
    浏览(34)
  • SQLMAP工具 详细使用方法

    官方网址 GitHub地址 使用手册 SQLMAP 是一个开源的渗透测试工具,可以用来自动化的检测,利用 SQL 注入漏 洞,获取数据库服务器的权限。它具有功能强大的检测引擎,针对各种不同类型数据 库的渗透测试的功能选项,包括获取数据库中存储的数据,访问操作系统文件甚至可

    2024年02月11日
    浏览(46)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包