A Survey of Autonomous Driving: Common Practices and Emerging Technologies

郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布!

IEEE ACCESS, (2020): 58443.0-58469.0

 

Abstract

  自动驾驶系统(Automated driving system, ADS)承诺提供安全、舒适和高效的驾驶体验。然而,涉及配备ADS的车辆的死亡人数正在上升。除非最新技术的稳健性进一步提高,否则ADS的全部潜力无法实现。本文讨论了未解决的问题并调查了自动驾驶的技术方面。有关当前挑战、高级系统架构、新兴方法和核心功能的研究:定位、映射、感知、规划和人机界面,都进行了彻底回顾。此外,在我们自己的平台上实现了最先进的技术,并在真实世界的驾驶环境中比较了各种算法。本文最后概述了用于ADS开发的可用数据集和工具。

 

I. INTRODUCTION

  根据美国国家公路交通安全管理局(NHTSA)最近的一份技术报告,94%的道路事故是由人为错误造成的[1]。正在开发的自动驾驶系统(ADS)有望防止事故、减少排放、运输行动不便者并减少与驾驶相关的压力[2]。到2050年,ADS的年度社会效益预计将达到近8000亿美元,通过缓解拥堵、减少道路伤亡、减少能源消耗和通过重新分配驾驶时间而提高生产力[3]。

  Eureka Project PROMETHEUS [4]于1987-1995年在欧洲开展,是最早的主要自动驾驶研究之一。该项目导致戴姆勒-奔驰开发了VITA II,它成功地在高速公路上自动驾驶[5]。由美国国防部于2004年组织的DARPA大挑战赛是第一次大型自动驾驶比赛,所有参赛者都未能完成150英里的越野跑酷比赛。挑战的难度在于决赛期间不允许任何级别的人为干预的规则。另一场类似的DARPA大挑战赛于2005年举行。这一次,五支队伍在没有任何人为干扰的情况下成功完成了越野赛道[6]。

  自最早尝试以来,城市场景中的全自动驾驶被视为该领域的最大挑战。在2007年举行的DARPA城市挑战赛[7]期间,全球许多不同的研究小组在以典型城市场景为模型的测试环境中尝试了他们的ADS。六支队伍成功完成了比赛。尽管这场比赛是当时规模最大、最重要的赛事,但测试环境缺乏真实世界城市驾驶场景的某些方面,例如行人和骑自行车的人。然而,六支队伍成功完成挑战的事实引起了极大的关注。在DARPA城市挑战赛之后,在不同国家举办了更多的自动驾驶比赛,如[8]-[10]。

  多年来,系统架构的通用实践已经建立起来。大多数ADS将自动驾驶的庞大任务划分为多个子类别,并在各种模块上采用一系列传感器和算法。最近,端到端驱动系统开始作为模块化方法的替代方案出现。深度学习模型已在许多此类任务中占据主导地位[11]。图1给出了ADS架构的高级分类。

  车辆动力学方面的知识积累、深度学习[12]的出现导致计算机视觉方面的突破以及激光雷达[13]等新传感器模式的可用性,促进了ADS研究和工业实施。此外,公共利益和市场潜力的增加促成了具有不同程度自动化的ADS的出现。然而,在城市环境中稳健的自动驾驶尚未实现[14]。由不成熟的系统引起的事故[15]-[18]会破坏信任,而且还会造成生命损失。因此,这里认为有必要对未解决的挑战和最先进的技术进行彻底回顾。

  汽车工程师协会(SAE)将能够在可持续基础上执行动态驾驶任务(DDT)的硬件-软件系统称为ADS [19]。还有一些白话的替代术语,例如"自动驾驶"和"自动驾驶汽车"。尽管如此,尽管常用,但SAE建议不要使用它们,因为这些术语不清楚且具有误导性。在本文中,我们遵循SAE的约定。

  本文试图对最先进的ADS的硬件-软件架构进行结构化和全面的概述。此外,还详细讨论了端到端驱动和连接系统等新兴趋势。有关于该主题的概述论文,涵盖了几个核心功能[20][21],并且集中在运动规划方面[22][23]。然而,一项涵盖:当前挑战、可用和新兴的高级系统架构、定位、地图绘制、感知、规划、车辆控制和人机界面等单个核心功能的调查完全不存在。本文的目的是通过彻底的回顾来填补文献中的这一空白。此外,此处还提供了可用数据集、软件堆栈和模拟工具的详细摘要。本文的另一个贡献是通过实现对替代方法进行了详细的比较和分析。我们使用开源软件在我们的平台中实现了最先进的技术。现有概述论文和我们的工作的比较如表 I 所示。

  本文的提示分为八节。第II节是对当前挑战的概述。第III节给出了自动驾驶系统组件和架构的详细信息。第IV节总结了最先进的定位技术,第V节是对感知模型的深入回顾。驾驶情况的评估和规划分别在第VI节和第VII节中讨论。第VIII节介绍了人机界面的发展趋势和不足。第IX节给出了用于开发自动驾驶系统的数据集和可用工具。

 

II. PROSPECTS AND CHALLENGES

A. Social impact

  ADS的广泛使用并非迫在眉睫,但仍有可能在一定程度上预见到它的潜在影响和好处。

  1) Problems that can be solved: 预防交通事故、缓解交通拥堵、减少排放

  2) Arising opportunities: 重新分配驾驶时间,运送行动不便者

  3) New trends: 消费移动即服务(MaaS),物流革命

  广泛部署ADS可以减少因分心、酒后驾驶和超速等错误人类行为造成的社会损失[3]。

  在全球范围内,年长群体(60岁以上)的增长速度快于年轻群体[29]。增加患有ADS的老年人的流动性会对大部分人口的生活质量和生产力产生巨大影响。

  从个人车辆所有权向消费出行即服务(MaaS)的转变是一种新兴趋势。目前,与年行驶里程1000公里以下的车辆所有权相比,拼车成本更低[30]。到2030年,自有车辆与共享车辆的比例预计将达到50:50 [31]。大规模部署ADS可以加速这一趋势。

 

B. Challenges

  ADS是在不确定环境中运行的复杂机器人系统。因此,存在无数未解决问题的场景。本节总体上讨论了驾驶自动化的高层次挑战。更详细的、特定于任务的细节将在相应的部分中讨论。

  汽车工程师协会(SAE)在[19]中定义了五个级别的驾驶自动化。在这个分类中,Level zero代表完全没有自动化。诸如自适应巡航控制、防抱死制动系统和稳定性控制等原始驾驶员辅助系统从Level one开始[32]。Level two是部分自动化,其中集成了紧急制动或防撞[33][34]等高级辅助系统。凭借在车辆控制领域的知识积累和行业经验,Level two自动化成为一种可行的技术。真正的挑战始于这个水平之上。

  Level three是有条件的自动化;驾驶员可以在正常操作期间专注于驾驶以外的任务,但是,她/他必须快速响应来自车辆的紧急警报并准备接管。此外,Level three ADS仅在有限的运营设计域(ODD)中运行,例如高速公路。奥迪声称是第一款在有限的高速公路条件下实现Level three自动化的量产车[35]。然而,由驾驶员从自动模式手动接管控制引发了另一个问题。最近的研究[36][37]调查了这个问题,发现接管情况增加了与周围车辆的碰撞风险。收购期间发生事故的可能性增加是一个尚未解决的问题。

  在Level fourLevel five时,在任何程度上都不需要人类的关注。但是,Level four只能在存在特殊基础设施或详细地图的有限ODD中运行。在离开这些区域的情况下,车辆必须通过自动停车来停止行程。全自动系统,Level five,可以在任何道路网络和任何天气条件下运行。目前还没有量产车能够实现Level fourLevel five驾驶自动化。此外,丰田研究所表示,业内没有人甚至接近达到Level five自动化[38]。

  城市道路网络中Level four及以上的驾驶自动化是一个开放且具有挑战性的问题。从天气条件到周围人类行为的环境变量具有高度的不确定性,难以预测。此外,系统故障会导致事故:在Hyundai比赛中,一辆ADS因下雨而坠毁[15],Google的ADS在换道时撞上了一辆公共汽车,因为它未能估计公共汽车的速度[16],Tesla的自动驾驶仪识别失败了一辆白色卡车并与之相撞,导致司机死亡[17]。

  由不成熟的ADS造成的死亡[17][18]会破坏信任。根据最近的一项调查[30],大多数消费者质疑该技术的安全性,他们希望对ADS的开发和使用进行大量控制。另一方面,极其谨慎的ADS也给人留下了负面印象[39]。

  道德困境带来了另一组挑战。在不可避免的事故情况下,系统应该如何表现[40]?关于这个问题提出了实验伦理学[41]。

  风险和可靠性认证是另一项尚未解决的任务。与飞机一样,ADS需要设计为具有高冗余性,以最大限度地减少灾难性故障的可能性。即使在这方面有前景的项目,如DeepTest [42],设计-模拟-测试-重新设计认证程序仍然没有被行业和规则制定者建立。

  最后,到达目的地的时间、燃油效率、舒适度和拼车优化等各种优化目标增加了已经难以解决的问题的复杂性。因此,在定义明确的地理围栏区域之外的严格条件下安全地执行所有动态驾驶任务尚未实现,并且仍然是一个悬而未决的问题。

 

