KITTI数据集下载及解析

article/2025/10/23 13:10:43

在这里插入图片描述

KITTI数据集下载及解析
W.P. Xiao, Vision group,SHUSV

版本更新时间更新内容作者
1V 1.02020.01.09完成主体内容W.P. Xiao
2

文章目录

  • KITTI Dataset
    • 1 简介
      • 1.1 数据采集平台
      • 1.2 坐标系
    • 2 数据解析
      • 2.1 image文件
      • 2.2 velodyne文件
      • 2.3 calib文件
      • 2.4 label文件
    • 3 KITTI可视化

KITTI Dataset

1 简介

  KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。该数据集用于评测立体图像(stereo),光流(optical flow),视觉测距(visual odometry),3D物体检测(object detection)和3D跟踪(tracking)等计算机视觉技术在车载环境下的性能。KITTI包含市区、乡村和高速公路等场景采集的真实图像数据,每张图像中最多达15辆车和30个行人,还有各种程度的遮挡与截断。 3D目标检测数据集由7481个训练图像和7518个测试图像以及相应的点云数据组成,包括总共80256个标记对象。

  下图红色框标记的为我们需要的数据,分别是彩色图像数据(12GB)、点云数据(29GB)、相机矫正数据(16MB)、标签数据(5MB)。其中彩色图像数据、点云数据、相机矫正数据均包含training(7481)和testing(7518)两个部分,标签数据只有training数据。
在这里插入图片描述

  • KITTI数据集下载官网 (不想爬梯子的朋友可移步我的CSDN博客:KITTI数据集下载(百度云))
  • 3D Object Detection经典论文整理【分类/下载/代码/笔记】
  • 基于OpenPCDet框架的基线模型下载及性能评估

1.1 数据采集平台

在这里插入图片描述

图1.1 3D物体的观察角和方位角

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

  • 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◦
    在这里插入图片描述

图1.2 传感器布置图

​ 传感器布置平面图如图1.2所示。为了生成双目立体图像,相同类型的摄像头相距54cm安装。由于彩色摄像机的分辨率和对比度不够好,所以还使用了两个立体灰度摄像机,它和彩色摄像机相距6cm安装。

1.2 坐标系

在这里插入图片描述

图1.3 物体坐标系

  • camera: x = right, y = down, z = forward
  • velodyne: x = forward, y = left, z = up
  • GPS/IMU: x = forward, y = left, z = up

2 数据解析

2.1 image文件

​ image文件以8位PNG格式存储,图集如下:
在这里插入图片描述

2.2 velodyne文件

​ velodyne文件是激光雷达的测量数据(绕其垂直轴(逆时针)连续旋转),以“000001.bin”文件为例,内容如下:

7b14 4642 1058 b541 9643 0340 0000 0000
46b6 4542 1283 b641 3333 0340 0000 0000
4e62 4042 9643 b541 b072 0040 cdcc 4c3d
8340 3f42 08ac b541 3bdf ff3f 0000 0000
e550 4042 022b b841 9cc4 0040 0000 0000
10d8 4042 022b ba41 4c37 0140 0000 0000
3fb5 3a42 14ae b541 5a64 fb3f 0000 0000
7dbf 3942 2731 b641 be9f fa3f 8fc2 f53d
cd4c 3842 3f35 b641 4c37 f93f ec51 383e
dbf9 3742 a69b b641 c3f5 f83f ec51 383e
2586 3742 9a99 b741 fed4 f83f 1f85 6b3e...

​ 点云数据以浮点二进制文件格式存储,每行包含8个数据,每个数据由四位十六进制数表示(浮点数),每个数据通过空格隔开。一个点云数据由四个浮点数数据构成,分别表示点云的x、y、z、r(强度 or 反射值),点云的存储方式如下表所示:

pointcloud-1pointcloud-2
xyzrxyzr
pointcloud-3pointcloud-4
xyzrxyzr
...pointcloud-n
xyzrxyzr

2.3 calib文件

