当前位置:   article > 正文

【可视化】rviz下的kitti数据集可视化(1)_使用rviz可视化kitti中的数据

使用rviz可视化kitti中的数据

基本介绍

        KITTI数据集由德国卡尔斯鲁厄理工学院丰田美国技术研究院联合创办,是目前国际上最大的自动驾驶场景下的计算机视觉算法评测数据集。该数据集用于评测立体图像(stereo),光流(optical flow),视觉测距(visual odometry),3D物体检测(object detection)和3D跟踪(tracking)等计算机视觉技术在车载环境下的性能。KITTI包含市区、乡村和高速公路等场景采集的真实图像数据,每张图像中最多达15辆车和30个行人,还有各种程度的遮挡与截断。整个数据集由389对立体图像和光流图,39.2 km视觉测距序列以及超过200k 3D标注物体的图像组成,以10Hz的频率采样及同步。     KIITI数据集相对比较复杂,对于部分习惯了图像2D检测的同学来说,刚开始接触KITTI数据集容易短暂地迷失在其稍显复杂的标注方式以及各种坐标系的转换当中。我本着"眼见为实"的原则,借助rviz这一可视化工具对该数据集的3D物体检测部分的内容做一个补充介绍,希望能对部分困惑的读者有所帮助。

        首先还是要了解一下传感器的整体布局以及标注格式的定义。KITTI数据采集平台包括2个灰度摄像机,2个彩色摄像机,一个Velodyne 3D激光雷达,4个光学镜头,以及1个GPS导航系统。其传感器的布局如下。        

这里写图片描述

KITTI数据集一共有3个坐标系:1).激光雷达坐标系;2).相机坐标系;3).图像坐标系。

 这里必须注意的是在这里激光雷达坐标系和相机坐标系都是三维(xyz)坐标系,但是他们坐标轴的定义是不一样的。如下图所示,XYZ这3个坐标轴分别用红绿蓝3种颜色表示,左边为激光雷达坐标系,右边为相机坐标系。

• Camera: x = right, y = down, z = forward
• Velodyne: x = forward, y = left, z = up

查看源图像

        在KITTI数据集中3D box是在参考相机(0号相机)坐标系下,而非激光雷达坐标系下。以KITTI数据集中训练集为例,其文件结构如下:

  1. └── KITTI_DATASET_ROOT
  2. ├── training <-- 7481 train data
  3. | ├── image_2 <-- for visualization
  4. | ├── calib <-- camera inner and outter parameters
  5. | ├── label_2 <--label for trainning and evaluate
  6. | ├── velodyne<--lidar data
  7. | └── velodyne_reduced <-- reduced by image size frustum
  8. └── testing <-- 7518test data
  9. ├── image_2 <-- for visualization
  10. ├── calib
  11. ├── velodyne
  12. └── velodyne_reduced

标注文件存于label_2文件夹下面。每帧图像/激光点云对应一个txt标注文件,每行记录对应一个标注目标,每条记录包含15个字段的内容。以training/image_2/007305.png图片为例,它包含了两个目标。

 

字段1:type,代表物体类别

'Car', 'Van', 'Truck','Pedestrian', 'Person_sitting', 'Cyclist','Tram',  'Misc' or  'DontCare'

注意,’DontCare’ 标签表示该区域没有被标注,比如由于目标物体距离激光雷达太远。为了防止在评估过程中(主要是计算precision)将本来是目标物体但是因为某些原因而没有标注的区域统计为假阳性(false positives),评估脚本会自动忽略’DontCare’ 区域的预测结果。

字段2:truncated,代表物体是否被截断

从0(非截断)到1(截断)浮动,其中truncated指离开图像边界的对象

字段3:occluded,代表物体是否被遮挡

整数0,1,2,3表示被遮挡的程度

0:完全可见  1:小部分遮挡  2:大部分遮挡 3:完全遮挡(unknown)

字段4:alpha,物体的观察角度,范围:-pi~pi

是在相机坐标系下,以相机原点为中心,相机原点到物体中心的连线为半径,将物体绕相机y轴旋转至相机z轴,此时物体方向与相机x轴的夹角。

字段5~8:bbox_left,bbox_top,bbox_right,bbox_bottom,物体的2维边界框

字段9~11:height,width,length,3维物体的尺寸,单位m

字段12~14:x,y,z,3D物体在相机坐标系下的位置,单位m

 注意的是这里(x,y,z)的位置不是3D目标的中心点的位置,而是3D目标下底面中心点的位置

字段15个:ry,3D物体的空间方向

在照相机坐标系下,物体的全局方向角(物体前进方向与相机坐标系x轴的夹角),范围:-pi~pi。关于ry后文还要做补充说明。

在这里插入图片描述

休息一下,接下篇【可视化】rviz下的kitti数据集可视化(2)

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号