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 ...
随机推荐
- Projective Texture的原理与实现 【转】
Projective Texture是比较常见的一种技术,实现起来代码也就区区的不过百行,了解其原理及技术细节是我们的重点,知其然,知其所以然. 粗略的说就是想象场景 ...
- PS 如何制作眼泪效果
1.用钢笔工具勾出眼泪的路径然后按Ctrl + Enter转为选区 2.按Ctrl + J 把选区复制出来,执行滤镜 > 扭曲 > 球面化 同样的方法制作流出的眼泪,然后添加图层样式选择投 ...
- git 强制覆盖,分支合并
强制合并 git fetch --all && git reset --hard origin/master && git pull 合并代码 git commit - ...
- Unable to satisfy the following requirements解决方式
今天从git上面download我们项目,然后向往常一样安装Cocoapods.可是却突然发现报错了,尝试了几遍.发现一直报错. 然后我这才看了一下,安装Cocoapods的日志,发现抛出了一个报错. ...
- Sql语言复习
一.创建数据库 创建和打开数据库 注意一点:在新建数据库的时候,一般放置数据文件与日志文件的位置,需要提前建立文件夹,不然会报错. 一般主数据文件,我们以.mdf结尾,次数据文件用.ndf结尾.对于日 ...
- C#应该掌握的一些东西
C#应该掌握的一些东西 随着培训机构的增多,越来越多的人进入IT行业.那么对于我们这些自学出来,经验不够丰富的转行者来说,我们需要掌握最起码的一些东西,这对于面试很有用,而且在工作中也很常用.本人 ...
- HDU 5667 :Sequence
Sequence Accepts: 59 Submissions: 650 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536 ...
- Codeforces 569 B. Inventory
click here~~ **B. Inventory** time limit per test1 second memory limit per test256 megabytes inputst ...
- 实习日记)select option 选择不同的option时, 页面发生不同的变化
怎么在下拉框的选择不同的option时, 页面发生响应的变化 因为option是没有点击事件什么的, 只有select才有, 所以不能通过option的点击事件来完成, 所以开始的尝试都失败了(之前 ...
- java中使用opencv
Java + opencv学习:在Eclipse下配置基于Java的OpenCV开发环境 2016-04-08 17:43 6491人阅读 评论(0) 收藏 举报 分类: OpenCV学习(10) ...