自动驾驶数据集综述

Driving Datasets Literature Review-自动驾驶数据集综述

链接:https://www.researchgate.net/publication/336869619_Driving_Datasets_Literature_Review

该篇论文对自动驾驶数据集进行介绍,前几个部分介绍比较粗略,仅仅进行简单介绍,但是最后一个部分对于数据集的列表还是有很高的实用性。

文章目录

  • Driving Datasets Literature Review-自动驾驶数据集综述
    • 1. 传感器
      • 外部传感器
        • 相机
        • 激光雷达
    • 2. 校准
      • 空间校准
      • 时间校准
    • 3.任务
      • 3.1 立体视觉
      • 3.2 运动估计
      • 3.3 目标检测
      • 3.4 目标跟踪
      • 3.5 语义分割
      • 3.6 定位
      • 3.7行为分析
    • 4.数据集
      • 4.1 目标检测数据集
      • 4.2 目标分割数据集
      • 4.3 车道线检测数据集
      • 4.4 光流数据集
      • 4.5 光流数据集
      • 4.6 定位与地图数据集
      • 4.7 行为数据集

        该篇论文主要是对不同的自动驾驶数据集进行总结与介绍,对于自动驾驶的任务与最近的研究成果进行简要的介绍。主要分为四个部分,第一部分介绍了自动驾驶使用 不同的传感器,介绍不同传感器的特点与整个传感器的发展趋势;第二部分介绍了不同传感器之间的空间与时间的配准;第三部分介绍自动驾驶数据集主要的任务;最后一个部分对数据集以列表的形式给出,方便查找与对比。

1. 传感器

        为了实现可靠性和鲁棒性,自动驾驶汽车通常使用多种传感器。传感模式的多样性也有助于缓解困难的条件,因为它们的失效模式在某种程度上是不相关的。这些传感器可分为两大类,即外感受传感器和本体感受传感器。
        外部传感器是用来观察环境的,在自动驾驶汽车的情况下,是指道路、建筑物、汽车、行人等。自动驾驶汽车最常见的外部感受传感器是摄像头和距离传感器。
        本体感受传感器测量给定系统的内部值。在自动驾驶汽车的情况下,这些测量包括线性和角位置,速度和加速度。大多数现代汽车已经配备了过多的本体感受传感器。车轮编码器用于里程测量,转速计用于速度,可以监测加速度变化。这些传感器通常可以通过车辆CAN总线访问。

外部传感器

相机

        照相机有各种类型和型号。它们是被动传感器,这意味着它们不需要发出信号来捕捉信息,从而限制了与其他传感器的可能干扰。然而,由于它们的被动性质,它们受到光照和天气条件的负面影响。单个摄像头应用比较广泛,因为过去十年大部分的目标检测、分割以及跟踪的算法都是围绕单个摄像头进行的。自动驾驶数据集综述_第1张图片
        过去也曾使用过其他类型的专用相机。例如,为了弥补夜间糟糕的摄像性能,热像机和红外像机被用于行人检测[43]等任务。
自动驾驶数据集综述_第2张图片
        另一种引起人们兴趣的相机是事件相机,它输出像素级别的亮度变化,而不是标准的亮度帧。它们提供了出色的动态范围和非常低的延迟(按s的顺序),这在高度动态的场景中非常有用。然而,大多数已经开发的视觉算法不能很容易地应用到这些相机上,因为它们输出的是异步事件序列,而不是传统的强度图像。然而,一些带有事件相机的自动驾驶车辆数据集现在已经发布了[11]。
自动驾驶数据集综述_第3张图片
        最后,极化传感器,如索尼Pregius 5.0 MP IMX250传感器最近也达到了更好的性能,这可能提供更高的细节水平。偏振通道受光照变化和天气的影响较小。它们对表面粗糙度也很敏感,这有助于车辆[34]的检测。然而,目前还没有发布使用偏振相机的公共自动驾驶数据集。

