当前位置:   article > 正文

KITTI 数据集(CVPR 2012) - 点云 3D_kitti数据集

kitti数据集

声明:此翻译仅为个人学习记录

文章信息

数据集简介

0. KITTI 数据集 - 点云 3D 简述

3D目标检测基准由7481个训练图像和7518个测试图像以及相应的点云组成,共包含80256个带标签的目标。( 国内下载方式

在这里插入图片描述

0.1 KITTI 数据集采集平台

在这里插入图片描述

数据采集平台:2个灰度摄像机,2个彩色摄像机,1个激光雷达,4个光学镜头,1个GPS导航系统。

  • 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◦

在这里插入图片描述

传感器的配置平面图如上所示。为了生成双目立体图像,相同类型的摄像头相距54cm安装。由于彩色摄像机的分辨率和对比度不够好,所以还使用了两个立体灰度摄像机,它和彩色摄像机相距6cm安装。

在这里插入图片描述

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

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

0.2 KITTI 3D 目标检测 - 数据集解析

数据集结构

data
│──  kitti
│  │── ImageSets
│  │── testing
│  │  ├── calib & image_2 & velodyne
│  │── training
│  │  ├── calib & image_2 & label_2 & planes & velodyne

0.2.1 ImageSets

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

  • train.txt:训练集 列表信息
  • trainval.txt:训练集+验证集 列表信息
  • val.txt:验证集 列表信息

0.2.2 testing & training

0.2.2.1 calib
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+00
P1: 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+00
P2: 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-03
P3: 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-03
R0_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-01
Tr_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-01
Tr_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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • P0 ~ P3:矫正后的投影矩阵
  • R0_rect:矫正旋转矩阵
  • Tr_velo_to_cam:从雷达到相机 0 的旋转平移矩阵
  • Tr_imu_to_velo:从惯导或GPS装置到相机的旋转平移矩阵
  • i ∈ {0, 1, 2, 3} 是相机索引,其中 0 代表左灰度,1 代表右灰度,2 代表左彩色,3 代表右边彩色相机。
1、将 Velodyne 坐标中的点 x 投影到左侧的彩色图像中 y,使用公式 y = P2 * R0_rect * Tr_velo_to_cam * x

2、将 Velodyne 坐标中的点 x 投影到右侧的彩色图像中 y,使用公式 y = P3 * R0_rect * Tr_velo_to_cam * x

3、将 Velodyne 坐标中的点 x 投影到编号为 0 的相机(参考相机)坐标系中,使用公式 R0_rect * Tr_velo_to_cam * x

4、将 Velodyne 坐标中的点 x 投影到编号为 0 的相机(参考相机)坐标系中,再投影到编号为 2 的相机(左彩色相机)的照片上,使用公式 P2 * R0_rect * Tr_velo_to_cam * x
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

注意:

  • 所有矩阵都存储在行中,即第一个值对应于第一行。 R0_rect 包含一个 3x3 矩阵,需要将其扩展为 4x4 矩阵,方法是在右下角添加 1,在其他位置添加 0。 Tr_xxx是一个 3x4 矩阵(R | t),需要以相同的方式扩展到 4x4 矩阵!
  • 通过使用校准文件夹中的 3x4 投影矩阵,可以将相机坐标系中的坐标投影到图像中,对于提供图像的左侧彩色相机,必须使用 P2。rotation_y 和 alpha 之间的区别在于 rotation_y 直接在相机坐标中给出,而 alpha 也会考虑从相机中心到物体中心的矢量,以计算物体相对于相机的相对方向。 例如,沿着摄像机坐标系的 X 轴面向的汽车,无论它位于 X / Z 平面(鸟瞰图)中的哪个位置,它的 rotation_y 都为 0,而只有当此车位于相机的Z轴上时 α 才为零,当此车从 Z 轴移开时,观察角度 α 将会改变。
0.2.2.2 image_2

在这里插入图片描述

0.2.2.3 label_2
The label files contain the following information, which can be read and
written using the matlab tools (readLabels.m, writeLabels.m) provided within
this devkit. All values (numerical or strings) are separated via spaces,
each row corresponds to one object. The 15 columns represent:

#Values    Name      Description
----------------------------------------------------------------------------
   1    type         Describes the type of object: 'Car', 'Van', 'Truck',
                     'Pedestrian', 'Person_sitting', 'Cyclist', 'Tram',
                     'Misc' or 'DontCare'
   1    truncated    Float from 0 (non-truncated) to 1 (truncated), where
                     truncated refers to the object leaving image boundaries
   1    occluded     Integer (0,1,2,3) indicating occlusion state:
                     0 = fully visible, 1 = partly occluded
                     2 = largely occluded, 3 = unknown
   1    alpha        Observation angle of object, ranging [-pi..pi]
   4    bbox         2D bounding box of object in the image (0-based index):
                     contains left, top, right, bottom pixel coordinates
   3    dimensions   3D object dimensions: height, width, length (in meters)
   3    location     3D object location x,y,z in camera coordinates (in meters)
   1    rotation_y   Rotation ry around Y-axis in camera coordinates [-pi..pi]
   1    score        Only for results: Float, indicating confidence in
                     detection, needed for p/r curves, higher is better.

Here, 'DontCare' labels denote regions in which objects have not been labeled,
for example because they have been too far away from the laser scanner. To
prevent such objects from being counted as false positives our evaluation
script will ignore objects detected in don't care regions of the test set.
You can use the don't care labels in the training set to avoid that your object
detector is harvesting hard negatives from those areas, in case you consider
non-object regions from the training images as negative examples.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
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.56
Car 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.57
Cyclist 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.55
DontCare -1 -1 -10 503.89 169.71 590.61 190.13 -1 -1 -1 -1000 -1000 -1000 -10
DontCare -1 -1 -10 511.35 174.96 527.81 187.45 -1 -1 -1 -1000 -1000 -1000 -10
DontCare -1 -1 -10 532.37 176.35 542.68 185.27 -1 -1 -1 -1000 -1000 -1000 -10
DontCare -1 -1 -10 559.62 175.83 575.40 183.15 -1 -1 -1 -1000 -1000 -1000 -10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

每行代表1个目标,每行有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轴的夹角,如图1所示。
  • 第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),用来绘制p/r曲线,越高越好。此为模型的输出,此处省略了。

