位置: 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是什么进程)

  • 爱奇艺录屏功能在哪里(爱奇艺能录屏么)

    爱奇艺录屏功能在哪里(爱奇艺能录屏么)

  • mac的ctrl是哪个键盘

    mac的ctrl是哪个键盘

  • 快手只有id号怎么登录没有手机号(快手只有id号怎么注销)

    快手只有id号怎么登录没有手机号(快手只有id号怎么注销)

  • 发展最快和使用最广泛的计算机是(发展最快使用最多销量最大的一类抗生素是)

    发展最快和使用最广泛的计算机是(发展最快使用最多销量最大的一类抗生素是)

  • 苹果id绑定不了支付方式(苹果id绑定不了qq邮箱)

    苹果id绑定不了支付方式(苹果id绑定不了qq邮箱)

  • hpm1136mfp打印机用什么硒鼓(惠普1136打印机)

    hpm1136mfp打印机用什么硒鼓(惠普1136打印机)

  • 什么是开放式耳机(什么是开放耳选配)

    什么是开放式耳机(什么是开放耳选配)

  • 有网为什么微信发不过去(有网为什么微信无法连接)

    有网为什么微信发不过去(有网为什么微信无法连接)

  • 苹果双网通版什么意思(双网通的苹果)

    苹果双网通版什么意思(双网通的苹果)

  • 钉钉可以看到学生屏幕吗(钉钉可以看到学生开小窗吗)

    钉钉可以看到学生屏幕吗(钉钉可以看到学生开小窗吗)

  • 搜狗输入法日语键盘怎么用(搜狗输入法日语怎么设置)

    搜狗输入法日语键盘怎么用(搜狗输入法日语怎么设置)

  • 抖音聊天记录多久可以撤回(抖音聊天记录多久就查不到了)

    抖音聊天记录多久可以撤回(抖音聊天记录多久就查不到了)

  • 微信语音连接失败怎么看时间(微信语音连接失败是拒绝吗)

    微信语音连接失败怎么看时间(微信语音连接失败是拒绝吗)

  • 信号显示hd是什么意思(信号显示hd是什么意思怎么关闭)

    信号显示hd是什么意思(信号显示hd是什么意思怎么关闭)

  • 微信未读消息小红点怎么去掉(微信未读消息小红点不见了)

    微信未读消息小红点怎么去掉(微信未读消息小红点不见了)

  • ip地址相同如何解释(ip地址相同怎么解决)

    ip地址相同如何解释(ip地址相同怎么解决)

  • 电脑做表格下载什么软件(下载什么软件可以做表格)

    电脑做表格下载什么软件(下载什么软件可以做表格)

  • 华为屏幕出现绿色方框(华为屏幕出现绿光怎么解决)

    华为屏幕出现绿色方框(华为屏幕出现绿光怎么解决)

  • 将合并的pdf文件拆分(合并pdf怎么合并)

    将合并的pdf文件拆分(合并pdf怎么合并)

  • 表格可选文字属性标题怎么设置(表格可选文字属性什么意思)

    表格可选文字属性标题怎么设置(表格可选文字属性什么意思)

  • 拼多多刚下单怎么备注(拼多多刚下单怎么退货退款申请)

    拼多多刚下单怎么备注(拼多多刚下单怎么退货退款申请)

  • mac喇叭破音修复方法(mac喇叭破音修复多少钱)

    mac喇叭破音修复方法(mac喇叭破音修复多少钱)

  • 手机话费能充值什么(手机话费能充值王者荣耀吗)

    手机话费能充值什么(手机话费能充值王者荣耀吗)

  • 华为p30与p20对比(华为p30与p20对比有什么不同)

    华为p30与p20对比(华为p30与p20对比有什么不同)

  • 手机要不要开启hd

    手机要不要开启hd

  • OpenCV中的图像处理 —— 傅里叶变换+模板匹配(opencv如何显示图片)

    OpenCV中的图像处理 —— 傅里叶变换+模板匹配(opencv如何显示图片)

  • 劳务费增值税专用发票税率是多少
  • 2021年白酒新政策
  • 长期待摊费用对方科目
  • 主营业务是家电吗
  • 哪些费用的进项税可以抵扣
  • 开票资料需要哪些内容
  • 提取的应交增值税怎么算
  • 测试费明细
  • 债务担保属于或有资产吗
  • 税控盘服务费减免税会计分录
  • 非公司汽车加油怎么开票
  • 出售旧固定资产的税率是多少
  • 销项税没有进项税多
  • 一般纳税人开技术服务费
  • 注册资本金印花税减半征收
  • 保险公司联合举办活动
  • 小规模纳税人可以享受小微企业吗
  • 取得海运费发票怎么入账
  • 鸿蒙工具栏在哪里
  • 主营业务成本的二级科目有哪些
  • 合同资产和合同负债属于什么科目
  • 分公司特征表述正确的是
  • 如何自定义win10开机音乐
  • php字符串定义
  • 享受企业所得税优惠政策的农产品初加工范围
  • 城建税教育费附加和地方教育费附加税率
  • mac应用程序图标
  • vue中使用swiper6
  • 大自然水族馆怎么样
  • 万字短文
  • 出售还在摊销的产品
  • framework core
  • 公司买的公文包会计怎么做
  • qt opencv ffmpeg
  • day03-CSS
  • 银行本票和汇票的定义
  • 运杂费可以计入固定资产吗
  • 采购的技术服务费会计分录
  • 红字发票与作废发票验旧
  • 公司的货款直接转给股东个人了,该怎么转到公司
  • 建筑劳务如何开劳务发票
  • 用友t6自定义结转
  • 授权支付银行有权不给发么
  • 公司地址的变更需要哪些资料和手续
  • 契税是房价乘以1.5吗
  • 制造费用如何控制
  • 报销的发票抬头怎么填
  • 小规模纳税人减按1%政策
  • 一般纳税人暂估入库的会计分录怎么写
  • mysql与sqlyog
  • mysql5.7.23
  • adsl用户之间共享电话线路
  • UNIX系统中文件的索引表结构
  • WIN10开始菜单点击鼠标右键没反应的处理方法
  • Centos安装dig命令
  • windows无法启动怎么解决
  • linux nc命令详解
  • 如何关闭windows密钥
  • iis安装失败找不到源文件
  • linux拉起进程
  • win8.1如何设置
  • win8怎么删除所有东西
  • win10手写输入法怎么设置
  • js动态表单
  • shell脚本echo输出变量
  • linux命令find用法详解
  • node+express+ejs制作简单页面上手指南
  • 不要使用CSS Expression的原因分析
  • 文章标题作用答题模板
  • 如何得到pull解析器?
  • linux如何批量执行脚本
  • linux shell函数
  • python基础教程视频教程
  • android权限管理
  • android 底部选择菜单
  • python smtp ssl
  • python django
  • 发票查验结果不一致的原因有哪些
  • 银行是不是要交社保
  • 营改增后如何纳税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设