激光雷达

        LiDARs是光探测和测距的缩写,在所有闪电条件下都能探测到目标,并绘制出目标的距离图,具有很强的空间覆盖能力。因此,它们一直是自动驾驶应用的首选传感器,这项技术的工作原理是用光脉冲照射目标,然后用雷达探测反射无线电波的方法测量反射信号返回的特性。它们比雷达准确得多,但由于雾、雨或雪等天气条件的影响,它们的性能会下降。它们有时在近距离探测物体时也有困难。
        为了减轻激光雷达在恶劣天气或近距离传感方面的局限性,雷达也被用作距离传感技术。作为一种比激光雷达更成熟的传感器,雷达通常更便宜、更轻,同时也能确定目标的速度。然而,它们的空间分辨率很低,难以解释接收到的信号,而且精度比LiDARs差得多。最后,sonars也被用于工业。虽然也很便宜,但除了易受天气条件影响外,sonars的范围和精度非常有限。它们主要用于附近的障碍物检测。

2. 校准

空间校准

        为了实现数据的一致性校准,需要对每个传感器进行校准和同步。下面我们将描述空间对齐(校准)和时间对齐(同步)。
        标定通常是指建立各传感器相对坐标系的空间参照过程。对于相机,校准是必不可少的准确测量物体和距离的现场立体相机设置。相机标定或相机切除通常分为内在参数检索和外在参数检索。本征参数是指用于图像校正的焦距、主点坐标、畸变系数等相机的固有参数。另一方面,外部参数表示坐标系从三维世界坐标到三维摄像机坐标的转换。这些参数是通过被称为基准标记的参考校准点来检索的,通常带有已知尺寸的棋盘目标[119]
        一旦实现相机对相机的标定,就可以对所有重叠像素进行立体深度重建。然后,各种机器学习算法可以利用额外的深度通道来获取额外的对象特征,从而获得更好的结果。
        最后,使用手眼校准[41]校准每个传感器的运动传感设备,以便将测量结果参考到惯性导航系统(INS)。这对于定位和绘图任务(如SLAM)尤其重要,其中惯性和里程测量被用作新位置和方向的首次估计,这对这些算法的性能至关重要

时间校准

        当校准处理传感器的空间对准时,同步在时间上匹配在一起的测量。在快速变化的环境中,驱动是一个高度动态的过程,这使得同步过程对数据时间一致性至关重要。为了同步这些不同的测量,传感器通常在外部触发。每个传感器的测量值还带有系统时钟的时间戳。当传感器具有不同的采集速率,因此具有不同的时间戳时,可以根据用例插入测量值或选择最近的测量值。
        相机的曝光时间几乎是瞬间的,不会产生不良的数据对齐。然而,大多数旋转LiDARs在0.1秒内完成一次完整的旋转。这种扫描速度比汽车的速度要慢得多,后者会在点云中引入畸变。为了在激光雷达扫描中考虑车辆的运动,已经发展了一些技术[65]。

3.任务

        迄今为止,大多数自动驾驶方法都试图将复杂的驾驶过程分解成不同的更小、更简单的子任务。考虑到这种模块化方法,为自动驾驶汽车社区生成的每个数据集通常都围绕这些特定任务中的一个或多个。下面,我们列举了最流行的。

3.1 立体视觉

        获取这种三维信息最简单的方法之一就是立体视觉。立体视觉是这样一种任务:通过识别安装在相邻相机上的两幅图像的共同特征,对场景的深度进行三角测量。在驾驶方面,立体视觉的挑战包括反光和有光泽的表面,如车身。重复的结构,如栅栏和透明的表面(玻璃)是其他常见的失效案例。专门用于三维重建的数据集通常提供像素级的深度地图作为地面真相。通常,它们是通过内插3D激光雷达点云和将3D CAD模型拟合到单个对象上生成的。
        值得注意的是,随着最近深度学习的提高,单目深度评估也引起了人们的兴趣。在本例中,深度映射是使用来自单个图像[55]的上下文信息来估计的。读者可参考Gabr和Elias[33]对立体视觉和其他3D重建算法的完整调查。

