EVO工具的使用,在写论文时常用到的基础命令、参数修改

这篇具有很好参考价值的文章主要介绍了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

evo常用参数设置命令

1) 数据集转换格式

保存/导出为其他格式:euroc、tum、kitti数据集格式之间的互相转换.

****# euroc数据集 -> tum数据集格式文件(data.tum)

evo_traj euroc data.csv --save_as_tum

*****# tum数据集 -> kitti数据集格式文件(*.kitti)

evo_traj tum traj_1.txt traj_2.txt traj_3.txt --save_as_kitti

*******# tum数据集 -> ROS bag文件格式(<时间戳>.bag)

evo_traj tum traj_1.txt traj_2.txt traj_3.txt --save_as_bag

相互转换图解:

EVO工具的使用,在写论文时常用到的基础命令、参数修改

2) evo命令格式

command bag bagfile-path reference-topic estimated-topic [options]

- command:指令(evo_traj、evo_ape、evo_rpe)

- bag:数据集名称(euroc、kitti、tum)

- bagfile-path:文件所在路径(参考和估计文件在同一文件夹下)

- reference-topic:真实值

- estimated-topic:估计值

- [options]: 其他参数选项(-a、-s、-as)

3 )其他参数选项-[options]'

- 自动对齐 --align 或者 -a

- 尺度校准 --correct_scale 或者 -s

- 自动对齐且尺度校准 --align --correct_scale 或者 -as

4 )显示轨迹evo_traj

轨迹尺度缩放

单目相机会存在尺度的不确定性,evo_traj 支持使用-s(或 --correct_scale)参数进行Sim(3)上的对齐(旋转、平移与尺度缩放)

******显示单轨迹

evo_traj euroc data.csv -p --plot_mode=xy

evo_traj tum data.tum -p --plot_mode=xy

evo_traj tum groundtruth.txt -p --plot_mode=xy

******显示双轨迹(真值和估计值)

evo_traj tum CameraTrajectory.txt --ref=data.tum -p --plot_mode=xy -as

evo_traj euroc CameraTrajectory.txt --ref=data.csv -p --plot_mode=xy -as

等价于:

evo_traj tum CameraTrajectory.txt --ref=data.tum -p --plot_mode=xy --align --correct_scale

evo_traj euroc CameraTrajectory.txt --ref=data.csv -p --plot_mode=xy --align --correct_scale

5 )绝对位姿误差evo_ape

absolute trajectory error 绝对轨迹误差

     

位置参数:

ref_file 参考轨迹文件

est_file 估计轨迹文件

可选参数:

-h, --help 显示此帮助信息并退出

--t_max_diff T_MAX_DIFF

数据关联的最大时间戳差异

--t_offset T_OFFSET 数据关联的常量时间戳偏移

算法选项:

-r {full,trans_part,rot_part,angle_deg,angle_rad}, --pose_relation {full,trans_part,rot_part,angle_deg,angle_rad}

APE 所基于的姿势关系

-a, --align 与 Umeyama 的方法对齐(无比例尺)

-s, --correct_scale 使用 Umeyama 的方法进行正确缩放

--n_to_align N_TO_ALIGN

用于梅山对齐的姿势数,

从开始计算(默认:全部)

--align_origin 将轨迹原点对齐到原点

参考轨迹

输出选项:

-p, --plot 显示绘图窗口

--plot_mode {xy,xz,yx,yz,zx,zy,xyz}

绘图投影的轴

--plot_colormap_max PLOT_COLORMAP_MAX

用于颜色图的上限(默认值:

最大误差值)

--plot_colormap_min PLOT_COLORMAP_MIN

用于颜色图的下限(默认:

最小误差值)

--plot_colormap_max_percentile PLOT_COLORMAP_MAX_PERCENTILE

要用作误差分布的百分位数

颜色图的上限(以 % 为单位,覆盖

--plot_colormap_max)

--plot_full_ref 绘制完整的、未同步的参考轨迹

--ros_map_yaml ROS_MAP_YAML

ROS 2D 地图图像 (.pgm/.png) 的 yaml 文件,它将

被卷入情节

--save_plot SAVE_PLOT

保存情节的路径

--serialize_plot SERIALIZE_PLOT

序列化图的路径(实验性)

--save_results SAVE_RESULTS

用于存储结果的 .zip 文件路径

--logfile LOGFILE 本地日志文件路径。

可用性选项:

--no_warnings 不需要用户确认的警告

