从零开始做自动驾驶定位(二):轨迹精度评估
从零开始做自动驾驶定位(二):轨迹精度评估
一、EVO工具的使用
1.evo简介
evo [1] 是一个很好的测评工具,它可以根据时间戳将轨迹进行对齐,同时可以将不同尺度的轨迹按照你指定的标准轨迹进行拉伸对齐,并可以算出均方差等评定参数,用于测评slam算法性能。支持的格式有:
- “TUM” 轨迹文件;
- “KITTI“ 位姿文件;
- “EuRoC MAV” (.csv groundtruth and TUM trajectory file);
- ROS bagfile with
geometry_msgs/PoseStamped
,geometry_msgs/TransformStamped
,geometry_msgs/PoseWithCovarianceStamped
ornav_msgs/Odometry
topics or TF messages; - 关于具体格式相关,见 [2]。
2.evo安装
evo共有两种安装方式 [1][3]:
- 2.1 二进制快捷安装 :直接安装最新的稳定发行版:
pip install evo --upgrade --no-binary evo
- 2.2 源码编译安装
1)下载evo,也可以在home中直接下载
git clone https://github.com/MichaelGrupp/evo.git
2)进入evo文件夹,编译安装
pip install --editable . --upgrade --no-binary evo
3.evo工具使用
3.1 命令行接口
度量指标(具体原里参见高博十四讲第二版4.4.2小节):
evo_ape
- 绝对位姿误差evo_rpe
- 相对位姿误差
工具:
evo_traj
- 用于分析、绘制或者导出一个或多个轨迹;evo_res
- 用于对比一个或者多个从evo_ape
或者evo_rpe生成的结果文件;
evo_fig
- (experimental) tool for re-opening serialized plots (saved with--serialize_plot
)evo_config
- 用于操作全局设置和配置文件
更多的参数细节详见 [4]。
3.2 具体的工作举例
注意:下面的测试文件在evo的github源码里(详见官网 [1])
1) 多轨迹绘制
cd test/data
evo_traj kitti KITTI_00_ORB.txt KITTI_00_SPTAM.txt --ref=KITTI_00_gt.txt -p --plot_mode=xz
2) 轨迹误差度量
mkdir results
evo_ape kitti KITTI_00_gt.txt KITTI_00_ORB.txt -va --plot --plot_mode xz --save_results results/ORB.zip
evo_ape kitti KITTI_00_gt.txt KITTI_00_SPTAM.txt -va --plot --plot_mode xz --save_results results/SPTAM.zip
3) 多个轨迹误差分析
evo_res results/*.zip -p --save_table results/table.csv
值得一提的是还有另一个比较类似的工具:rpg_trajectory_evaluation,具体的使用参考官网 [5],功能似乎没有evo那么强,不过这个工具对应了论文 [6],该论文详细的阐述了估计误差度量的推导及优缺点(尤其单目),有兴趣的可以看一看。
参考资料:
[1] evo : https://github.com/MichaelGrupp/evo
[2] evo Formats : https://github.com/MichaelGrupp/evo/wiki/Formats
[3] 测评工具evo安装与使用 : https://blog.csdn.net/weixin_44386661/article/details/103080551
[4] evo/Home more detailed documentation and examples : https://github.com/MichaelGrupp/evo/wiki
[5] rpg_trajectory_evaluation : https://github.com/uzh-rpg/rpg_trajectory_evaluation
[6] Z. Zhang and D. Scaramuzza, "A Tutorial on Quantitative Trajectory Evaluation for Visual(-Inertial) Odometry," 2018 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Madrid, 2018, pp. 7244-7251, doi: 10.1109/IROS.2018.8593941.
从零开始做自动驾驶定位(二):轨迹精度评估相关推荐
- 【多传感器融合定位】【从零开始做自动驾驶定位_任佬】【所学到的东西汇总】
[多传感器融合定位][从零开始做自动驾驶定位_任佬][所学到的东西汇总] 0 前言 1 开篇 1.1 代码工程的运行 2 数据集 3 软件框架 3.1 运行 3.2 学到的 3.2.1 对消息的订阅和 ...
- IMU, 自动驾驶定位团队“小而美”的队员
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨11号线人 来源丨 十一号组织 自动驾驶定位团队中有位高权重的九代长老GNSS,有颜值担当的华山 ...
- antd tree搜索并定位_自动驾驶定位思考
最近在做高精地图方面的工作,有一些疑问,这里把一些想法记录下来,希望能够抛砖引玉,对大家有所帮助. 高精地图的作用:一方面为我们提供地理位置信息,另一方面也为我们提供道路的辅助信息(红绿灯,路口,道路 ...
- 自动驾驶定位技术-马尔科夫定位
Localization Github: https://github.com/williamhyin/CarND-Kidnapped-Vehicle Email: williamhyin@outlo ...
- 自动驾驶中的轨迹预测数据集汇总!
作者 | 冯偲 编辑 | 汽车人 原文链接:https://zhuanlan.zhihu.com/p/555618753 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷 ...
- “当了十年IT程序员,我转型做自动驾驶开发的这五年”
[CSDN 编者按]自动驾驶战场的火热,吸引了无数开发者和从业者融入其中.然而与传统互联网存在很大的不同,自动驾驶是汽车产业与人工智能.物联网.云计算等新一代信息技术深度融合的产物,因此,当很多开发者 ...
- 第六十九篇:从ADAS到自动驾驶(二):ADAS的功能及发展
作者:liaojiacai 邮箱: ljc_v2x_adas@foxmail.com 从ADAS到自动驾驶(二):ADAS的功能及发展 根据Wikipedia在线百科全书的定 ...
- 当了十年 IT 程序员,我转型做自动驾驶开发的这五年”_《新程序员》编辑部的博客-CSDN博客
"当了十年 IT 程序员,我转型做自动驾驶开发的这五年"_<新程序员>编辑部的博客-CSDN博客
- 自动驾驶定位技术之争:融合定位才是出路
讲座名称<自动驾驶定位技术之争:融合定位才是出路> 此次分享围绕以下四点:1.高精度定位为何需要多种传感器:2.视觉定位的优缺点:3.雷达定位的优缺点:4.传感器融合的关键技术. 讲师:李 ...
最新文章
- LeetCode刷题记录1——717. 1-bit and 2-bit Characters(easy)
- 550种Blender风格化笔刷素材
- shell版俄罗斯方块
- UNITY所谓的异步加载几乎全部是协程,不是线程;MAP3加载时解压非常慢
- python module
- 基于java技术的幼儿园管理系统答辩PPT模板
- 【2020团体程序设计天梯赛】L2-3 完全二叉树的层序遍历(后序遍历转层次遍历)
- win7计算机 管理缺失文件夹,win7缺失dll文件一键修复的方法
- CRMEB二次开发基础接口
- 「四年总结」一名程序猿的打怪升级之路
- IPSec:IKEv2协议详解
- Git分支管理及命名规范
- 8086汇编(5、进位加法)
- Mac OSX 升级python six模块版本
- 苹果手机桌面找不到计算机,苹果笔记本桌面图标不见了怎么办
- AC算法的高效C++实现
- windows系统中nginx图片服务器,windows nginx 图片服务器
- 高德地图的点聚合效果下的点的添加和删除
- 大整数运算之 大整数加法、减法、乘法
- 计算机与网络应用word题目解析,计算机二级word真题:《计算机与网络应用》教材的编排...