在这里插入图片描述

0.2.2.4 planes
# Plane
Width 4
Height 1
-1.851372e-02 -9.998285e-01 -5.362310e-04 1.678761e+00
  • 1
  • 2
  • 3
  • 4
0.2.2.5 velodyne
8D 97 92 41 39 B4 48 3D 58 39 54 3F 00 00 00 00 
83 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 
...
...
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

点云数据以浮点二进制文件格式存储,每个浮点数占4字节。一个点云数据由4个浮点数构成,分别表示点云的x、y、z、r,其存储方式如下表所示:

点云X轴 (m)Y轴 (m)Z轴 (m)反射强度
pointcloud-1x-1y-1z-1r-1
pointcloud-2x-2y-2z-2r-2
pointcloud-3x-3y-3z-3r-3
pointcloud-nx-ny-nz-nr-n

摘要

  今天,视觉识别系统仍然很少用于机器人应用。可能这其中的一个主要原因是缺乏模拟此类场景的苛刻基准。在本文中,我们利用我们的自动驾驶平台为立体、光流、视觉里程计/SLAM和3D目标检测任务开发了具有挑战性的新基准。我们的记录平台配备了四台高分辨率摄像机、Velodyne激光扫描仪和最先进的定位系统。我们的基准包括389个立体和光流图像对、39.2km长的立体视觉里程测量序列,以及在杂乱场景中捕获的超过200k个3D目标注释(每张图像最多可看到15辆汽车和30名行人)。来自最先进算法的结果表明,在Middlebury等已建立的数据集上排名靠前的方法在实验室外移动到现实世界时表现低于平均水平。我们的目标是通过向计算机视觉社区提供具有挑战性的基准,并为其带来新的困难,从而减少这种偏见。我们的基准可在线访问:www.cvlibs.net/datasets/kitti

1. 引言

  开发能够帮助人类完成日常任务的自主系统是现代计算机科学的重大挑战之一。一个例子是自动驾驶系统,它可以帮助减少交通事故造成的死亡人数。虽然在过去几年中,各种新型传感器被用于目标的识别、导航和操纵等任务,但视觉传感器很少被用于机器人应用:自动驾驶系统主要依赖GPS、激光测距仪、雷达以及非常精确的环境地图。

  在过去几年中,已经开发了越来越多的基准来推动视觉识别系统的性能,例如Caltech-101[17]、Middlebury立体声[41]和光流[2]评估。然而,这些数据集大多过于简单化,例如,在受控环境中采集。一个显著的例外是PASCAL VOC检测和分割挑战[16]。

在这里插入图片描述