III. SYSTEM COMPONENTS AND ARCHITECTURE

A. System architecture

  系统架构的分类如图1所示。ADS被设计为独立的、仅限自我的系统[20][43]或连接的多智能体系统[44]-[46]。此外,这些设计理念通过两种替代方法实现:模块化[20][43][47]-[54]或端到端设计[55]-[63]。

  1) Ego-only systems: 仅自我的方法是始终在一辆自给自足的车辆上进行所有必要的自动驾驶操作,而在特定情况下,连接的ADS可能会或可能不会依赖于其他车辆和基础设施元素。Ego-only是最先进的ADS [20][43][47]-[54]中最常见的方法。我们认为这是由于拥有一个自给自足的开发平台的实用性以及连接系统的额外挑战。

  2) Modular systems: 模块化系统,在某些作品中被称为中介方法[55],被构造为将感官输入连接到执行器输出的独立组件的流水线[11]。模块化ADS的核心功能可以概括为:定位与建图、感知、评估、规划与决策、车辆控制和人机界面。典型的流水线[20][43][47]-[54]首先将原始传感器输入提供给定位和目标检测模块,然后是场景预测和决策。最后,控制模块[11][64]在流结束时生成电机命令。

  单独开发单个模块将自动驾驶的挑战性任务划分为一组更容易解决的问题[65]。这些子任务在机器人[66]、计算机视觉[67]和车辆动力学[32]方面都有相应的文献,这使得积累的专业知识和专业知识可以直接转移。这是模块化系统的主要优势。此外,功能和算法可以在模块化设计中集成或相互构建。例如,可以在复杂的规划模块之上实施安全约束[68],以强制执行一些硬编码的紧急规则,而无需修改规划器的内部工作。这使得设计冗余但可靠的架构成为可能。

  模块化系统的主要缺点是容易出现误差传播[11]和过于复杂。在不幸的特斯拉事故中,感知模块中的一个错误,将一辆白色拖车误分类为天空,沿着流水线传播直到失败,导致第一个与ADS相关的死亡事件[42]。

  3) End-to-end systems: 端到端驾驶系统,在一些研究中被称为直接感知[55],直接从感官输入产生ego运动。ego运动可以是方向盘和踏板的连续操作,也可以是一组离散的动作,例如加速和左转。端到端驾驶有三种主要方法:直接监督深度学习[55]-[59]、神经进化[62][63]和最近的深度强化学习[60][61]。图2显示了通用端到端驱动系统的流程图,表II给出了这些方法的比较。

  最早的端到端驾驶系统可以追溯到ALVINN [56],其中训练了一个三层全连接网络以输出车辆应遵循的方向。[57]中介绍了一种用于越野驾驶的端到端系统。随着人工神经网络研究的进步,深度卷积和时间网络对于自动驾驶任务变得可行。在[58]中提出了一种以图像为输入并输出转向的深度卷积神经网络。在[59]中开发了一种时空网络,一种FCN-LSTM架构,用于预测ego车辆运动。DeepDriving是另一个卷积模型,它试图从图像输入中学习一组离散的感知指标[55]。这种方法并不完全是端到端的,感知指标中的正确驾驶行为必须由另一个模块生成。所有提到的方法都遵循直接监督训练策略。因此,训练需要基本事实。通常,基本事实是专家人类驾驶员的ego动作序列,网络学会模仿驾驶员。这就提出了一个重要的设计问题:ADS应该像人类一样驾驶吗?

  一种新颖的深度强化学习模型Deep Q Networks (DQN),将强化学习与深度学习相结合[69]。总之,网络的目标是选择一组最大化累积未来奖励的动作。使用深度卷积神经网络来逼近最优动作奖励函数。首先通过随机初始化生成动作。然后,网络根据经验调整其参数,而不是直接监督学习。[60]中介绍了使用DQN的自动驾驶框架,其中网络在模拟环境中进行了测试。第一次使用DQN在现实世界中运行是在没有交通的乡村道路上实现的[61]。基于DQN的系统不会模仿人类驾驶员,而是学习"最优"驾驶方式。

  神经进化是指使用进化算法来训练人工神经网络[70]。具有神经进化的端到端驾驶不像DQN和直接监督学习那样流行。据我们所知,现实世界中的神经进化端到端驾驶尚未实现。然而,获得了一些有希望的模拟结果[62][63]。ALVINN接受了神经进化训练,并优于直接监督学习版本[62]。在[63]中使用驾驶模拟器对RNN进行了神经进化训练。神经进化的最大优势是消除了反向传播,因此需要直接监督。

  端到端驾驶很有前景,但除了有限的演示之外,它还没有在现实世界的城市场景中实现。一般来说,端到端系统的最大缺点是缺乏硬编码的安全措施和可解释性[65]。此外,与直接监督学习相比,DQN和神经进化有一个主要缺点:这些网络必须与在线环境交互,并且在学习所需行为方面失败了很多。相反,直接监督网络可以使用标记数据进行离线训练。

  4) Connected systems: 目前还没有使用可操作的连接ADS,但是,一些研究人员[44]-[46]认为,这种新兴技术将是驾驶自动化的未来。通过使用车载自组织网络(VANET),自动驾驶的基本操作可以分布在智能体之间。V2X是一个术语,代表"车辆到一切"。从行人的移动设备到交通信号灯上的固定传感器,车辆可以通过V2X [26]访问大量数据。通过在对等点之间共享交通网络的详细信息[71],可以消除ego-only平台的缺点,例如感应范围、盲点和计算限制。在可预见的未来,预计将出现更多能够提高安全性和交通效率的V2X应用程序[72]。

  VANET可以通过两种不同的方式实现:传统的基于IP的网络和以信息为中心的网络(Information-Centric Networking, ICN)[44]。对于车辆应用,大量数据必须以间歇性和不太理想的连接分布在智能体之间,同时保持高移动性[46]。传统的基于IP主机的Internet协议在这些条件下无法正常运行。另一方面,在以信息为中心的网络中,车辆将查询消息流式传输到一个区域而不是直接地址,并且它们接受来自任何发送者的相应响应[45]。由于车辆在道路网络上具有高度移动性和分散性,因此信息源的身份变得不那么相关。此外,定位数据通常为即时驾驶任务提供更重要的信息,例如在盲点上避开快速接近的车辆。

  早期的工作,例如CarSpeak系统[73],证明车辆可以利用彼此的传感器并使用共享信息来执行一些动态驾驶任务。然而,如果不减少大量的连续驾驶数据,一个城市的数十万辆汽车之间共享信息是不可行的。为此,[74]中引入了一个符号学框架,该框架集成了不同的信息源并将原始传感器数据转换为有意义的描述。在[75]中,提出了车载云计算(Vehicular Cloud Computing, VCC)一词,并介绍了它相对于传统互联网云应用程序的主要优势。传感器是造成差异的主要原因。在VCC中,传感器信息保存在车辆上,只有在有来自另一辆车的定位查询时才共享。这可能会节省将传感器数据恒定流上传/下载到网络的成本。此外,定位数据的高相关性增加了VCC的可行性。将常规云计算与车载云计算进行了比较,据报道,VCC在技术上是可行的[76]。提出了术语"车联网"(Internet of Vehicles, IoV)来描述连接的ADS [44],并在[45]中引入了术语"车载雾"。

  在城市中建立一个拥有数千辆汽车的高效VANET是一项巨大的挑战。对于基于ICN的VANET,一些具有挑战性的主题是安全性、移动性、路由、命名、缓存、可靠性和多访问计算[77]。总之,尽管连接系统的潜在好处是巨大的,但额外的挑战在很大程度上增加了问题的复杂性。因此,还没有可操作的连接系统。

 

