无人驾驶之KITTI数据集介绍与应用——数据组织方式介绍

KITTI数据集是由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,利用组装的设备齐全的采集车辆对实际交通场景进行数据采集获得的公开数据集。该数据集包含丰富多样的传感器数据(有双目相机、64线激光雷达、GPS/IMU组合导航定位系统,基本满足对图像、点云和定位数据的需求)、大量的标定真值(包括检测2D和3D包围框、跟踪轨迹tracklet)和官方提供的一些开发工具等。

1. 采集平台介绍
此部分主要参考KITTI官网setup部分内容。

如图1所示,KITTI数据集所采用的采集车为经过改装过的大众帕萨特B6,使用8核i7计算机,运行在Ubuntu系统下进行数据录制,采集平台包含如下传感器:

1个惯性导航系统(GPS/IMU):OXTS RT 3003
1个激光扫描仪:Velodyne HDL-64E
2个灰度相机,140万像素:Point Grey Flea 2(FL2-14S3M-C)
2个彩色相机,140万像素:Point Grey Flea 2(FL2-14S3C-C)
4个变焦镜头,4-8mm:Edmund Optics NT59-917
激光雷达扫描频率为10帧/s,相机基本上和地平面保持水平,图像采集尺寸被裁减为1382x512像素,在经过校正后,图像可能会进一步变小,相机的采集频率也保持在10HZ并且在激光雷达朝向正前方时释放快门,传感器的整体布置图如图2所示。

无人驾驶之KITTI数据集介绍与应用——数据组织方式介绍_第1张图片

                                                               图1 KITTI数据集采集平台

 

无人驾驶之KITTI数据集介绍与应用——数据组织方式介绍_第2张图片

                                                                             图2 传感器布置俯视图


从图1和图2中可以看到不同传感器的坐标系定义(上下左右以驾驶员为基准):
相机:x轴——向右,y轴——向下,z轴——向前;
激光雷达:x轴——向前,y轴——向左,z轴——向上;
组合导航:同激光雷达。
注: 此处坐标系的定义对后续数据的可视化和分析,以及标定矩阵的理解和使用至关重要,需要熟悉。

2. 数据组织方式
此部分主要参考KITTI官方发表的论文:
1、Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite
2、Vision meets Robotics: The KITTI Dataset
建议想对KITTI数据有深入了解或者想从宏观上了解整个无人驾驶系统的硬件构成的读者可以认真阅读一下这两篇论文。

KITTI数据集针对不同的用途,将数据集分为如下部分:stereo、flow、sceneflow、depth、odometry、object、tracking、road、semantics和raw data,不同部分的数据包含不同的人为标注的真值数据,但其实针对不同用途的数据也基本上是从raw data数据中分离出来的,为此主要介绍raw data中数据的组织方式,此外也介绍一下object和tracking数据的组织方式。

2.1 raw data组织方式
raw data数据集按照类别被分为Road、City、Residential、Campus和Person。如图3所示,对于每一个序列,都提供了传感器原始数据,相机视野范围内的目标3D包围盒tracklets文件和一个传感器标定文件,

无人驾驶之KITTI数据集介绍与应用——数据组织方式介绍_第3张图片
                                                             图3 raw data数据文件组织结构图


其中"date"和"drive"是占位符,根据当时采集的日期命名,"image_0x"指的是4个相机序列。

所有数据都是同步采集的,按照激光雷达的频率(10hz)采集,所有传感器的数据序列都是以image_00作为同步参考系。
包括:

原始的(没有同步和没有矫正的)和处理过的(同步和矫正过)的双目灰度图像序列(50万像素、png格式)
原始的(没有同步和没有矫正的)和处理过的(同步和矫正过)的双目彩色图像序列(50万像素、png格式)
3D激光雷达数据(每帧10万+个点,.bin格式float矩阵存储)
标定文件(相机与相机之间、相机与GPS/IMU之间、相机与激光雷达之间,txt文本文件存储)
3D目标跟踪标签(汽车、卡车、火车、行人、自行车人,xml文件)
此处的非同步和非矫正的含义是指原始的带有畸变并且没有同步的数据,而同步和矫正的图片是指经过消除畸变并经过双目矫正的图片,并且图片序列也是和其他传感器对应好的。所有的数据都提供时间戳。一般我们用的是同步和矫正的数据(synced+rectified data)。

例如我们下载2011_09_26_drive_0005这个数据序列,最终解压得到的文件夹如下图所示:

在这里插入图片描述

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

2.2 object数据组织方式
object数据集主要用于验证无人驾驶中有关目标检测算法而设置的数据集,该数据集包含“2D Object Detection”、“3D Object Detection”和“Bird’s Eye View”三部分数据,分别用于验证2D图像检测框、3D图像或者激光雷达包围盒和鸟瞰图检测算法的优劣。
该部分数据可以针对你所开发检测算法的具体需求,选择下载图像或者雷达等数据,每个数据下载解压之后都包含training和testing两个文件夹,分别用于检测算法中作为训练数据和测试数据,其中训练数据包含有标注文件。需要注意的是对于object数据集,其数据并不是严格连续采集的数据,即都是单帧结果,只用于检测算法使用。

2.3 tracking数据组织方式
tracking数据集主要用于验证无人驾驶中有关目标跟踪算法而设置的数据集,其数据组织方式与object数据集类似,最大的区别在于tracking数据集每个数据序列是连续的。

你可能感兴趣的:(无人驾驶之KITTI数据集介绍与应用——数据组织方式介绍)