图1. 带传感器的记录平台(左上)、视觉里程基准的轨迹(上中)、视差和光流图(右上)和3D目标标签(下)。

  在本文中,我们利用我们的自动驾驶平台为立体、光流、视觉里程计/SLAM和3D目标检测开发了具有挑战性的新基准。我们的基准是通过在中等城市、农村地区和高速公路上行驶来获得的。我们的记录平台配备了两个高分辨率立体摄像系统(灰度和彩色)、每秒产生超过一百万个3D点的Velodyne HDL-64E激光扫描仪和结合GPS、GLONASS、IMU和RTK校正信号的最先进的OXTS RT 3003定位系统。摄像机、激光扫描仪和定位系统经过校准和同步,为我们提供了准确的真值。表1总结了我们的基准,并提供了与现有数据集的比较。

  我们的立体匹配和光流估计基准包括194个训练和195个测试图像对,分辨率为1240×376像素。与之前的数据集[41,2,30,29]相比,这是第一个具有真实的非合成图像和准确真值的数据集。困难包括非朗伯曲面(例如,反射率、透明度)大位移(例如,高速)、多种材质(例如,无光与有光泽)以及不同的照明条件(例如,阳光与多云)。

  我们的3D视觉里程计/SLAM数据集由22个立体序列组成,总长39.2km。迄今为止,属于这一类别的数据集要么是单目短焦[43],要么由低质量图像组成[42,4,35]。它们通常不提供评估指标,因此,对于应使用哪个基准来评估视觉里程计/SLAM方法没有共识。因此,除了基于激光的SLAM[28]外,通常只给出定性结果。我们相信,由于基准的大规模性质以及我们提出的新指标,我们可以在基准中进行公平比较,这些指标通过评估给定轨迹长度或行驶速度的所有子序列的误差统计来捕获不同的误差源。

  我们的3D目标基准关注用于目标检测和3D方向估计的计算机视觉算法。虽然这些任务的现有基准无法提供准确的3D信息[17、39、15、16]或缺乏真实感[33、31、34],但我们的数据集为汽车、货车、卡车、行人、自行车和电车等目标类别提供了准确的3D边界框。我们通过在Velodyne系统生成的3D点云中手动标记目标,并将其投影回图像中,来获得这些信息。这产生了具有精确3D姿态的轨迹,可用于评估3D方向估计和3D跟踪算法的性能。

  在我们的实验中,我们使用我们的基准和新的度量标准来评估一组具有代表性的最先进系统。也许并不奇怪,许多在诸如Middlebury[41,2]等现有数据集上表现良好的算法在我们的基准上举步维艰。我们推测这可能是由于他们的假设在我们的场景中被违反,以及过度拟合到一小组训练(测试)图像。

  除了基准测试之外,我们还提供了MATLAB/C++开发工具包,以方便访问。我们还维护最新的在线评估服务器(www.cvlibs.net/datasets/kitti)。我们希望,我们的努力将有助于提高视觉识别系统在机器人应用中的影响力。

2.挑战和方法

  为上述任务制定大规模和现实的评估基准提出了一系列挑战,包括实时收集大量数据、校准以不同速率工作的各种传感器、生成真值最大限度地减少所需的监督,为每个基准选择适当的序列和帧,以及为每个任务制定度量。在本节中,我们将讨论如何应对这些挑战。

2.1 传感器和数据采集

  我们配备了一辆标准旅行车,配备了两个彩色和两个灰度的PointGrey Flea2摄像机(10 Hz,分辨率:1392×512像素,开口:90°×35°)、Velodyne HDL-64E 3D激光扫描仪(10 Hz、64束激光,范围:100 m)、带有RTK校正信号的GPS/IMU定位单元(开放天空定位误差<5 cm)和运行实时数据库的强大计算机[22]。

  我们将所有摄像头(即两个单元,每个单元由一个彩色摄像头和一个灰度摄像头组成)安装在车辆顶部。我们将一个单元放在机架的左侧,另一个放在右侧。我们的相机设置被选择为使得我们在相同类型的相机之间获得大约54cm的基线,并且彩色和灰度相机之间的距离被最小化(6cm)。我们认为这是一个很好的设置,因为彩色图像对于分割和目标检测等任务非常有用,但与灰度图像相比,其对比度和灵敏度较低,这在立体匹配和光流估计中至关重要。

  我们使用Velodyne HDL-64E单元,因为它是可从移动平台提供准确3D信息的少数传感器之一。相比之下,像Microsoft Kinect这样的结构光系统在户外场景中不起作用,而且感应范围非常有限。为了补偿3D激光测量中的自我运动,我们使用来自GPS/IMU系统的位置信息。

