本系列博客旨在介绍无人驾驶领域中颇负盛名的KITTI公开数据集,首先整体介绍该数据集的由来、数据组织方式、官方开发工具的使用,重点详细介绍其中对于Object、Tracking和raw data的数据使用,主要分享了我在使用这些数据集时开发的一些工具,也介绍了Gihub上一些开源工具的使用,帮助大家在没有真实无人驾驶车辆时如何利用好KITTI数据集来实现和验证自己的算法。

【文章列表】
无人驾驶之KITTI数据集介绍与应用(一)——数据组织方式介绍
无人驾驶之KITTI数据集介绍与应用(二)——官方matlab代码使用与解读

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所示。
图1 KITTI数据集采集平台
图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文件和一个传感器标定文件,

图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图像或者激光雷达包围盒和鸟瞰图检测算法的优劣。
该部分数据可以针对你所开发检测算法的具体需求,选择下载图像或者雷达等数据,每个数据下载解压之后都包含trainingtesting两个文件夹,分别用于检测算法中作为训练数据和测试数据,其中训练数据包含有标注文件。需要注意的是对于object数据集,其数据并不是严格连续采集的数据,即都是单帧结果,只用于检测算法使用。

2.3 tracking数据组织方式

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

3. 小结

本博文主要简单介绍下整个KITTI数据集的构建和文件组织方式,熟悉了不同文件的含义之后,接下来熟悉一下KITTI官方提供的有关该数据集的开发工具和程序,见下一篇博客。

写博客不易,各位看官觉得对您有所帮助,麻烦点赞转载,转载请注明博客来源,多谢!

END
下一篇:无人驾驶之KITTI数据集介绍与应用(二): 介绍使用KITTI数据集相关代码

无人驾驶之KITTI数据集介绍与应用(一)——数据组织方式介绍相关推荐

  1. 计算机视觉数据集介绍:KITTI数据集

    KITTI数据集简介 KITTI数据集是由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,利用组装的设备齐全的采集车辆对实际交通场景进行数据采集获得的公开数据集.该数据集包含丰富多样的传感器数据( ...

  2. KITTI数据集(概念版)

    一.参考资料 KITTI 官网 kitti数据集各个榜单介绍 自动驾驶KITTI数据集详解 KITTI数据集简介与使用 kitti数据集各个榜单介绍 KITTI数据集介绍 KITTI数据集简介(一) ...

  3. KITTI数据集详解和评价标准

    from: https://blog.csdn.net/Solomon1558/article/details/70173223 摘要:本文融合了Are we ready for Autonomous ...

  4. 数据集:KITTI数据集分析

    摘要:本文融合了Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite和Vision meets Robotics: ...

  5. 【MMDetection3D】环境搭建,使用PointPillers训练测试可视化KITTI数据集

    文章目录 前言 3D目标检测概述 KITTI数据集简介 MMDetection3D 环境搭建 数据集准备 训练 测试及可视化 绘制损失函数曲线 参考资料 前言 2D卷不动了,来卷3D,之后更多地工作会 ...

  6. Kitti数据集的使用

    摘要:本文融合了Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite和Vision meets Robotics: ...

  7. 基于KITTI数据集的无人驾驶感知与传感器融合实现—(0)—照猫画虎

    基于KITTI数据集的无人驾驶感知与传感器融合实现-(0)-照猫画虎 学习前言 链接 项目介绍 项目效果 逻辑框架图 详细步骤 学习前言   最近自动驾驶蛮火的,我自己看这玩意也想弄弄,然后在百度AI ...

  8. KITTI数据集下载及介绍

    KITTI数据集下载及介绍 KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集.该数据集用于评测立体图像(stereo), ...

  9. 【3D目标检测】KITTI数据集介绍

    目录 概述 数据集下载 激光雷达数据(`data_ object_velodyne`) 图像数据(`data_ object_image_ 2`) 标注数据(`data_ object_label 2 ...

  10. 周末学习总结(LIO标定+kitti数据集的使用+evo工具的使用+开源数据集+ssh的使用)

    周末学习总结 LIO标定 lidar_IMU_calib lidar_align kitti数据集的使用 开源数据集 evo工具的使用 ssh 的使用 LIO标定 网上开源的标定包,用的比较多的是浙江 ...

最新文章

  1. JS(DOM对象 表单验证与正则表达)
  2. 由自动装箱和拆箱引发我看Integer源码
  3. C++ 中在函数的前面加上static的作用
  4. [转帖]如何在quartusII中调用modelsim-altera_百度文库
  5. ACL 2022 | 清华大学、DeepMind等指出现有小样本学习方法并不稳定有效,提出评价框架...
  6. 并发工具类纵览——建立起Java并发体系的大厦
  7. yelee主题博客四周变透明
  8. 【话题揭秘】某大型国有银行的敏捷落地实践
  9. 带有Prometheus的弹簧靴和千分尺第5部分:旋转Prometheus
  10. 前端学习(2698):重读vue电商网站19之处理图片预览操作
  11. 如何获取投票提交地址_简单实用 | 2019全国医院擂台赛投票攻略(县域版)
  12. 1.JUC锁的一些概念
  13. Java编程中常见异常有哪些?
  14. LA 3713 Astronauts
  15. 常用的vim命令,主要是写给宝贝儿方便工作查看的
  16. 声纹技术(三):声纹识别技术
  17. 凿开数据冰层,透出智能时代的光:华为云与开发者的结伴旅行
  18. 硬盘读不出来如何恢复?好用的数据恢复软件分享
  19. 机房气体消防系统设计重点
  20. 立方体三维之立方体平行投影

热门文章

  1. Elasticsearch 结合dynamic-synonym实现同义词热加载
  2. 痛苦的挣扎--msp430g2553我恨你!
  3. ribbon的注解 @LoadBalanced 报错 No instances available for [IP]
  4. 计算机发展变化英文作文60词,生活中的变化英文作文(精选4篇)
  5. 【高数】高数第五章节——定积分积分上限函数牛顿——莱布尼兹公式反常积分与广义积分
  6. Linux用SSH密匙登录
  7. MSOCache 文件夹是否可以删除
  8. 古剑奇谭网络版服务器位置,《古剑奇谭网络版》【网元平台】服务器数据互通调研公告...
  9. 数据结构队列的代码实现
  10. WordPress主题仿什么值得买风格模板源码