-v, --verbose 详细输出

--silent 不打印任何输出

--debug 详细输出和附加调试信息

-c 配置, --config 配置

带参数的 .json 文件(优先于命令行

参数)

   绝对轨迹误差是估计位姿和真实位姿的直接差值,可以非常直观地反应算法精度和轨迹全局一致性。

需要注意的是,估计位姿和groundtruth通常不在同一坐标系中,因此我们需要先将两者对齐。

         单目VO解算过程会产生ambiguities,即尺度问题,不同尺度下的轨迹是不同的但是等效的。因此要先通过相似变换矩阵进行轨迹对齐,计算估计值与groundtruth的distance而非difference。

         对于双目SLAM和RGB-D SLAM,尺度统一,因此我们需要通过最小二乘法计算一个从估计位姿到真实位姿的转换矩阵 ,对齐的时候只需要使用刚性变换矩阵。

         当然,使用平均值、中位数等来反应ATE亦可,现在很多evaluation工具会将RMSE、Mean、Median都给出。旋转误差可以通过相同的方式计算,目前的一些开源评测工具都提供了对应的选项。

evo_ape tum data.tum CameraTrajectory.txt -va -p --plot_mode=xyz

evo_ape euroc data.csv CameraTrajectory.txt -va -p --plot_mode=xyz

若增加可选参数-p,可以绘制误差相关曲线。

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

EVO工具的使用,在写论文时常用到的基础命令、参数修改
-v表示verbosemode,详细模式
​–align/-a表示采用SE(3)Umeyama对齐,其余可选项如下表所示。
​–align--correct_scale/-as尺度对齐​
–correct_scale/-s仅对齐尺度​
不加-s表示默认尺度对齐参数为1.0,即不进行尺度对齐。
​–plot表示画图,–plot_mode选择画图模式,二维图或者三维图,可选参数为[xy,xz,yx,yz,zx,zy,xyz],默认为xyz。​

可通过 evo_ape +数据格式 +--help查看更多参数的含义以及如何使用,例如:

evo_ape euroc --help

6)相对位姿误差evo_rpe

相对位姿误差主要描述的是相隔固定时间差

两帧位姿差的精度(相比真实位姿),相当于直接测量里程计的误差。

我们可以用均方根误差RMSE统计这个误差,得到一个总体值。

除了平移误差,RPE也包含旋转误差,但通常使用平移误差进行评价已经足够,如果需要,旋转角的误差也可以使用相同的方法进行统计。

也有人不用RMSE,直接使用平均值、甚至中位数来描述相对误差情况。

evo_rpe tum data.tum CameraTrajectory.txt -va -p --plot_mode=xyz

evo_rpe euroc data.tum CameraTrajectory.txt -va -p --plot_mode=xyz

其中

-r表示rpe所基于的姿态关系,不添加-r/–pose_relation和可选项,则默认为trans_part。

EVO工具的使用,在写论文时常用到的基础命令、参数修改

无单位的full和rot_part的误差指标比较特殊,使用了矩阵的二范数。比较而言,用平移误差单位为m,旋转误差单位可以是度或弧度,更容易理解。

–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。
–delta1--delta_unitm表示的是每一米比较一次相对真实轨迹的轨迹误差–save_results./ours_stereo.zip是将比较结果保存在./ours_stereo.zip中-v表示verbosemode,详细模式
当在命令中加上–all_pairs,则计算rpe时使用位置数据中所有的对而不是仅连续对,此时,可以通过-t/–delta_tol控制–all_pairs模式下的相对增量的容差(relative delta tolerance)。

需要注意–all_pairs下不能使用–plot函数。

  • max: 表示最大误差;

  • mean:平均误差;

  • median:误差中位数;

  • min: 最小误差;

  • rmse:均方根误差;

  • sse: 和方差、误差平方和;

  • std: 标准差

7)其他常用命令:

evo_traj - 用于分析,绘制或导出一个或多个轨迹的工具
evo_res - 用于比较evo_ape或evo_rpe一个或多个结果文件的evo_rpe
evo_fig - 用于重新打开序列化图的(实验性)工具(使用--serialize_plot保存)
evo_config - 全局设置和配置文件操作的工具

{7.1  }evo_config 用法——常用配置,如设置字体 曲线颜色、粗细 背景有无网格等基本参数

evo_config show --brief

显示如下内容:

