当前位置:   article > 正文

kitti数据集在3D目标检测中的入门

kitti

数据集官网下载地址:
http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=3d
在这里插入图片描述
3D目标检测数据集由7481个训练图像和7518个测试图像以及相应的点云数据组成,包括总共80256个标记对象。
上图红色框标记的为我们需要的数据,分别是彩色图像数据(12GB)、点云数据(29GB)、相机矫正数据(16MB)、标签数据(5MB)。其中彩色图像数据、点云数据、相机矫正数据均包含training(7481)和testing(7518)两个部分,标签数据只有training数据。
需要填写邮箱,然后会给发送下载链接(但是很慢)!!!
可以通过—KITTI数据集下载(百度云)
https://blog.csdn.net/u013086672/article/details/103910266

一:目前3D点云在目标检测的算法历程

在这里插入图片描述
其中,point representation、Voxel representation、graph representation的详解见参考链接7。
在这里插入图片描述

  • 其中上半部分主要是利用了图片以及激光雷达作为输入,例如F-PointNet网络先从2D图片上检测出目标,然后投影到3D点云中。但是这种方法存在遮挡等问题。
  • 然后下半部分是仅仅利用了激光雷达的点云作为输入,其中同理分为两种类型,一是基于无规则的点云直接提取特征做检测即Point-based,另一种是Voxel-based,其主要先把无规则点云处理为有规则的,然后再提取特征。
  • 这里注意的是AP主要是car的检测,再行人检测其没有还这么好的效果,因为很多物体和人比较相似所以误差较大。

二:kitti数据集的采集

KITTI数据集的数据采集平台装配有2个灰度摄像机,2个彩色摄像机,一个Velodyne 64线3D激光雷达,4个光学镜头,以及1个GPS导航系统。 在这里插入图片描述
为了生成双目立体图像,相同类型的摄像头相距54cm安装。由于彩色摄像机的分辨率和对比度不够好,所以还使用了两个立体灰度摄像机,它和彩色摄像机相距6cm安装。为了方便传感器数据标定,规定坐标系方向如下:
• Camera: x = right, y = down, z = forward
• Velodyne: x = forward, y = left, z = up
• GPS/IMU: x = forward, y = left, z = up
在这里插入图片描述
(雷达采集数据时,是绕着竖直轴旋转扫描,只有当雷达旋转到与相机的朝向一致时会触发相机采集图像。不过在这里无需关注这一点,直接使用给出的同步且校准后的数据即可,它已将雷达数据与相机数据对齐,也就是可以认为同一文件名对应的图像数据与雷达点云数据属于同一个场景。)

三:数据集介绍

  • 1)images文件
    在这里插入图片描述
  • 2)velodyne文件
    在这里插入图片描述在这里插入图片描述在这里插入图片描述
    效果图如下:
    在这里插入图片描述
  • 3)calib文件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述注:这里可以将label中照相机标注的3D目标检测框的中心坐标通过上面公式映射到点云中物体的真实检测框,这样的话都是三位坐标系的转换,那么对于2D目标检测框如何从点云中来得到的,这是个问题!!!!------这段理解是错的。。
    应该是:
    雷达坐标系变换到xx号相机的图像坐标系的公式
    设X为雷达坐标系中的齐次坐标,Y为对应在xx号相机的图像坐标系的齐次坐标,则
    在这里插入图片描述
    以上是对于raw data,对于目标检测其转换是:
    在这里插入图片描述
    (R|T) : 雷达坐标系 -> 0号相机坐标系
    R_rect_00: 0号相机坐标系 -> 矫正后的0号相机坐标系
    P_rect_0x: 矫正后的0号相机坐标系 -> x号相机的图像平面
    从上面可以看出主要是从三维到二维平面的转换!!!
    效果图:待!!
    重要注意:补充理解:
    在经过了之后的资料查询,有了之间的大体关系的认知,先重新将部分理解的梳理一遍:
    校准文件如上面所示,其主要包括,从3D激光雷达的点云坐标x映射到0号相机的坐标系Tr_velo_to_cam * x(因为两者的三维空间的坐标系的标定是不一样的,可能不对);R0_rect Tr_velo_to_cam * x,其中校准是为了使多个摄像机的图像位于同一平面上,即所对应的图片*;**然后可以将其投影到对应的图片上,P_rect_2 * R0_rect *Tr_velo_to_cam * x ,注(等价将投影面向左移动同时保持针孔位置不变,即可投影到彩色摄像机的图片上)。
    然后在这里的两个测试
    第一个测试是将3D边界框从标签文件投影到图像上
    第二项测试是将点云坐标中的一个点投影到图像上。
    代数很简单,如下所示
    第一个等式用于将3D绑定框投影到与camera_2图像协调的参考摄像机中。
    第二个方程将Velodyne坐标点投影到camera_2图像中。
    y_image = P2 * R0_rect * R0_rot * x_ref_coord
    y_image = P2 * R0_rect * Tr_velo_to_cam * x_velo_coord
    在上面,R0_rot是要从对象坐标映射到参考坐标的旋转矩阵。”
    重要注意:补充理解2:
    内参矩阵+外参矩阵点云到相机的坐标转换
    https://blog.csdn.net/qq_33801763/article/details/77033064?utm_medium=distribute.pc_relevant_right.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant_right.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase
    部分内容摘取:
    1.内参矩阵:
    设空间中有一点P,若世界坐标系与相机坐标系重合,则该点在空间中的坐标为(X, Y, Z),其中Z为该点到相机光心的垂直距离。设该点在像面上的像为点p,像素坐标为(x, y)。
    在这里插入图片描述

由上图可知,这是一个简单的相似三角形关系,从而得到
在这里插入图片描述
但是,图像的像素坐标系原点在左上角,而上面公式假定原点在图像中心,为了处理这一偏移,设光心在图像上对应的像素坐标为(cx,cy),则
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/607480
推荐阅读
相关标签
  

闽ICP备14008679号