1、KITTI 数据集采集平台:

    KITTI 数据采集平台包括 2 个灰度摄像机,2 个彩色摄像机,一个 Velodyne 3D 激光雷达,4 个光学镜头,以及 1 个 GPS 导航系统。坐标系转换原理参见click。KITTI 提供的数据中都包含三者的标定文件,不需人工转换。

    kitti 数据集解析 - U_C - 博客园 - 图1
    kitti 数据集解析 - U_C - 博客园 - 图2

    2、KITTI 数据集,label 文件解析:

    1. Car :物体类别
    2. 0.00 :截断,从 0(非截断)到 1(截断)浮动
    3. 0 :整数 0,1,2,3 表示被遮挡的程度,‘3’表示完全遮挡(unknown)
    4. -1.84 :物体的观察角度,范围:-pi~pi
    5. 662.20 :物体的 2 维边界框,左上角和右下角的像素坐标
    6. 185.85
    7. 690.21
    8. 205.03
    9. 1.48 :h。3 维物体的尺寸,高、宽、长(单位:米)
    10. 1.36 :w
    11. 3.51 :l
    12. 5.35 :3 维物体的位置 x,y,z(在照相机坐标系下,单位:米)
    13. 2.56 :
    14. 58.84 :Z
    15. -1.75:rotation_y,在照相机坐标系下,相对于 y 轴的旋转角,范围:-pi~pi

    第 1 个字符串:代表物体类别

    ‘Car’, ‘Van’, ‘Truck’,’Pedestrian’, ‘Person_sitting’,’Cyclist’,’Tram’,’Misc’or’DontCare’

    注意:’DontCare’ 标签表示该区域没有被标注,比如由于目标物体距离激光雷达太远。为了防止在评估过程中(主要是计算 precision),将本来是目标物体但是因为某些原因而没有标注的区域统计为假阳性 (false positives),评估脚本会自动忽略’DontCare’ 区域的预测结果。

    第 2 个数:代表物体是否被截断,从 0(非截断)到 1(截断)浮动,其中 truncated 指离开图像边界的对象

    第 3 个数:代表物体是否被遮挡,整数 0,1,2,3 表示被遮挡的程度

    0:完全可见 1:小部分遮挡 2:大部分遮挡 3:完全遮挡(unknown)

    第 4 个数:alpha,物体的观察角度,范围:-pi~pi
    image.png
    第 5~8 这 4 个数:物体的 2 维边界框,左上角和右下角的像素坐标

    第 9~11 这 3 个数:3 维物体的尺寸,高、宽、长(单位:米)

    第 12~14 这 3 个数:3 维物体的位置 x,y,z(在照相机坐标系下,单位:米)

    第 15 个数:3 维物体的空间方向:rotation_y,在照相机坐标系下,相对于 y 轴的旋转角,范围:-pi~pi

    有些有第 16 个数:检测的置信度 , 仅用于结果:浮点,p / r 曲线所需,越高越好

    3、KITTI 数据集,calib 解析

    kitti 数据集解析 - U_C - 博客园 - 图4

    要将 Velodyne 坐标中的点 x 投影到左侧的彩色图像中 y:

    使用公式:y = P2 R0_rect Tr_velo_to_cam * x

    将 Velodyne 坐标中的点投影到右侧的彩色图像中:

    使用公式:y = P3 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 的相机(参考相机)坐标系中,再修正

    P2 R0_rect Tr_velo_to_cam * x :是将 Velodyne 坐标中的点 x 投影到编号为 0 的相机(参考相机)坐标系中,再修正,然后投影到编号为 2 的相机(左彩色相机)

    注意:所有矩阵都存储在主行中,即第一个值对应于第一行。 R0_rect 包含一个 3x3 矩阵,需要将其扩展为 4x4 矩阵,方法是在右下角添加 1,在其他位置添加 0。 Tr_xxx 是一个 3x4 矩阵(R | t),需要以相同的方式扩展到 4x4 矩阵!

    通过使用校准文件夹中的 3x4 投影矩阵,可以将相机坐标系中的坐标投影到图像中,对于提供图像的左侧彩色相机,必须使用 P2。rotation_y 和 alpha 之间的区别在于 rotation_y 直接在相机坐标中给出,而 alpha 也会考虑从相机中心到物体中心的矢量,以计算物体相对于相机的相对方向。 例如,沿着摄像机坐标系的 X 轴面向的汽车,无论它位于 X / Z 平面(鸟瞰图)中的哪个位置,它的 rotation_y 都为 0,而只有当此车位于相机的 Z 轴上时α才为零,当此车从 Z 轴移开时,观察角度α将会改变。

    3、KITTI 数据集,velodyne 解析

    kitti 数据集解析 - U_C - 博客园 - 图5

    即,数据被保存为. bin 文件,并且,每一个点包含 3 个坐标和反射率信息,即 (x,y,z,r),并且数据类型为浮点数类型,如下图所示:

    kitti 数据集解析 - U_C - 博客园 - 图6

    参考网址:

    https://blog.csdn.net/cuichuanchen3307/article/details/80596689
    https://blog.csdn.net/julialove102123/article/details/78432496
    https://blog.csdn.net/hit1524468/article/details/79766805

    https://www.cnblogs.com/llfctt/p/9317653.html