​ calib文件是相机、雷达、惯导等传感器的矫正数据。以“000001.txt”文件为例,内容如下:

P0: 7.215377000000e+02 0.000000000000e+00 6.095593000000e+02 0.000000000000e+00 0.000000000000e+00 7.215377000000e+02 1.728540000000e+02 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 0.000000000000e+00
P1: 7.215377000000e+02 0.000000000000e+00 6.095593000000e+02 -3.875744000000e+02 0.000000000000e+00 7.215377000000e+02 1.728540000000e+02 0.000000000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 0.000000000000e+00
P2: 7.215377000000e+02 0.000000000000e+00 6.095593000000e+02 4.485728000000e+01 0.000000000000e+00 7.215377000000e+02 1.728540000000e+02 2.163791000000e-01 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 2.745884000000e-03
P3: 7.215377000000e+02 0.000000000000e+00 6.095593000000e+02 -3.395242000000e+02 0.000000000000e+00 7.215377000000e+02 1.728540000000e+02 2.199936000000e+00 0.000000000000e+00 0.000000000000e+00 1.000000000000e+00 2.729905000000e-03
R0_rect: 9.999239000000e-01 9.837760000000e-03 -7.445048000000e-03 -9.869795000000e-03 9.999421000000e-01 -4.278459000000e-03 7.402527000000e-03 4.351614000000e-03 9.999631000000e-01
Tr_velo_to_cam: 7.533745000000e-03 -9.999714000000e-01 -6.166020000000e-04 -4.069766000000e-03 1.480249000000e-02 7.280733000000e-04 -9.998902000000e-01 -7.631618000000e-02 9.998621000000e-01 7.523790000000e-03 1.480755000000e-02 -2.717806000000e-01
Tr_imu_to_velo: 9.999976000000e-01 7.553071000000e-04 -2.035826000000e-03 -8.086759000000e-01 -7.854027000000e-04 9.998898000000e-01 -1.482298000000e-02 3.195559000000e-01 2.024406000000e-03 1.482454000000e-02 9.998881000000e-01 -7.997231000000e-01