2.2 传感器校准

  准确的传感器校准是获得可靠真值的关键。我们的校准流程如下:首先,我们对四台摄像机进行内部和外部校准,并对输入图像进行校正。然后,我们找到与激光扫描仪、定位单元和参考相机的坐标系相关的三维刚性运动参数。虽然我们的相机到相机和GPS/IMU到Velodyne的配准方法是全自动的,但Velodyne到相机的校准需要用户手动选择激光和相机图像之间的少量对应关系。这是必要的,因为这项任务的现有技术不够精确,无法计算真值估计。

摄像机到摄像机校准。为了自动校准摄像机的内部和外部参数,我们在车库的墙上安装了棋盘图案,并在校准图像中检测角落。基于梯度信息和离散能量最小化,我们将角点分配给棋盘,在相机之间进行匹配,并通过最小化平均重投影误差来优化所有参数[19]。

在这里插入图片描述

表1. 当前最先进基准和数据集的比较。

Velodyne至摄像头校准。将激光扫描仪与摄像头配准是非常重要的,因为由于反射率值中的大量噪声,很难建立对应关系。因此,我们依赖于半自动技术:首先,我们使用[19]的全自动方法注册两个传感器。接下来,我们结合激光点云和图像之间的一些手动选择的对应关系的重投影误差,将基准测试中表现最好的方法的视差异常值的数量最小化。作为对应,我们选择了两个领域(即图像和点云)中人类容易定位的边缘。通过使用Metropolis Hastings抽取样本并选择能量最低的解决方案来进行优化。

GPS/IMU至Velodyne校准。我们的GPS/IMU到Velodyne的注册过程是全自动的。我们不能依赖视觉对应,然而,如果提供了来自两个传感器的运动估计,则该问题将与众所周知的手眼校准问题相同,该问题已在机器人界进行了广泛探索[14]。利用ICP,我们精确地记录了停车序列的激光点云,因为这提供了很好地调节最小化问题所需的各种方向和平移。接下来,我们从这个序列中随机抽样1000对姿势,并使用[14]获得期望的结果。

2.3 真值

  校准并登记所有传感器后,我们准备为图1所示的单个基准生成真值。

  为了获得高的立体光流真值密度,我们使用ICP注册一组连续帧(感兴趣帧之前5帧和之后5帧)。我们将累积的点云投影到图像上,并自动删除落在图像之外的点。然后,我们手动删除所有模糊的图像区域,如窗口和围栏。给定相机校准,可以容易地计算相应的视差图。通过将3D点投影到下一帧中获得光学流场。对于这两项任务,我们评估了非遮挡像素以及真值可用的所有像素。我们的非遮挡评估排除了落在图像平面之外的所有表面点。由于激光扫描仪的特性,不能以全自动的方式可靠地估计同一图像内被目标遮挡的点。为了避免人为误差,我们不插值真值视差图和光学流场,导致真值密度平均值为~50%。

  视觉里程计/SLAM的真值由GPS/IMU定位单元的输出直接给出,该单元在校正后投影到左摄像机的坐标系中。

在这里插入图片描述

图2. 数据集的目标发生和目标几何统计。该图显示(从左到右,从上到下):在我们的序列中出现的不同类型的目标,图像中实例数量的幂律分布,以及两个最主要类别“汽车”和“行人”的方向直方图和目标大小分布。

  为了生成3D目标真值,我们雇佣了一组注释员,并要求他们以3D边界框的形式为汽车、货车、卡车、电车、行人和自行车等目标分配轨迹。与大多数现有基准不同,我们不依赖在线众包来执行标注。为了实现这一目标,我们创建了一个特殊用途的标签工具,它显示3D激光点以及相机图像,以提高注释的质量。在[16]之后,我们要求注释器将每个边界框额外标记为可见、半遮挡、完全遮挡或截断。我们的标签工作统计数据如图2所示。

2.4 基准选择

  我们总共收集了约3 TB的数据,从中我们选择了一个代表性的子集来评估每个任务。在我们的实验中,我们目前专注于灰度图像,因为它们比彩色图像提供更高的质量。

  对于我们的立体光流基准,我们选择了环境静止的序列子集。为了最大化多样性,我们使用新的表示对数据执行k均值(k=400)聚类,并选择最接近每个聚类中心的元素作为基准。我们使用144维图像描述符描述每个图像,该描述符通过将图像细分为12×4个矩形块并计算每个块的平均视差和光流位移而获得。在移除具有不良照明条件的场景(例如,隧道)之后,我们获得了两个基准的194个训练和195个测试图像对。

  对于我们的视觉里程计/SLAM评估,我们选择了具有高质量定位的不同速度的长序列,以每秒10帧的速度拍摄了一组41.000帧,总行驶距离为39.2公里,并频繁关闭SLAM感兴趣的环路。

  我们的3D目标检测和方向估计基准是根据场景中未遮挡目标的数量以及目标方向分布的熵来选择的。为了确保多样性,需要高熵。为了实现这个目标,我们使用了贪婪算法:我们将数据集X初始化为空集∅,并使用以下规则迭代添加图像
