一、KITTI数据集采集平台:ui
KITTI数据采集平台包括2个灰度摄像机,2个彩色摄像机,一个Velodyne 3D激光雷达,4个光学镜头,以及1个GPS导航系统。坐标系转换原理参见click。KITTI提供的数据中都包含三者的标定文件,不需人工转换。url
二、KITTI数据集,label文件解析:spa
Car 0.00 0 -1.84 662.20 185.85 690.21 205.03 1.48 1.36 3.51 5.35 2.56 58.84 -1.75.net
第1个字符串:表明物体类别3d
'Car', 'Van', 'Truck','Pedestrian', 'Person_sitting', 'Cyclist','Tram', 'Misc' or 'DontCare'对象
注意:’DontCare’ 标签表示该区域没有被标注,好比因为目标物体距离激光雷达太远。为了防止在评估过程当中(主要是计算precision),将原本是目标物体可是由于某些缘由而没有标注的区域统计为假阳性(false positives),评估脚本会自动忽略’DontCare’ 区域的预测结果。blog
第2个数:表明物体是否被截断,从0(非截断)到1(截断)浮动,其中truncated指离开图像边界的对象ci
第3个数:表明物体是否被遮挡,整数0,1,2,3表示被遮挡的程度字符串
0:彻底可见 1:小部分遮挡 2:大部分遮挡 3:彻底遮挡(unknown)get
第4个数:alpha,物体的观察角度,范围:-pi~pi
第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曲线所需,越高越好
三、KITTI数据集,calib解析
要将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轴移开时,观察角度α将会改变。
三、KITTI数据集,velodyne解析
即,数据被保存为.bin文件,而且,每个点包含3个坐标和反射率信息,即(x,y,z,r),而且数据类型为浮点数类型,以下图所示:
参考网址:
https://blog.csdn.net/cuichuanchen3307/article/details/80596689
https://blog.csdn.net/julialove102123/article/details/78432496
https://blog.csdn.net/hit1524468/article/details/79766805