B. Sensors and hardware

  最先进的ADS采用多种板载传感器。在大多数任务中都需要高传感器冗余以实现鲁棒性和可靠性。硬件单元可分为五类:用于感知的外部感知传感器、用于内部车辆状态监测任务的本体感知传感器、通信阵列、执行器和计算单元。

  外部感知传感器主要用于感知环境,包括动态和静态物体,例如可驾驶区域、建筑物、人行横道。相机、激光雷达、雷达和超声波传感器是这项任务最常用的方式。外部感受器的详细比较见表III。

  1) 单目相机(Monocular Cameras): 相机可以感知颜色并且是被动的,即不发出任何信号进行测量。感知颜色对于交通信号灯识别等任务极为重要。此外,2D计算机视觉是一个成熟的领域,拥有卓越的最先进算法。此外,无源传感器不会干扰其他系统,因为它不会发出任何信号。然而,相机有一些缺点。光照条件会极大地影响它们的性能,并且很难从单个摄像头获取深度信息。有一些有希望的研究[83]来改善基于单目相机的深度感知,但是除了用于动态驾驶任务的相机之外,不受光照和天气条件负面影响的模式仍然是必要的。其他对ADS感兴趣的相机类型包括闪光相机[78]、热成像相机[80][81]和事件相机[79]。

  2) 全向相机(Omnidirection Camera): 对于360度的2D视觉,全向相机被用作相机阵列的替代品。它的使用越来越多,越来越紧凑和高性能的硬件不断发布。全景视图尤其适用于导航、定位和地图绘制等应用[84]。

  3) 事件相机(Event Cameras): 事件相机是在ADS中使用的较新的传感模式之一[85]。事件相机根据视觉刺激异步记录单个像素的数据。因此,输出是不规则的数据点序列,或由亮度变化触发的事件。响应时间为微秒级[86]。当前事件相机的主要限制是像素大小和图像分辨率。例如,图4所示的DAVIS40图像的像素大小为18.5 × 18.5 μm,分辨率为240 × 180。最近,一个带有事件相机数据的驾驶数据集已经发布[85]。

  4) 雷达(Radar): 雷达、激光雷达和超声波传感器在弥补相机的缺点方面非常有用。深度信息,即到物体的距离,可以通过这些传感器有效地测量以检索3D信息,并且它们不受光照条件的影响。但是,它们是有源传感器。 雷达发射从物体反弹回来的无线电波并测量每次反弹的时间。有源传感器的发放可能会干扰其他系统。雷达是一项成熟的技术,既轻便又具有成本效益。例如,雷达可以安装在后视镜内。雷达更便宜,并且可以比激光雷达检测更远距离的物体。但是,激光雷达更准确。

  5) 激光雷达(Lidar): 激光雷达的工作原理与雷达相似,但它发射的是红外光波而不是无线电波。它比200米以下的雷达具有更高的精度。雾或雪等天气条件会对激光雷达的性能产生负面影响。另一个方面是传感器尺寸。由于空间有限和空气动力学限制,车辆上首选较小的传感器。激光雷达比雷达大。

  在[87]中,人类感知性能与ADS进行了比较。这项研究的主要发现之一是,尽管人类驾驶员总体上仍然更擅长推理,但具有传感器融合的ADS的感知能力可能超过人类,尤其是在照明不足等退化条件下。

  6) 本体感受器(Proprioceptive sensors): 本体感觉是另一个关键类别。必须连续测量速度、加速度和偏航等车辆状态,以便通过反馈安全地操作平台。几乎所有现代量产车都配备了足够的本体感受传感器。车轮编码器主要用于里程计,惯性测量单元(IMU)用于监测速度和位置变化,转速计用于测量速度,高度计用于高度。这些信号可以通过现代汽车的CAN协议访问。

  除了传感器之外,ADS还需要执行器来操纵车辆和先进的计算单元来处理和存储传感器数据。

  7) 全尺寸汽车(Full size cars): 不同的研究小组(例如斯坦福大学的Junior [20])引入了许多仪表化车辆,它们采用了一系列具有不同模式的传感器来感知外部和内部变量。Boss [43]凭借大量传感器赢得了DARPA城市挑战赛。RobotCar [49]是一个更便宜的数据收集研究平台。此外,行业还推出了不同级别的驾驶自动化;特斯拉的自动驾驶仪[88]和谷歌的自动驾驶汽车[89]就是一些例子。Bertha [53]由戴姆勒开发,有4个120度短程雷达,侧面有两个远程雷达,立体摄像头,仪表板上的广角单目彩色摄像头,后面还有一个广角摄像头。我们的车辆如图5所示。表IV给出了10种不同全尺寸ADS的传感器设置的详细比较。

  8) 大型车辆和拖车(Large vehicles and trailers): 最早的智能卡车是为加利福尼亚的PATH计划开发的[98],该计划在道路上使用磁性标记。燃油经济性是货运中的一个重要主题,为此目的开发了诸如编队等方法。排队是一个经过充分研究的现象。它减少了阻力,因此减少了燃料消耗[99]。在半自动卡车队列中,领头卡车由一名人类驾驶员驾驶,后面跟着几辆自动卡车;形成[100]中定义的半自动道路列车。Sartre欧盟项目[101]引入了这样一个满足三个核心条件的系统:使用现有的公共道路网络,与非自动化车辆共享交通,不修改道路基础设施。在[99]中形成了一个由三辆自动卡车组成的排,并报告了显著的燃料节省。

  拖拉机-拖车设置对自动化货运提出了额外的挑战。传统的控制方法,如反馈线性化[102]和模糊控制[103]用于路径跟踪,而不考虑折刀约束。顶刀、卡车和拖车相互碰撞的可能性增加了任务的难度[104]。[104]中提出了一种控制安全调速器设计,以防止倒车时的折刀。

 

IV. LOCALIZATION AND MAPPING

  定位是在环境中找到相对于参考系的ego位置的任务[17],它是任何移动机器人的基础。这对于ADS [21]尤其重要;车辆必须使用正确的车道并在其中准确定位。此外,定位是全球导航的基本要求。

  本节中的提醒详细介绍了仅使用机载传感器的三种最常见的方法:全球定位系统和惯性测量单元(Global Positioning System and Inertial Measurement Unit, GPS-IMU)融合、同步定位和制图(Simultaneous Localization And Mapping, SLAM)以及最先进的基于地图的先验定位。读者可以参考[17]以获得更广泛的定位概述。表5给出了定位方法的比较。

A. GPS-IMU fusion

  GPS-IMU融合的主要原理是用绝对位置读数校正间隔内航位推算的累积误差[109]。在GPS-IMU系统中,位置和方向的变化由IMU测量,并处理此信息以通过航位推算定位车辆。IMU有一个显著的缺点,通常是航位推算:误差会随着时间的推移而累积,并且它们通常会导致长期操作失败[110]。通过GPS读数的集成,可以对IMU的累积误差进行间隔校正。

  GPS-IMU系统本身不能用于车辆定位,因为它们不符合性能标准[111]。在2004年DARPA大挑战赛中,来自卡内基梅隆大学[96]的红队因为GPS误差而失败。对于目前量产车中使用的GPS-IMU系统,城市自动驾驶所需的精度太高。此外,在密集的城市环境中,精度会进一步下降,并且由于隧道[109]和高层建筑,GPS会不时停止运行。

  尽管GPS-IMU系统本身不满足性能要求并且只能用于高级路线规划,但它们与激光雷达和其他传感器一起用于最先进的定位系统中的初始姿态估计[111]。

B. Simultaneous localization and mapping

  同时定位和建图(SLAM)是在线地图制作和同时定位其中的车辆的行为。SLAM不需要关于环境的先验信息。这是机器人技术中的常见做法,尤其是在室内环境中。然而,由于高计算要求和环境挑战,在户外运行SLAM算法,这是ADS的操作域,其效率低于使用预建地图进行定位[112]。

  MIT团队在DARPA城市挑战赛[113]中使用了SLAM方法,并以第4名完赛。而获胜者,卡内基梅隆大学的Boss [47]和亚军,斯坦福大学的Junior [15],都使用了先验信息。尽管没有相同水平的准确性和效率,但SLAM技术与先验方法相比具有一个主要优势:它们可以在任何地方工作。

  如果可以进一步提高基于SLAM的方法的性能,则它们有可能取代先验技术[20]。我们将读者推荐给[21],以了解智能车辆领域的详细SLAM调研。