在这里插入图片描述
其中X是当前集合,x是来自数据集的图像,noc(x)表示图像x中未遮挡目标的数量,C表示目标类的数量。Hc是c类相对于方向的熵(我们对行人/汽车使用8/16个方向箱)。我们进一步确保来自一个序列的图像不会出现在训练集和测试集中。

2.5 评估指标

  我们利用一组不同的指标评估最先进的方法。在[41,2]之后,我们使用视差和终点误差方面的错误像素的平均数量来评估立体和光流。与[41,2]相反,我们的图像没有向下采样。因此,我们将视差/终点误差阈值τ∈{2,…,5}px作为基准,τ=3 px是默认设置,它考虑了几乎所有的校准和激光测量误差。我们报告了非遮挡像素以及真值可用的所有像素的错误。

  基于轨迹终点的误差评估视觉里程计/SLAM方法可能会产生误导,因为该测量强烈依赖于产生误差的时间点,例如,序列中较早的旋转误差导致较大的终点误差。K¨ummerle等人[28]建议计算固定距离处所有相对关系的平均值。在这里,我们以两种方式扩展这个度量。我们不是将旋转和平移误差合并为一个度量,而是将它们分开处理。此外,我们还评估了作为轨迹长度和速度的函数的误差。这允许对单个方法的质量和故障模式进行更深入的了解。正式地,我们的误差度量定义为
在这里插入图片描述
其中,F是一组帧(i,j),分别估计 p ^ \hat{p} p^∈SE(3)和p∈E(3),真实相机姿态,⊖表示逆合成算子[28],∠[·]是旋转角。

  我们的3D目标检测和方向估计基准分为三个部分:首先,我们使用[16]中描述的建立良好的平均精度(AP)度量,通过测量性能来评估经典的2D目标检测。从最大重叠开始检测被迭代地分配给真值标签,通过边界框的IOU来测量。我们要求真阳性重叠超过50%,并将同一目标的多次检测计数为假阳性。我们使用我们称为平均方向相似性(AOS)的新度量来评估联合检测目标和估计其3D方向的性能,我们将其定义为:
在这里插入图片描述
这里, r = T P T P + F N r=\frac{TP}{TP+FN} r=TP+FNTP是PASCAL目标检测召回,其中检测到的2D边界框如果与真值边界框重叠至少50%,则是正确的。召回r处的方向相似性s∈[0,1]是余弦相似性的归一化([0…1])变量,定义为
在这里插入图片描述
其中D(r)表示在召回率r下所有目标检测的集合, ∆ θ ( i ) ∆^{(i)}_θ θ(i)是检测i的估计方位和真值方位之间的角度差。为了惩罚解释单个目标的多个检测,如果检测i已分配给真值边界框(重叠至少50%),我们设置δi=1,如果未分配,则设置δi=0。

  最后,我们还评估了纯分类(汽车的16个箱)和回归(连续方向)在3D目标方向估计任务中的方向相似性性能。

在这里插入图片描述

图3. PCBP的立体结果[46]。输入图像(顶部)、估计视差图(中部)、视差误差(底部)。误差范围:0像素(黑色)至≥5像素(白色)。

在这里插入图片描述

图4. TGV2CENSUS的光流结果[45]。输入图像(顶部)、估计流场(中部)、终点误差(底部)。误差范围:0像素(黑色)至≥5像素(白色)。

3. 实验评价

  我们为每个任务运行一组具有代表性的最先进算法。有趣的是,我们发现在现有基准测试中排名靠前的算法在遇到更现实的场景时往往会失败。本节讲述了他们的故事。

3.1 立体匹配

  对于立体匹配,我们使用全局[26,37,46],半全局[23],局部[5,20,38]和种子生长[27,10,9]方法。我们使用的参数设置可以在www.cvlibs.net/datasets/kitti上找到。使用背景插值[23]为每个算法填充缺失的差异,以生成密集的差异图,然后进行比较。如表2所示,我们基准测试的误差高于Middlebury[41]报告的误差,表明我们真实世界数据集的难度增加。有趣的是,Middlebury排名靠前的方法在我们的数据集上表现尤其糟糕,例如,引导成本体积过滤[38]、逐像素图形切割[26]。这主要是由于数据集的差异:由于Middlebury基准在很大程度上具有良好的纹理,并提供了较小的标签集,因此专注于精确的目标边界分割的方法表现良好。相比之下,我们的数据需要更多的全局推理,以了解分割性能不太关键的纹理很少、模糊或没有纹理的区域。如果假设前向平行表面,则纯局部方法[5,38]失败,因为在真实场景(例如道路或建筑物)中,这一假设经常被强烈违反。

  图3显示了(当前)排名靠前的立体方法PCBP的最佳和最差测试结果[46]。虽然自然环境中的小错误是由于大量的纹理,但城市内部的场景被证明是具有挑战性的。这里,主要的误差源是图像饱和度(左侧的墙)、视差阴影(RV遮挡道路)和非朗伯曲面(RV主体上的反射)。