3.2 运动估计

        因为驾驶涉及到多个高速运动的物体,所以捕捉一个图像中物体的运动可能会产生令人满意的信息。光流的定义是在连续帧之间的每个图像位置上寻找运动,是一种以密集方式表示运动的方法。因此,光流可以提取额外的运动信息,这对于定位、自我运动和跟踪等其他任务尤其重要。
        光流仅限于单眼二维图像,这给三维运动的检索带来了挑战。因此,场景流被定义为广义的光流,其中使用了立体或多摄像机设置的帧来建立运动。专门用于光和场景流的数据集通常提供光流场,其中提供了描述下一帧或上一帧中每个像素的运动的向量。光流和场景流的地面真值提取是一个耗时、繁琐的过程,通常需要将图像对象与三维激光雷达地图进行匹配。
自动驾驶数据集综述_第4张图片
        关于光学和场景流的最先进算法的广泛调查可以参考文献[113]。

3.3 目标检测

        开车最重要的一个方面就是对周围环境的认识。无论是行人、其他车辆、交通标志还是障碍物,对场景中不同物体的检测和识别对自动驾驶汽车的安全与平稳运行至关重要。对象检测通过确定场景中不同预定义对象类的存在和定位来解决此任务。
目标检测作为一项重要的、定义明确的任务,受到了计算机视觉和自动驾驶领域的广泛关注。然而,目标检测仍然面临挑战。这主要是因为驾驶场景中的物体种类繁多,天气条件和光照,以及物体的严重遮挡和截断[72]
        大多数的目标检测都是在二维图像上完成的,因此被称为二维目标检测。每个对象都以像素坐标定位在图像中,如图3.3所示。然而,应该注意的是,最近的方法试图包含点云数据[20]或立体重建[19]的3D特征,以生成更健壮的检测。此外,还可以在三维空间中定位相对于车辆位置的物体。这通常称为3D对象检测,如图3.4所示。
自动驾驶数据集综述_第5张图片
自动驾驶数据集综述_第6张图片
        用于对象检测的数据集通常包含带注释的数据帧,这些数据帧带有2D或3D的边界框,其中包含不同的对象,如ground truth。关于深度学习检测技术的广泛综述可以在[31],[69],[58]和[121]中找到。

3.4 目标跟踪

        驾驶是一个高速运动物体的动态过程。因此,在路径规划中,为了避免碰撞,目标检测往往是不够的。驱动算法不仅要预测场景中物体的位置,还要预测物体的速度和加速度。为了做到这一点,使用了跟踪算法,该算法试图根据单个位置的历史来预测多个移动对象的未来位置。
        一种流行且直观的跟踪方法是通过检测跟踪。目标检测算法首先用于检测每帧中的目标,然后需要在多帧之间相互关联。然而,这种方法虽然有效,但存在检测错误和执行数据关联的固有困难。如果物体暂时被遮挡,跟踪也会受到影响,如图3.5所示。值得注意的是,行人追踪特别重要,因为他们是[28]道路上最易受攻击的使用者。
自动驾驶数据集综述_第7张图片
        为了在3D中预测目标轨迹,距离信息是最需要跟踪的。如前所述,这些信息可以通过相机或激光雷达点云的三维重建,单独或通过一些传感器融合过程获得。与对象检测一样,跟踪数据集通常以包围框和标签的形式包含数据帧的注释,这些注释在多个帧上是一致的,作为基本事实。
在Dixit等人的[27]中,对最先进的跟踪技术进行了全面的回顾。

3.5 语义分割

        有些物体,如道路、人行道和交通线,没有边界框来定义。因此,他们需要更灵活的表现,通常在像素级。这个问题被称为语义分割。
自动驾驶数据集综述_第8张图片
        就像目标检测一样,以前大部分的分割工作都是在二维图像上完成的。然而,形状和大小是二维空间无法利用的重要特征。为了捕获这些信息,当然可以使用LIDARs。在点云数据上严格训练语义分割模型也是可行的。然而,生成精确的点云标签(如图3.7所示)是一项冗长且耗时的任务。

自动驾驶数据集综述_第9张图片
        为了减轻语义分割的计算负担,提出了stixel表示法。Stixels创建了一个中等水平的环境模型,将像素级信息压缩到垂直条中。stixel分割的一个例子可以在图3.8中看到
自动驾驶数据集综述_第10张图片
        关于更多细节,可以在Garcia-Garcia等人的[35]中找到关于语义分割的深度学习技术的综述。Bar Hillel等[4]对道路和车道检测进行了深入的研究。

