位置: IT常识 - 正文

KITTI数据集解析和可视化(timit数据集)

编辑:rootadmin
KITTI数据集解析和可视化 文章目录一、KITTI数据集简介1.1 介绍1.2 下载二、数据解析2.0 数据集结构2.1 ImageSets2.2 Testing & Training2.2.1 calib2.2.2 image_22.2.3 label_22.2.4 planes2.2.5 velodyne三、数据集的下载和组织四、可视化4.1 CloudCompare软件4.2 PCL库参考一、KITTI数据集简介1.1 介绍文章链接 《Are we ready for Autonomous Driving? The KITTI Vision Benchmark Suite (2012)》概述 KITTI数据集是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。该数据集用于评测立体图像(stereo),光流(optical flow),视觉测距(visual odometry),3D物体检测(object detection)和3D跟踪(tracking)等计算机视觉技术在车载环境下的性能。 KITTI包含市区、乡村和高速公路等场景采集的真实图像数据,每张图像中最多达15辆车和30个行人,还有各种程度的遮挡与截断。 3D目标检测数据集由7481个训练图像和7518个测试图像以及相应的点云数据组成,包括总共80256个标记对象。数据采集平台

推荐整理分享KITTI数据集解析和可视化(timit数据集),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:kitty 数据集,kitti数据集介绍,timit数据集,kitty 数据集,semantickitti数据集下载,timit数据集,kitti3d检测数据集,kitti数据集介绍,内容如对您有帮助,希望把文章链接给更多的朋友!

Kitti的数据采集车,顶上是一个64线的velodyne激光雷达,前面有四个摄像头分别是cam0~3,其中0和1是灰度相机,2和3是rgb相机。激光雷达的坐标系遵循右手定则,而相机坐标系遵循左手定则,如图所示。 为了生成双目立体图像,相同类型的摄像头相距54cm安装。由于彩色摄像机的分辨率和对比度不够好,所以还使用了两个立体灰度摄像机,它和彩色摄像机相距6cm安装。 四个相机经过了严格的位置矫正,保证yz同值,x同轴,如果想进行lidar与camera的坐标系转换,默认以cam0为基准,即如果是cam0转到velodyne,就直接转,如果是cam其他转velodyne,则先要转到cam0,再转到velodyne,相机和激光的坐标转换后续会详细说明。

具体的传感器参数如下: 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◦

坐标系

为了方便传感器数据标定,规定坐标系方向如下 :

camera: x = right, y = down, z = forwardvelodyne: x = forward, y = left, z = upGPS/IMU: x = forward, y = left, z = up1.2 下载数据集官网 数据集官网下载地址百度网盘下载链接 链接:https://pan.baidu.com/s/1-4WchJlcZ2guwcfbHqrdFw 提取码:grys 建议使用百度网盘的下载链接(因为文件特别大,而且官网的下载速度很慢。)

进入官网,下图红色框标记的为我们需要的数据:

彩色图像数据(12GB)点云数据(29GB)相机矫正数据(16MB)标签数据(5MB)。

其中彩色图像数据、点云数据、相机矫正数据均包含training(7481)和testing(7518)两个部分,标签数据只有training数据。

二、数据解析2.0 数据集结构

按照官方给出的OpenPCDet中的KITTI数据集的组织方法,排布数据集

data│── kitti│  │── ImageSets│  │── testing│  │  ├── calib & image_2 & velodyne│  │── training│  │  ├── calib & image_2 & label_2 & planes & velodyneimage_2 即2号彩色相机所拍摄的图片(.png);calib对应每一帧的外参(.txt);label_2是每帧的标注信息(.txt);velodyne是Velodyne64所得的点云文件(.bin)2.1 ImageSets

数据集列表信息,一般包括如下3部分:

train.txt:训练集 列表信息test.txt:测试集 列表信息val.txt:验证集 列表信息2.2 Testing & Training2.2.1 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+00P1: 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+00P2: 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-03P3: 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-03R0_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-01Tr_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-01Tr_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~P3 Prect(i)P_{rect}^{(i)}Prect(i)​ :矫正后的相机投影矩阵 R3∗4R^{3*4}R3∗4 0、1、2、3 代表相机的编号,0表示左边灰度相机,1右边灰度相机,2左边彩色相机,3右边彩色相机。 其中bx(i)b_x^{(i)}bx(i)​表示相对于参考摄像机0的基准值(以米为单位)

R0_rect Rrect(i)R_{rect}^{(i)}Rrect(i)​ :矫正后的相机旋转矩阵R3∗3R^{3*3}R3∗3 在实际计算时,需要将该3x3的矩阵扩展为4x4的矩阵,方法为在第四行和第四列添加全为0的向量,并且将(4, 4)的索引值设为1。

Tr_velo_to_cam (Tvelocam)(T_{velo}^{cam})(Tvelocam​) :从雷达到相机0的旋转平移矩阵 (R3∗4R^{3*4}R3∗4) 在实际计算时,需要将该3x4的矩阵扩展为4x4的矩阵,方法为增加第四行向量[0,0,0,1]。这个矩阵其实包括了两个部分,其一是3x3的旋转矩阵,其二是1x3的平移向量。