3.2 光流估计

  对于光流,我们评估了最先进的变分[24,6,48,44,7,9,45]和局部[5,47]方法。表2总结了我们的实验结果。我们观察到经典变分方法[24,44,45]对我们的图像效果最好。然而,表现最好的方法TGV2CENSUS[45]平均仍产生约11%的误差。如图4所示,大多数误差发生在帧之间发生较大位移的区域,例如街道上的近距离像素。此外,由于缺少纹理,金字塔实现缺乏在金字塔的更高层次上估计流场的能力。虽然在小运动时获得最佳结果(图4左侧,流量≤55像素),但在高速行驶时(图4右侧,流量≤176像素)会导致大位移,这无法通过任何评估方法可靠地处理。我们认为,要克服这些问题,我们需要更复杂的模型,利用世界的先验知识。以前由于缺乏足够的训练数据而受到阻碍,这种方法将在不久的将来变得可行,因为我们提供了更大的训练集。

在这里插入图片描述

表2. 2012年4月2日的立体(左)和光流(右)排名。数字表示视差误差或光流终点误差(欧氏距离)大于τ=3px的像素百分比,在所有测试图像上取平均值。这里,非遮挡指的是在两个图像中投影之后留在图像内部的像素,并且all表示真值信息可用的所有像素。密度是指估计的像素数。为了可比性,对无效差异和流量矢量进行了插值。

在这里插入图片描述

图5. 视觉里程表评估。平移和旋转误差,在给定长度或速度的所有子序列上取平均值。

3.3 视觉里程计/SLAM

  我们在我们的视觉里程计/SLAM数据集上评估了五种不同的方法:VISO2-S/M[21],一种基于增量运动估计的实时立体/单目视觉里程计库,[1]的方法,有无局部束调整(LBA)[32],以及[25]的流分离方法。所有算法都是可比的,因为它们都不使用循环闭合信息。除了VISO2-M[21]仅使用单眼图像外,所有方法都使用立体。图5描述了作为轨迹长度和驱动速度的函数的旋转和平移误差。

  在我们的评估中,VISO2-S[21]最接近真值轨迹,平均平移误差为2.2%,平均旋转误差为0.016度/米。根据我们的光流实验,大运动会影响性能,特别是在平移方面。以每秒10帧的记录速率,车辆每帧移动2.8米。此外,大型运动主要发生在3D结构不太丰富的高速公路上。低速时的大误差源于这样一个事实,即基于增量或滑动窗口的方法会随着时间缓慢漂移,在低速时相对影响最大。如果在车辆缓慢移动或静止时优化更大的时间间隔,则可以容易地缓解此问题。在我们的实验中,没有使用真值信息来训练模型参数。我们期望检测环路闭合,利用更多增强的束调整技术,以及利用训练数据进行参数拟合,以进一步提高性能。

在这里插入图片描述

图6. 目标检测和方向估计结果。有关指标的详细信息,请参见第2.5节。

在这里插入图片描述

表3. 汽车的目标方向错误。根据方向相似性测量的性能(等式5)。越高越好。

3.4 3D目标检测/方向估计

  我们使用第2.5节所述的平均精度和平均方向相似度来评估目标检测以及联合检测和方向估计。我们从完整数据集中提取的基准包括12000张图像和40000个目标。我们首先将训练集细分为16个定向类,并使用每个类100个非遮挡示例,通过将组件初始化为16个类,但在优化期间让组件变化(固定初始化)。

  我们评估了所有非遮挡和弱遮挡(<20%)的目标,这些目标的高度既不被截断,也不小于40像素。我们不将检测到截断或遮挡的目标算作误报。对于我们的目标检测实验,我们需要至少50%的边界框重叠,结果如图所示。6(a)。对于检测和方向估计,我们需要相同的重叠,并绘制两个无监督变体的平均方向相似性(等式5)与召回(图6(b))。注意,精度是平均方向相似度的上限。

  总之,我们没有发现我们研究的基于部件的检测器变体之间有任何实质性差异。所有这些都实现了高精度,而召回似乎受到一些难以检测的物体的限制。我们计划将在线评估扩展到更复杂的场景,例如半遮挡或截断目标以及其他目标类,如面包车、卡车、行人和自行车。

  最后,我们还评估了目标定向估计。我们使用16个方向箱,每个方向箱提取100个汽车实例。我们在所有裁剪和调整大小的边界框上计算HOG特征[12],边界框具有19×13个块、8×8个像素单元和12个方向箱。我们评估了多种分类和回归算法,并报告了平均方向相似性(方程5)。表3显示了我们的结果。我们发现,对于分类任务,SVM[11]明显优于最近邻分类。对于回归任务,高斯过程回归[36]表现最好。