{

“console_logging_format”: “%(message)s”,

“euler_angle_sequence”: “sxyz”,

“global_logfile_enabled”: false,

“plot_axis_marker_scale”: 0.0,

“plot_backend”: “Qt5Agg”,

“plot_export_format”: “pdf”,

“plot_figsize”: [

6,

6

],

“plot_fontfamily”: “sans-serif”,

“plot_fontscale”: 1.0,

“plot_invert_xaxis”: false,

“plot_invert_yaxis”: false,

“plot_linewidth”: 1.5,

“plot_multi_cmap”: “none”,

“plot_reference_alpha”: 0.5,

“plot_reference_color”: “black”,

“plot_reference_linestyle”: “–”,

“plot_seaborn_palette”: “deep6”,

“plot_seaborn_style”: “darkgrid”,

“plot_split”: false,

“plot_statistics”: [

“rmse”,

“median”,

“mean”,

“std”,

“min”,

“max”

],

“plot_texsystem”: “pdflatex”,

“plot_trajectory_alpha”: 0.75,

“plot_trajectory_cmap”: “jet”,

“plot_trajectory_linestyle”: “-”,

“plot_usetex”: false,

“plot_xyz_realistic”: true,

“ros_map_alpha_value”: 1.0,

“ros_map_unknown_cell_value”: 205,

“save_traj_in_zip”: false,

“table_export_data”: “stats”,

“table_export_format”: “csv”,

“table_export_transpose”: true

(7.1画图背景调整成白色网格

evo_config set plot_seaborn_style whitegrid

参数还可以选择以下 darkgrid, whitegrid, dark, white, ticks

(7.2将字体改为衬线型并调为1.5倍大小

evo_config set plot_fontfamily serif plot_fontscale 1.5

(7.3将画图所使用的线型改为 实线

evo_config set plot_reference_linestyle -

虚线则是:

evo_config set plot_reference_linestyle --

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

evo_config set plot_figsize 10 9

(7.5修改线条,其中bright可以替换成deep, muted, bright, pastel, dark, colorblind

evo_config set plot_seaborn_palette pastel

evo_traj tum ORB-SLAM2.txt DS-SLAM.txt --ref=groundtruth.txt -va --plot --plot_mode xy

evo_config set plot_seaborn_palette bright

evo_traj tum ORB-SLAM2.txt DS-SLAM.txt --ref=groundtruth.txt -va --plot --plot_mode xy

(7.6参考轨迹ref的透明度 修改

evo_config set plot_reference_alpha 0.75

(7.7恢复初始设置

evo_config reset

{ 7.2}  evo_config 用法——常用配置,如设置字体 曲线颜色、粗细 背景有无网格等基本参数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 将参数还原到默认值。

8)绝对位姿个指标对比max min mean rmse…

首先建立一个新的文件夹将某个数据及下的groundtruth.txt放进去,然后将你要进行对比SLAM系统在此数据及下生成的 CameraTrajectory.txt复制进来并进行重命名 这里选取DynaSLAM DS-SLAM ORB-SLAM2三个系统进行对比

并在此文件下建立results文件保存zip结果。

EVO工具的使用,在写论文时常用到的基础命令、参数修改

evo_ape tum groundtruth.txt DS-SLAM.txt -va --plot --plot_mode xz --save_results results/DSSLAM.zip

evo_ape tum groundtruth.txt DynaSLAM.txt -va --plot --plot_mode xz --save_results results/DynaSLAM.zip

evo_ape tum groundtruth.txt ORB-SLAM2.txt -va --plot --plot_mode xz --save_results results/ORB-SLAM2.zip

results文件下有三个压缩文件

EVO工具的使用,在写论文时常用到的基础命令、参数修改

evo_res results/*.zip -p --save_table results/table.csv

EVO工具的使用,在写论文时常用到的基础命令、参数修改
EVO工具的使用,在写论文时常用到的基础命令、参数修改

当然随着evo_config set plot_seaborn_palette bright设置不一样,柱状图颜色也在变

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

清除日志文件文章来源地址https://www.toymoban.com/news/detail-471360.html

到了这里,关于EVO工具的使用,在写论文时常用到的基础命令、参数修改的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 利用chatgpt写论文使用教程

    ChatGPT是人工智能技术的一种,可帮助人们综合运用和分析各种语言技巧,从而优化实验结果、加速研究流程以及提高文章质量。以下是利用ChatGPT写论文的使用教程: 综上所述,利用ChatGPT写论文涉及到一些技巧和方法,需要合理选择应用的模型和数据,并根据论文的要求准确

    2024年03月09日
    浏览(44)
  • 论文小白如何写论文?文心一言如何写论文

    很多人都用不好ChatGPT,其实用好很简单,我们只需知道 会问=会用 ,就会发现原来ChatGPT这么好用! 这篇文章会教大家 怎么用ChatGPT完成一篇论文? 全流程介绍 包括论题、大纲、写作、润色,学会这些技巧都会对以后的学习和研究有很大帮助。 01 挑选论文选题 literature retr

    2024年03月17日
    浏览(52)
  • gpt人工智能写论文怎么样-chatGTP如何写论文

    使用 GPT 写论文具体的操作方法因人而异,但可以提供一些建议: 充分理解论文的题目、主题和结构,并确定论文所需的内容和方向。 针对论文的不同部分,使用 GPT 模型进行自动化生成或补充,例如摘要、介绍、正文、结论、参考文献等。 对 GPT 生成的文本进行筛选和修改

    2024年02月08日
    浏览(53)
  • 如何利用chatgpt写论文之论文选题

            随着人工智能的发展,以及chatgpt的诞生,我们有很多工作都可以借助chatgpt完成,来提高我们的效率,今天我就简单的介绍一下使用chatgpt如何进行写论文之选题 第一步,就是确定选题,那么我们如何利用chatgpt帮助我们确定选题呢? 选题 1.1身份背景确定 1.2明确研

    2024年01月22日
    浏览(54)
  • chatgpt写论文

    随着人工智能(AI)的发展,越来越多和计算机模型如ChatGPT和GPT-4等正在改变我们的日常生活方式,包括我们如何撰写和编辑文稿。特别是OpenAI的ChatGPT,已经成为了帮助用户编写文章、创作短篇小说、回答问题、甚至自动撰写编程代码的重要工具。在这篇文章中,我们将讲述

    2024年02月12日
    浏览(51)
  • overleaf写论文笔记(latex)

    overleaf官网:www.overleaf.com/ overleaf中文版:cn.overleaf.com/ 目录 从零开始:获取模板 文章标题修改: 作者修改: 摘要: 页脚文字重叠/遮挡 三线表绘制: 表格内单元格合并不同行列数不同: 文字加粗: 正文中输入特殊符号: 插入图片相关 公式和符号 行间插入的方法: 行内插

    2024年02月08日
    浏览(50)
  • 如何用ChatGPT辅助写论文

    ChatGPT 先进功能创造了 巨大的需求 ,该 AI 工具在推出后的两个月内就积累了超过 1 亿用户。最突出的功能之一是它能够在几秒钟内编写各种文本,包括歌曲、诗歌、睡前故事和散文。   但是 ChatGPT 可以做的不仅仅是写一篇文章。更有用的是它如何帮助指导写作过程。今天我

    2024年02月09日
    浏览(45)
  • 论文篇:教你如何用chatgpt辅助写论文文献综述

      ChatGPT教你写文献综述的模版 当前文献综述的模版: 一、绪论: 1. XX话题背景介绍 2. XX话题的研究重要性及意义 3. XX话题的研究现状回顾 二、相关方法: 1. XX话题的一般方法介绍 2. XX话题的先进方法讨论 三、研究结果: 1. XX话题的实验结果分析 2. XX话题实验结果相关研究

    2024年02月12日
    浏览(43)
  • chatgpt写论文保姆级教程(一)

    最近很多小伙伴都在关心 GPT 怎么写论文的问题,大家都知道 GPT 很强大,那当你真的去用的时候,你会发现他给你的答案不是空话就是套话,怎么回事?实际上这里的问题就出在你不会提问,那么怎么提问?我给你总结了一套 AI 提问方法论,它可以让你用 GPT 写论文,读文献

    2024年02月03日
    浏览(41)
  • 搞科研、写论文,如何正确使用GPT?AIGC技术解析、提示词工程高级技巧、AI绘图、ChatGPT/GPT4应用

    目录 专题一 OpenAI开发者大会最新技术发展及最新功能应用 专题二 AIGC技术解析 专题三 提示词工程高级技巧 专题四 ChatGPT/GPT4的实用案例 专题五 让ChatGPT/GPT4成为你的论文助手 专题六 让ChatGPT/GPT4成为你的编程助手 专题七 让ChatGPT/GPT4进行数据处理 专题八 ChatGPT/GPT4在地球科学

    2024年02月04日
    浏览(67)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包