【3D目标检测】KITTI数据集介绍
目录
- 概述
- 数据集下载
- 激光雷达数据(`data_ object_velodyne`)
- 图像数据(`data_ object_image_ 2`)
- 标注数据(`data_ object_label 2`)
- 标定校准数据(d`ata_ object_calib`)
概述
KITTI数据集很大,包括了很多任务,使用的训练样本7481个,测试样本7518个。但测试样本我们是不可见的,所以一般将将7481个训练样本划分为3712与3769分别作为训练集和测试集。
下载部分参考:OpenPCDet——环境配置和训练测试(升级系统、Nvidia驱动、cuda11.3、cudnn8.2)
具体解释部分参考:【KITTI】KITTI数据集简介(一) — 激光雷达数据
数据集下载
我们可以从官网下载,也可以网友们分享的百度云链接下载
下载数据:http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d
百度云链接: https://pan.baidu.com/s/1sywToVQu3eIBG8zcAXwTVw ,提取码:2lyj
基于点云的算法需要的是以下部分:包括激光雷达数据(data_ object_velodyne
)、图像数据(data_ object_image_ 2
)、标注数据(data_ object_label 2
)以及标定校准数据(data_ object_calib
)
或者
激光雷达数据(data_ object_velodyne
)
解压下载后的data_ object_velodyne.zip
文件,包含了training和testing两个文件夹,这两个文件夹下各自包含一个velodyne文件夹。velodyne文件夹下存储了点云文件,以bin格式存储。激光雷达坐标系中,z方向是高度方向,x方向是汽车前进方向,前进左手边方向为y方向,满足右手定则
。
以“000000.bin”文件为例,点云数据以浮点二进制文件格式存储,每行包含8个数据,每个数据由四位十六进制数表示(浮点数),每个数据通过空格隔开。一个点由四个浮点数数据构成,分别表示点云的x、y、z、r(强度 or 反射值)。
点云的存储格式有很多,KITTI中采用的是bin格式,bin格式将全部数据放在一行中。
读取与可视化如下:
# -*- coding: utf-8 -*-
"""
乐乐感知学堂公众号
@author: https://blog.csdn.net/suiyingy
"""from mayavi import mlab
import numpy as npdef viz_mayavi(points, vals="distance"):x = points[:, 0] # x position of pointy = points[:, 1] # y position of pointz = points[:, 2] # z position of pointfig = mlab.figure(bgcolor=(0, 0, 0), size=(640, 360))mlab.points3d(x, y, z,z, # Values used for Colormode="point",colormap='spectral', # 'bone', 'copper', 'gnuplot'# color=(0, 1, 0), # Used a fixed (r,g,b) insteadfigure=fig,)mlab.show()if __name__ == '__main__':points = np.fromfile('000001.bin', dtype=np.float32).reshape([-1, 4])viz_mayavi(points)
图像数据(data_ object_image_ 2
)
KITTI数据集种共包含了4相机数据,2个灰度相机和2个彩色相机,其中image_2存储了左侧彩色相机采集的RGB图像数据(RGB)。相机坐标系中,y方向是高度方向,以向下为正方向;z方向是汽车前进方向;前进右手边方向为x方向(车身方向),满足右手定则。
文件夹下进一步分为训练集和测试集,存储方式为png格式。KITTI相机的分辨率是1392x512,而image_2种存储的图像是矫正后的图像,分辨率为1242x375。
标注数据(data_ object_label 2
)
文件夹下只有训练的标注,存储方式为txt格式。
标注文件中16个属性,即16列。但我们只能够看到前15列数据,因为第16列是针对测试场景下目标的置信度得分,也可以认为训练场景中得分全部为1但是没有专门标注出来。下图是000001.txt的标注内容和对应属性介绍。
Pedestrian 0.00 0 -0.20 712.40 143.00 810.73 307.92 1.89 0.48 1.20 1.84 1.47 8.41 0.01
第1列
目标类比别(type),共有8种类别,分别是Car、Van、Truck、Pedestrian、Person_sitting、Cyclist、Tram、Misc或’DontCare。DontCare表示某些区域是有目标的,但是由于一些原因没有做标注,比如距离激光雷达过远。但实际算法可能会检测到该目标,但没有标注,这样会被当作false positive (FP)。这是不合理的。用DontCare标注后,评估时将会自动忽略这个区域的预测结果,相当于没有检测到目标,这样就不会增加FP的数量了。此外,在 2D 与 3D Detection Benchmark 中只针对 Car、Pedestrain、Cyclist 这三类。
第2列
截断程度(truncated),表示处于边缘目标的截断程度,取值范围为0~1,0表示没有截断,取值越大表示截断程度越大。处于边缘的目标可能只有部分出现在视野当中,这种情况被称为截断。
第3列
遮挡程度(occlude),取值为(0,1,2,3)。0表示完全可见,1表示小部分遮挡,2表示大部分遮挡,3表示未知(遮挡过大)。
第4列
观测角度(alpha),取值范围为(−π,π-\pi, \pi−π,π)。是在相机坐标系下,以相机原点为中心,相机原点到物体中心的连线为半径,将物体绕相机y轴旋转至相机z轴,此时物体方向与相机x轴的夹角。这相当于将物体中心旋转到正前方后,计算其与车身方向的夹角。
第5-8列
二维检测框(bbox),目标二维矩形框坐标,分别对应left、top、right、bottom,即左上(xy)和右下的坐标(xy)。
第9-11列
三维物体的尺寸(dimensions),分别对应高度、宽度、长度,以米为单位。
第12-14列
中心坐标(location),三维物体中心在相机坐标系下的位置坐标(x,y,z),单位为米。
第15列
旋转角(rotation_y),取值范围为(-pi, pi)。表示车体朝向,绕相机坐标系y轴的弧度值,即物体前进方向与相机坐标系x轴的夹角。rolation_y与alpha的关系为alpha=rotation_y - theta,theta为物体中心与车体前进方向上的夹角。alpha的效果是从正前方看目标行驶方向与车身方向的夹角,如果物体不在正前方,那么旋转物体或者坐标系使得能从正前方看到目标,旋转的角度为theta。
第16列
置信度分数(score),仅在测试评估的时候才需要用到。置信度越高,表示目标越存在的概率越大。
标定校准数据(data_ object_calib
)
文件夹下进一步分为训练集的校准数据和测试集的校准数据,存储方式为txt格式,标定校准数据的主要作用是把激光雷达坐标系测得的点云坐标转换到相机坐标中去。
这部分内容有点多,直接看大佬原文吧,【KITTI】KITTI数据集简介(四) — 标定校准数据calib
【3D目标检测】KITTI数据集介绍相关推荐
- 【mmdetection3d】——3D 目标检测 NuScenes 数据集
3D 目标检测 NuScenes 数据集 本页提供了有关在 MMDetection3D 中使用 nuScenes 数据集的具体教程. 准备之前 您可以在这里下载 nuScenes 3D 检测数据并解压 ...
- 3D目标检测之数据集
目录 1. KITTI Dataset 2. Waymo Open Dataset 3. NuScenes DataSet 4. Appllo Scape 5. Lyft L5 6. Argovers ...
- 点云目标检测KITTI数据集bin文件可视化,一站式解决
点云可视化 参考该链接方法一,需要安装mayavi,numpy,pyqt5: numpy+mayavi.mlab 1.安装依赖库 pip install numpy -i https://pypi.t ...
- 【单目3D目标检测】SMOKE论文解析与代码复现
文章目录 yacs Introduction Usage SMOKE Preface Abstract Contributions Pipeline Backbone Head Branch Orie ...
- 史上最全综述:3D目标检测算法汇总!
来源:自动驾驶之心 本文约16000字,建议阅读10+分钟 本文将演示如何通过阈值调优来提高模型的性能.本文的结构安排如下:首先,第2节中介绍了3D目标检测问题的定义.数据集和评价指标.然后,我们回顾 ...
- 室内环境下的3D 目标检测调研
任务: 调研室内场景下基于单帧图像的3D目标检测的研究情况. 思路: 首先了解相关数据集,benchmark,在数据集的基础上比较不同算法. 1. 室内场景的3D数据集 sunrgbd:室内场景,3D ...
- 通过形状先验引导的3D目标检测方法(Disp R-CNN解读)
来源丨AI 修炼之路 问题,我们提出在不需要雷达点云的情况下,使用统计形状模型生成密集视差伪真值,这使得我们的系统具有更广泛的适用性.在KITTI数据集上进行的实验表明,即使在训练时不使用雷达数据,D ...
- 【单目3D目标检测】项目实战-道路车辆/行人3D目标检测
[单目3D目标检测]项目实战-道路车辆/行人3D目标检测 任务定义 传统激光雷达3D检测模型 VS 单目3D检测模型 单目3D目标检测优点 单目3D目标检测难点 数据集 KITTI数据集标注及网络输出 ...
- kitti数据集在3D目标检测中的入门
数据集官网下载地址: http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d 3D目标检测数据集由7481个训练图像 ...
- KITTI 3D目标检测数据集入门
下载地址与描述 数据集官网下载地址: The KITTI Vision Benchmark Suite 3D目标检测数据集由7481个训练图像和7518个测试图像以及相应的点云数据组成,包括总共802 ...
最新文章
- UVA 11491 Erasing and Winning 奖品的价值 (贪心)
- SpringMVC - 1.DispatcherServlet
- Android 进程常驻(使用第三方MarsDaemon)(虽然不可用,但是还是保留下。)
- js实现简单的图片轮播
- android有关的笔记,android学习笔记1——webview相关
- gRPC in ASP.NET Core 3.0 -- 前言
- mybatis简单案例源码详细【注释全面】——实体层(User.java)
- python读取邮箱邮件_Python读取邮箱邮件
- mac设置python版本切换,和设置python默认版本
- 中小微企业税务数据的指标分析
- ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath、
- 线性表接口的实现_Java
- 计算机二级vb上机操作题库,全国计算机等级考试 二级VB 上机题库精简版 考试必备,...
- 微信小程序 # 仿写微信通讯录页面(字母侧栏效果)
- STM32键盘扫描程序
- Win7系统无法被远程桌面连接如何解决
- 业余草尚硅谷Java视频教程_SpringBoot视频教程免费下载
- Python学习之文件操作【基本操作,JSON文件操作】
- [七七黎]乱七八糟-美女和野兽
- 程序员,你得选准买房的时间!
热门文章
- linux ping -w 命令,ping命令--Linux命令应用大词典729个命令解读
- 【互信息驱动:可逆神经网络】
- 解神者php奥义高阶,《解神者》技能被动奥义效果介绍 伊南娜特点分析
- 高通ais cam.xml配置
- Android 音乐播放器,Service后台管理播放
- 十大公认音质好的骨传导耳机,五款最值得入手的骨传导耳机
- 电脑模拟收银机_收银台模拟器游戏下载-收银台模拟器Cashier Simulator下载v0.2 安卓版-西西安卓游戏...
- 小甲鱼python【类和对象】学习笔记
- python进阶之路——输出print
- 最齐全的LibGDX游戏源代码素材,速来收藏