kitti数据集标定文件解析
1、kitti数据采集平台
KITTI数据集的数据采集平台装配有2个灰度摄像机,2个彩色摄像机,一个Velodyne64线3D激光雷达,4个光学镜头,以及1个GPS导航系统。图示为传感器的配置平面图,为了生成双目立体图像,相同类型的摄像头相距54cm安装。由于彩色摄像机的分辨率和对比度不够好,所以还使用了两个立体灰度摄像机,它和彩色摄像机相距6cm安装。(模拟双目摄像机?)
2、kitti
激光雷达、摄像头数据融合:
要将Velodyne坐标中的点x投影到左侧的彩色图像中y:
使用公式:y
= P_rect_2 * R0_rect *Tr_velo_to_cam * x
将Velodyne坐标中的点投影到右侧的彩色图像中:
使用公式:y
= P_rect_3 * R0_rect *Tr_velo_to_cam * x
Tr_velo_to_cam * x
:是将Velodyne坐标中的点x投影到编号为0的相机(参考相机)坐标系中
R0_rect *Tr_velo_to_cam * x
:是将Velodyne坐标中的点x投影到编号为0的相机(参考相机)坐标系中,再修正
P_rect_2 * R0_rect *Tr_velo_to_cam *
x
:是将Velodyne坐标中的点x投影到编号为0的相机(参考相机)坐标系中,再修正,然后投影到编号为2的相机(左彩色相机)
注意:
(标号为2的摄像机的内参矩阵,只和相机内部参数有关,比如焦距和光心位置)
R0_rect(相机0的矫正旋转矩阵)
Tr_velo_to_cam(点云到相机的外参矩阵)
3、kitti
提供的校正文件解析:以(2011_09_26_calib文件夹中的文件为例)文件夹中包含三个文件
(1)calib_cam_to_cam.txt(相机到相机的标定):
其中
-
S_xx:1x2
矫正前的图像xx的大小
- K_xx:3x3
矫正前摄像机xx的校准矩阵
- D_xx:1x5
矫正前摄像头xx的失真向量
- R_xx:3x3
(外部)的旋转矩阵(从相机0到相机xx)
- T_xx:3x1
(外部)的平移矢量(从相机0到相机xx)
- S_rect_xx:1x2
矫正后的图像xx的大小
- R_rect_xx:3x3
纠正旋转矩阵(使图像平面共面)
- P_rect_xx:3x4
矫正后的投影矩阵
(内参矩阵,前面第一行为前面四个数据,依次三行)
(2)calib_velo_to_cam.txt
其中
-
R:3x3旋转矩阵
- T:3x1平移向量
- delta_f:弃用
- delta_c:弃用
- Tr_velo_to_cam
= (R
| T)(点云到相机的外参矩阵3x4)
(3)calib_imu_to_velo.txt
Y = P_rect_xx *
R_rect_00 * (R|T)_velo_to_cam * (R|T)_imu_to_velo * X
4、
传感器标定
(1)calib_cam_to_cam.txt
(P_rect_xx)
相机的标定,即为通过某个已知的目标,求取相机内参矩阵的过程。最常用的标定目标就是棋盘格。
准备好棋盘格照片之后采用matlab
自带的tools
Camera Calibrator进行标定
单目摄像机需要标定的参数双目都需要标定
双目摄像机比单目摄像机多标定的参数(R和T)主要是描述两个摄像机相对位置关系的参数,这些参数在立体校正和对极几何中用处很大
(2)calib_velo_to_cam.txt
主要是得到点云到图像的旋转平移矩阵:Tr_velo_to_cam
= (R
| T)
kitti数据集标定文件解析的更多相关文章
- kitti 数据集解析
1.KITTI数据集采集平台: KITTI数据采集平台包括2个灰度摄像机,2个彩色摄像机,一个Velodyne 3D激光雷达,4个光学镜头,以及1个GPS导航系统.坐标系转换原理参见click.KIT ...
- 激光相机数据融合(3)--KITTI数据集
KITTI数据集提供了双目图像,激光数据,和imu/gps位置信息,其中还包括了大量的算法.下载地址为:http://www.cvlibs.net/datasets/kitti/raw_data.ph ...
- KITTI数据集的使用——雷达与相机的数据融合
目录 目的 如何实现 kitti数据集简介 kitti数据集的raw_data 利用kitti提供的devkit以及相应数据集的calib文件 解读calib文件夹 解读devkit 目的 使用雷达点 ...
- KITTI数据集
目的 使用雷达点云提供的深度信息 如何实现 将雷达的三维点云投影到相机的二维图像上 kitti数据集简介 kitti的数据采集平台,配置有四个摄像机和一个激光雷达,四个摄像机中有两个灰度摄像机,两个彩 ...
- Json文件解析(上)
Json文件解析(上) 代码地址:https://github.com/nlohmann/json 自述文件 alt=GitHub赞助商 data-canonical-src="https: ...
- CocosStudio文件解析工具CsdAnalysis
起因 因为工作需要,所以需要使用CocosStudio来制作界面动画什么的.做完了发现需要找里边对象的时候会有很长一串代码,感觉不是很爽.之前写OC代码的时候可以吧程序中的对象指针跟编辑器中的对象相对 ...
- KITTI数据集格式说明
由于上一篇博客所提到的论文中的训练数据是KITTI的数据集,因此如果我想要用自己的数据集进行训练的话,就需要先弄清楚KITTI数据集的格式,在以下的网址找到了说明: 首先,数据描述中是这样的: 在以下 ...
- 通过正则表达式实现简单xml文件解析
这是我通过正则表达式实现的xml文件解析工具,有些XHTML文件中包含特殊符号,暂时还无法正常使用. 设计思路:常见的xml文件都是单根树结构,工具的目的是通过递归的方式将整个文档树装载进一个Node ...
- 八、Android学习第七天——XML文件解析方法(转)
(转自:http://wenku.baidu.com/view/af39b3164431b90d6c85c72f.html) 八.Android学习第七天——XML文件解析方法 XML文件:exten ...
随机推荐
- hibernate5(10)注解映射[2]一对多单向关联
在上一篇文章里.我们从端方向一端建立关联关系,完毕了从文章到作者的关联关系建立.但在实际的博客站点中,用户肯定还须要获取自己所写的文章,这时能够建立用户(一)对文章(多)的单向关联映射. 先来看我们的 ...
- C语言关键字—-sizeof 、typedef、const、static、register、extern、#define
关键字:sizeof .#define.typedef.const.static.register.extern sizeof 1. 作用:求数据所占得内存空间大小 2. 本质:求数据得类型所占的内存 ...
- 可空类型Nullable
Nullable类型: 值类型变量默认为0,不可空,为了使它可空,出现了Nullable类型,类型前面加? 变为引用类型 值类型是没有null值的,比如int,DateTime,它们都有默认值.举个 ...
- Python生成器定义
通过列表生成式,我们可以直接创建一个列表.但是,受到内存限制,列表容量肯定是有限的.而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素 ...
- Android_动态权限管理的解决方式
本博文为子墨原创.转载请注明出处! http://blog.csdn.net/zimo2013/article/details/50478201 1.前言 (1).因为MIUI等部分国产定制系统也有权 ...
- kubernetes滚动更新
系列目录 简介 当kubernetes集群中的某个服务需要升级时,传统的做法是,先将要更新的服务下线,业务停止后再更新版本和配置,然后重新启动并提供服务.如果业务集群规模较大时,这个工作就变成了一个挑 ...
- angular 指令封装弹出框效果
就直接用bs的警告框啦~,Duang~ 功能 可以设置message和type,type就是bs内置的几种颜色 默认提示3秒框自动关闭,或者点击x号关闭 代码 模板 <div class=&qu ...
- Fedora 25/24/23 nVidia Drivers Install Guide
https://www.if-not-true-then-false.com/2015/fedora-nvidia-guide/ search Most Popular Featured Linux ...
- android mvp高速开发框架介绍(dileber的简单介绍)
今天我为大家介绍一款android mvp框架:dileber(https://github.com/dileber/dileber.git) 官方交流qq群:171443726 我个人qq:2971 ...
- Java中ASM框架详解
什么是asm呢?asm是assembly的缩写,是汇编的称号,对于java而言,asm就是字节码级别的编程. 而这里说到的asm是指objectweb asm,一种.class的代码生成器的开源项目 ...