kitti数据集介绍

 

参考

1,一文多图搞懂KITTI数据集下载及解析

2,KITTI 原始bin数据转pcd数据

3,kitti LIDAR点云二进制文件的读取和显示

4,KITTI数据集

5,KITTI数据集的使用——雷达与相机的数据融合(讲解了坐标系转换的公式)

 

 

 

image_00:左侧灰度相机图像序列
image_01:右侧灰度相机图像序列
image_02:左侧彩色相机图像序列
image_03:右侧彩色相机图像序列
oxts:GPS/IMU位姿相关信息序列
velodyne_points:激光雷达数据序列 

 

image_00 _01 ... 文件夹下:

    

    data 图片文件

    timestamps时间戳文件

 

oxts文件夹下:

  

 

  数据文件

  数据介绍

  时间戳文件

 velodyne_points文件夹

  

 

  data: 包含有雷达扫描到的数据,点云形式,每个点以 (x,y,z,i) 格式存储,i为反射值

  时间戳文件:start+end/2中心时间文件  start文件  end文件

 

 

calib文件:

calib_cam_to_cam.txt,包含各相机的标定参数

  • S_xx: 1x2 矫正前xx号相机的图片尺寸
  • K_xx: 3x3 矫正前xx号相机的标定参数
  • D_xx: 1x5 矫正前xx号相机的畸变系数
  • R_xx: 3x3 外参,xx号相机的旋转矩阵
  • T_xx: 3x1 外参,xx号相机的平移矩阵
  • S_rect_xx: 1x2 矫正后XX号相机的图片尺寸
  • R_rect_xx: 3x3 旋转矩阵,用于矫正xx号相机,使得图像平面共面(原话是make image planes co-planar)。
  • P_rect_0x: 3x4 投影矩阵,用于从矫正后的0号相机坐标系 投影到 X号相机的图像平面。

这里只用到最后两个矩阵R_rect和P_rect

calib_velo_to_cam.txt,从雷达坐标系到0号相机坐标系的转换

  • R: 3x3 旋转矩阵
  • T: 3x1 平移矩阵
  • delta_f 和delta_c 已被弃用

由此可以得出从雷达坐标系变换到xx号相机的图像坐标系的公式:

设X为雷达坐标系中的齐次坐标,Y为对应在xx号相机的图像坐标系的齐次坐标,则

  • (R|T) :        雷达坐标系  ->  0号相机坐标系
  • R_rect_00: 0号相机坐标系 -> 矫正后的0号相机坐标系
  • P_rect_0x: 矫正后的0号相机坐标系  ->  x号相机的图像平面

    解读devkit

    官网提供的样例代码中 run_demoVelodyne.m 实现了将雷达点云投影到相机图像

    代码流程

    1. 从所给路径中读取标定文件,获取具体矩阵数值
    2. 根据上述公式,计算投影矩阵 P_velo_to_img,即 Y = P_velo_to_img * X
    3. 从所给路径中读取相机图片,并加载雷达的点云数据。由于只做展示用,为了加快运行速度,对于雷达点云,每隔5个点只保留1个点
    4. 移除那些距离雷达5米之内(雷达的x方向)的点 (猜测这些点落在相机和雷达之间,故不会出现在图像平面上)
    5. 作投影计算,得到投影到二维图像上的点
      6.在图像上画出投影后的点,按照深度(雷达点的x方向值)确定颜色,彩色则是暖色越近,冷色越远;灰度则是深色越近,浅色越远。

 

 

 

 

posted @ 2021-05-11 10:22  ashuo  阅读(5440)  评论(0编辑  收藏  举报