KITTI数据集简介与使用

2023-05-16

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

摘要:本文融合了Are we ready for Autonomous Driving? The KITTI Vision Benchmark SuiteVision meets Robotics: The KITTI Dataset两篇论文的内容,主要介绍KITTI数据集概述,数据采集平台,数据集详细描述,评价准则以及具体使用案例。本文对KITTI数据集提供一个较为详细全面的介绍,重点关注利用KITTI数据集进行各项研究与实验。

  1. KITTI数据集概述

KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。该数据集用于评测立体图像(stereo),光流(optical flow),视觉测距(visual odometry),3D物体检测(object detection)和3D跟踪(tracking)等计算机视觉技术在车载环境下的性能。KITTI包含市区、乡村和高速公路等场景采集的真实图像数据,每张图像中最多达15辆车和30个行人,还有各种程度的遮挡与截断。整个数据集由389对立体图像和光流图,39.2 km视觉测距序列以及超过200k 3D标注物体的图像组成[1] ,以10Hz的频率采样及同步。总体上看,原始数据集被分类为’Road’,  ’City’,  ’Residential’, ’Campus’ 和 ’Person’。对于3D物体检测,label细分为car, van, truck, pedestrian, pedestrian(sitting), cyclist, tram以及misc组成。

6d73a61b05b6cdcc55abd109d164b439.jpeg

  1. 数据采集平台

    如图-1所示,KITTI数据集的数据采集平台装配有2个灰度摄像机,2个彩色摄像机,一个Velodyne 64线3D激光雷达,4个光学镜头,以及1个GPS导航系统。具体的传感器参数如下[2] :

• 2 × PointGray Flea2 grayscale cameras (FL2-14S3M-C), 1.4 Megapixels, 1/2” Sony ICX267 CCD, global shutter

• 2 × PointGray Flea2 color cameras (FL2-14S3C-C), 1.4 Megapixels, 1/2” Sony ICX267 CCD, global shutter

• 4 × Edmund Optics lenses, 4mm, opening angle ∼ 90◦, vertical opening angle of region of interest (ROI) ∼ 35◦

• 1 × Velodyne HDL-64E rotating 3D laser scanner, 10 Hz, 64 beams, 0.09 degree angular resolution, 2 cm distance accuracy, collecting ∼ 1.3 million points/second, field of view: 360◦ horizontal, 26.8◦ vertical, range: 120 m

• 1 × OXTS RT3003 inertial and GPS navigation system, 6 axis, 100 Hz, L1/L2 RTK, resolution: 0.02m / 0.1◦

dc7510a9ffdb721d4e2587b6356fe7c8.jpeg

图-1 数据采集平台

如图-2所示为传感器的配置平面图。为了生成双目立体图像,相同类型的摄像头相距54cm安装。由于彩色摄像机的分辨率和对比度不够好,所以还使用了两个立体灰度摄像机,它和彩色摄像机相距6cm安装。为了方便传感器数据标定,规定坐标系方向如下[2] :

• Camera: x = right,  y = down, z = forward 

• Velodyne: x = forward,  y = left, z = up

• GPS/IMU: x = forward,  y = left, z = up

1d9f67ac0e60db2d6061a3e4d495f10a.jpeg

图-2 传感器设置

  1. Dataset详述

图-3展示了KITTI数据集的典型样本,分为 ’Road’, ’City’, ’Residential’, ’Campus’ 和’Person’五类。原始数据采集于2011年的5天,共有180GB数据。

2e17f6d0a9673b40f5199c0c39524678.jpeg

图-3 KITTI数据集的样本,展现KITTI数据集的多样性。

3.1 数据组织形式

论文[2] 中提及的数据组织形式,可能是早期的版本,与目前KITTI数据集官网公布的形式不同,本文稍作介绍。

如图-4所示,一个视频序列的所有传感器数据都存储于data_drive文件夹下,其中date和drive是占位符,表示采集数据的日期和视频编号。时间戳记录在Timestamps.txt文件。

328afdc86cfbcf5990c895877d97c2af.jpeg

图-4 数据组织形式

对于从KITTI数据集官网下载的各个分任务的数据集,其文件组织形式较为简单。以Object detection为例,下图是Object Detection Evaluation 2012标准数据集中left color images文件的目录结构,样本分别存储于testing和training数据集。

data_object_image_2

|── testing

│   └── image_2

└── training

    └── image_2

下图是training数据集的label文件夹目录结构。

training/

└── label_2

3.2 Annotations

KITTI数据集为摄像机视野内的运动物体提供一个3D边框标注(使用激光雷达的坐标系)。该数据集的标注一共分为8个类别:’Car’, ’Van’, ’Truck’, ’Pedestrian’, ’Person (sit- ting)’, ’Cyclist’, ’Tram’ 和’Misc’ (e.g., Trailers, Segways)。论文[2] 中说明了3D标注信息存储于date_drive_tracklets.xml,每一个物体的标注都由所属类别和3D尺寸(height,weight和length)组成。当前数据集的标注存于每种任务子数据集的label文件夹中,稍有不同。

