TUM数据集rgbd_benchmark工具的使用方法
# 在学习视觉slam过程中,需要对数据集合进行预处理和对slam或者跟踪结果进行评价,TUM提供一组这样的工具,为了自己以后方便查找,于是把它记录下来
一、RGBD_Benchmark工具下载链接:Download here
下载链接下有如下python脚本,可供使用
1. add_pointclouds_to_bagfile.py
2. associate.py
3. evaluate_ate.py
4. evaluate_rpe.py
5. generate_pointcloud.py
6. generate_registered_pointcloud.py
7. plot_trajectory_into_image.py
二、RGBD_Benchmark工具使用方法(部分,后续用到再做完善)
1. associate.py
通过timestamp(时间戳)生成rgb和depth的关联文件,命令如下:
python associate.py rgb.txt depth.txt > associations.txt
2. 评价脚本
在估计了相机轨迹并将其保存到文件后,我们需要通过将其与地面实况进行比较来评估估计轨迹中的误差。 有不同的误差指标。
两种突出的方法是绝对轨迹误差(ATE)和相对姿态误差(RPE)。
ATE适合评估视觉SLAM系统的性能。 相比之下,RPE适合评估视觉里程计的漂移量,例如每秒的漂移量。
2.1 evaluate_ate.py
绝对轨迹误差脚本直接测量真实轨迹和估计轨迹的点之间的差异。
作为预处理步骤,我们使用时间戳将估计的姿势与地面真实姿势相关联。 基于此关联,我们使用奇异值分解来对齐真实轨迹和估计轨迹。
最后,我们计算每对姿势之间的差异,并输出这些差异的均值/中值/标准差。
此外,脚本还可以将两个轨迹绘制到png或pdf文件,这样一来可以更加直观的看到差异。
接下来,我们分别看一下相应的脚本执行命令
(注:需要将evaluate_ate.py、groundtruth.txt、CameraTrajectory.txt、associate.py放在同一位置)
(1)仅输出RMSE/cm误差,执行如下命令:
python evaluate_ate.py groundtruth.txt CameraTrajectory.txt
(2)输出真实轨迹和预测轨迹以及误差,并直观显示,执行如下命令:
python evaluate_ate.py groundtruth.txt CameraTrajectory.txt --plot result.png
(3)输出所有误差,包含平均值,中值等, 执行如下命令:
python evaluate_ate.py groundtruth.txt CameraTrajectory.txt --verbose
2.1 evaluate_pre.py
TUM数据集rgbd_benchmark工具的使用方法的更多相关文章
- ORB-SLAM2的编译运行以及TUM数据集测试
ORB-SLAM2的编译运行以及TUM数据集测试 徐大徐 2018.02.06 17:04 字数 1838 阅读 2167评论 0喜欢 2 近段时间一直在学习高翔博士的<视觉SLAM十四讲> ...
- 【百度地图API】手机浏览器抓包工具及其使用方法
原文:[百度地图API]手机浏览器抓包工具及其使用方法 摘要:为了测试地图API在手机浏览器上的性能,需要给手机浏览器设置代理.通过代理,我们可以在PC上获取到抓包数据.进而对性能做进一步分析. -- ...
- 将TUM数据集的RGB-D数据集转化为klg格式
1.在github上下载代码png_to_klg git clone https://github.com/HTLife/png_to_klg 2.将png_to_klg目录下的associate.p ...
- PDF如何添加水印,PDF添加水印工具的使用方法
PDF文件在编辑修改的时候是需要借助工具才可以编辑,PDF文件不像普通的文件可以直接打开编辑,PDF编辑工具是PDF文件进行编辑的重要工具,就以添加水印为例,能够在PDF中添加水印的工具有哪些呢?要怎 ...
- 2.5 定义FTP工具的各种方法
用class定义ftp工具的各种方法 import os,sys from ftplib import FTP from mimetypes import guess_type,add_type fr ...
- matlab calibration toolbox -- matlab标定工具的使用方法--去畸变和双目校正
matlab calibration toolbox -- matlab标定工具的使用方法--去畸变和双目校正 2015-04-06 22:45 5407人阅读 评论(2) 收藏 举报 分类: 机器 ...
- Windows自带的端口转发工具netsh使用方法_DOS/BAT
Windows自带的端口转发工具netsh使用方法_DOS/BAT 作者:用户 来源:互联网 时间:2017-02-22 17:24:30 netsh 端口转发 摘要: 下面的代码在windows ...
- 基于Python的XSS测试工具XSStrike使用方法
基于Python的XSS测试工具XSStrike使用方法 简介 XSStrike 是一款用于探测并利用XSS漏洞的脚本 XSStrike目前所提供的产品特性: 对参数进行模糊测试之后构建合适的payl ...
- 大数据学习--day07(冒泡排序、Arrays工具类、方法可变参数)
冒泡排序.Arrays工具类.方法可变参数 冒泡排序之前写过,略 Arrays工具类 二分法查询 public static int binarySearch(int[] a,int key) 头信息 ...
随机推荐
- WebRTC 学习之 概念总结
在学习WebRTC的时候,接触到了好多新的概念,在这里做一下备忘吧 RTMP协议 Real Time Messaging Protocol(实时消息传输协议).该协议基于TCP,是一个协议族,包括RT ...
- TypeEncodings
官网链接: https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Ar ...
- [EXP]Apache Superset < 0.23 - Remote Code Execution
# Exploit Title: Apache Superset < 0.23 - Remote Code Execution # Date: 2018-05-17 # Exploit Auth ...
- 【sping揭秘】19、关于spring中jdbctemplate中的DataSource怎么来呢
我们这是可以正好借助之前学的factorybean类,自己吧jdbctemplate加载到spring容器中,我们可以封装多个这种对象,那么可以实现针对不同的数据库的jdbctemplate 首先我们 ...
- s3 api接口的调用
最近公司使用s3做文件存储服务器,因此在程序中需要调用s3的api,目前程序中使用了python和java版本的s3的api,简单做下记录,方便以后使用. 一.s3 api使用python版 1.安装 ...
- 如何把开源项目发布到Jcenter
转载自:https://www.jianshu.com/p/f66972f0607a 首先我们应该注册一个JFrog Bintray的账号 Jfrog Bintray官网 这里我们可以注意到那个绿色的 ...
- SQL 必知必会·笔记<6>使用数据处理函数
与SQL 语句不一样,SQL 函数不是可移植的.为特定SQL 实现编写的代码在其他实现中可能不正常.因为各个DBMS厂商对函数的实现有很大的区别. 常用函数 大多数SQL 实现支持以下类型的函数: ...
- 使用Java代码自定义Ribbon配置
很多场景下,需要实现不同的微服务采用不同的策略,例如修改Ribbon的负载均衡规则等.Spring Cloud允许使用Java代码自定义Ribbon的配置. 在Spring Cloud中,Ribbon ...
- asp.net MVC 5 Scaffolding多层架构代码生成向导开源项目(邀请你的参与)
Visual Studio.net 2013 asp.net MVC 5 Scaffolding代码生成向导开源项目 提高开发效率,规范代码编写,最好的方式就是使用简单的设计模式(MVC , Repo ...
- vuex状态管理之学习笔记
概述及使用场景 Vuex 是一个主要应用在中大型单页应用的类似于 Flux 的数据管理架构.它主要帮我们更好地组织代码,以及把应用内的的状态保持在可维护.可理解的状态. 但如果是简单的应用 ,就没有必 ...