C. A priori map-based localization

  基于先验地图的定位技术的核心思想是匹配:通过将在线读数与详细的预建地图上的信息进行比较并找到最佳匹配的位置来实现定位[111]。通常在匹配过程开始时使用初始姿态估计,例如使用GPS。地图构建和首选方式有多种方法。

  环境的变化会对基于地图的方法的性能产生负面影响。这种影响在农村地区尤其普遍,因为路边植被和建筑的变化,地图的过去信息可能会偏离实际环境[114]。此外,这种方法需要额外的地图制作步骤。

  有两种不同的基于地图的方法;地标搜索和匹配。

1) Landmark Search

  与点云匹配相比,地标搜索的计算成本更低。只要存在足够数量的地标,它就是一种强大的定位技术。在城市环境中,电线杆、路缘石、标志和路标都可以用作地标。

  [98]中使用了一种使用激光雷达和蒙特卡洛定位(MCL)的道路标记检测方法。在这种方法中,道路标记和路缘石与3D地图相匹配,以找到车辆的位置。[115]中介绍了一种基于视觉的道路标记检测方法。将单个前置摄像头检测到的道路标记与具有全球坐标的低容量数字标记地图进行比较和匹配。然后,使用粒子过滤器通过检测到的道路标记和GPS-IMU输出来更新车辆的位置和航向。一种基于道路标记检测的定位技术;在[116]中提出了两个指向地面的摄像机、GPS-IMU航位推算、里程计和精确的标记位置图。[117]中提出了另一种基于视觉的方法,使用单个摄像头和地理参考交通标志。

  这种方法有一个主要缺点。地标依赖性使系统容易在地标数量不足的情况下失败。

2) Point cloud matching

  最先进的定位系统使用基于多模态点云匹配的方法。总之,覆盖较小区域的在线扫描点云被迭代地平移和围绕其中心旋转,以与较大的先验点云图进行比较。在两个点云之间给出最佳匹配的位置和方向给出了传感器相对于地图的局部位置。对于初始姿态估计,GPS通常用于航位推算。我们使用这种方法来定位我们的车辆。匹配过程如图6所示,地图制作如图7所示。

  在[111]的开创性工作中,使用激光雷达收集的点云地图用于增强惯性导航和定位。粒子过滤器保持二维坐标和偏航角的三维矢量。在[100]中使用了具有概率地图的多模态方法来实现城市环境中的定位,其RMS误差小于10 cm。不是逐点比较两个点云并丢弃不匹配的读数,而是对所有观察到的数据的方差进行建模并用于匹配任务。[119]中提出了一种使用多分辨率高斯混合图(GMM)的激光雷达扫描匹配算法。在[118][120]中将迭代最近点(ICP)与正态分布变换(NDT)进行了比较。在NDT中,累积的传感器读数被转换为一个网格,该网格由从落入其单元/体素的扫描点获得的均值和协方差表示。NDT被证明比点对点ICP匹配更稳健。[101]中提出了3D NDT匹配的改进版本,[114]使用道路标记匹配增强了NDT。一种基于NDT的蒙特卡洛定位(MCL)方法,它利用离线静态地图和由[121]开发的不断更新的短期地图。在该方法中,NDT占用网格用于短期地图,并且仅在静态地图无法给出充分解释的情况和地点使用。

  地图制作和维护既费时又费资源。因此,一些研究人员(例如[99])认为,考虑到道路网络的规模和快速变化,使用先验地图的方法是不可行的。

3) 2D to 3D matching

  将在线2D读数与3D先验地图相匹配是一项新兴技术。这种方法只需要在配备ADS的车辆上安装一个摄像头,而不是更昂贵的激光雷达。先验地图仍然需要使用激光雷达创建。

  在[123]中,使用单目相机在点云地图中定位车辆。通过初始姿态估计,从离线3D点云地图创建2D合成图像,并将它们与标准化互信息与从相机接收的在线图像进行比较。这种方法增加了定位任务的计算量。[124]中引入了另一种视觉匹配算法,其中使用立体相机设置将在线读数与从3D先前生成的合成深度图像进行比较。

  由于硬件要求比基于激光雷达的系统便宜,因此基于摄像头的定位方法可能会在未来变得流行。

 

V. PERCEPTION

  感知周围环境并提取可能对安全导航至关重要的信息是一个关键目标。使用不同感知方式的各种任务都属于感知的范畴。基于数十年的计算机视觉研究,相机是最常用的感知传感器,3D视觉成为强有力的替代/补充。

  本节的提醒被分为核心感知任务。我们在第V-A1节讨论基于图像的对象检测,在第V-A2节讨论语义分割,在第V-A3节讨论3D目标检测,在第V-C节讨论道路和车道检测,在第V-B节讨论目标跟踪。

A. Detection

1) Image-based Object Detection

  目标检测是指识别感兴趣目标的位置和大小。从交通信号灯和标志到马路交叉口的静态目标,以及其他车辆、行人或骑自行车的人等动态目标,都受到ADS的关注。广义目标检测作为计算机视觉的中心问题有着悠久的历史,其目标是确定图像中是否存在特定类别的目标,然后通过矩形边界框确定它们的大小。本节主要讨论最先进的目标检测方法,因为它们代表了ADS管道中其他几个任务的起点,例如目标跟踪和场景理解。

  目标识别研究始于50多年前,但直到最近,在1990年代末和2000年代初,算法性能才达到与驾驶自动化相关的水平。2012年,深度卷积神经网络(DCNN) AlexNet [12]打破了ImageNet图像识别挑战[132]。这导致焦点几乎完全转移到监督学习,特别是目标检测的深度学习。关于基于图像的一般目标检测存在许多广泛的调查[133]-[135]。在此,重点是可以应用于ADS的最先进的方法。

  虽然最先进的方法都依赖于DCNN,但目前它们之间存在明显的区别:

  1)单阶段检测框架使用单个网络同时产生目标检测位置和类别预测。
  2)区域提议检测框架有两个不同的阶段,首先提出一般感兴趣区域,然后通过单独的分类器网络进行分类。

  区域提议方法目前是领先的检测基准,但代价是需要高计算能力,并且通常难以实现、训练和微调。同时,单阶段检测算法往往具有快速的推理时间和较低的内存成本,非常适合实时驾驶自动化。YOLO (You Only Look Once)[136]是一种流行的单级检测器,它一直在不断改进[123][137]。他们的网络使用DCNN在粗网格上提取图像特征,显著降低了输入图像的分辨率。然后,一个全连接的神经网络预测每个网格单元与类的类概率和边界框参数。这种设计使YOLO速度非常快,整个模型以45 FPS运行,而较小的模型以155 FPS运行,以进行较小的精度权衡。该方法的最新版本YOLOv2、YOLO9000 [137]和YOLOv3 [123]在保持低计算和内存成本的同时短暂接管了PASCAL VOC和MS COCO基准。另一种被广泛使用的算法,甚至比YOLO更快,是单次检测器(Single Shot Detector, SSD)[138],它使用标准DC​​NN架构(如VGG [131])在公共基准测试中获得有竞争力的结果。SSD在类似于YOLO的粗略网格上执行检测,但也使用在DCNN早期获得的更高分辨率特征来改进小目标的检测和定位。

  考虑准确性和计算成本对于ADS中的检测至关重要;检测需要可靠,但运行得比实时更好,以便规划和控制模块有尽可能多的时间对这些物体做出反应。因此,单级检测器通常是ADS的首选检测算法。然而,如表VI所示,在两阶段检测框架中使用的区域提议网络(RPN)在目标识别和定位精度方面已被证明是无与伦比的,并且近年来计算成本有了很大提高。它们也更适合与检测相关的其他任务,例如第V-A2节中讨论的语义分割。通过迁移学习,RPN同时实现多个感知任务对于在线应用变得越来越可行[124]。在不久的将来,RPN可以取代用于ADS应用的单级检测网络。

  全向相机(Omnidirectional Cameras): 360度视觉,或者至少是全景视觉,是更高水平的自动化所必需的。这可以通过摄像头阵列来实现,尽管每个摄像头之间需要进行精确的外部校准才能使图像拼接成为可能。或者,可以使用全向相机,或具有广角鱼眼镜头的较小相机阵列。然而,这些很难从本质上校准;球面图像高度失真,使用的相机模型必须考虑镜面反射或鱼眼镜头失真,这取决于产生全景图像的相机模型[139][140]。模型和校准的准确性决定了生成的未失真图像的质量,在这些图像上使用了上述2D视觉算法。图3显示了鱼眼镜头产生两个球面图像然后组合成一个全景图像的示例。一些失真不可避免地仍然存在,但尽管在校准方面存在这些挑战,但全向相机已被用于许多应用,例如SLAM [141]和3D重建[142]。

  事件相机(Event Cameras):事件相机是一种相当新的模式,它输出通常由观察场景中的移动引起的异步事件,如图4所示。这使得传感模式对于动态目标检测很有趣。另一个吸引人的因素是它们的微秒级响应时间[86],因为帧速率是高速驱动的重要限制。传感器分辨率仍然是一个问题,但新型号正在迅速改进。

  它们已被用于与ADS密切相关的各种应用。最近的一项回顾概述了姿势估计和SLAM、视觉惯性里程计和3D重建以及其他应用的进展[143]。最值得注意的是,最近发布了一个使用事件相机进行端到端驾驶的数据集,初步实验表明,事件相机的输出在某种程度上可以用于预测汽车转向角[85]。

  光照差与外观变化(Poor Illumination and Changing Appearance): 使用相机的主要缺点是光照条件的变化会显著影响其性能。弱光条件本来就难以处理,而由于阴影变化、不温不火的天气或季节变化导致的光照变化可能导致算法失败,尤其是监督学习方法。例如,雪极大地改变了场景的外观并隐藏了潜在的关键特征,例如车道标记。一个简单的替代方法是使用替代传感模式进行感知,但激光雷达在雪等天气条件下也有困难[144],而且雷达缺乏许多感知任务所需的分辨率[47]。通常采用传感器融合策略来避免任何单点故障[145]。

  通过红外传感器进行的热成像也用于低光照条件下的目标检测,这对于行人检测特别有效[146]。还开发了尝试直接处理动态照明条件的仅相机方法。已经提出了尝试提取光照不变特征[147]和评估特征质量[148]的方法。预处理的光照不变图像已应用于ADS [149],并被证明可以在很长一段时间内提高定位、映射和场景分类能力。尽管如此,处理照明不足或变化带来的不可预测的条件仍然是阻碍ADS广泛实施的核心挑战。