为了说明KITTI数据集的标注格式,本文以Object detection任务的数据集为例。数据说明在Object development kit的readme.txt文档中。从标注数据的链接 training labels of object data set (5 MB)下载数据,解压文件后进入目录,每张图像对应一个.txt文件。一帧图像与其对应的.txt标注文件如图-5所示。

33d1c00acdc101f031d4144ec325c7db.jpeg

图-5 object detection样本与标注

为了理解标注文件各个字段的含义,需要阅读解释标注文件的readme.txt文件。该文件存储于object development kit (1 MB)文件中,readme详细介绍了子数据集的样本容量,label类别数目,文件组织格式,标注格式,评价方式等内容。下面介绍数据格式的label描述:

eff33026b2ba4f95c1ac6e23251510db.jpeg

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

3.3 Development Kit

KITTI各个子数据集都提供开发工具 development kit,主要由cpp文件夹,matlab文件夹,mapping文件夹和readme.txt组成。下图以object detection任务的文件夹devkit_object为例,可以看到cpp文件夹主要包含评估模型的源代码evaluate_object.cpp。Mapping文件夹中的文件记录训练集到原始数据集的映射,从而开发者能够同时使用激光雷达点云,gps数据,右边彩色摄像机数据以及灰度摄像机图像等多模态数据。Matlab文件夹中的工具包含读写标签,绘制2D/3D标注框,运行demo等工具。Readme.txt文件非常重要,详述介绍了某个子数据集的数据格式,benchmark介绍,结果评估方法等详细内容。

devkit_object

|── cpp

│   |── evaluate_object.cpp

│   └── mail.h

|── mapping

│   |── train_mapping.txt

│   └── train_rand.txt

|── matlab

│   |── computeBox3D.m

│   |── computeOrientation3D.m

│   |── drawBox2D.m

│   |── drawBox3D.m

│   |── projectToImage.m

│   |── readCalibration.m

│   |── readLabels.m

│   |── run_demo.m

│   |── run_readWriteDemo.m

│   |── run_statistics.m

│   |── visualization.m

│   └── writeLabels.m

└── readme.txt

  1. 评价准则Evaluation Metrics

4.1 stereo与visual odometry任务

KITTI数据集针对不同的任务采用不同的评价准则。对于立体图像和光流(stereo and optical flow),依据disparity 和end-point error计算得到平均错误像素数目(average number of erroneous pixels)。

对于视觉测距和SLAM任务(visual odometry/SLAM),根据轨迹终点(trajectory end-point)的误差进行评估。传统的方法同时考虑平移和旋转的误差,KITTI分开评估[1] :

0500821055347c4c784fbd4011d26cd4.jpeg

图-6 Stereo和optical flow的预测结果与评估

4.2 3D物体检测和方向预测

目标检测需要同时实现目标定位和目标识别两项任务。其中,通过比较预测边框和ground truth边框的重叠程度(Intersection over Union,IoU)和阈值(e.g. 0.5)的大小判定目标定位的正确性;通过置信度分数和阈值的比较确定目标识别的正确性。以上两步综合判定目标检测是否正确,最终将多类别目标的检测问题转换为“某类物体检测正确、检测错误”的二分类问题,从而可以构造混淆矩阵,使用目标分类的一系列指标评估模型精度。

KITTI数据集采用文献[3] 用到的平均正确率(Average Precision,mAP)评估单类目标检测模型的结果。PASCAL Visual Object Classes Challenge2007 (VOC2007)[3] 数据集使用Precision-Recall曲线进行定性分析,使用average precision(AP)定量分析模型精度。物体检测评估标准对物体漏检和错检进行惩罚,同时规定对同一物体重复且正确的检测只算一次,多余的检测视为错误(假阳性)。

d9917923b65a9efa48ccccd2549652d9.jpeg

对于KITTI目标检测任务,仅仅评估目标高度大于25pixel的预测结果,将易混淆的类别视为同一类以减少假阳性(false positives)率,并且使用41个等间距recall上的精确值的平均值近似计算分类器的AP。

对于物体方向预测,文献[1] 提出了一种新颖的方法:平均方向相似性,Average Orientation Similarity (AOS)。该指标被定义为:

8674b398d979bd3627a2783573e156d9.png

其中,r代表物体检测的召回率recall。在因变量r下,方向相似性s∈[0,1]被定义为所有预测样本与ground truth余弦距离的归一化:

f8dc9c5d4319538e156a304ee29ef5ba.png

