自动驾驶综述:常见的实践和新兴技术
Posted Alex_996
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动驾驶综述:常见的实践和新兴技术相关的知识,希望对你有一定的参考价值。
论文地址:https://arxiv.org/abs/1906.05113
摘 要
自动驾驶系统(ADSs)应该提供安全、舒适和高效的驾驶体验,然而随着配备自动驾驶功能的车辆事故频发、死亡人数持续上升,因此除非进一步提高最先进技术的鲁棒性,否则无法实现人们对ADSs的全部要求。本文讨论了自动驾驶领域中未解决的问题,并探讨了自动驾驶的技术实践,对目前的挑战、宏观系统体系结构、新兴的技术方法和核心功能(包括定位、地图、感知、规划和人机交互)的研究进行了全面的回顾。此外,我们实现了许多最先进的算法,并在我们自己的平台上进行了现实世界的驾驶设置。本文最后概述了可用的自动驾驶开发的开源数据集和工具。
关键词:自动驾驶汽车;控制;机器人技术;自动化;智能车辆;智能交通系统
1 引言
根据美国国家公路交通安全管理局(NHTSA)最近的一份技术报告,94%的道路交通事故是由人为错误[1]造成的。在这种背景下,自动驾驶系统(ADSs)应运而生,旨在预防事故、减少排放、降低交通伤亡、缓解交通压力[2]。如果能够实现广泛部署,通过缓解拥堵、减少道路伤亡、减少能源消耗和重新分配驾驶时间[3]导致的生产力提高,预计到2050年,每年的社会效益预计将达到近8000亿美元。
车辆动力学方面积累的知识,加上深度学习[4]的出现导致的计算机视觉的突破,以及新的传感器模式的可用性,如激光雷达[5],加快了ADS的研究和工业落地。此外,公众利益和市场潜力的增加,促进了具有不同程度自动驾驶功能的美国存托凭证的出现。然而,在城市环境中,完美的自动驾驶功能尚未实现[6]。由于技术不成熟[7]-[10]造成的事故进一步破坏了公众的信任,甚至造成了伤亡事故。因此,对未解决的挑战和最先进的技术进行彻底的介绍是必要的。
普里卡项目普罗米修斯[11]于1987-1995年在欧洲进行,它是最早的自动驾驶研究之一。该项目中,Daimler-Benz开发的VITA II,成功实现在[12]高速公路上自动驾驶。2004年,由美国国防部组织的美国国防部局大挑战赛是第一个大型的自动驾驶比赛,然而所有的参赛者都未能完成150英里的越野跑酷,挑战的困难在于,在决赛中不允许进行任何级别的人工干预。在2005年举行了另一个类似的国防高级研究计划局大挑战赛,这一次,有五个队伍在没有任何人为干扰的情况下完成了越野赛道。
在城市场景中的全自动驾驶被视为自动驾驶领域面临的最大挑战。在2007年举行的DARPA城市挑战[26]期间,世界各地许多不同的研究小组在一个模仿典型城市场景的测试环境中尝试了他们的ADSs,有6支队伍成功地完成了这项比赛。尽管这场比赛是当时规模最大、最重要的赛事,但测试环境缺乏现实世界中城市驾驶场景的某些要素,比如行人和骑自行车的人。
然而,6支队伍成功完成了挑战这一事实引起了极大的关注。在DARPA城市挑战赛之后,一些更多的自动驾驶比赛,如[27]-[30]在不同的国家举行。
多年来,系统体系结构中的常见实践已经建立起来。大多数自动驾驶系统将自动驾驶的大量任务划分为子任务,并在各种模块上使用一系列传感器和算法。最近,端到端驱动开始成为模块化方法的替代品,深度学习模型已经在[31]的许多这些任务中占据主导地位。
美国汽车工程师协会(SAE)将能够在可持续的基础上执行动态驱动任务(Dynamic Driving Task, DDT)的硬件-软件系统,称为ADS[32],还有一些方言的替代术语,如“autonomous driving”和“self-driving car”。尽管这些很常用,SAE还是建议不要使用它们,因为这些术语表述的并不清楚,并且具有误导性。在本文中,我们遵循SAE的惯例。
本文试图提供一个全面的、结构化的综述,概述最先进的自动驾驶相关硬件软件实践。此外,本文详细讨论了端到端驱动和车联网系统等新兴趋势。有关于这个主题的综述论文,其中涵盖了几个核心功能[15],[16],并且只集中在运动规划方面的[18],[19],然而,一项全面涵盖了:目前的挑战、可用的和新兴的高级系统体系结构、独立核心功能,如定位、定图、感知、规划、车辆控制和人机交互的综述还不存在。本文的目的是通过一个彻底的调查来填补文献中的这一空白,此外,本文还提供了可用数据集、软件和模拟器的详细摘要。本文的另一个贡献是,我们通过在自己的平台上使用开源软件实现了一些最先进的算法以及替代方案进行了详细的比较和分析。现有的综述论文与我们的工作的比较如表1所示。
本文的其余部分分为八个部分。第二节概述了目前面临的挑战,第三节介绍了自动驾驶系统组件和架构的详细信息,第四节总结了最先进的定位技术,然后是第五节,对感知模型进行了深入的回顾,第六节和第七节分别讨论了对驾驶情况的评估和规划,第八节介绍了人机交互当前的发展趋势和缺点,第九节给出了开发自动驾驶系统可用的数据集和工具。
2 前景和挑战
2.1 社会影响
ADSs的广泛应用并没有马上实现,然而,我们仍有可能在一定程度上预见到其潜在的影响和好处:
1.可以解决的问题是:预防交通事故,减轻交通拥堵,减少排放
2.不断增加的机会:重新分配驾驶时间,运输行动障碍
3.新趋势:消费移动性即一种服务(MaaS),物流革命
ADSs的广泛应用可以减少错误的人类驾驶行为所造成的社会损失,如分心、酒后驾驶和超速驾驶[3]。
在全球范围内,老年人群体(60岁以上)的增长速度快于年轻群体[33],增加老年人的流动性可以对大部分人口的生活质量和生产力产生巨大的影响。
从个人车辆向消费移动即服务(Mobility as a Service, MaaS)的转变是一种新兴趋势。目前,与拥有每年驾驶低于1000公里[34]里程的车辆相比,拼车的成本更低。到2030年,拥有车辆与共享车辆的比例预计为50:50[35],大规模的ADSs部署可以加速这一趋势。
2.2 挑战
ADSs是复杂的在终端环境中操作的机器人系统,因此有无数场景未解决的问题。本节讨论驾驶自动化的高级挑战,在相应的部分中将讨论更详细的、特定于任务的细节。
美国汽车工程师协会(SAE)在[32]中定义了驾驶自动化的五个级别,在这个分类法中,L0级表示驾驶根本不具有自动化。从L1级[36]开始,拥有驾驶员辅助系统,如自适应巡航控制、防抱死制动系统和稳定控制。L2级是部分自动驾驶,其中先进的辅助系统,如紧急制动或避免碰撞的[37],[38]是集成的。随着车辆控制领域知识的积累和行业经验,L2级自动驾驶成为一种可行的技术。真正的挑战开始于这个水平以上。
L3级自动驾驶是有条件的自动驾驶,在正常运行期间,司机可以专注于驾驶以外的任务,但是他必须迅速响应来自车辆的紧急警报,并准备好接管车辆驾驶。此外,L3级自动驾驶只在有限的操作设计领域(Operation Design Domains, odd),如高速公路。奥迪声称是第一个声称他们能够生产在有限的高速公路条件下实现L3级自动驾驶的汽车,然而,由驱动程序从自动驾驶模式切换为手动控制,将会引发另一个问题。最近的研究[40],[41]对这个问题进行了调查,发现接管操作会增加与周围车辆的碰撞风险,因此在接管期间发生事故的可能性增加是一个有待解决的问题。
在L4级和L5级自动驾驶都不需要人的关注,然而,L4级只能在存在特殊基础设施或详细地图的有限的ODD中运行,在离开这些区域时,车辆必须通过自动停车停止行驶。L5级自动驾驶可以在任何路网和任何天气条件下进行自动驾驶,目前还没有一种生产车辆能够实现L4级或L5级自动驾驶。此外,丰田研究所表示,该行业甚至没有人能达到五级自动化[42]。
城市道路网对L4级及以上的自动驾驶是一个开放且具有挑战性的问题,从天气条件到周围的人类行为,环境变量是高度不确定性和难以预测的。此外,由于系统故障导致的事故:在Hyundai竞赛中有一辆自动驾驶汽车因为下雨天气发生碰撞[7],谷歌的自动驾驶汽车在变道时因未能估计公交的速度而发生碰撞[8],特斯拉的自动驾驶系统未能认识到白色卡车并与它相撞,造成了司机的死亡[9]。
由不成熟的技术引起的死亡[9],[10]破坏了公众对自动驾驶的接受度。根据[34]最近的一项调查,大多数消费者质疑这项技术的安全性,并希望对自动驾驶的开发和使用有大量的控制。另一方面,极其谨慎的美国存托凭证也[43]留下负面印象。
伦理困境又提出了另一系列挑战,在不可避免的意外情况下,系统应该采取何种行为[44]?关于这个问题,有人提出了实验伦理学[45]。
风险和可靠性认证是另一项有待解决的任务。跟飞机一样,美国存托凭证需要设计高冗余的流程,将灾难性故障的可能性降至最低。尽管在这方面有一些有前途的项目,如DeepTest[46],但设计-模拟-测试-重新设计认证程序仍然没有由行业或规则制定者建立。
最后,各种优化目标,如到达目的地的时间、燃油效率、舒适性和拼车优化,再次增加当前自动驾驶已经难以解决的问题的复杂性。所以,目前的自动驾驶还是被层层限制在一个严格的条件下,那么如何打破这些限制,能够在开放的环境下承担所有驾驶任务,并且能够很好的完成这些任务依然是一个不小的挑战。
3 系统组件和架构
3.1 系统架构
系统架构的分类如图1所示。自动驾驶系统被设计为独立的、只有自我车辆的系统[15]、[47]或连接的多智能体系统[48]-[50]。此外,这些设计理念可以通过两种替代方法来实现:模块化系统[15]、[47]、[51]-[58]或端到端系统[59]-[67]。
- 仅Ego系统
只有自我车辆的方法是始终在一辆自给自足的车辆上进行所有必要的自动驾驶操作,而根据情况,互联的自动驾驶系统可能依赖于也可能不依赖于其它车辆和基础设施元素。
Ego-System是最先进的自动驾驶系统[15],[47],[51]-[56],[56]-[58]中最常见的方法,我们认为,这是因为开发一个自给自足的开发平台更加实用,并且互联系统面临额外的挑战。
- 模块化系统
模块化系统,在一些工作[59]中也被称为中介方法,将驾驶任务划分为一个一个模块,形成流水线,典型的流程[15]、[47]、[51]-[56]、[56]-[58]以传感器的感知信息作为输入,经过一系列的处理,包括定位、目标检测、场景预测和决策控制,最终以驾驶命令作为输出,再由控制模块生成相应的电机命令[31]、[68]。
开发单个模块将自动驾驶的具有挑战性的任务划分为一组更容易解决的问题[69]。这些子任务在机器人技术[70]、计算机视觉[71]和车辆动力学[36]等方面有相应的文献,可以将其它领域的积累的解决方案直接迁移到自动驾驶任务中,这是模块化系统的一个主要优势。此外,函数和算法可以在模块化设计中相互集成或相互构建。E.g,一个安全约束[72]可以在一个复杂的规划模块上实现,以硬编码定义一些紧急规则,而不修改规划器的内部工作,这使得设计功能复杂但可靠的架构成为可能。
模块化系统的主要缺点是容易出现错误传播[31]和过度复杂。例如特斯拉白色卡车事故中,就是由于感知模块错误的将白色卡车识别成了天空,然后这个错误沿着流水线传播到了执行模块,最终没有执行减速,导致了事故的发生[46]。
- 端到端系统
端到端自动驾驶系统,在一些研究中被称为直接感知[59],直接从感官输入中产生驾驶决策,可以是方向盘和踏板的连续操作,也可以是一组离散的动作,如加速和左转。端到端自动驾驶系统主要有三种实现方案:直接监督深度学习[59]-[63],神经进化[66],[67]和最近的深度强化学习[64],[65]。一个通用的端到端驱动系统的流程图如图2所示,两种方法的比较如表2所示。
最早的端到端驾驶尝试可以追溯到ALVINN[60],训练了一个3层全连接的网络模型,用来输出车辆应该遵循的方向。在[61]中介绍了一种用于越野驾驶的端到端驾驶系统。随着人工神经网络研究的发展,FCN-LSTM在自动驾驶任务中成为可能。在[62]中提出了一种以图像为输入和输出导向的深度卷积神经网络,建立了一种时空网络来预测[63]中的车辆运动。DeepDriving是另一个卷积模型,它试图从图像输入[59]中学习一组离散的感知指标,这种方法并不是完全端到端的,从感知信息中产生正确驾驶动作必须由另一个模块产生。上述所有方法均遵循直接监督训练策略。因此,训练需要最基本的目标值,通常是一个专业的人类驾驶员的自我行动序列,而网络学习模仿驾驶员。这就提出了一个设计问题:自动驾驶汽车应该像人一样驾驶吗?
一种新的深度强化学习模型,DeepQNetWorks(DQN),将强化学习与深度学习[73]相结合,该网络的目标是选择一组能够最大化累积未来回报的行动,采用深度卷积神经网络来逼近最优动作奖励函数。DQN首先通过随机初始化生成操作,然后,该网络根据经验来调整其参数,而不是直接的监督学习。在[64]中引入了使用DQN的自动驾驶框架,在仿真环境中进行了测试。第一个在真实世界运行的DQN是在一个没有交通的乡村道路[65]。基于DQN的系统并不模仿人类驾驶员,相反,他们学习最佳的驾驶方式。
神经进化是指使用进化算法来训练人工神经网络[74],具有神经进化的端到端驾驶并不像DQN和直接监督学习那样流行。据我们所知,能够在现实世界实现的基于神经进化的端到端系统还没有实现,但是有一些很好的[66]、[67]的仿真结果。ALVINN接受了神经进化训练,其表现优于直接监督学习版本[66]。在[67]中使用驾驶模拟器对RNN进行神经进化训练。神经进化的最大优势是消除了反向传播,因此,需要直接监督。
端到端驾驶系统是很有希望的,但是除了有限的例子之外,它还没有在现实世界的城市场景中部署。端到端驾驶的最大缺点一般是缺乏硬编码的安全措施和可解释性的[69]。此外,与直接监督学习相比,DQN和神经进化有一个主要缺点:这些网络必须与在线环境进行交互,并无法反复学习所需的行为。相反,直接监督网络可以用人类驾驶数据进行离线训练,一旦训练完成,系统在运行过程中预计不会失败。
- 车联网系统
目前还没有可使用使用的互联自动驾驶,然而,一些研究人员认为,这项新兴技术将成为驾驶自动化[48]-[50]的未来。通过使用车辆专用网络(VANETs),自动驾驶的基本操作可以分布在代理之间进行。V2X(车联网)从行人的移动设备到交通灯上的固定传感器,使用V2X[22]的车辆可以访问大量的数据。通过在同行[75]之间共享交通网络的详细信息,可以消除ego-system平台的缺点,如感知范围、盲点和计算限制。在可预见的未来的[76]中,预计将会出现更多能够提高安全性和流量效率的V2X应用程序。
VANETs可以通过两种不同的方式来实现:传统的基于IP的网络和信息中心网络(ICN)[48]。对于车辆应用,大量数据分布在间歇性和连接不理想的代理之间,同时保持高移动性[50]。传统的基于IP-主机的互联网协议在这些情况下不能正常工作。另一方面,在以信息为中心的网络中,车辆将查询信息流到一个区域,而不是一个直接地址,并且它们接受来自任何发送者[49]的相应响应。由于车辆具有高度的移动性和分散在道路网络上,信息源的身份就变得不那么相关了。此外,本地数据通常携带更多关键的信息,以完成即时驾驶任务,如避免在盲点上快速接近的车辆。
早期的工作,如[82]的汽车语音系统,证明了车辆可以利用彼此的传感器信息来执行一些动态驾驶任务,然而如果不减少大量的连续驾驶数据,在一个城市的数十万辆汽车之间共享信息就不可能实现。为此目的,在[83]中引入了一个符号学框架,它集成了不同的信息源,并将原始传感器数据转换为有意义的描述。在[84]中,人们创造了车辆云计算(VCC)这个术语,并引入了它相对于传统的互联网云应用程序的主要优势。传感器是造成这种差异的主要原因,在VCC中,传感器信息被保存在车辆上,只有在对另一个车辆有本地查询时才会共享,这可能会节省上传/下载传感器数据流的成本。此外,局部数据的高相关性增加了VCC的可行性,将常规云计算与车辆云计算进行比较,发现VCC在技术上是可行的[85]。术语车联网(Internet of Vehicles, IoV)被提出用来描述一个互联的自动驾驶系统[48],并在[49]中引入了术语“车雾”。
在一个城市中建立一个拥有数千辆汽车的高效VANET是一个巨大的挑战。对于基于ICN的VANET,一些具有挑战性的主题是安全性、移动性、路由、命名、缓存、可靠性和多访问计算[86]。总之,尽管一个连接系统的潜在好处是巨大的,但这些额外的挑战在很大程度上增加了问题的复杂性。因此,目前还没有可运行的连接系统。
3.2 传感器和硬件
越先进的自动驾驶系统往往会采用越多的传感器,为了鲁棒性和可靠性,大多数任务需要高的传感器冗余。硬件单元可分为五个单元:分别是用于感知外部环境的传感器、用于监测车辆内部状态的传感器、通信阵列、执行器和计算单元。
用于感知外部环境的传感器主要用于收集车辆所处环境富人信息,包括动态和静态物体,比如行人、车辆、建筑物、人行横道和可驾驶区域等等。常见的用于感知外部环境的传感器包括雷达、摄像头、激光雷达和超声波传感器。感知外部环境的传感器的详细比较见表3。
- 单眼相机
相机可以感知颜色,而且是被动的,即它们不发出任何信号进行测量。感知颜色对于交通灯识别等任务非常重要。此外,二维计算机视觉是一个具有卓越的最先进的算法的成熟领域。无源传感器不干扰其他系统,因为它不发出任何信号。然而,相机也有一些缺点。照明条件严重影响其性能,并且很难从单个相机获得深度信息。[87]有改善基于单眼相机的深度感知的研究,但不受光照和天气条件负面影响的模式对于动态驾驶任务仍然是必要的。其它可应用于自动驾驶的相机类型包括闪光相机[77]、热敏相机[79],[80]和活动相机[78]。
- 全向相机
对于360◦的2D视觉,全向摄像机被用作摄像机阵列的替代品。它们已经被广泛使用,随着越来越紧凑和高性能的硬件不断发布。全景视图特别适用于诸如导航、定位和映射[88]等应用程序。图3显示了一个全景图像的示例。
3. 事件摄像头
事件摄像机是在自动驾驶系统[89]中使用的新型传感器之一。事件摄像机异步地记录单个像素对视觉刺激的数据,因此,输出是一个不规则的数据点序列,或由亮度变化触发的事件。响应时间以微秒[90]为单位。当前事件相机的主要限制是像素大小和图像分辨率。例如,图4中所示的DAVIS40图像的像素大小为18.5×18.5µm,分辨率为240×180。最近,一个具有事件摄像机数据的驾驶数据集已经发布了[89]。
4. 雷达
雷达、激光雷达和超声波传感器在补充相机的缺点方面非常有用。深度信息可以有效地测量到物体的距离,利用这些传感器检索三维信息,且不受光照条件的影响。然而,它们是有源传感器。雷达发射无线电波,从物体上反弹回来,并测量每次反弹的时间。来自有源传感器的排放可能会干扰其他系统。雷达是一种成熟的技术,既轻又经济。例如,雷达可以安装在侧镜内部。雷达比激光雷达更便宜,而且可以探测到更长距离的物体,但后者更精确。
- 激光雷达
激光雷达的工作原理与雷达类似,但它发射的是红外光波,而不是无线电波。它的精度比200米以下的雷达要高得多。雾或雪等天气条件会对激光雷达的性能产生负面影响。另一个方面是传感器的尺寸:由于有限的空间和空气动力学限制,车辆上首选较小的传感器,而激光雷达通常比雷达大。
在[91]中,我们将人类的感知性能与ADS进行了比较。这项研究的一个关键发现是,即使人类驾驶员在推理方面总体上仍然更好,但具有传感器融合的自动驾驶系统的感知能力可以超过人类,特别是在退化的条件下,如光照不足。
- 本体感受传感器
本体感受感是另一个重要的类别。车辆的状态,如速度、加速度和偏航,必须连续测量,以便通过反馈安全地运行平台。几乎所有的现代生产的汽车都配备了本体感觉传感器。车轮编码器主要用于测程法,惯性测量单位(IMU)用于监测速度和位置的变化,转速表用于测量速度和海拔高度表。这些信号可以通过现代汽车的CAN协议进行访问。
除了传感器之外,自动驾驶系统还需要驱动器来操纵车辆和先进的计算单元来处理和存储传感器数据。
- 全套汽车
不同的研究小组引入了许多仪器工具,比如斯坦福大学的Junior[15],它使用了一系列具有不同模式的传感器来感知外部和内部变化。BOSS用丰富的传感器[47]赢得了DARPA的城市挑战。RobotCar[53]是一个更便宜的数据收集研究平台。此外,该行业还引入了不同层次的驾驶自动化技术;特斯拉的Autopilot[92]和谷歌的自动驾驶汽车[93]就是一些例子。Bertha[57]由戴姆勒公司开发,拥有4个120◦短程雷达,两侧的两个远程雷达,立体摄像头,仪表盘上的广角单眼彩色摄像头,另一个广角摄像头。我们的车辆如图5所示。
表4给出了10种不同的全尺寸自动驾驶系统的传感器设置的详细比较。
- 大型车辆和拖车
最早的智能卡车是为加州[102]的PATH项目开发的,该项目利用了道路上的磁性标记。燃油经济性是货运运输中的一个重要课题,为此开发了电镀等方法。平台化是一个被充分研究的现象;它减少了阻力,从而减少了燃料消耗[103]。在半自动卡车布局中,主卡车由人类司机驾驶,几辆自动卡车跟随它;形成[104]中定义的半自动公路列车。萨特欧盟项目[105]引入了这样一个满足三个核心条件的系统:使用现有的公共道路网络,与非自动化车辆共享交通,以及不修改道路基础设施。在[103]组成了一个由三辆自动卡车组成的排,报告节省了大量燃料。
拖拉机-拖车的设置对自动货运提出了一个额外的挑战。路径跟踪采用传统的控制方法,如反馈线性化[106]和模糊控制[107],但不考虑重叠约束。卡车和拖车相互碰撞的可能性,增加了任务[108]的难度。在[108]中提出了一种控制安全调速器的设计,以防止在倒车时发生碰撞。
4 定位和地图
定位是在环境[17]中寻找相对于参考系的自我位置的任务,它是任何移动机器人的基础。这对于自动驾驶系统[21]来说尤其重要;车辆必须行驶在正确的车道,并准确地定位自己。此外,定位是全球导航的一个基本要求。
本节详细介绍了仅使用车载传感器的三种最常见的方法:全球定位系统和惯性测量单元(GPS-IMU)融合、同步定位和映射(SLAM),以及最先进的基于先验地图的定位。读者可以参考[17]来获得更广泛的定位概述。表5给出了定位方法的比较。
4.1 GPS-IMU融合
GPS-IMU融合的主要原理是用绝对位置读数[109]修正区间内计算的累积误差。在GPS-IMU系统中,通过IMU测量位置和方向的变化,并对这些信息进行处理,以定位车辆。IMU有一个显著的缺点,一般来说:错误会随着时间积累,经常导致长期操作[110]失败。通过GPS读数的集成,IMU的累积误差可以被间隔修正。
GPS-IMU系统本身不能用于车辆定位,因为它们不符合性能标准[111]。在2004年国防高级研究计划局大挑战赛中,来自卡内基梅隆大学[96]的红队由于GPS错误而未能比赛。对于目前用于生产汽车的GPS-IMU系统来说,城市自动驾驶所需的精度太高了。此外,在密集的城市环境中,精度进一步下降,并且在[109]隧道和高层建筑中,GPS不时停止运行。
尽管GPS-IMU系统本身不满足性能要求,只能用于高级路线规划,但它们在最先进的定位系统[111]中与激光雷达和其他传感器一起用于初始姿态估计。
4.2 即时定位与地图构建
即时定位与地图构建(SLAM)是一种在线地图制作和定位车辆的方法。在SLAM中不需要关于环境的先验信息。SLAM是机器人技术中的一种常见做法,特别是在室内环境中。然而,由于较高的计算需求和环境挑战,在户外运行SLAM算法,这是ADSs的操作领域,比预先构建的地图[112]定位效率低。
麻省理工学院团队在DARPA城市挑战[113]中使用了SLAM方法,并以第四名完成了它。而冠军,卡耐基梅隆大学的BOOS[47]和亚军,斯坦福大学的Junior[15],都利用了一个先验信息。尽管没有相同的准确性和效率水平,但SLAM技术比先验方法有一个主要的优势:它们可以在任何地方工作。
如果基于SLAM的方法的性能能够进一步提高[20],那么它们就有可能取代先验技术。我们建议读者参考[21],以了解在智能车辆领域的详细SLAM调查。
4.3 一种基于先验地图的定位
基于先验地图的定位技术的核心思想是匹配:定位是通过将在线感知与详细的预构建地图上的信息进行比较,并找到最佳匹配[111]的位置来实现的。通常在匹配过程的开始时,会先使用初始姿态估计,例如使用GPS。有各种方法来绘制建筑和首选的模式。
环境中的变化会对基于先验地图的方法的性能产生负面影响,这种变化在农村地区很普遍,由于路边植被和建筑[114]的变化,过去的地图信息可能会偏离实际环境。此外,这种方法还需要一个额外的地图制作步骤。
有两种不同的基于地图的方法;地标搜索和匹配。
- 地标性搜索
与点云匹配相比,地标搜索在计算上更便宜,只要存在足够数量的地标,这就是一种鲁棒的定位技术。在城市环境中,电线杆、路缘、标志和道路标志都可以用作地标。
在[98]中采用了激光雷达和蒙特卡罗定位(Monte Carlo Localization, MCL)的道路标记检测方法。在这种方法中,道路标记和路缘与三维地图相匹配,以找到车辆的位置。在[115]中介绍了一种基于视觉的道路标记检测方法,将单个前置摄像头检测到的道路标记与具有全球坐标的低体积数字标记地图进行比较和匹配,然后利用粒子滤波器,用检测到的道路标记和GPS-IMU输出来更新车辆的位置和航向。一种基于道路标记检测的定位技术,在[116]中提出了两种面向地面的摄像机,GPS-IMU航迹推算、测程法和一种精确的标记定位图。在[117]中提出了另一种基于视觉的方法,即单摄像头和地理参考的交通标志。这种方法有一个主要缺点:地标依赖使系统在地标量不足的情况下容易失效。
- 点云匹配
最先进的定位系统使用基于多模态点云匹配的方法。综上所述,覆盖较小区域的在线扫描点云围绕其中心进行平移和旋转,以与较大的先验点云图进行比较,提供两点云之间最佳匹配的位置和方向给出了传感器相对于地图的局部位置。对于初始姿态估计,GPS通常用于航位推算。我们使用这种方法来定位我们的车辆。匹配过程如图6所示,地图制作过程如图7所示。
在[111]的开创性工作中,我们使用激光雷达收集的点云图来增强惯性导航和定位。粒子滤波器保持了一个二维坐标和偏航角的三维向量,在[100]中使用了一种具有概率映射的多模态方法,在具有小于10厘米均方根误差的城市环境中实现了定位。我们不是逐点比较两个点云并丢弃不匹配的读取,而是对所有观测数据的方差进行建模并用于匹配任务。在[119]中提出了一种基于多分辨率高斯混合图(GMM)的激光雷达扫描匹配算法。将[118]、[120]中的迭代最近点(ICP)与正态分布变换(NDT)进行了比较。在NDT中,累积的传感器读数被转换为一个网格,该网格由从进入其单元/体素的扫描点中获得的平均值和协方差表示。NDT被证明比点对点ICP匹配更鲁棒,在[101]中提出了一种改进的三维NDT匹配版本,而[114]通过道路标记匹配增强了NDT。[121]开发了一种基于NDT的蒙特卡罗定位(MCL)方法,它利用离线静态地图和不断更新的短期地图。在该方法中,短期地图使用了NDT占用网格,仅在静态地图未能给出充分解释的情况下才使用。
地图的制作和维护是耗时间和资源的。因此,一些研究人员,如[99]认为,考虑到道路网络的规模和快速的变化,使用先验地图的方法是不可行的。
- 2D到3D的匹配
将在线2D读数与3D先验地图相匹配是一项新兴技术,这种方法只需要在配备自动驾驶系统的车辆上安装一个摄像头,而不是更昂贵的激光雷达。先验地图仍然需要用激光雷达来创建。
在[123]中,使用单眼摄像机在[123]的点云图中定位车辆,通过初始姿态估计,从离线的3D点云图中创建二维合成图像,并将其与归一化互信息和从相机接收到的在线图像进行比较,但该方法增加了本地化任务的计算负荷。在[124]中引入了另一种视觉匹配算法,其中使用立体摄像机设置来比较在线扫描与从3D先验生成的合成深度图像。
基于摄像机的定位方法可能在未来变得流行,因为硬件需求比基于激光雷达的系统更便宜。
5 感知
感知周围环境并提取对安全导航至关重要的信息是自动驾驶的关键目标。使用不同的感知模式的各种任务,都属于感知的范畴。基于几十年的计算机视觉研究,相机是最常用的感知传感器,现在3D视觉成为一种强大的替代/补充。
本小节介绍了几种核心感知任务。我们在V-A1节中讨论了基于图像的目标检测,V-A2节中的语义分割,V-A3节中的三维目标检测,V-C节中的道路和车道检测,以及V-B节中的目标跟踪。
5.1 检测任务
- 基于图像的目标检测
目标检测是指识别感兴趣的对象的位置和大小,包括从交通灯和标志到道路十字路口的静态物体,以及其他车辆、行人或骑自行车者等动态物体,都是自动驾驶系统所关注的问题。广义目标检测作为计算机视觉中的一个中心问题有着长期的历史,其目标是确定图像中是否存在特定类别的目标,然后通过一个矩形边界框来确定它们的大小。本节主要讨论最先进的目标检测方法,因为它们代表了自动驾驶流程中其它几个任务的起点,如目标跟踪和场景理解。
目标检测研究始于50多年前,但直到最近,在20世纪90年代末和21世纪初,算法性能才达到了自动驾驶的相关水平。2012年,深度卷积神经网络(Deep Convolutional Neural Network, DCNN)AlexNet[4]打破了ImageNet图像识别挑战赛[131]的记录,导致了后续研究的焦点几乎完全转移到监督学习,特别是目标检测的深度学习。关于一般的基于图像的目标检测[132]-[134],有许多广泛的综述。在这里,重点是可以应用于自动驾驶的最先进的方法。
虽然最先进的方法都依赖于DCNN,但目前它们之间有一个明显的区别:单阶段检测框架使用单一网络同时产生目标检测位置和类别。区域建议检测框架使用两个不同的阶段,首先提出感兴趣的区域,然后由单独的分类器网络进行分类。
区域建议方法目前是领先的检测基准,但代价是需要较高的计算能力,而且通常难以实现、训练和微调。同时,单阶段检测算法往往具有快速的推理时间、较低的内存成本,非常适合于实时自动驾驶。YOLO(You Only Look Once, 你只看一次)[135]是一个流行的单阶段检测器,并且还在不断改进了[128],[136]。YOLO的网络使用DCNN在粗网格上提取图像特征,大大降低了输入图像的分辨率。然后,一个全连接的神经网络可以预测每个网格单元和类概率以及边界框参数。这种设计使YOLO非常快,完整的模型运行可以达到45FPS,一个更小的模型可以达到155FPS。该方法的最新版本,YOLOv2、YOLO9000[136]和YOLOv3[128]在保持低计算和内存成本的同时,也曾短暂地接管了PASCAL VOC和MS COCO的基准测试。另一个广泛使用的算法,甚至比YOLO更快,是Single Shot Detector (SSD)[137],它使用标准的DCNN架构,如VGG[130],以在公共基准上实现有竞争力的结果。SSD在一个类似于YOLO的粗网格上执行检测,但也使用在DCNN早期获得的更高分辨率的特征来改进对小物体的检测和定位。
考虑到准确性和计算成本对于自动驾驶系统的检测是至关重要的,检测结果需要可靠,但也应比实时操作更好,以便使规划和控制模块有尽可能多的时间对这些对象做出反应。因此,单级检测器通常是自动驾驶系统检测的首选算法。然而,如表6所示,在多阶段检测框架中使用的区域建议网络(Region Proposal Networks, RPN),在目标检测和定位精度方面已被证明是无与伦比的,近年来计算成本有了很大的提高。它们也更适合于与检测相关的其它任务,如第V-A2节中讨论的语义分割。通过迁移学习,同时实现多个感知任务在在线应用[138]中变得越来越可行。在不久的将来,RPN可以取代自动驾驶系统应用的单阶段检测网络。
全向性和基于事件摄像机的感知:360度视觉,或至少是全景视觉,对于更高水平的自动化是必要的。这可以通过相机阵列来实现,尽管需要在每个相机之间进行精确的外部校准,以使图像拼接成为可能。或者,可以使用全向相机,或者更小的相机与非常大角度的鱼眼相机。然而,这些在本质上难以校准:球形图像是高度扭曲的,所使用的相机模型必须考虑到镜子反射或鱼眼镜头的扭曲,这取决于产生全景图像[141],[142]的相机模型。模型的精度和校准决定了所产生的未失真图像的质量,并使用了上述的二维视觉算法。图3显示了一个鱼眼透镜产生两个球形图像,然后组合成一个全景图像的例子。一些扭曲不可避免地仍然存在,但尽管在校准方面存在这些挑战,全向相机已经被用于许多应用,如SLAM[143]和3D重建[144]。
事件摄像机是一种相当新的模式,它输出异步事件,通常由观察场景中的运动引起,如图4所示,这使得传感模式对动态目标检测很有趣。另一个吸引人的因素是它们的响应时间在微秒[90]的量级上,因为帧率是高速驾驶的一个重要限制。传感器的分辨率仍然是一个问题,但新的型号正在迅速提高,它们已被用于与自动驾驶系统密切相关的各种应用。最近的一项调查概述了在姿态估计和SLAM、视觉惯性测程法和三维重建以及其他应用[145]方面的进展。最值得注意的是,最近发布了一个使用事件摄像机的端到端驾驶数据集,初步实验表明,事件摄像机的输出在某种程度上可以用于预测汽车转向角[89]。
光照条件差,外观会发生变化:使用相机的主要缺点是光照条件的变化会显著影响它们的性能。低光条件天生就很难处理,而由于阴影变化、恶劣的天气或季节变化而导致的照明变化可能导致算法失败,特别是监督学习方法。例如,大雪天改变了场景的外观,并隐藏了潜在的关键特征,如车道标记。一个简单的替代方案是使用另一种感知模式进行感知,但激光雷达在一些天气条件下也有困难,如雾和雪[146],而且雷达缺乏许多感知任务[51]的必要分辨率。通常采用传感器融合策略来避免任何单点故障[147]。
通过红外传感器的热成像也可用于低光条件下的目标检测,这对行人检测[148]尤其有效。试图直接处理动态照明条件的仅使用相机的方法也已经发展出来。同时试图提取照明不变特征[149]和评估特征[150]的质量。预处理的光照不变图像已应用于自动驾驶系统[151],并显示在长时间内提高了定位、映射和场景分类能力。尽管如此,应对光照不足或变化所带来的不可预测的情况仍然是阻碍自动驾驶广泛实施的核心挑战。
- 语义分割
除了图像分类和目标检测外,计算机视觉研究还解决了图像分割的任务,包括用类标签对图像中的每个像素进行分类。这项任务对于自动驾驶尤为重要,因为一些感兴趣的对象被边界框定义得很不好,特别是道路、交通线、人行道和建筑物,在图8中可以看到一个城市区域的分割场景。
图8:名古屋大学附近的一个城市场景,由我们的实验车辆收集的摄像机和激光雷达数据,以及来自最先进的感知算法的目标检测输出。(a) 一个前置摄像头的视图,边界框结果来自YOLOv3[128],(b) 实例分割结果来自MaskRCNN[138]。由DeepLab-V3[139]生成的,© 语义分割掩码,(d) 三维激光雷达数据目标检测,结果来自SECOND[140]。在这四种算法中,只有三维感知算法输出了被检测到对象的距离。
与基于像素分类的语义分割不同,实例分割算法进一步分离了同一类的实例,这在自动驾驶中很重要。换句话说,可能有不同的轨迹和行为的物体必须相互区分。我们使用COCO数据集[152]来训练实例分割算法MaskR-CNN[138],样本结果如图8所示。
分割技术最近已成为实时应用的可行性。一般来说,这一领域的发展与基于图像的目标检测是并行进行的。上述的MaskR-CNN[138]是对更快的R-CNN[153]的推广。多任务R-CNN网络可以同时实现精确的边界盒估计和实例分割,也可以推广到具有最小领域知识的行人姿态估计等其他任务中,以5帧每秒的速度运行意味着它正在接近自动驾驶的实时使用区域。
与更类似于通过使用区域建议网络用于目标检测的Mask-RCNN的结构不同,分割网络通常使用卷积组合进行特征提取,然后是反卷积,也称为转置卷积,以获得像素分辨率标签[154],[155]。特征金字塔网络(Feature Pyramid Networks)也很常用,例如在PSPNet[156]中,它也引入了扩展卷积进行分割。这种稀疏卷积的想法随后被用来开发DeepLab[157],最新的版本是当前最先进的实例分割[139]。我们在自动驾驶系统中使用了DeepLab,一个分割框架如图8所示。
虽然大多数分割网络在自动驾驶系统中使用都太慢并且计算昂贵,但需要注意的是,许多这些分割网络最初是针对不同的任务进行训练的,如边界框估计,然后推广到分割网络。此外,这些网络被证明可以学习图像的普遍特征表示,并可以推广到许多任务。这表明,单一的、广义的感知网络可能能够处理自动驾驶系统所需的所有感知任务。
- 三维对象检测
鉴于相机的可负担性、可用性和广泛的研究,几乎所有的算法都是以相机作为主要的感知方式。然而,相机对自动驾驶也有至关重要的局限性。除了前面讨论过的照明外,基于相机的目标检测也发生在投影图像空间中,因此场景的规模是未知的。为了将这些信息用于避障等动态驾驶任务,有必要弥合从基于二维图像的检测到三维度量空间的差距。因此,深度估计是必要的,这实际上通过单个相机是可能实现的[158],尽管立体声或多视图系统是更健壮的[159],但这些算法必然需要解决一个昂贵的图像匹配问题,这给已经复杂的感知任务增加了大量的处理成本。
一种相对较新的传感模式,3D激光雷达,为3D感知提供了另一种选择。3D激光雷达收集到的三维数据本质地解决了尺度问题,由于它们有自己的发射源,因此对光照条件的依赖性较低,也不太容易受到极端天气的影响。3D激光雷达收集代表场景表面的稀疏三维点,如图9所示,这对用于目标检测和分类任务具有挑战性。对象的外观随着范围的变化而变化,经过一段距离后,每个可检测对象只有很少的数据点,这给检测带来了一些挑战,但由于数据是对世界的直接表示,因此它更容易分离。传统的方法通常使用欧几里得聚类[160]或区域增长方法[161]来将点分组到对象中。通过各种滤波技术,如地面滤波[162]和基于地图的滤波[163],使该滤波方法更加鲁棒。我们实现了一个三维目标检测实例,从原始点云输入中获得聚类对象,图9显示了这个过程的一个示例。
图9:从三维点云数据中检测目标的传统方法的概述。首先使用各种滤波和数据缩减方法,然后进行聚类,所得到的集群由我们的数据收集平台收集的行人3D激光雷达数据中不同颜色的点显示。
与基于图像的方法一样,机器学习最近也取代了3D检测方法,这些方法也被显著应用于RGB-D[165],它产生类似但彩色的点云。由于户外范围有限且不可靠,RGB-D尚未用于自动驾驶应用。点数据的三维表示,通过一个称为体素网格的三维占用网格,首先应用于RGB-D数据[165]中的目标检测。此后不久,在激光雷达[166]创建的点云上也使用了类似的方法。受基于图像的方法的启发,3D CNN也被使用,尽管计算成本非常昂贵。
VoxelNet[167]得到了仅点云数据计算三维边界盒估计的第一个令人信服的结果。VoxelNet学习了从原始点云数据到体素网格的编码,而不是手工制作在离散化过程中计算出的输入特征。他们的体素特征编码器(Voxel Feature Encoder, VFE)使用一个完全连接的神经网络,将每个被占据的体素中的可变点数转换为一个固定大小的特征向量,然后将用特征向量编码的体素网格作为上述RPN的输入,进行多类目标检测,之后通过利用激光雷达数据的自然稀疏性,通过SECOND[140]提高了这项工作的精度和计算效率。我们使用了SECOND方法,其中一个示例结果如图8所示。最近已经产生了几种算法,其精度不断提高,如表7所示,但3D卷积的计算复杂度仍然是一个实时使用的问题。
表7:KITTI3D目标检测测试集汽车类别的平均精度(AP)为%,根据中等类别精度排序。这些算法只使用点云数据。
另一种基于激光雷达的感知的选择是点云数据的二维投影。二维点云数据主要有两种表示,第一种是图10所示的所谓深度图像,很大程度上灵感来自于基于摄像机的通过深度估计[168]执行3D目标检测的方法和操作RGB-D数据[169]的方法。VeloFCN网络[170]提出使用单通道深度图像作为输入到一个浅层的单级卷积神经网络,该网络产生了三维车辆建议,许多其他算法也采用了这种方法。另一种深度图像用于激光雷达点[171]的语义分类。
图10:由合成激光雷达数据产生的深度图像,由Carla[164]模拟器生成的。
另一个越来越受欢迎的是2D投影,部分原因是新的KITTI基准测试,是对鸟视图(BV)图像的投影。这是一个点云的顶视图图像,如图11所示。鸟瞰图图像纯二维离散空间,因此仅在高度不同的激光雷达点相互遮挡。MV3D算法[172]使用了相机图像、深度图像以及多通道BV图像,每个通道对应不同的高度范围,以使这些遮挡最小化。其他一些工作已经重用了基于相机的算法,并训练了效率网络,用于2D BV图像[173]-[176]上的三维目标检测。目前,最先进的算法正在KITTI数据集[177]和nuScenes数据集[178]上进行评估,因为它们提供了标记的3D场景。表7显示了在KITTI基准测试上的主要方法以及检测时间。二维方法的计算成本要低得多,但最近考虑点稀疏性[140]的方法是实时可行的,并且快速接近自动驾驶系统集成所需的精度。
图11:三维激光雷达数据的鸟瞰图视角,这是来自KITTI数据集[177]的一个样本。
雷达 雷达传感器已经被用于各种感知应用,在各种类型的车辆中,不同的型号在互补的范围内运行。虽然不如激光雷达精确,但它可以在高范围内探测物体,并估计它们的速度[113]。在感知系统[51]中使用时,缺乏对物体形状的估计精度,分辨率太低。因此,它可以用于对车辆等大型物体的距离估计,但对行人或静态物体具有挑战性。另一个问题是大多数雷达的视场非常有限,迫使一个复杂的雷达传感器阵列覆盖整个视场。然而,雷达作为自动驾驶系统组件已被广泛使用,应用于包括接近警报和自适应巡航控制[146]。虽然雷达和激光雷达通常被视为相互竞争的传感模式,但它们很可能会在全自动驾驶系统中串联使用。雷达的射程非常长,成本低,对恶劣天气也很强大,而激光雷达提供精确的目标定位能力,如第四节所述。
另一个与雷达类似的传感器是声纳设备,尽管它们极短的<2米射程和较差的角度分辨率使得它们的使用仅限于非常接近的障碍物探测[146]。
5.2 目标追踪
目标跟踪也通常被称为多目标跟踪(MOT)[183]和多目标的检测和跟踪(DATMO)[184]。对于复杂和高速场景下的全自动驾驶,仅估计位置是不够的,还有必要估计动态物体的航向和速度,以便应用一个运动模型来跟踪物体随时间的推移,并预测未来的轨迹,以避免碰撞。这些轨迹必须在规划所使用的车辆框架中进行估计,因此距离信息必须通过多个摄像机系统、激光雷达或雷达传感器获得。三维激光雷达经常用于其精确的范围信息和大视场,允许更长时间的跟踪。为了更好地应对不同传感模式的局限性和不确定性,通常使用传感器融合策略来跟踪[47]。
常用的对象跟踪器依赖于简单的数据关联技术,以及传统的过滤方法。当在三维空间中以高帧率跟踪对象时,最近邻方法通常足以建立对象之间的关联。然而,基于图像的方法需要建立一些外观模型,可以考虑使用颜色直方图、梯度和KLT等特征来评估相似性[185]。基于点云的方法也可以使用相似度指标,如点密度和豪斯多夫距离[163],[186]。由于关联误差总是有可能的,因此经常采用多种假设跟踪算法[187],这确保了跟踪算法可以在任何一个时间步长上从较差的数据关联中恢复。使用占用图作为所有传感器的框架,以贡献并在该帧中进行数据关联是很常见的,特别是当使用多个传感器[188]时。为了获得平滑的动态结果,检测结果采用传统的贝叶斯滤波器进行滤波。卡尔曼滤波对于简单的线性模型是充分的,而扩展的无场景卡尔曼滤波器[189]用于处理非线性动态模型[190]。我们实现了一个基本的基于粒子滤波器的目标跟踪算法,并以对比摄像机和三维激光雷达视角跟踪行人的例子如图12所示。
图12:城市道路十字路口的场景,有几个被跟踪的行人和骑自行车的人,历史轨迹用白色表示,当前的朝向和速度由箭头的方向和大小表示。
被跟踪的对象的物理模型也经常被用于更健壮的跟踪,在这种情况下,使用非参数的方法,如粒子滤波器,和物理参数,如对象的大小与动力学[191]一起跟踪。更复杂的滤波方法,如Rao-Blackwellized粒子滤波器,也被用于跟踪L型车辆模型[192]的动态变量和车辆几何变量。针对车辆和行人提出了各种模型,而一些模型可以推广到任何动态对象[193]。
最后,深度学习也被应用于跟踪问题,特别是对图像方面。通过基于CNN的方法[194],[195],对单眼图像进行实时跟踪。估计目标动态的多任务网络也出现了[196],这进一步表明,处理多种感知任务的广义网络可能是自动驾驶系统感知的未来。
5.3 道路和车道线检测
以前所涵盖的边界箱估计方法对于定义一些感兴趣的对象很有用,但对于道路等连续表面是不够的。确定可驾驶区域对于自动驾驶系统是至关重要的,并作为检测问题的一个子集进行了专门的研究。虽然可驾驶区域可以通过语义分割来确定,但自动驾驶车辆需要理解道路语义才能正确地通过道路。从感知的角度来看,理解车道以及它们如何通过合并和交叉路口连接起来仍然是一个挑战。在本节中,我们将概述当前用于道路和车道检测的方法,并向读者提供对传统方法[198]和先进方法[199],[200]的深入调查。
这个问题通常被细分为几个任务,每个任务都解锁了某种程度的自动化。最简单的方法是从自动驾驶车辆本身的角度来确定可驾驶的区域。将道路划分为车道,并确定车辆可以行使的主车道,在一个合理的距离上的主车道估计允许自动驾驶技术,如车道偏离警告,车道保持和自适应巡航控制[198],[201]。更具挑战性的是确定其他车道和它们的方向[202],最后理解复杂的语义,如它们当前和未来的方向,或合并和转弯车道[47]。这些自动驾驶技术在任务、检测距离和可靠性方面都有不同的标准,但全自动驾驶需要对道路结构的完整语义理解,以及在远程[199]上检测多个车道的能力。如图13所示的标注地图对于理解车道语义非常有用。
图13:使用拓扑信息标注三维点云图,通过大量的标注员来构建右侧所示的地图。点云和带注释的地图可以在[197]上找到。
目前的道路理解方法通常首先依赖于外部传感器数据的预处理。当使用相机时,这通常意味着进行图像颜色校正,以规范化照明条件[203]。对于激光雷达,可以使用几种滤波方法来减少数据中的杂波,如地面提取[162]或基于地图的滤波[163]。对于任何感知模式,识别与静态道路场景相冲突的动态对象都是一个重要的预处理步骤。然后,对校正后的数据进行路、车道特征提取。颜色统计和强度信息[204]、梯度信息[205]和其他各种滤波器已被用于检测车道标记。类似的方法也被用于道路估计,其中通常的道路均匀性和边缘的高程间隙允许区域生长方法应用[206]。立体摄像系统[207],以及3D激光雷达[204],已被用来直接确定道路的三维结构。最近,基于机器学习的方法被用来将地图与视觉[200]融合,或者使用完全基于外观的分割[208]。
一旦估计了表面,就会使用模型拟合来建立道路和车道的连续性。通过线[209]和样条线[204]等参数模型进行几何拟合,以及非参数连续模型[210]。假设平行车道的模型已经被使用了[201],最近提出了集成拓扑元素,如车道分裂和合并的模型,如[204]。
时间整合完成了道路和车道的分割流程。在这里,车辆动力学与道路跟踪系统相结合,以实现平滑的结果。动态信息也可以与卡尔曼滤波[201]或粒子滤波[207]一起使用,以获得更平滑的结果。
道路和车道估计是一个研究广泛的领域,许多方法已经成功地集成到车道保持辅助系统中。然而,大多数方法仍然充满了假设和限制,而真正能够处理复杂道路拓扑的通用系统尚未开发出来。通过编码拓扑结构的标准化路线图和新兴的基于机器学习的道路和车道分类方法,驾驶自动化的鲁棒系统正在慢慢形成。
6 评估
一个稳健的自动驾驶系统应该不断评估情况的总体风险水平,并预测周围的人类司机和行人的意图,缺乏急性的评估机制会导致事故。本节讨论三个子类别下的评估:总体风险和不确定性评估、人类驾驶行为评估和驾驶风格识别。
6.1 风险和不确定性评估
总体评估可以概括为量化驾驶现场的不确定性和风险水平,这是一种很有前途的方法,可以提高自动驾驶系统流程[31]的安全性。
在[212]中提出了利用贝叶斯方法来量化和测量深度神经网络的不确定度,设计了一种贝叶斯深度学习体系结构
以上是关于自动驾驶综述:常见的实践和新兴技术的主要内容,如果未能解决你的问题,请参考以下文章