2) Semantic Segmentation:

  除了图像分类和目标检测,计算机视觉研究还解决了图像分割的任务。这包括使用类标签对图像的每个像素进行分类。这项任务对于驾驶自动化特别重要,因为一些感兴趣的对象无法通过边界框定义,特别是道路、交通线路、人行道和建筑物。在图8中可以看到城市区域中的分割场景。与基于类标记像素的语义分割相反,实例分割算法进一步分离同一类的实例,这在驾驶自动化的背景下很重要。换言之,必须区分可能具有不同轨迹和行为的对象。我们使用COCO数据集[152]来训练实例分割算法Mask R-CNN [138],示例结果如图8所示。

  分割最近对于实时应用变得可行。通常,该领域的发展与基于图像的目标检测并行发展。前面提到的Mask R-CNN [138]是Faster R-CNN [153]的推广。多任务R-CNN网络可以同时实现准确的边界框估计和实例分割,也可以推广到其他任务,例如用最少的领域知识进行行人姿态估计。以5 fps运行意味着它正在接近ADS的实时使用区域。

  与Mask-RCNN的架构更类似于通过使用区域提议网络进行目标检测的架构不同,分割网络通常采用卷积的组合来进行特征提取。随后是反卷积,也称为转置卷积,以获得像素分辨率标签[154][155]。特征金字塔网络也很常用,例如在PSPNet [156]中,它还引入了扩张卷积进行分割。这种稀疏卷积的想法随后被用于开发DeepLab [157],最新版本是当前最先进的目标分割[139]。我们将DeepLab与我们的ADS一起使用,分割帧如图所示图8。

  虽然大多数分割网络仍然太慢且计算成本太高而无法在ADS中使用,但重要的是要注意,许多这些分割网络最初是针对不同的任务进行训练的,例如边界框估计,然后推广到分割网络。此外,这些网络被证明可以学习图像的通用特征表示,并且可以推广到许多任务。这表明单一的广义感知网络可能能够处理ADS所需的所有感知任务。

3) 3D Object Detection:

  鉴于它们的可负担性、可用性和广泛的研究,到目前为止,几乎所有的算法都使用相机作为主要的感知方式。但是,相机具有对ADS至关重要的限制。除了之前讨论的照明之外,基于相机的目标检测发生在投影图像空间中,因此场景的规模是未知的。为了将这些信息用于避障等动态驾驶任务,有必要弥合从2D图像检测到3D度量空间的差距。因此深度估计是必要的,尽管立体或多视图系统更鲁棒[159],但实际上可以使用单个相机[158]。这些算法必然需要解决昂贵的图像匹配问题,这给已经很复杂的感知流水线增加了大量的处理成本。

  一种相对较新的传感模式,3D激光雷达,为3D感知提供了替代方案。收集到的3D数据本质上解决了规模问题,并且由于它们有自己的发射源,因此它们对照明条件的依赖程度要低得多,并且不易受极端天气的影响。传感模式收集代表场景表面的稀疏3D点,如图9所示,这对用于目标检测和分类具有挑战性。目标的外观随距离而变化,经过一段距离后,每个目标只有很少的数据点可用于检测目标。这对检测提出了一些挑战,但由于数据是世界的直接表示,因此更容易分离。传统方法通常使用欧几里得聚类[160]或区域增长方法[161]将点分组为目标。通过各种过滤技术,这种方法变得更加鲁棒,例如地面过滤[162]和基于地图的过滤[163]。我们实现了一个3D目标检测流水线,以从原始点云输入中获取聚类对象。此过程的一个示例如图9所示。

  与基于图像的方法一样,机器学习最近也接管了3D检测方法。这些方法也显著应用于RGB-D [165],它产生相似但彩色的点云;由于范围有限且在户外不可靠,RGB-D尚未用于ADS应用。点数据的3D表示,通过称为体素网格的3D占用网格,首先应用于RGB-D数据中的目标检测[165]。此后不久,在激光雷达创建的点云上使用了类似的方法[166]。受基于图像的方法的启发,使用了3D CNN,尽管计算成本非常高。

  VoxelNet [167]产生了仅点云3D边界框估计的第一个令人信服的结果。VoxelNet不是在离散化过程中手工计算输入特征,而是学习了从原始点云数据到体素网格的编码。他们的体素特征编码器(VFE)使用完全连接的神经网络将每个占用的体素中可变数量的点转换为固定大小的特征向量。然后使用特征向量编码的体素网格作为上述RPN的输入,用于多类目标检测。然后通过利用激光雷达数据的自然稀疏性,SECOND [140]在准确性和计算效率方面都提高了这项工作。我们采用了SECOND,示例结果如图8所示。最近产生了几种算法,准确度不断提高,如表7所示,但3D卷积的计算复杂度仍然是实时使用的问题。

  基于激光雷达的感知的另一个选择是点云数据的2D投影。2D中的点云数据有两种主要表示形式,第一种是图10所示的所谓深度图像,很大程度上受到基于相机的方法的启发,这些方法通过深度估计执行3D目标检测[168]和在RGB-D数据上运行的方法[169]。VeloFCN网络[170]建议使用单通道深度图像作为浅层单级卷积神经网络的输入,该网络产生3D车辆提议,许多其他算法都采用这种方法。深度图像的另一种用途是用于激光雷达点的语义分类[171]。

  另一个越来越受欢迎的2D投影,部分是由于新的KITTI基准,是投影到鸟瞰(BV)图像。这是一个点云的俯视图,如图11所示。鸟瞰图图像将空间完全离散化为2D,因此仅高度不同的激光雷达点就会相互遮挡。MV3D算法[172]使用相机图像、深度图像以及多通道BV图像;每个通道对应不同的高度范围,从而最大限度地减少这些遮挡。其他几项工作重用了基于相机的算法并训练了有效的网络,用于在2D BV图像上进行3D目标检测[173]-[176]。目前正在对KITTI数据集[177]和nuScenes数据集[178]评估最先进的算法,因为它们提供标记的3D场景。表7显示了KITTI基准测试中的主要方法以及检测时间。2D方法的计算成本要低得多,但最近考虑到点稀疏性的方法[140]是实时可行的,并且迅速接近在ADS中集成所需的精度。

  Radar 雷达传感器已经用于各种感知应用,在各种类型的车辆中,不同的模型在互补的范围内运行。虽然不如激光雷达准确,但它可以在高范围内检测物体并估计它们的速度[113]。在感知系统[51]中使用时,估计物体形状缺乏精度是一个主要缺点,分辨率过低。因此,它可以用于对车辆等大型物体的距离估计,但对于行人或静态目标来说却具有挑战性。另一个问题是大多数雷达的视野非常有限,迫使复杂的雷达传感器阵列覆盖整个视野。尽管如此,雷达已被广泛用作ADAS组件,用于包括接近警告和自适应巡航控制在内的应用[146]。虽然雷达和激光雷达通常被视为相互竞争的传感方式,但它们很可能会在全自动驾驶系统中协同使用。雷达射程很远,成本低,对恶劣天气有很强的抵抗力,而激光雷达提供精确的物体定位能力,如第四节所述。

  另一个与雷达类似的传感器是声纳设备,尽管它们的极短距离<2m和较差的角分辨率使得它们的使用仅限于非常近的障碍物检测[146]。