​ 文件中每一行代表一个参数名,冒号后面是参数矩阵,具体如下:

  • P0~P4(P r e c t ( i ) _{rect}^{(i)} rect(i):矫正后的相机投影矩阵(R 3 x 4 ^{3\rm{x}4} 3x4

0、1、2、3 代表相机的编号,0表示左边灰度相机,1右边灰度相机,2左边彩色相机,3右边彩色相机。
T v e l o c a m = ( f u ( i ) 0 c u ( i ) − f u ( i ) b x ( i ) 0 f v ( i ) c v ( i ) 0 0 0 1 0 ) (1) \rm{\mathbf T}_{velo}^{cam} = \begin{pmatrix} f_{u}^{(i)} & 0 & c_{u}^{(i)} & -f_{u}^{(i)}b_{x}^{(i)} \\ 0 & f_{v}^{(i)} & c_{v}^{(i)} & 0 \\ 0 & 0 & 1 & 0 \end{pmatrix} \tag{1} Tvelocam=fu(i)000fv(i)0cu(i)cv(i)1fu(i)bx(i)00(1)
其中b (i) x表示相对于参考摄像机0的基准值(以米为单位)。

  • R0_rect(R r e c t ( i ) _{rect}^{(i)} rect(i):矫正后的相机旋转矩阵(R 3 x 3 ^{3\rm{x}3} 3x3

在实际计算时,需要将该3x3的矩阵扩展为4x4的矩阵,方法为在第四行和第四列添加全为0的向量,并且将(4, 4)的索引值设为1。

  • Tr_velo_to_cam(T v e l o c a m _{velo}^{cam} velocam:从雷达到相机的旋转平移矩阵(R 3 x 4 ^{3\rm{x}4} 3x4

在实际计算时,需要将该3x4的矩阵扩展为4x4的矩阵,方法为增加第四行向量[0,0,0,1]。这个矩阵其实包括了两个部分,其一是3x3的旋转矩阵,其二是1x3的平移向量
T v e l o c a m = ( R v e l o c a m t v e l o c a m 0 1 ) (2) \rm{\mathbf T}_{velo}^{cam} = \begin{pmatrix} \rm{\mathbf R}_{velo}^{cam} & \rm{\mathbf t}_{velo}^{cam} \\ 0 & 1 \end{pmatrix} \tag{2} Tvelocam=(Rvelocam0tvelocam1)(2)
R v e l o c a m ∈ R 3 x 3 . . . r o t a t i o n m a t r i x : v e l o d y n e → c a m e r a t v e l o c a m ∈ R 3 x 3 . . . t r a n s l a t i o n v e c t o r : v e l o d y n e → c a m e r a (3) \begin{aligned} \rm{\mathbf R}_{velo}^{cam} \in \rm{R^{3x3}}\ ...rotation\ matrix: velodyne \to camera\\ \rm{\mathbf t}_{velo}^{cam} \in \rm{R^{3x3}}\ ...translation\ vector: velodyne \to camera \end{aligned} \tag{3} RvelocamR3x3 ...rotation matrix:velodynecameratvelocamR3x3 ...translation vector:velodynecamera(3)

  • Tr_imu_to_velo(T i m u v e l o _{imu}^{velo} imuvelo:从惯导或GPS装置到相机的旋转平移矩阵(R 3 x 4 ^{3\rm{x}4} 3x4

与Tr_velo_to_cam类似。

​ * 如果要将激光雷达坐标系中的点x投影到左侧的彩色图像(P2)y中,可使用如下公式:
y = P 2 ∗ R 0 _ r e c t ∗ T r _ v e l o _ t o _ c a m ∗ x (4) \rm{y} = P2 * R0\_rect * Tr\_velo\_to\_cam * x \tag{4} y=P2R0_rectTr_velo_to_camx(4)
​ * 若想将激光雷达坐标系中的点x投射到其他摄像头,只需替换P2矩阵即可(例如右边的彩色相机P3)。

2.4 label文件

​ label文件是KITTI中object的标签和评估数据,以“000001.txt”文件为例,包含样式如下:

Truck 0.00 0 -1.57 599.41 156.40 629.75 189.25 2.85 2.63 12.34 0.47 1.49 69.44 -1.56
Car 0.00 0 1.85 387.63 181.54 423.81 203.12 1.67 1.87 3.69 -16.53 2.39 58.49 1.57
Cyclist 0.00 3 -1.65 676.60 163.95 688.98 193.93 1.86 0.60 2.02 4.59 1.32 45.84 -1.55
DontCare -1 -1 -10 503.89 169.71 590.61 190.13 -1 -1 -1 -1000 -1000 -1000 -10
DontCare -1 -1 -10 511.35 174.96 527.81 187.45 -1 -1 -1 -1000 -1000 -1000 -10
DontCare -1 -1 -10 532.37 176.35 542.68 185.27 -1 -1 -1 -1000 -1000 -1000 -10
DontCare -1 -1 -10 559.62 175.83 575.40 183.15 -1 -1 -1 -1000 -1000 -1000 -10

​ 每一行代表一个object,每一行都有16列分别表示不同的含义,具体如下:

  • 第1列(字符串):代表物体类别(type)
    总共有9类,分别是:Car、Van、Truck、Pedestrian、Person_sitting、Cyclist、Tram、Misc、DontCare。其中DontCare标签表示该区域没有被标注,比如由于目标物体距离激光雷达太远。为了防止在评估过程中(主要是计算precision),将本来是目标物体但是因为某些原因而没有标注的区域统计为假阳性(false positives),评估脚本会自动忽略DontCare区域的预测结果。

  • 第2列(浮点数):代表物体是否被截断(truncated)
    数值在0(非截断)到1(截断)之间浮动,数字表示指离开图像边界对象的程度。

  • 第3列(整数):代表物体是否被遮挡(occluded)

    整数0、1、2、3分别表示被遮挡的程度。

  • 第4列(弧度数):物体的观察角度(alpha)

    取值范围为:-pi ~ pi(单位:rad),它表示在相机坐标系下,以相机原点为中心,相机原点到物体中心的连线为半径,将物体绕相机y轴旋转至相机z轴,此时物体方向与相机x轴的夹角,如图1所示。

  • 第5~8列(浮点数):物体的2D边界框大小(bbox)

    四个数分别是xmin、ymin、xmax、ymax(单位:pixel),表示2维边界框的左上角和右下角的坐标。

  • 第9~11列(浮点数):3D物体的尺寸(dimensions)

    分别是高、宽、长(单位:米)

  • 第12-14列(浮点数):3D物体的位置(location)

    分别是x、y、z(单位:米),特别注意的是,这里的xyz是在相机坐标系下3D物体的中心点位置。

  • 第15列(弧度数):3D物体的空间方向(rotation_y)

    取值范围为:-pi ~ pi(单位:rad),它表示,在照相机坐标系下,物体的全局方向角(物体前进方向与相机坐标系x轴的夹角),如图1所示。

  • 第16列(浮点数):检测的置信度(score)

    要特别注意的是,这个数据只在测试集的数据中有(待确认)。
    在这里插入图片描述

图1 3D物体的观察角和方位角

3 KITTI可视化

​ 目前已经完成了pointcloud、gt boxes、label、dt boxes(PointRCNN)等可视化,后续会把体素化加进去,先贴个可视化效果图:
在这里插入图片描述

---- end ----

http://chatgpt.dhexx.cn/article/5qQKC1Uy.shtml

相关文章

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

本系列博客旨在介绍无人驾驶领域中颇负盛名的KITTI公开数据集,首先整体介绍该数据集的由来、数据组织方式、官方开发工具的使用,重点详细介绍其中对于Object、Tracking和raw data的数据使用,主要分享了我在使用这些数据集时开发的一些工具&am…

waymo数据集总结

参考资料 官网: https://waymo.com/open/data/perception/#lidar-data 文章: https://arxiv.org/pdf/1912.04838.pdf github: https://github.com/waymo-research/waymo-open-dataset colab教程: https://colab.research.google.…

KITTI数据集介绍

目录 1、KITTI数据集概述2、kitti数据采集平台3、Kitti数据集标注格式参考文献: 1、KITTI数据集概述 KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的算法评测数据集。该数据集用于评测立体图像(…

KITTI 数据集简介

数据集简介 KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上自动驾驶场景下常用的数据集之一。KITTI数据集的数据采集平台装配有2个灰度摄像机,2个彩色摄像机,一个Velodyne 64线3D激光雷达,4个光…

KITTI数据集简析

文章目录 KITTI数据集数据集结构数据集内容data_object_calib 样本标定数据data_object_label_2 3D点云标注文件 KITTI数据集 数据集结构 KITTI数据集网盘 提取码:0bjl KITTI ├── devkit_object | ├── cpp | ├── mapping | ├── matlab | └─…

KITTI数据集(概念版)

一、参考资料 KITTI 官网 kitti数据集各个榜单介绍 自动驾驶KITTI数据集详解 KITTI数据集简介与使用 kitti数据集各个榜单介绍 KITTI数据集介绍 KITTI数据集简介(一) — 激光雷达数据 【KITTI】KITTI数据集简介(二) — 标注数据l…

KITTI数据集

KITTI数据集分为2012和2015 KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。KITTI包含市区、乡村和高速公路等场景采集的真实图像数据,每张图像中最多达15辆车和30个行…

Vins-fusion gps融合 KITTY数据集测试

下载kitti数据集 下载kitti数据集和真值poses的00.txt以及sequences文件00序列的times.txt,(全网找了好久,最后不得已翻墙从官网down下来的) 代码修改,保存输出数据 先指定输出路径:打开vins-fusion/config/kitti_r…

详解KITTI数据集

详解KITTI数据集 一、KITTI数据集发布方 2011年,Andreas Geiger(KIT)、Philip Lenz(KIT)、Raquel Urtasun(TTIC)三位年轻人发现,阻碍视觉感知系统在自动驾驶领域应用的主要原因之一…

KITTI数据集简介与使用

1.KITTI数据集概述 KITTI数据集由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。该数据集用于评测立体图像(stereo),光流(optical flow),视觉测距(visual odometry)&…

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

KITTI数据集简介 KITTI数据集是由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办,利用组装的设备齐全的采集车辆对实际交通场景进行数据采集获得的公开数据集。该数据集包含丰富多样的传感器数据(有双目相机、64线激光雷达、GPS/IMU组合导航定位系…

盘阿里云ECS内挖矿程序

1.二话不说先上图,cpu一路飙升在100% 2.进入服务器top命令查看占用cpu的异常进程 3.找到目标PID kill -9 10478 干掉这个进程,没几秒这个Macron的进程又死灰复燃 4.定位Macron目录 ls -l /proc/$PID/exe 定位到发现目标文件为/tmp/Macron,…

记录_第一次解决挖矿程序入侵问题

记录第一次处理,服务器也被挖矿程序入侵,原本是不想处理的,但是阿里云一直给我警告,然后再不处理服务器给我停了,这导致我立马打开电脑进行处理,怎么处理的我也不会啊,就一直百度,还…

centos8 处理挖矿程序攻击

ll /usr/bin/top* top命令被修改,并且隐藏了两个进程 chattr命令不可用,先删除e2fsprogs再重新安装。 yum remove e2fsprogs #rpm -qa|grep e2fsprogs yum -y install e2fsprogs #yum install e2fsprogs-1.45.6-2.el8.x86_64 解锁TOP文件并恢复 c…

案例分享—服务器被植入挖矿程序排查

主机的操作系统是CentOS7,应用架构是JavaMySQLRedis。客户描述问题是有一个从下午2点到凌晨的秒杀活动。秒杀系统开始的时候是可以正常运行的,但是到了晚上7点就突然无法使用了,前台提交秒杀请求后,后端无响应,最终超时…

解决阿里云服务器提示挖矿程序风险

最近阿里云天天提示我挖矿,可是我是良民啊,还要封我号,把我吓够呛啊。 后台通过CPU 被挖矿,Redis 竟是内鬼!_CSDN云计算-CSDN博客 这篇文章有所启发,大家可以看下 目前没提示,后期再提示再更新…

记录解决阿里云ES服务器提示挖矿程序

前言 突然收到阿里云的短信提醒,说服务器出现了恶意挖矿程序,还好这台上都是测试服务器,之前也做了数据备份,可以放心去整,不过还是得小心严重操作前记得备份下 处理过程 1、检查服务器负载与CPU利用率&#xff0c…

服务器提示有挖矿程序,是怎么回事

在提示我有挖矿程序后,我去阿里云的安全中心,看到有三个病毒进程警告,但是都结束进程失败,然后我询问售后工程师,售后工程师给我的回复时格式化云盘。因为没有找到更好的解决方式,就选择了重新安装系统和格…

【解决阿里云服务器提示挖矿程序风险2022】

解决阿里云服务器提示挖矿程序风险2022-10 搜索删除含system-private相关的所有文件 如图:system-private....2.清除定时任务 3.修改文件可执行权限 4.清除路由表中隐患IP 5.在不使用云服务器的情况下可以关闭ssh端口 参考资料: 解决阿里云服务器提示挖…

[linux] 挖矿程序的停止与清除

问题描述 实验室的linux服务器有一位用户的密码比较弱,被试出来了,然后攻击者在我们的服务器上运行了挖矿程序 gpustat查询后发现:四张显卡都被占满,GPU显存占用不大,但使用率为100% 此时如果直接kill那个占用显卡的…