4. 结论和未来工作

  我们希望,为现有方法提供新的视角,建议的基准将补充其他基准,有助于减少对几乎没有训练或测试示例的数据集的过度拟合,并有助于开发在实践中运行良好的算法。由于我们的记录数据提供的信息超过了迄今为止编入基准的信息,我们的意图是逐步增加他们的困难。此外,我们还计划将具有闭环功能的视觉SLAM、目标跟踪、分割、运动结构和3D场景理解纳入我们的评估框架。

References

[1] P. Alcantarilla, L. Bergasa, and F. Dellaert. Visual odometry priors for robust EKF-SLAM. In ICRA, 2010. 6
[2] S. Baker, D. Scharstein, J. Lewis, S. Roth, M. Black, and R. Szeliski. A database and evaluation methodology for optical flow. IJCV, 92:1–31, 2011. 1, 2, 3, 4, 5
[3] S. M. Bileschi. Streetscenes: Towards scene understanding in still images. Technical report, MIT, 2006. 3
[4] J.-L. Blanco, F.-A. Moreno, and J. Gonzalez. A collection of outdoor robotic datasets with centimeter-accuracy ground truth. Auton. Robots, 27:327–351, 2009. 2, 3
[5] G. Bradski. The opencv library. Dr. Dobb’s Journal of Software Tools, 2000. 5, 6
[6] T. Brox, A. Bruhn, N. Papenberg, and J. Weickert. High accuracy optical flow estimation based on a theory for warping. In ECCV, 2004. 6
[7] T. Brox and J. Malik. Large displacement optical flow: Descriptor matching in variational motion estimation. PAMI, 33:500–513, March 2011. 6
[8] M. E. C. G. Keller and D. M. Gavrila. A new benchmark for stereo-based pedestrian detection. In IV, 2011. 3
[9] J. Cech, J. Sanchez-Riera, and R. P. Horaud. Scene flow estimation by growing correspondence seeds. In CVPR, 2011. 5, 6
[10] J. Cech and R. Sara. Efficient sampling of disparity space for fast and accurate matching. In BenCOS, 2007. 5, 6
[11] C.-C. Chang and C.-J. Lin. LIBSVM: a library for support vector machines. Technical report, 2001. 7
[12] N. Dalal and B. Triggs. Histograms of oriented gradients for human detection. In CVPR, 2005. 7
[13] P. Dollar, C. Wojek, B. Schiele, and P. Perona. Pedestrian detection: An evaluation of the state of the art. In PAMI, volume 99, 2011. 3
[14] F. Dornaika and R. Horaud. Simultaneous robot-world and hand-eye calibration. Rob. and Aut., 1998. 3
[15] A. Ess, B. Leibe, and L. V. Gool. Depth and appearance for mobile scene analysis. In ICCV, 2007. 2, 3
[16] M. Everingham, L. Van Gool, C. K. I. Williams, J. Winn, and A. Zisserman. The PASCAL Visual Object Classes Challenge 2011 (VOC2011) Results. 1, 2, 3, 4, 5
[17] L. Fei-Fei, R. Fergus, and P. Perona. Learning generative visual models from few training examples: an incremental bayesian approach tested on 101 object categories. In Workshop on Generative-Model Based Vision, 2004. 1, 2, 3
[18] P. Felzenszwalb, R.Girshick, D. McAllester, and D. Ramanan. Object detection with discriminatively trained partbased models. PAMI, 32:1627–1645, 2010. 7
[19] A. Geiger, F. Moosmann, O. Car, and B. Schuster. A toolbox for automatic calibration of range and camera sensors using a single shot. In ICRA, 2012. 3
[20] A. Geiger, M. Roser, and R. Urtasun. Efficient large-scale stereo matching. In ACCV, 2010. 5, 6
[21] A. Geiger, J. Ziegler, and C. Stiller. StereoScan: Dense 3d reconstruction in real-time. In IV, 2011. 6
[22] M. Goebl and G. Faerber. A real-time-capable hard- and software architecture for joint image and knowledge processing in cognitive automobiles. In IV, 2007. 2
[23] H. Hirschmueller. Stereo processing by semiglobal matching and mutual information. PAMI, 30:328–41, 2008. 5
[24] B. K. P. Horn and B. G. Schunck. Determining optical flow: A retrospective. AI, 59:81–87, 1993. 6
[25] M. Kaess, K. Ni, and F. Dellaert. Flow separation for fast and robust stereo odometry. In ICRA, 2009. 6
[26] V. Kolmogorov and R. Zabih. Computing visual correspondence with occlusions using graph cuts. In ICCV, pages 508–515, 2001. 5, 6
[27] J. Kostkova. Stratified dense matching for stereopsis in complex scenes. In BMVC, 2003. 5, 6
[28] R. Kuemmerle, B. Steder, C. Dornhege, M. Ruhnke, G. Grisetti, C. Stachniss, and A. Kleiner. On measuring the accuracy of SLAM algorithms. Auton. Robots, 27:387–407, 2009. 2, 5
[29] L. Ladicky, P. Sturgess, C. Russell, S. Sengupta, Y. Bastanlar, W. Clocksin, and P. Torr. Joint optimisation for object class segmentation and dense stereo reconstruction. In BMVC, 2010. 1, 3
[30] S. Morales and R. Klette. Ground truth evaluation of stereo algorithms for real world applications. In ACCV Workshops, volume 2 of LNCS, pages 152–162, 2010. 1, 3
[31] P. Moreels and P. Perona. Evaluation of features, detectors and descriptors based on 3d objects. IJCV, 73:263–284, 2007. 2, 3
[32] E. Mouragnon, M. Lhuillier, M. Dhome, F. Dekeyser, and P. Sayd. Generic and real-time structure from motion using local bundle adjustment. IVC, 27:1178–1193, 2009. 6
[33] Nayar and H. Murase. Columbia Object Image Library: COIL-100. Technical report, Department of Computer Science, Columbia University, 1996. 2, 3
[34] M. Ozuysal, V. Lepetit, and P.Fua. Pose estimation for category specific multiview object localization. In CVPR, 2009. 2, 3
[35] G. Pandey, J. R. McBride, and R. M. Eustice. Ford campus vision and lidar data set. IJRR, 2011. 2, 3
[36] C. E. Rasmussen and C. K. I. Williams. Gaussian Processes for Machine Learning. MIT Press, 2005. 7
[37] T. P. H. B. Rene Ranftl, Stefan Gehrig. Pushing the limits of stereo using variational stereo estimation. In IV, 2012. 5, 6
[38] C. Rhemann, A. Hosni, M. Bleyer, C. Rother, and M. Gelautz. Fast cost-volume filtering for visual correspondence and beyond. In CVPR, 2011. 5, 6
[39] B. Russell, A. Torralba, K. Murphy, and W. Freeman. Labelme: A database and web-based tool for image annotation. IJCV, 77:157–173, 2008. 2, 3
[40] A. Saxena, J. Schulte, and A. Y. Ng. Depth estimation using monocular and stereo cues. In IJCAI, 2007. 3
[41] D. Scharstein and R. Szeliski. A taxonomy and evaluation of dense two-frame stereo correspondence algorithms. IJCV, 47:7–42, 2001. 1, 2, 3, 4, 5
[42] M. Smith, I. Baldwin, W. Churchill, R. Paul, and P. Newman. The new college vision and laser data set. IJRR, 28:595–599, 2009. 2, 3
[43] J. Sturm, S. Magnenat, N. Engelhard, F. Pomerleau, F. Colas, W. Burgard, D. Cremers, and R. Siegwart. Towards a benchmark for RGB-D SLAM evaluation. In RGB-D Workshop, 2011. 2, 3
[44] D. Sun, S. Roth, and M. J. Black. Secrets of optical flow estimation and their principles. In CVPR, 2010. 6
[45] M. Werlberger. Convex Approaches for High Performance Video Processing. phdthesis, Graz University of Technology, 2012. 5, 6
[46] K. Yamaguchi, T. Hazan, D. McAllester, and R. Urtasun. Continuous markov random fields for robust stereo estimation. In arXiv:1204.1393v1, 2012. 5, 6
[47] J. yves Bouguet. Pyramidal implementation of the Lucas Kanade feature tracker. Intel, 2000. 6
[48] C. Zach, T. Pock, and H. Bischof. A duality based approach for realtime TV-L1 optical flow. In DAGM, pages 214–223, 2007. 6

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

闽ICP备14008679号