B. Object Tracking

  目标跟踪通常也称为多目标跟踪(MOT)[183]​和多目标检测和跟踪(DATMO)[184]。对于复杂高速场景下的全自动驾驶,仅靠位置估计是不够的。有必要估计动态目标的航向和速度,以便可以应用运动模型随时间跟踪对象并预测未来轨迹以避免碰撞。这些轨迹必须在要通过规划使用的车架中进行估计,因此必须通过多个摄像头系统、激光雷达或雷达传感器来获取范围信息。3D激光雷达通常因其精确的距离信息和大视野而被使用,从而可以进行更长时间的跟踪。为了更好地应对不同传感方式的局限性和不确定性,通常使用传感器融合策略进行跟踪[47]。

  常用的目标跟踪器依赖于简单的数据关联技术,然后是传统的过滤方法。当在3D空间中以高帧速率跟踪目标时,最近邻方法通常足以建立对象之间的关联。然而,基于图像的方法需要建立一些外观模型,这可能会考虑使用颜色直方图、梯度和其他特征(如KLT)来评估相似度[185]。基于点云的方法也可以使用相似性度量,例如点密度和Hausdorff距离[163][186]。由于关联误差总是有可能发生,因此经常使用多个假设跟踪算法[187],这确保了跟踪算法可以在任何单个时间步从不良数据关联中恢复。使用占用图作为所有传感器的框架,然后在该框架中进行数据关联是很常见的,尤其是在使用多个传感器时[188]。为了获得平滑的动态,检测结果通过传统的贝叶斯滤波器进行过滤。卡尔曼滤波对于简单的线性模型就足够了,而扩展和无迹卡尔曼滤波器[189]用于处理非线性动态模型[190]。我们实现了一个基本的基于粒子滤波器的对象跟踪算法,在对比相机和3D激光雷达透视图中跟踪的行人示例如图12所示。

  被跟踪目标的物理模型也经常用于更稳健的跟踪。在这种情况下,会使用诸如粒子滤波器之类的非参数方法,并将诸如目标大小之类的物理参数与动力学一起跟踪[191]。更多涉及的滤波方法,如Rao-Blackwellized粒子滤波器,也已用于跟踪L形车辆模型的动态变量和车辆几何变量[192]。已经为车辆和行人提出了各种模型,而一些模型可以推广到任何动态对象[193]。

  最后,深度学习也被应用于跟踪问题,特别是对于图像。通过基于CNN的方法[194][195]实时实现单目图像跟踪。估计目标动态的多任务网络也正在出现[196],这进一步表明处理多个感知任务的广义网络可能是ADS感知的未来。

C. Road and Lane Detection

  先前介绍的边界框估计方法可用于定义一些感兴趣的对象,但不适用于道路等连续表面。确定可行驶表面对于ADS至关重要,并且已作为检测问题的一个子集进行了专门研究。虽然可以通过语义分割确定可驾驶表面,但自动驾驶汽车需要了解道路语义才能正确通过道路。从感知的角度来看,对车道的理解以及它们如何通过合并和交叉路口连接仍然是一个挑战。在本节中,我们概述了当前用于道路和车道检测的方法,并让读者深入了解传统方法[198]和最先进的方法[199][200]。

  这个问题通常被细分为几个任务,每个任务都解锁了某种程度的自动化。最简单的是从ego车辆的角度确定可行驶区域。然后可以将道路划分为车道,并确定车辆的主车道。合理距离内的主车道估计允许ADAS技术,如车道偏离警告、车道保持和自适应巡航控制[198][201]。更具挑战性的是确定其他车道及其方向[202],并最终理解复杂的语义,如当前和未来的方向,或合并和转弯车道[47]。这些ADAS或ADS技术在任务、检测距离和可靠性率方面都有不同的标准,但全自动驾驶需要对道路结构的完整语义理解以及远距离检测多条车道的能力[199]。如图13所示的带注释的地图对于理解车道语义非常有用。

  图像颜色校正以标准化照明条件[203]。对于激光雷达,可以使用几种过滤方法来减少数据中的混乱,例如地面提取[162]或基于地图的过滤[163]。对于任何传感方式,识别与静态道路场景冲突的动态对象是一个重要的预处理步骤。然后,对校正后的数据进行道路和车道特征提取。颜色统计和强度信息[204]、梯度信息[205]和各种其他过滤器已用于检测车道标记。类似的方法已用于道路估计,其中道路的通常均匀性和边缘的高程间隙允许应用区域增长方法[206]。立体相机系统[207]以及3D激光雷达[204]已被用于直接确定道路的3D结构。最近,已经使用了基于机器学习的方法,这些方法要么将地图与视觉[200]融合,要么使用完全基于外观的分割[208]。

  估计表面后,使用模型拟合来确定道路和车道的连续性。通过参数模型进行几何拟合,例如线[209]和样条曲线[204],以及非参数连续模型[210]。已经使用了假设平行车道的模型[201],并且最近提出了集成诸如车道分割和合并等拓扑元素的模型[204]。时间整合完成了道路和车道分割流水线。在这里,车辆动力学与道路跟踪系统结合使用以实现平稳的结果。动态信息也可以与卡尔曼滤波[201]或粒子滤波[207]一起使用,以实现更平滑的结果。

  道路和车道估计是一个研究得很好的领域,许多方法已经成功地集成到车道保持辅助系统中。然而,大多数方法仍然充满假设和限制,并且尚未开发出能够处理复杂道路拓扑的真正通用系统。通过编码拓扑的标准化路线图和新兴的基于机器学习的道路和车道分类方法,用于驾驶自动化的强大系统正在慢慢形成。

 

VI. ASSESSMENT

  强大的ADS应不断评估情况的整体风险水平,并预测周围人类驾驶员和行人的意图。缺乏敏锐的评估机制可能导致事故。本节讨论了三个子类别的评估:总体风险和不确定性评估、人类驾驶行为评估和驾驶风格识别。

A. Risk and uncertainty assessment

  总体评估可以概括为对驾驶场景的不确定性和风险水平进行量化。这是一种很有前途的方法,可以提高ADS流水线的安全性[31]。

  在[212]中提出了使用贝叶斯方法来量化和测量深度神经网络的不确定性。贝叶斯深度学习架构被设计用于在整个ADS流水线中传播不确定性,并且在假设场景[31]中显示了它相对于传统方法的优势。总之,每个模块在整个流水线中传达和接受概率分布而不是确切的结果,这增加了系统的整体稳健性。

  另一种方法是单独评估驾驶场景的整体风险水平,即在流水线之外。感官输入被输入[83][213]中的风险推理框架,以使用隐马尔可夫模型(HMM)和语言模型检测不安全的变道事件。最近,在[211]中引入了一种深度时空网络,可以推断驾驶场景的整体风险水平。此方法的实现是可用的开源1。我们采用这种方法来评估变道的风险水平,如图14所示。

1 https://github.com/Ekim-Yurtsever/DeepTL-Lane-Change-Classification