Tr_imu_to_velo (Timuvelo)(T_{imu}^{velo})(Timuvelo​) : 从惯导或GPS装置到相机的旋转平移矩阵 (R3∗4R^{3*4}R3∗4) 如果要将激光雷达坐标系中的点x投影到左侧的彩色图像(P2)y中,可使用如下公式: 若想将激光雷达坐标系中的点x投射到其他摄像头,只需替换P2矩阵即可(例如右边的彩色相机P3)。

1、将 Velodyne 坐标中的点 x 投影到左侧的彩色图像中 y,使用公式 y = P2 * R0_rect * Tr_velo_to_cam * x2、将 Velodyne 坐标中的点 x 投影到右侧的彩色图像中 y,使用公式 y = P3 * R0_rect * Tr_velo_to_cam * x3、将 Velodyne 坐标中的点 x 投影到编号为 0 的相机(参考相机)坐标系中,使用公式 R0_rect * Tr_velo_to_cam * x4、将 Velodyne 坐标中的点 x 投影到编号为 0 的相机(参考相机)坐标系中,再投影到编号为 2 的相机(左彩色相机)的照片上,使用公式 P2 * R0_rect * Tr_velo_to_cam * x2.2.2 image_2

image文件以8位PNG格式存储,图集如下:

2.2.3 label_2

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.56Car 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.57Cyclist 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.55DontCare -1 -1 -10 503.89 169.71 590.61 190.13 -1 -1 -1 -1000 -1000 -1000 -10DontCare -1 -1 -10 511.35 174.96 527.81 187.45 -1 -1 -1 -1000 -1000 -1000 -10DontCare -1 -1 -10 532.37 176.35 542.68 185.27 -1 -1 -1 -1000 -1000 -1000 -10DontCare -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轴的夹角(如下图所示,y轴垂直与屏幕)

KITTI数据集解析和可视化(timit数据集)

第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轴的夹角),如下图所示。

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

2.2.4 planes# PlaneWidth 4Height 1-1.851372e-02 -9.998285e-01 -5.362310e-04 1.678761e+002.2.5 velodyne

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

8D 97 92 41 39 B4 48 3D 58 39 54 3F 00 00 00 0083 C0 92 41 87 16 D9 3D 58 39 54 3F 00 00 00 00 2D 32 4D 42 AE 47 01 3F FE D4 F8 3F 00 00 00 00 37 89 92 41 D3 4D 62 3E 58 39 54 3F 00 00 00 00 E5 D0 92 41 12 83 80 3E E1 7A 54 3F EC 51 B8 3D 7B 14 70 41 2B 87 96 3E 50 8D 37 3F CD CC 4C 3E 96 43 6F 41 7B 14 AE 3E 3D 0A 37 3F E1 7A 14 3F 2F DD 72 41 5E BA C9 3E 87 16 39 3F 00 00 00 00 FA 7E 92 41 5E BA 09 3F 58 39 54 3F 00 00 00 00 66 66 92 41 EC 51 18 3F CF F7 53 3F 00 00 00 00 A4 70 92 41 77 BE 1F 3F CF F7 53 3F 00 00 00 00 A4 70 92 41 8D 97 2E 3F 58 39 54 3F 00 00 00 00 ...

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

三、数据集的下载和组织百度网盘下载链接 链接:https://pan.baidu.com/s/1-4WchJlcZ2guwcfbHqrdFw 提取码:grys

从百度网盘下载如下框出的文件。

其中 xxx.zip 和xxx.z01、xxx.z02、xxx.z03 是分包文件,必须全部下载后才能够解压。

然后通过xftp把下载的压缩包全部上传到云服务器上。 分包文件的解压方法,以 data_object_image_2.zip 为例子。

# 先将压缩包合并zip -s 0 data_object_image_2.zip --out image_02.zip# 再次解压unzip image_02.zip

解压之后的文件结构如下所示。 如下所示,在kitti文件夹下新建testing和training 目录。然后把上一步解压后得到的data_object_image2/testing/image_2 文件放入到data/kitti/testing 文件夹下;把上一步解压后得到的data_object_image2/training/image_2 文件放入到data/kitti/training 文件夹下。

然后新建一个文件夹ImageSets,并进入到该文件夹下。 下载官方已经提供好的划分kitti数据集文件:test.txt train.txt val.txt trainval.txt

# test.txtwget -c https://raw.githubusercontent.com/traveller59/second.pytorch/master/second/data/ImageSets/test.txt --no-check-certificate --content-disposition -O test.txt# train.txtwget -c https://raw.githubusercontent.com/traveller59/second.pytorch/master/second/data/ImageSets/train.txt --no-check-certificate --content-disposition -O train.txt# val.txtwget -c https://raw.githubusercontent.com/traveller59/second.pytorch/master/second/data/ImageSets/val.txt --no-check-certificate --content-disposition -O val.txt# trainval.txtwget -c https://raw.githubusercontent.com/traveller59/second.pytorch/master/second/data/ImageSets/trainval.txt --no-check-certificate --content-disposition -O trainval.txt

