位置: IT常识 - 正文

ros中SLAM的EVO、APE测评——SLAM精度测评(一)(ros source)

编辑:rootadmin
ros中SLAM的EVO、APE测评——SLAM精度测评(一)

推荐整理分享ros中SLAM的EVO、APE测评——SLAM精度测评(一)(ros source),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:ros f1,ros navigation,ros org,ros+slam,ros+slam,ros+slam,ros+slam,ros demo,内容如对您有帮助,希望把文章链接给更多的朋友!

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

evo是一款用于视觉里程计和slam问题的轨迹评估工具。核心功能是能够绘制相机的轨迹,或评估估计轨迹与真值的误差。支持多种数据集的轨迹格式(TUM、KITTI、EuRoC MAV、ROS的bag),同时支持这些数据格式之间进行相互转换。在此仅对其基本功能做简要介绍。

evo工具github地址:Home · MichaelGrupp/evo Wiki · GitHub

0 安装

安装方式极其简单,采用pip安装:

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

或者通过github下载源码后(https://github.com/MichaelGrupp/evo),使用源码安装:

pip install --editable . --upgrade --no-binary evo

安装时会自动安装相关依赖项。

     入门

① 基础指令 evo绘制轨迹的指令为:evo_traj,后跟必要参数有:数据的格式(tum/kitti/bag/euroc等)+ 轨迹文件。轨迹文件可以有多个,例如:

evo_traj tum traj1.txt traj2.txt

这个指令只是显示轨迹的基本信息,若要绘制轨迹,则增加可选参数 -p 或 --plot

evo_traj tum traj1.txt –p

 ② 轨迹对齐

我们时常需要将估计轨迹与真实轨迹同时绘制,可采用指令:

evo_traj tum realTraj.txt estTraj.txt -p

存储时轨迹多为相对位置变化,所以绘制出的轨迹在初始位置上存在一定的位置和角度偏移。

这时我们采用对齐指令将两条轨迹进行对齐。为此我们需要通过--ref参数指定参考轨迹,并增加参数-a(或--align)进行对齐(旋转与平移)

evo_traj tum estTraj.txt --ref realTraj.txt -p -a

③ 轨迹尺度缩放

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

可以在命令行通过-h参数查看当前evo指令的参数及相关说明。例如:

evo_traj tum –h

 1 精度测评

1.1 ape与rpe

evo_ape  绝对位姿误差(absolute pose error),用于整体评估整条轨迹的全局一致性;

evo_rpe  相对位姿误差(relativeposeerror),用于评价轨迹局部的准确性。 

1.2 evo_traj的可选参数

       轨迹对齐-a与尺度缩放-s,若增加可选参数-p,可以绘制误差相关曲线:

evo_ape tum realTraj.txt estTraj.txt -a –s -p

 注意:在进行评估时,若经过了缩放,在命令行中应将真实轨迹(参考轨迹)放在估计轨迹(计算轨迹)前方,避免在缩放时参考轨迹错误而造成误差被错误缩放。

1.3 格式互相转换

ros中SLAM的EVO、APE测评——SLAM精度测评(一)(ros source)

 example1 EuRoC→TUM,输出为data.tum

evo_traj euroc data.csv --save_as_tum

 example1 EuRoC→kitti,输出为data.kitti

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

2 轨迹绘图工具

evo_traj 用于分析、绘制或导出一个或多个轨迹的工具

evo_res 用于比较来自evo_ape或evo_rpe的一个或多个结果文件的工具

evo_fig (实验性)用于重新打开序列化绘图的工具(与--serialize_plot一起保存)

evo_config 用于全局设置和配置文件操作的工具

使用--help调用命令以查看选项,例如evo_ape --help。Tab命令行参数的完成在类UNIX系统上可用。

3 使用例程

3.1 evo_traj 绘制多条轨迹

evo_traj kitti KITTI_00_ORB.txt KITTI_00_SPTAM.txt --ref=KITTI_00_gt.txt -p --plot_mode=xz

 3.2 evo_ape 在轨迹上运行测评

例如,在这里,我们使用evo_ape(KITTI_00_gt.txt是参考(地面真相))计算ORB-SLAM和S-PTAM的两条轨迹的绝对姿态误差,并绘制并保存单个结果。evo_res的压缩文件:

First trajectory (ORB Stereo):

evo_ape kitti KITTI_00_gt.txt KITTI_00_ORB.txt -va --plot --plot_mode xz --save_results results/ORB.zip

Second trajectory (S-PTAM):

evo_ape kitti KITTI_00_gt.txt KITTI_00_SPTAM.txt -va --plot --plot_mode xz --save_results results/SPTAM.zip

 

3.3 evo_res 从一个度量中处理多个结果

evo_res可用于比较指标中的多个结果文件,即:

        打印信息和统计信息(默认)打印结果并将统计信息保存在表格中。在这里,我们使用上面的结果生成一个图和一个表:

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

4 应用

 4.1 "把EuRoc的数据格式转化成TUM数据格式"

evo_traj euroc data.csv --save_as_tum

将生成的 KeyFrameNavStateTrajectory.txt 文件,格式如下。总共17位  (timestamp;position3;q4;v3;bw3;ba3)

转化成符合TUM 形式的轨迹文件格式:8位

timestamp x y z q_x q_y q_z q_w

4.2 "TUM数据转换成kitti格式"

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

4.3 "TUM数据转换成bag格式"

" 把一些文件的数据格式转化成rosbag"evo_traj tum traj_1.txt traj_2.txt traj_3.txt --save_as_bag

 4.4. 轨迹对齐

当轨迹使用不同的传感器坐标系,或者轨迹之间有旋转平移等变换时,可以使用 "--align" 参数进行轨迹对齐, 使用 "--correct_scale"进行轨迹放缩。一个例子,如下面的命令所示。

注意:

这里对比的轨迹,应该具有相同数量的位姿(相同数量的行),当然也应该是相同数量的列(位姿的表示方法相同)同时使用align参数,应该指定reference(即指定"--ref"参数)evo_traj tum KeyFrameTrajectory.txt --ref=KITTI_02_gt.txt -p --plot_mode=xz --correct_scale --align

参考文献

https://github.com/MichaelGrupp/evo/wiki

GitHub - MichaelGrupp/evo: Python package for the evaluation of odometry and SLAM

本文链接地址:https://www.jiuchutong.com/zhishi/283217.html 转载请保留说明!

上一篇:netsurf.exe - netsurf是什么进程 有什么用

下一篇:IMEKRMIG.EXE进程是什么程序 是什么文件 IMEKRMIG进程查询(msmpeng.exe是什么进程)

  • 华为mate40pro与华为p40对比(华为mate40pro与华为mate50)

    华为mate40pro与华为p40对比(华为mate40pro与华为mate50)

  • 苹果12有指纹解锁吗(苹果12有指纹解锁和人脸识别吗)

    苹果12有指纹解锁吗(苹果12有指纹解锁和人脸识别吗)

  • 苹果11微信打字键盘怎么设置(苹果11微信打字按键音怎么设置)

    苹果11微信打字键盘怎么设置(苹果11微信打字按键音怎么设置)

  • 华为屏幕录制播放怎么没有声音(华为屏幕录制播放声音)

    华为屏幕录制播放怎么没有声音(华为屏幕录制播放声音)

  • soul取消拉黑对方会有提示吗(soul取消拉黑后,能看到之前的信息吗?)

    soul取消拉黑对方会有提示吗(soul取消拉黑后,能看到之前的信息吗?)

  • 闲鱼商品被保护多久能释放(闲鱼商品被保护是什么意思)

    闲鱼商品被保护多久能释放(闲鱼商品被保护是什么意思)

  • 宽带忘记密码怎么找回(宽带忘记密码怎么连接手机)

    宽带忘记密码怎么找回(宽带忘记密码怎么连接手机)

  • 手机怎么升级安卓版本(手机怎么升级安卓7.0)

    手机怎么升级安卓版本(手机怎么升级安卓7.0)

  • qq视频聊天可以录制吗(qq视频聊天可以截图吗)

    qq视频聊天可以录制吗(qq视频聊天可以截图吗)

  • 为什么华为运动步数只显示0(为什么华为运动健康不显示心率)

    为什么华为运动步数只显示0(为什么华为运动健康不显示心率)

  • 关键词表怎么筛选(关键词词库筛选与建立)

    关键词表怎么筛选(关键词词库筛选与建立)

  • ipone11可以升级5g吗(iphone11可不可以升级5g)

    ipone11可以升级5g吗(iphone11可不可以升级5g)

  • 如何删除爱奇艺观看记录(电脑如何删除爱奇艺)

    如何删除爱奇艺观看记录(电脑如何删除爱奇艺)

  • ipad下载的文件查看(ipad下载的文件怎么改后缀)

    ipad下载的文件查看(ipad下载的文件怎么改后缀)

  • 淘小铺在淘宝怎么找(淘小铺怎么铺货)

    淘小铺在淘宝怎么找(淘小铺怎么铺货)

  • 抖音多闪能看到访客记录吗(多闪在抖音里能看见吗)

    抖音多闪能看到访客记录吗(多闪在抖音里能看见吗)

  • 淘宝小黑盒是什么(淘宝小黑盒质量好吗)

    淘宝小黑盒是什么(淘宝小黑盒质量好吗)

  • vivo开log开启有啥用(vivo手机log中有开机密码吗)

    vivo开log开启有啥用(vivo手机log中有开机密码吗)

  • 陌陌视频通话怎么美颜

    陌陌视频通话怎么美颜

  • 电脑管家如何卸载(电脑管家如何卸载干净)

    电脑管家如何卸载(电脑管家如何卸载干净)

  • vue 中从后端获取到文件的 url 地址,前端根据 url 地址下载文件(vue怎么拿到后端数据)

    vue 中从后端获取到文件的 url 地址,前端根据 url 地址下载文件(vue怎么拿到后端数据)

  • 格拉纳达的阿尔罕布拉,安达卢西亚省,西班牙 (© Armand Tamboly/Getty Images)(格拉纳达的阿尔罕布拉宫用什么材料制成?)

    格拉纳达的阿尔罕布拉,安达卢西亚省,西班牙 (© Armand Tamboly/Getty Images)(格拉纳达的阿尔罕布拉宫用什么材料制成?)

  • 宛如圣诞精灵的树干,乌克兰喀尔巴阡山脉 (© panaramka/Getty Images)(圣诞精灵什么意思)

    宛如圣诞精灵的树干,乌克兰喀尔巴阡山脉 (© panaramka/Getty Images)(圣诞精灵什么意思)

  • Idea中运行Vue项目(idea如何运行vue项目)

    Idea中运行Vue项目(idea如何运行vue项目)

  • Spring的配置文件(spring的配置文件中的内容)

    Spring的配置文件(spring的配置文件中的内容)

  • 社保由税务局统一征收的地区
  • 老板的报销分录怎么写
  • 医疗胶片扫描仪怎么用
  • 账面上现金过多的税务风险
  • 应税职工福利费在应纳税所得额里面吗
  • 企业自建固定资产
  • 收取返利发票怎么开具?
  • 业务招待费如何调增调减
  • 电商平台退货退款流程图
  • 自用房产税如何计算
  • 税金及附加里面有印花税吗
  • 增值税开票税额交税差额怎么入账
  • 幼儿园开学费发票内容
  • 仓储费用的增值税计入哪里
  • 应征增值税不含税销售额(3%征收率)怎么算
  • 序列号不可用怎么办
  • 递延所得税企业合并
  • 个人借款利息收入增值税税率
  • 工程施工方安全责任
  • 购买不需安装的生产设备会计分录
  • 离退休员工再任职薪酬的财税处理?
  • 保险公司买保险和银行买保险有什么区别
  • 公司有残疾人员怎么办
  • 坏账准备和资产减值损失
  • php环境配置教程Apace
  • app制作公司开发一个app的价格
  • 代扣代缴手续费比例
  • linux网络接口状态命令
  • 不得抵扣的增值税怎么处理
  • 使用jquery的好处
  • apache trace
  • 其他资本公积如何转出
  • 招待费进项转出填表二哪里
  • 购买商品优惠怎么做账
  • 员工回家探亲的文案
  • 兼职属于劳务关系吗
  • 从合同有什么
  • 租金收入怎样缴纳个税
  • SQL Server 2005 模板参数使用说明
  • 个体户季报要抄税吗
  • 核定征收的三种方式
  • 销项税怎么做账
  • 融资租赁开具的发票内容
  • 运输公司赔偿账务处理
  • 债券清算原则
  • 会计的视频教程
  • 工资每月变动社保怎么变
  • 什么情况下说免贵
  • 老板从公司借款怎么处理
  • 个税 退手续费
  • 代金券消费怎么入账
  • 不合格品的处理方式一般包括哪些
  • 如果收到现金抵押怎么办
  • 售后回租租赁合同买车有效吗
  • 公司注册取消验资
  • 无形资产减值准备借贷
  • 开了发票就要交税吗?
  • 营改增后建筑业增值税税率
  • 民办非企业可以开发票吗
  • 商品流通企业有哪些企业
  • 开设明细账
  • win10隐藏文件怎么隐藏
  • win10正式版激活码
  • linux中vi编辑器怎么使用
  • nvm是啥
  • win7电脑磁盘空间不足清理步骤
  • w8系统ie浏览器在哪
  • 常见的css样式
  • kindeditor获取内容
  • node.js怎么用
  • get调用接口
  • shell脚本计算执行时间
  • 详细分析使用AngularJS编程中提交表单的方式
  • unity ugui组件
  • unity游戏加密
  • [Phonegap+Sencha Touch] 移动开发50 Android修改新建虚拟机存放的位置
  • 你知道必要的意思吗英文
  • 税务局与稽查局哪个好
  • 废旧物资税务风险评估
  • 购货方已抵扣的发票购货方怎么申请红冲
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设