其中D(r)表示在召回率r下所有预测为正样本的集合,∆θ(i) 表示检出物体i的预测角度与ground truth的差。为了惩罚多个检出匹配到同一个ground truth,如果检出i已经匹配到ground truth(IoU至少50%)设置δi = 1,否则δi = 0。

5. 数据使用实践

KITTI数据集的标注信息更加丰富,在实际使用中可能只需要一部分字段,或者需要转换成其他数据集的格式。例如可以将KITTI数据集转换成PASCAL VOC格式,从而更方便地使用Faster RCNN或者SSD等先进的检测算法进行训练。转换KITTI数据集需要注意源数据集和目标数据集的格式,类别标签的重新处理等问题,实现细节建议参考Jesse_Mx[4] 和github上manutdzou的开源项目[5] ,这些资料介绍了转换KITTI数据集为PASCAL VOC格式,从而方便训练Faster RCNN或者SSD等模型。

Reference

  1. Andreas Geiger and Philip Lenz and Raquel Urtasun. Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite. CVPR, 2012    

  2. Andreas Geiger and Philip Lenz and Christoph Stiller and Raquel Urtasun. Vision meets Robotics: The KITTI Dataset. IJRR, 2013    

  3. M. Everingham, L.Van Gool, C. K. I.Williams, J.Winn, and A. Zisserman. The PASCAL Visual Object Classes Challenge 2011 (VOC2011) Results.

  4. Jesse_Mx.SD: Single Shot MultiBox Detector 训练KITTI数据集(1).

http://blog.csdn.net/jesse_mx/article/details/65634482

  1. manutdzou.manutdzou/KITTI_SSD.https://github.com/manutdzou/KITTI_SSD

附录

Fig.7 不同类别物体在数据集中出现的频率(上图);

对于两个主要类别(车辆,行人)主要的方向统计直方图(下图)

e6b0ca5ea52242a9b00cf68dc0948ebd.jpeg

Fig.8 每张图中不同类别物体出现频率统计。

9a1a438ada555b64bfca587cece97ae8.jpeg

Fig.9 分别为速度,加速度(排除静止状态)统计直方图;视频序列长度统计直方图;每种场景(e.g.,  Campus, city)的帧数统计直方图。

015b932c418b100c99273d473006d637.png


  

好消息!

小白学视觉知识星球

开始面向外开放啦👇👇👇


  

c746880dd263a40ea16975b3b94b998d.jpeg

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。


下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。


下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。


交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

KITTI数据集简介与使用 的相关文章

