位置: 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)(滤波方案)

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

  • 混合销售行为如何缴纳增值税税率
  • 划拨土地使用权出租
  • 会计一般什么时候考试
  • 与企业日常无关的政府补服属于利得吗
  • 资产减值准备对股票的影响
  • 企业名称变更需要重新核名吗
  • 残疾人士有哪些
  • 新办商贸企业一般纳税人合同金额
  • 企业外汇买卖业务流程图
  • 坏账准备的账务处理怎么理解
  • 公司管理层的作用
  • 所得税弥补亏损年限10
  • 预交电费有发票吗
  • 企业购车票可以抵扣增值税吗?
  • 增值税普通发票对方作废了怎么办?
  • 个体户注销未分配利润要交个税吗
  • 小微企业季度所得税怎么计算
  • 代驾公司增值税怎么交
  • 税控服务费抵扣的文件
  • 原始凭证填写错误,可撕毁重新编制一张
  • 一般纳税人企业所得税政策最新2023
  • 个税本期收入是应发还是实发
  • 6月 全新windows
  • 鸿蒙3.0平板适配名单
  • 小规模餐饮业怎样报税减免
  • 如何保护word文件不被他人修改
  • PHP:oci_set_module_name()的用法_Oracle函数
  • realjbox.exe - realjbox是什么进程 作用是什么
  • 所得税到底按会计分录吗
  • php text
  • 未取得合法有效凭证可以税前扣除
  • 年终奖发放形式 更改 税务局
  • 利得的具体分类
  • 一头公牛和一头母牛,答五个字
  • html页面间传数据
  • php实现在线安装
  • 酒店原材料内部分析
  • 企业营运资金管理存在的问题
  • 皮丘拉湖畔的乌代布尔城市宫殿,印度 (© Chaiyun Damkaew/Getty Images)
  • 出口退税需要提供什么
  • cityscape dataset
  • Android 10.0 framework中关于Activitity的生命周期的源码讲解
  • uniapp前端 django后端
  • 营改增销售服务范围
  • 尚未进行抄报税无法申报是什么意思
  • 无偿划转的资产交什么税收
  • 收到电子银行承兑汇票计入什么科目
  • MySQL发生系统错误2和5
  • 企业所有者权益是什么意思
  • 免税农产品有哪些类型
  • sqlserver2005数据库导出数据成.sql
  • 个人代人开普票个税怎么算
  • 小规模纳税人和一般纳税人的界定标准
  • 预付账款收到发票
  • 不需要计提折旧的情况
  • 个人承担社保如何办理
  • 汇算清缴交通费填在办公费里面吗
  • 残保金补申报需要交滞纳金吗
  • 处置固定资产的增值税怎么处理
  • 开红字发票后再开蓝字发票如何入账
  • mysql 5.7.5 m15 winx64安装配置图文教程
  • mysql停不掉
  • 000.exe病毒
  • 安装程序不运行怎么回事
  • centos 安装rpm软件包的命令
  • fsck.mode
  • ppap是什么文件
  • 关机你的电脑遇到问题,需要重新启动,我们只收集
  • linux系统怎么查看防火墙状态
  • android5种布局
  • 视锥是什么意思
  • 用Python设计一个游戏
  • python语言解析
  • android studio post请求数据获取
  • 深圳企业所得税税率多少
  • 小规模纳税人无进项发票要如何做账?
  • 税务系统电子发票的详细步骤
  • 重庆国税电子税务局
  • 加油河南app怎么注销
  • 财务公司怎么做
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设