zoukankan      html  css  js  c++  java
  • 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方向值)确定颜色,彩色则是暖色越近,冷色越远;灰度则是深色越近,浅色越远。

  • 相关阅读:
    学生分数排序
    union 的一个简单例子,搜狗笔试题
    枚举的初始化赋值
    unsigned 赋值负数输出情况 & printf输出格式
    sizeof中的表达式不执行
    三级指针:百度试题
    生成器案例,#采集日志
    简述装饰器
    装饰器(转载)
    python写监控并发警报邮件
  • 原文地址:https://www.cnblogs.com/ashuoloveu/p/14747461.html
Copyright © 2011-2022 走看看