3.6 定位

        定位是任何移动机器人的关键任务。以便铺设合适的路径规划时,车辆需要知道它所处的确切环境。在过去,本地化使用了不同的方法。最直接的方法是使用GPS和IMU传感器。虽然这种传感器组合是最容易获得和成本最低的方法,但它缺乏自动驾驶所需的要求。即使使用IMU进行航迹推算,商用GPS也太不准确了。RTK技术提供了自动驾驶所需的精度,但信号的准确性高度依赖于环境,高层建筑的城市环境尤其容易受到干扰而产生误差。
        同步定位和映射(SLAM)是另一种流行的方法。它试图使用车辆的传感器动态生成地图,同时估计车辆在构建的地图中的位置。它的优点是不需要任何关于环境的预先信息,这意味着这种方法可以在任何环境中工作。然而,SLAM仍然面临挑战,因为它计算量大,需要实时处理大规模环境。此外,SLAM在困难环境下容易产生分歧。RTKs定位常被用作SLAM的地面真值,给予适当的信号接收。使用预先构建的地图是SLAM的另一种选择,它缓解了动态生成地图的问题。使用点匹配算法或视觉地标搜索方法,基于先验地图的定位算法可以获得较高的精度。然而,这些方法的一个主要缺点是道路本身并不是完全静态的,因此用于本地化的地图必须为建筑工作或天气变化而更新。
        关于进一步的细节,可以在Kuutti等人的[53]中找到关于最新的本地化技术的完整调查。

3.7行为分析

        如果有一天驾驶车辆成为现实,它们将很可能不得不与人类互动。无论是推断行人过马路的意图,识别驾驶员执行某一动作的意图,还是发现潜在的鲁莽行为,自动驾驶汽车都需要对周围人类的行为有一个高层次的理解。因此,对人类行为的评估对于任何自动驾驶应用程序都是至关重要的。虽然行为评估的任务不像前面描述的任务那样有边界,但是最近的数据集已经尝试捕获这种人类行为。例如,一些数据集[45,78,79]尝试注释每个驱动程序的动作。这些数据可以用来开发动作预测算法,然后可以用来评估驾驶员的机动是否完全安全。
        驾驶员面部监控也是一种经常用于预测机动或视觉焦点的方式,如图3.9所示。一些数据集甚至将驾驶员的视线投射到道路图像上,以准确地知道驾驶员正在聚焦什么[73]。这些信息可以用来建立驾驶员的注意力水平,从而获得更安全的驾驶体验。

自动驾驶数据集综述_第11张图片
        另一个重要的行为评估任务是驾驶风格识别。驾驶风格的定义有很多种,包括油耗、刹车、保持距离和侵略性。建立司机风格可以用来调整驾驶策略,如车道合并或提醒司机,如果他是鲁莽的[9]。最后,一些数据集[52]也收集了行人意向数据,如图3.10所示。然后可以训练算法来识别行人是否想过马路,并帮助防止碰撞。
自动驾驶数据集综述_第12张图片
        为了对驾驶风格识别、行人自动驾驶车辆交互或交叉口行为进行更完整的文献综述,请读者分别参考Marina Martinez等[62]、Rasouli和Tsotsos[81]以及Shirazi和Morris [90]

4.数据集

        下一节介绍可用的开放驱动数据集,按其各自的任务排序。需要注意的是,我们只选择了真实驾驶环境中的数据集。因此,不提供合成数据集。此外,从地面车辆而非汽车获取的数据集,如赛格威或其他机器人平台,也被忽略。最后,固定获取的数据集也被忽略。

4.1 目标检测数据集

自动驾驶数据集综述_第13张图片

4.2 目标分割数据集

自动驾驶数据集综述_第14张图片

4.3 车道线检测数据集

自动驾驶数据集综述_第15张图片

4.4 光流数据集

在这里插入图片描述

4.5 光流数据集

自动驾驶数据集综述_第16张图片

4.6 定位与地图数据集

自动驾驶数据集综述_第17张图片

4.7 行为数据集

自动驾驶数据集综述_第18张图片

你可能感兴趣的:(数据融合)