B. Surrounding driving behavior assessment

  了解周围的人类驾驶员意图与中长期预测和决策最相关。为了增加对周围目标行为的预测范围,应考虑人类特征并将其纳入预测和评估步骤。从ADS的角度了解周围的驾驶员意图在该领域并不常见,因此目前还没有建立最先进的技术。

  在[214]中,使用隐马尔可夫模型(HMM)预测目标车辆的未来行为,并通过学习人类驾驶特征将预测时间范围延长56%。所提出的系统用预定义的操作标记观察。然后,使用HMM凭借以数据为中心的方式学习每种类型的特征。[215]中提出了另一种基于学习的方法,其中使用贝叶斯网络分类器来预测高速公路上个别驾驶员的机动。[216]中介绍了一种使用混合状态系统和HMM组合的长期驾驶员行为预测框架。通过[83][213]中的符号化框架,将周围的车辆信息与ego行为相结合。使用在[217]中针对安全和危险数据进行训练的HMM框架来检测机动中的危险切割。使用支持向量机(SVM)和贝叶斯滤波器[218]提前1.3秒预测车道变换事件。

  主要挑战是用于理解人类意图和实时高频计算要求的短观察窗口。ADS通常只能观察周围的车辆几秒钟。在这些情况下,不能使用需要较长观察期的复杂驾驶行为模型。

C. Driving style recognition

  2016年,谷歌的自动驾驶汽车在车道变更期间与迎面而来的公共汽车相撞[8],并假设公共汽车司机将让行。然而,公交车司机反而选择了加速。如果ADS了解公交车司机的个人、独特的驾驶风格并预测他的行为,那么这次事故可能会被避免。

  驾驶风格是一个广义的术语,没有既定的通用定义。此外,识别周围的人类驾驶风格是一个严重研究不足的话题。然而,在[220]和[221]中可以找到对人类驾驶ego车辆驾驶风格分类的全面回顾。读者可以参考这些论文以获得完整的评论。本小节的其余部分简要概述了基于人为驱动的ego车辆驾驶风格识别。

  通常,驾驶风格是根据攻击性[222]-[226]或油耗[227]-[231]来定义的。例如,[232]引入了一个基于规则的模型,该模型根据混蛋对驾驶风格进行分类。该模型通过一组规则和猛推阈值来决定机动是激进的还是平静的。在[233]中,驾驶员根据他们的平均速度进行分类。在传统方法中,驾驶风格类别的总数和含义是预先预定义的。绝大多数驾驶风格识别文献使用两个[83][213][222][223][227]或三个[234]-[236]类。在连续域中表示驾驶风格并不常见,但有一些研究。在[237]中,驾驶风格被描述为介于-1和+1之间的连续值,分别代表温和和活跃。表8给出了分类方法的详细信息。

  最近,基于机器学习的方法已被用于驾驶风格识别。在[238]中使用了主成分分析,并以无监督的方式检测了五个不同的驾驶类别,并在[241]中使用基于GMM的驾驶员模型成功识别了单个驾驶员。在后一项研究中分别研究了跟驰和踏板操作行为。[242]中提出了另一种基于GMM的驾驶风格识别模型用于电动汽车里程预测。在[222]中,提出了具有动态时间扭曲的积极事件检测,作者报告了很高的成功分数。贝叶斯方法在[243]中用于模拟环形交叉路口的驾驶风格,并在[244]中用于评估关键制动情况。词袋和K均值聚类用于表示[245]中的个人驾驶特征。使用堆叠的自动编码器从不同的驾驶员中提取独特的驾驶特征,然后通过聚类发现宏观驾驶风格质心[240]。另一个自动编码器网络用于提取道路类型特定的驾驶特征[246]。类似地,驾驶行为在3通道RGB空间中进行编码,并使用深度稀疏自动编码器来可视化个人驾驶风格[247]。

  尚未报告将驾驶风格识别成功集成到现实世界的ADS流水线中。然而,这些研究是有希望的,并指出了ADS发展可能的新方向。

 

VII. PLANNING AND DECISION MAKING

  规划可以分为两个子任务:全局路径规划和局部路径规划。图15详细说明了典型的规划方法。

  本节的其余部分简要概述了该主题。有关更多信息,可以参考[18][23][248]等研究。

A. Global planning

  全局规划器负责在道路网络上寻找从起点到最终目的地的路线。用户通常定义最终目的地。全球导航是一门经过充分研究的学科,十多年来,高性能已成为行业标准。几乎所有现代量产汽车都配备了利用GPS和离线地图规划全球路线的导航系统。

  路线规划被制定为在有向图中找到点到点的最短路径,传统方法在[248]中分为四个类别进行了检查。这些是目标导向、基于分隔符、分层和有界跳跃技术。A*搜索[249]是一种标准的目标导向路径规划算法,在各个领域广泛使用了近50年。

  基于分隔符的技术的主要思想是从图中删除顶点[250]或弧的子集,并在其上计算覆盖图。使用叠加图来计算最短路径可以加快查询速度。

  分层技术利用了道路层次结构。例如,美国的道路等级可以从上到下分别为高速公路、主干道、集线器和地方道路。对于路线查询,层次结构的重要性随着起点和终点之间的距离的增加而增加。最短路径可能不再是最快也不是最理想的路径。与遵循当地道路的最短路径相比,远离目的地从而使路线更长一些以使用最近的高速公路坡道可能会导致更快的旅行时间。在[251]中提出了用于利用道路层次结构的收缩层次结构(CH)方法。

  预先计算选定顶点之间的距离并在查询时利用它们是有界跳技术的基础。预先计算的快捷方式可以部分或专门用于导航。然而,在大多数大型网络的情况下,从每对顶点预先计算所有可能的路线的简单方法是不切实际的。一种可能的解决方案是使用集线器标签(HL)[252]。这种方法也需要预处理。与顶点关联的标签由附近的中心顶点和到它们的距离组成。这些标签满足任何给定两个顶点的标签之间必须存在至少一个共享中心顶点的条件。HL是路线规划中最快的查询时间算法[248],但代价是高存储使用率。

  上述算法的组合在最先进的系统中很流行。例如,[253]将分隔符与有界跳法相结合,并创建了带有弧标志(TNR+AF)算法的中转节点路由。现代路线规划器可以在几毫秒内完成查询。

B. Local planning

  局部规划器的目标是执行全局规划而不会失败。换句话说,为了完成它的行程,ADS必须在给定起点和终点的情况下找到避开障碍物并满足配置空间(C空间)中的优化标准的轨迹。[19]中提出了详细的局部规划回顾,其中运动规划的分类分为四组;基于图形的规划器、基于采样的规划器、插值曲线规划器和数值优化方法。在对这些常规规划器进行了总结之后,在本节的最后介绍了新兴的基于深度学习的规划器。表9简要总结了当地的规划方法。

  基于图的局部规划器使用与基于图的全局规划器(例如Dijkstra [254]和A* [249])相同的技术,它们输出离散路径而不是连续路径。这可能导致不稳定的轨迹[19]。更高级的基于图的规划器是状态格算法。与所有基于图的方法一样,状态格将决策空间离​​散化。高维点阵节点,通常编码2D位置、航向和曲率[255],首先用于创建网格。然后,使用反向路径生成器预先计算节点之间的连接以构建状态格。在规划阶段,使用通常考虑接近障碍物和偏离目标的成本函数来寻找具有预先计算的路径原语的最佳路径。状态格可以处理高维并且有利于动态环境中的局部规划,但是,计算负载很高并且离散化分辨率限制了规划者的能力[19]。

  可以在[267]中找到基于抽样的规划(SBP)方法的详细概述。总之,SBP试图通过在其中随机采样路径来构建C空间的连通性。随机潜在规划器(RPP) [256]是最早的SBP方法之一,其中生成随机游走以逃避局部最小值。概率路线图方法(PRM)[259]和快速探索随机树(RRT)[257]是最常用的SBP算法。PRM首先在学习阶段对C空间进行采样,然后使用路线图上预定义的起点和终点进行查询。另一方面,RRT是一个单一的查询规划器。开始和目标配置之间的路径是使用随机树状分支增量构建的。RRT比PRM快,并且两者都是概率完整的[257],这意味着将保证在足够的运行时间下找到满足给定条件的路径。RRT* [258]是RRT的扩展,在牺牲计算效率的同时提供了更多的最优路径而不是完全随机的路径。总的来说,SBP的主要缺点是不稳定的轨迹[19]。

  插值曲线规划器将曲线拟合到一组已知点[19],例如从全局规划生成的路径点或来自另一个局部规划器的一组离散的未来点。主要的避障策略是插入新的无碰撞路径,这些路径首先偏离,然后重新进入初始计划轨迹。新路径是通过将曲线拟合到一组新点来生成的:当前遍历轨迹的退出点、新采样的无碰撞点和初始轨迹上的重新进入点。生成的轨迹是平滑的,但是与其他方法相比,计算量通常更高。有各种常用的曲线族,例如回旋曲线[260]、多项式[261]、贝塞尔曲线[262]和样条曲线[104]。

  基于优化的运动规划器通过优化功能提高现有路径的质量。A*轨迹在[263]中使用数值非线性函数进行了优化。通过使用牛顿法解决固有振荡问题并在[264]中获得C1连续性,势场法(Potential Field Method, PFM)得到了改进。

  最近,基于深度学习(DL)和强化学习的局部规划器开始作为替代方案出现。全卷积3D神经网络可以从感官输入(如激光雷达点云[265])生成未来路径。一个有趣的主题是使用深度分割网络[266]用路径建议分割图像数据。在[268]中使用深度强化学习在模拟环境中实现了在被遮挡的交叉路口规划安全路径。端到端驾驶和基于深度学习的本地规划器之间的主要区别在于输出:前者输出直接的车辆控制信号,例如转向和踏板操作,而后者则生成轨迹。这使得DL规划器能够集成到传统的流水线中[24]。

  基于深度学习的规划器很有前途,但它们尚未广泛用于现实世界的系统中。缺乏硬编码的安全措施、泛化问题、需要标记数据是需要解决的一些问题。

 