随机推荐

  • Opencv实战 | 用摄像头自动化跟踪特定颜色物体

    点击上方 小白学视觉 xff0c 选择加 34 星标 34 或 置顶 重磅干货 xff0c 第一时间送达 本文转自 xff1a 新机器视觉 1 导语 在之前的某个教程里 xff0c 我们探讨了如何控制Pan Tilt Servo设备来安置一
  • 使用OpenCV和TesseractOCR进行车牌检测

    点击上方 小白学视觉 xff0c 选择加 34 星标 34 或 置顶 重磅干货 xff0c 第一时间送达 目录 1 xff09 目的和简介 2 xff09 前言 3 xff09 使用OpenCV和Haar级联进行车牌检测 4 xff09 使
  • GPS(全球定位系统)

    GPS 全球定位系 统 xff0c 是美国国防部为陆 xff0c 海 xff0c 空三军研制的新一代卫星导航定位系统 xff0c 它是以 24 颗人造卫星作为基础 xff0c 全天候地向全球各地用户提供时实的三维定位 三维测速和全球同步时间
  • 单应性矩阵应用-基于特征的图像拼接

    点击上方 小白学视觉 xff0c 选择加 34 星标 34 或 置顶 重磅干货 xff0c 第一时间送达 本文转自 xff1a 深度学习这件小事 前言 前面写了一篇关于单应性矩阵的相关文章 xff0c 结尾说到基于特征的图像拼接跟对象检测中
  • 前沿 | 一文详解自动驾驶激光雷达和摄像头的数据融合方法

    点击上方 小白学视觉 xff0c 选择加 34 星标 34 或 置顶 重磅干货 xff0c 第一时间送达 本文转自 xff1a 计算机视觉联盟 自动驾驶感知模块中传感器融合已经成为了标配 xff0c 只是这里融合的层次有不同 xff0c 可
  • 使用 YOLO 进行目标检测

    点击上方 小白学视觉 xff0c 选择加 34 星标 34 或 置顶 重磅干货 xff0c 第一时间送达 自从世界了解人工智能以来 xff0c 有一个特别的用例已经被讨论了很多 它们是自动驾驶汽车 我们经常在科幻电影中听到 读到甚至看到这些
  • 概述 | 全景图像拼接技术全解析

    点 击上方 小白学视觉 xff0c 选择加 34 星标 34 或 置顶 重磅干货 xff0c 第一时间送达 前言 图像 视频拼接的主要目的是为了解决相机视野 xff08 FOV Field Of View xff09 限制 xff0c 生成
  • 我靠这份无人机完全指南吹了一整年牛!

    对于多数无人机爱好者来说 xff0c 能自己从头开始组装一台无人机 xff0c 之后加入AI算法 xff0c 能够航拍 xff0c 可以进行目标跟踪 xff0c 是每个人心中的梦想 亲自从零开始完成复杂系统 xff0c 这是掌握核心技术的必
  • 奇异值分解(SVD)原理总结

    点击上方 小白学视觉 xff0c 选择加 34 星标 34 或 置顶 重磅干货 xff0c 第一时间送达 前言 奇异值分解 xff08 SVD xff09 在降维 xff0c 数据压缩 xff0c 推荐系统等有广泛的应用 xff0c 任何矩
  • 用Python实现神经网络(附完整代码)!

    点击上方 小白学视觉 xff0c 选择加 34 星标 34 或 置顶 重磅干货 xff0c 第一时间送达 在学习神经网络之前 xff0c 我们需要对神经网络底层先做一个基本的了解 我们将在本节介绍感知机 反向传播算法以及多种梯度下降法以给大
  • 一文图解卡尔曼滤波(Kalman Filter)

    点击上方 小白学视觉 xff0c 选择加 34 星标 34 或 置顶 重磅干货 xff0c 第一时间送达 译者注 xff1a 这恐怕是全网有关卡尔曼滤波最简单易懂的解释 xff0c 如果你认真的读完本文 xff0c 你将对卡尔曼滤波有一个更
  • 计算机视觉方法概述

    点击上方 小白学视觉 xff0c 选择加 34 星标 34 或 置顶 重磅干货 xff0c 第一时间送达 一 资源简介 今天给大家推荐一份最新的计算机视觉方法概述 xff0c 这份综述详细的讲述了当前计算机视觉领域中各种机器学习 xff0c
  • 通俗易懂的YOLO系列(从V1到V5)模型解读!

    点击上方 小白学视觉 xff0c 选择加 34 星标 34 或 置顶 重磅干货 xff0c 第一时间送达 0 前言 本文目的是用尽量浅显易懂的语言让零基础小白能够理解什么是YOLO系列模型 xff0c 以及他们的设计思想和改进思路分别是什么
  • PWM电流源型逆变器

    nbsp nbsp nbsp nbsp 随着科学技术和生产力的发展 各种结构型式和各种控制方法的逆变器相继问世 而就逆变器而言 不管输出要求恒频恒压还是变频变压 有效消除或降低输出谐波是基本要求 因而逆变电源的谐波抑制一直是研究者致力于解决
  • 下划线在 Python 中的特殊含义

    点击上方 小白学视觉 xff0c 选择加 34 星标 34 或 置顶 重磅干货 xff0c 第一时间送达 Python 中的下划线 下划线在 Python 中是有特殊含义的 xff0c 它们在 Python 的不同地方使用 下面是 Pyth
  • UFA-FUSE:一种用于多聚焦图像融合的新型深度监督混合模型

    点击上方 小白学视觉 xff0c 选择加 34 星标 34 或 置顶 重磅干货 xff0c 第一时间送达 小白导读 论文是学术研究的精华和未来发展的明灯 小白决心每天为大家带来经典或者最新论文的解读和分享 xff0c 旨在帮助各位读者快速了
  • 实战 | 如何制作一个SLAM轨迹真值获取装置?

    点击上方 小白学视觉 xff0c 选择加 34 星标 34 或 置顶 重磅干货 xff0c 第一时间送达 本文知乎作者杨小东授权转载 xff0c 未经授权禁止二次转载 原文 xff1a https zhuanlan zhihu com p
  • 通俗易懂理解朴素贝叶斯分类的拉普拉斯平滑

    点击上方 小白学视觉 xff0c 选择加 34 星标 34 或 置顶 重磅干货 xff0c 第一时间送达 这个男生的四个特征是长相不帅 xff0c 性格不好 xff0c 身高矮 xff0c 不上进 xff0c 我们最终得出的结论是女生不嫁
  • 综述 | 激光与视觉融合SLAM

    点击上方 小白学视觉 xff0c 选择加 34 星标 34 或 置顶 重磅干货 xff0c 第一时间送达 SLAM包含了两个主要的任务 xff1a 定位与构图 xff0c 在移动机器人或者自动驾驶中 xff0c 这是一个十分重要的问题 xf
  • KITTI数据集简介与使用

    点击上方 小白学视觉 xff0c 选择加 34 星标 34 或 置顶 重磅干货 xff0c 第一时间送达 摘要 xff1a 本文融合了Are we ready for Autonomous Driving The KITTI Vision