最终的组织架构如下图所示:

有时候我们可能多个项目都使用到同一个数据集,这时候可以建立软链接

比如我的原始kitti数据集下载到了/data/zyw/project/data/kitti , 但是我在mmdetection3d/data 文件夹下需要kitti文件夹。 为了节省内存开销,我们不直接复制,而是创建软链接。

cd mmdetection3d/dataln –s /data/zyw/project/data/kitti kitti四、可视化4.1 CloudCompare软件

CloudCompare功能强大,直接安装这个软件是最简单的可视化方法。

cloudcompare官网下载地址 选择对应的版本进行下载

或者从百度网盘下载 (winows64,CloudCompare 2.12.4) 链接:https://pan.baidu.com/s/1RWDdMByK1trY–d05-SlHg

显示-语言翻译-简体中文

提取码:zfjo

点击文件-compare 可以打开多种格式的点云文件 可视化效果如下 4.2 PCL库

通过配置PCL来可视化点云,相对比较复杂,具体可以参考下面的博客~ 【PCL1.11.0+win10+vs2019】环境配置/ 点云格式转换及可视化

参考

参考博客: 【1】https://blog.csdn.net/i6101206007/article/details/11225682 【2】https://blog.csdn.net/u013086672/article/details/103913361

本文链接地址:https://www.jiuchutong.com/zhishi/299366.html 转载请保留说明!

上一篇:【滤波专题-第4篇】滤波器滤波效果的评价指标(信噪比SNR、均方误差MSE、波形相似参数NCC)(滤波方案)

下一篇:机器学习——图像分类

  • 自来水水费增值税发票票样
  • 税收征管法实施细则全文最新
  • 职工薪酬分配表及分录怎么做
  • 筹资现金流量净额为负说明了什么问题
  • 营业成本包含折旧费吗
  • 增值税税控系统技术维护费怎么抵扣
  • 固定资产一次性折旧政策2023
  • 应交税费应交增值税的三级科目有哪些
  • 上年留抵税,次年抵扣分录
  • 应付股东款可以结转实收资本吗
  • 基建项目待摊投资
  • 你如何界定成本与费用之间区别?
  • 代收电费可以开发票吗
  • 收到房费的专用发票能抵扣吗?
  • 电话费开专票可抵扣吗
  • 公司为员工承担的个税可以税前扣除吗
  • 资本收益率的计算公式净资产收益率
  • 补提以前年度无形资产摊销税务处理
  • 残保金退回属于政府补助吗
  • 手工帐财务费用怎么结转
  • 营改增建筑业税率变化时间
  • 土地使用税和房产税
  • 汽车4s店厂家返利计算方法
  • 华为鸿蒙系统超级终端怎么用
  • 停薪留职单位欠缴社保怎么处理
  • 房子按季度收取租金,怎么交房产税
  • php 数字相加
  • 预收账款何时结转
  • CoverDesigner.exe是一个安全进程吗 CoverDesigner进程查询
  • 资源税纳税申报流程
  • 个人出租商用房个人所得税
  • php数字增1
  • html里面有什么
  • 房产置换怎么做账务处理
  • nginx运行python
  • 帝国cms适合建什么站
  • 购销合同交印花税吗怎么交
  • 什么是,利息
  • 电梯维保费属于什么费用
  • 现金流量表的本期数是本月数还是本年数
  • sql分组计算
  • 申报成功后怎么更正申报
  • 承兑汇票找公司贴现违法吗
  • 对方公司已注销还能起诉吗
  • 购入房产会计记账凭证怎么做
  • 销售退回如何做账务处理
  • 非本公司员工的火车票可以报销么
  • 帮别人维修东西怎么开票
  • 分公司交总公司管理费怎么做账
  • 公司购买银行理财产品账务处理
  • 非本公司员工能否享受本公司的福利
  • 轿车折旧年限为几年
  • 工业企业如何建立税务风险预警体系工作表
  • 小企业如何做
  • 合法有效的凭证是什么
  • jdbc取数据
  • sqlserver msdb
  • lowleverfatal error怎么解决
  • win10怎么转移文件到其他盘
  • 安装win7/Win10双系统,磁盘如何分区?
  • win8怎么添加桌面
  • cocos2dx入门
  • unicode和utf–8 编码
  • Unity WWW网络动态加载和储存在本地
  • .material design
  • bash 入门
  • 批处理系统的进程调度算法
  • js class实现原理
  • js拖拽生成页面
  • javascript基础教学
  • 使用struts2+Ajax+jquery验证用户名是否已被注册
  • 非常棒的jQuery图片轮播效果
  • 怎么打印纳税申报单
  • 同城通办办税大厅
  • 2021年河南省企业退休职工丧葬抚恤金标准
  • 怎么注册山东省政府采购网
  • 城市维护建设税属于什么科目
  • 你需要了解什么 英语
  • 北京市地税局电话是多少
  • 豫麦336
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设