VIII. HUMAN MACHINE INTERFACE

  车辆通过其HMI模块与其驾驶员/乘客进行通信。这种交流的性质很大程度上取决于目标,可以分为两种:主要驾驶任务和次要任务。这些任务的交互强度取决于自动化水平。在手动操作的零级传统汽车需要用户不断输入操作的情况下,五级ADS可能仅在行程开始时需要用户输入。此外,互动的目的可能会影响强度。从执行主要驾驶任务到监控自动化过程的转变提出了新的HMI设计要求。

  有一些关于汽车HMI技术的研究,例如[269][270],主要是从分散注意力的角度进行的。辅助任务的手动用户界面比他们的视觉对应物更需要[269]。主要原因是视觉是绝对必要的,并且对于主要驾驶任务别无选择。视觉界面交互需要持续时间在0.6到1.6秒之间的一瞥,平均为1.2秒 [269]。因此,需要视觉的次要任务界面会分散注意力并且不利于驾驶。

  听觉用户界面(AUI)是视觉上繁重的HMI设计的良好替代方案。AUI是全方位的:即使用户没有参加,听觉线索也很难错过[271]。音频交互的主要挑战是自动语音识别(ASR)。ASR 是一个非常成熟的领域。然而,在车辆领域存在额外的挑战;由不可控制的机舱条件(如风和道路噪音)引起的低性能[272]。除了简单的语音命令之外,与ADS的对话式自然语言交互仍然是一个未实现的概念,存在许多未解决的挑战[273]。

  最大的HMI挑战是在三级和四级自动化。用户和ADS需要相互理解,否则,他们将无法掌握彼此的意图[270]。在最先进的技术中,从手动驾驶到自动驾驶(反之亦然)的过渡很容易失败。最近的研究表明,与执行次要任务相比,驾驶员在监控自动驾驶时表现出较低的认知负荷[288]。尽管一些实验系统可以通过基于头部和眼睛跟踪的面向驾驶员的摄像头识别驾驶员活动[289],并在模拟环境中为驾驶员提供视觉和听觉提示[290]进行切换,但具有目前还不存在高效的切换交互模块。这是一个悬而未决的问题[291],未来的研究应侧重于提供更好的方法来通知/准备驱动程序以缓解过渡[41]。

 

IX. DATASETS AND AVAILABLE TOOLS

A. Datasets and Benchmarks

  数据集对研究人员和开发人员至关重要,因为大多数算法和工具在上路之前都必须经过测试和训练。

  通常,感官输入被输入到具有各种目标的算法堆栈中。一种常见的做法是在带注释的数据集上分别测试和验证这些函数。例如,摄像机的输出(2D视觉)可以输入目标检测算法,以检测周围的车辆和行人。然后,此信息可用于另一种算法以用于规划目的。即使这两种算法在本示例的堆栈中连接,目标检测部分也可以在开发过程中单独工作和验证。由于计算机视觉是一个经过充分研究的领域,因此有专门用于目标检测和跟踪的注释数据集。这些数据集的存在增加了开发过程,并使跨学科研究团队能够更有效地相互合作。对于端到端系统,数据集必须包括额外的自我车辆信号,主要是转向和纵向控制信号。

  随着学习方法的出现,支持它们的训练数据集也出现了。从2005年到2012年增长的PASCAL VOC数据集[288]是第一个具有大量具有ADS相关类别的数据的数据集。然而,这些图像通常以单个物体为特征,在场景和尺度上并不代表在驾驶场景中遇到的情况。2012年,KITTI Vision Benchmark [174]通过提供相对大量的标记驾驶场景来纠正这种情况。它现在仍然是与驾驶自动化相关的应用程序中使用最广泛的数据集之一。然而,就数据量和标记类的数量而言,它远不如ImageNet [132]和COCO [150]等通用图像数据库。虽然毫无疑问对训练很有用,但通用图像数据库仍然缺乏足够的上下文来测试ADS的功能。UC Berkeley DeepDrive [271]是一个带有注释图像数据的最新数据集。Oxford RobotCar [49]用于在英国通过六个摄像头、激光雷达、GPS和INS收集超过1000公里的驾驶数据。数据集虽然没有注释。ApolloScape是一个非常新的数据集,尚未完全公开[274]。Cityscapes [270]通常用于计算机视觉算法作为基准集。Mapillary Vistas是一个带有注释的大型图像数据集[272]。TorontoCity benchmark [282]是一个非常详细的数据集;但是它尚未公开。nuScenes数据集是最新的带有激光雷达和图像传感器的城市驾驶数据集[175]。Comma.ai发布了他们的数据集[289]的一部分,其中包括7.25小时的驾驶时间。在DDD17 [85]中记录了大约12小时的驾驶数据。LiVi-Set [277]是一个具有激光雷达、图像和驾驶行为的新数据集。

  自然驾驶数据是另一种类型的数据集,专注于驾驶的单个元素:驾驶员。SHRP2 [279]包括超过3000名志愿者在3年收集期内的驾驶数据。其他自然驾驶数据集是100-Car study [280]、euroFOT [281]和NUDrive [278]。表X显示了这些数据集的比较。

 

B. Open-source frameworks and simulators

  开源框架对研究人员和行业都非常有用。这些框架可以使ADS开发"民主化"。Autoware [110]、Apollo [290]、Nvidia DriveWorks [291]和openpilot [292]是能够在现实世界中运行ADS平台的最常用的软件堆栈。我们利用Autoware [110]来实现本研究中的核心自动驾驶功能。

  模拟在ADS开发中也占有重要地位。由于实验车辆的仪表成本仍然很高,并且在公共道路网络上进行实验受到高度监管,因此模拟环境有利于在道路测试之前开发某些算法/模块。此外,可以轻松地在模拟中测试高度危险的场景,例如与行人碰撞。CARLA [264]是为此目的开发的城市驾驶模拟器。TORCS [293]是为赛道模拟而开发的。一些研究人员甚至使用了电脑游戏,例如侠盗猎车手V [294]。Gazebo [295]是机器人技术的常见模拟环境。对于交通模拟,SUMO [296]是一个广泛使用的开源平台。[297]提出了将真实世界的测量结果集成到模拟环境中的不同概念。

 

X. CONCLUSIONS

  在这项关于自动驾驶系统的调查中,我们概述了一些关键创新以及现有系统。虽然自动驾驶的前景很诱人并且已经向消费者推销,但这项调查表明,研究中仍然存在明显的差距。已经提出了几种架构模型,从完全模块化到完全端到端,每种都有自己的缺点。定位、映射和感知的最佳传感模式仍然存在分歧,算法仍然缺乏准确性和效率,并且对适当的在线评估的需求已经变得明显。不太理想的路况仍然是一个悬而未决的问题,以及应对不温不火的天气。车对车通信仍处于起步阶段,而由于所需的复杂基础设施,尚未实施集中的、基于云的信息管理。人机交互是一个研究不足的领域,存在许多未解决的问题。

  自动驾驶系统的发展依赖于科学学科和新技术的进步。因此,我们在最近的研究进展中讨论了可能对自动驾驶技术产生重大影响的方法,无论是通过克服先前方法的弱点还是通过提出替代方法。这项调查表明,通过跨学科的学术合作以及行业和公众的支持,可以解决剩余的挑战。在努力确保各级自动驾驶系统的稳健性方面,安全高效的道路已经遥遥无期。 

posted on 2022-04-20 14:41  穷酸秀才大草包  阅读(959)  评论(0)    收藏  举报

导航