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

  • 小米9pro为什么下架了(小米9pro为什么不能用5G网络)

    小米9pro为什么下架了(小米9pro为什么不能用5G网络)

  • 抖音如何设置视频下载权限(抖音如何设置视频不能下载)

    抖音如何设置视频下载权限(抖音如何设置视频不能下载)

  • mate30pro贴钢化膜后不灵敏(mate30pro贴钢化膜也碎屏)

    mate30pro贴钢化膜后不灵敏(mate30pro贴钢化膜也碎屏)

  • 淘宝网店怎么引流推广(淘宝网店怎么做引流推广)

    淘宝网店怎么引流推广(淘宝网店怎么做引流推广)

  • 朋友圈仅显示三天是什么意思(朋友圈仅显示三天和一条线)

    朋友圈仅显示三天是什么意思(朋友圈仅显示三天和一条线)

  • 2.2ghz980八核是什么处理器(2.2ghz980八核是什么手机)

    2.2ghz980八核是什么处理器(2.2ghz980八核是什么手机)

  • 苹果音乐下载了到期能放吗(苹果音乐下载了可以一直听吗)

    苹果音乐下载了到期能放吗(苹果音乐下载了可以一直听吗)

  • 微信运动步数不动怎么设置(微信运动步数不准确解决办法)

    微信运动步数不动怎么设置(微信运动步数不准确解决办法)

  • mate30 5g屏幕刷新率(mate30pro 5g屏幕刷新)

    mate30 5g屏幕刷新率(mate30pro 5g屏幕刷新)

  • 华为nova64g和5g外观的区别

    华为nova64g和5g外观的区别

  • powerpoint扩展名是什么(powerpoint2020扩展名)

    powerpoint扩展名是什么(powerpoint2020扩展名)

  • 只知道qq号怎么加微信(只知道qq号怎么加微信好友)

    只知道qq号怎么加微信(只知道qq号怎么加微信好友)

  • oppor9s闪充在哪里设置(oppor9s闪充标志图片)

    oppor9s闪充在哪里设置(oppor9s闪充标志图片)

  • 搜索快捷键ctrl加什么(搜索快捷键是什么)

    搜索快捷键ctrl加什么(搜索快捷键是什么)

  • 拼多多店铺地址在哪里看(拼多多店铺地址查询)

    拼多多店铺地址在哪里看(拼多多店铺地址查询)

  • 手机百度网盘怎么用qq登录(手机百度网盘怎么解压压缩包)

    手机百度网盘怎么用qq登录(手机百度网盘怎么解压压缩包)

  • 手机怎么删除快手作品(手机怎么删除快捷功能)

    手机怎么删除快手作品(手机怎么删除快捷功能)

  • soul如何关闭上线提醒(soul怎么关闭所有瞬间)

    soul如何关闭上线提醒(soul怎么关闭所有瞬间)

  • 滴滴出行快车怎么接单(滴滴出行快车怎么付钱)

    滴滴出行快车怎么接单(滴滴出行快车怎么付钱)

  • 腾讯视频杜比按钮没了(腾讯视频怎么开启杜比模式)

    腾讯视频杜比按钮没了(腾讯视频怎么开启杜比模式)

  • u盘被洗衣机搅后还能用么(优盘被洗衣机洗了里面东西都没有了)

    u盘被洗衣机搅后还能用么(优盘被洗衣机洗了里面东西都没有了)

  • 抖音变老特效在哪(抖音的变老特效在哪里)

    抖音变老特效在哪(抖音的变老特效在哪里)

  • 水星MW300RE 300M无线扩展器怎么设置 水星MW300RE 300M无线扩展器设置方法(水星mw300re说明书)

    水星MW300RE 300M无线扩展器怎么设置 水星MW300RE 300M无线扩展器设置方法(水星mw300re说明书)

  • 2018年装机电源怎么选?中高端电源推荐(装机电源怎么装)

    2018年装机电源怎么选?中高端电源推荐(装机电源怎么装)

  • 净利润跟税后利润是二个概念吗
  • 车辆购置税退税申请模板
  • 企业所得税年报补报
  • 纳税登记的内容
  • 两个账户往来款怎么做现金流量表
  • 个人代开房租普票需要缴纳哪些税种?
  • 缴纳所得税费用的会计分录
  • 空白作废什么意思
  • 没有营业收入要报税吗
  • 工程结算审核程序
  • 样板房 家具
  • 农产品收购发票图片
  • 电商公司怎么进入
  • 定制化软件开发
  • 企业营改增对企业税负影响分析
  • 稿酬所得的个税计算
  • 跨年度残保金退回做什么
  • 属于外来凭证的单据是
  • 视同销售收入如何调整?
  • 化妆品的消费税率多少
  • 企业取得代理销售发票
  • 如何正确使用储存卡
  • 存货跌价准备怎么理解
  • 增值税的滞纳金怎么做账
  • 个税的适用税率有哪些
  • 使用Huagepage和PGO来提升PHP7的执行性能
  • win7旗舰版系统怎么样
  • mac系统怎么清除数据
  • 股权转让协议的注意事项
  • 未分配收益怎么取出
  • minilauncher是什么
  • php抓取网页内容转换成json
  • windows搭建dvwa
  • php教程全集
  • 调整以前年度亏损
  • 非合理损耗怎么做分录
  • php用法
  • 出售银行承兑汇票
  • 简单实现php留言功能
  • web前端初级知识点
  • 软考软件设计师考试时间
  • yolo算法百度百科
  • 以前年度收入如何调账
  • 金税三期可以申报个税吗
  • 全年一次性奖金单独计税还是并入
  • 残保金工资总额包括什么
  • 企业以银行存款购买股票
  • 怎么算长期合同
  • 设备安装工程施工及验收规范
  • 装卸搬运的设备有哪些
  • 以非现金偿还债务的情形
  • 区分好坏
  • 汇算清缴退税分录
  • 实物出资没有发票怎么办
  • 上年的应收帐款怎么记账
  • 解缴税费
  • 工会经费交纳
  • 账簿的设置和登记要点
  • Win7 64位旗舰版系统中实现照片的批量重命名
  • win7ie11如何降为ie8
  • xp操作系统还能用吗
  • linux的sh
  • 根据自己的需求配置一台电脑
  • win10 rs1是什么版本
  • win7系统无法安装谷歌怎么办
  • Win7系统怎么打开文件后缀名
  • win7系统如何将插孔设置为ac97前面板
  • cocos2dx环境搭建
  • 微信小程序wx.request实现后台数据交互功能分析
  • 项目总结之触摸问题分析
  • python web开发环境搭建
  • ztree重新加载数据
  • python控制台怎么用
  • 日拱一卒下一句是什么
  • python 函数 星号参数
  • JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
  • 生猪屠宰企业报价
  • 土地增值税扣除项目金额怎么计算
  • 继承房产过户后可以要求分割吗?
  • 成都国税发票领取地点
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设