【深度】最新万字综述自动驾驶,深度解构核心技术!

注:决策智能与机器学习,深耕AI脱水干货

作者 | 于凡

来源 | 知乎专栏-无人驾驶

编辑 |  九三山人

编者按:本文主要讨论ADS(Autonomous Driving System)的主要问题以及相关技术层面的综述,包括以下几个方面,当前挑战,系统架构,新兴方法,核心功能(定位,建图,感知,规划,人机交互)等。文章最后介绍了相关可供测试开发的开源框架及仿真器。本文主要翻译自[A Survey of Autonomous Driving: Common Practices and Emerging Technologies],结合作者的理解做了一些精简和删改,希望能对大家有一些帮助,这篇文章很新很全,有时间的朋友建议一读。

提示:本文为深度长文,约1.8万字,建议收藏/浮窗后阅读。

目录

引言

主要介绍了一些背景,提到了两个著名的自动驾驶研究项目

  1. Eureka Project PROMETHEUS[^1]:1987-1995年间在欧洲开展,是最早的主要自动化驾驶研究之一,戴姆勒-奔驰公司的VITA II也基于此而来。

  2. DARPA Grand Challenge[^2]:美国国防部主办的业内最负盛名的挑战赛,许多经典的文章都来自于这里。

在传统的自动驾驶方案系统架构中,一般将任务划分为多个模块,并在各个模块上使用一系列传感器和算法。但是随着深度学习[^3]的发展,逐渐出现了一些端到端的系统。ADS高级系统架构分类如下,主要是按连通性和算法实现逻辑划分,具体介绍在后面

前景与挑战

前景就不提了,自动驾驶不缺故事。按照美国汽车工程师学会(SAE)的定义,汽车的自动化水平如下

  1. L0:无自动化

  2. L1:原始驾驶员辅助系统(Primitive driver assistance systems),包括自适应巡航控制、防抱死制动等

  3. L2:部分自动化,先进的辅助系统(Advanced assistance systems),例如紧急制动或避免碰撞

  4. L3:有条件的全自动化(Conditional automation),在正常操作期间,驾驶员可以专注于除驾驶以外的其他任务,但是紧急情况下必须能快速响应并接管车辆

  5. L4:在天气条件许可,基础设施(信号地图等)完善的情况下,完全不需要驾驶员。

  6. L5:无论在任何场景下,都不需要驾驶员

目前尚无完全实现L4级别及以上的自动驾驶车辆。

系统构成和框架

系统框架

像引言中显示的那样,一般从系统框架上可以分为单车辆系统(Ego-only systems)和互联车辆系统(Connected multi-agent systems);从算法实现上,可以分为两大类,一类是通过将各个部分模块化来实现,另一类是直接通过端到端的实现。

  • 单车辆系统,顾名思义就是始终在一辆车自身执行所有必要的自动驾驶操作,而互联车辆系统可能需要依赖于其他车辆和一些基础设施来完成一些操作,比如现在比较火热的车辆网,V2X等。就目前来说,当然还是单车辆系统更为常见。

  • 模块化系统(Modular systems),指将传感器输入到执行器输出的中间过程分别构造成一个个独立的模块,比如定位、建图、感知、评估、规划与决策、车辆控制、预测、人机交互等。模块化的基本逻辑就是分而治之,把一个复杂的任务分成若干个较为简单的子任务。除此之外,模块化还有一些隐藏的优势,比如说对一些约束(如紧急制动,超速等),多模块意味着可以从不同角度施加约束,可以保证在其中部分传感器出现偏差的时候仍能提供较为可靠的输出。反过来说,多模块也意外着出错的概率大大增加,某个模块的错误可能会沿着进程传播扩散,如前段时间的特斯拉事故,感知模块误将白色拖车分类为天空,即使后续模块完全正确执行,错误也无法避免。

  • 端到端系统(End-to-end systems),指的是直接从感知输入产生输出,常见的端到端系统有三种主要方法:直接监督的深度学习( Direct supervised deep learning)[^5]、神经进化(Neuroevolution)[^6]和深度强化学习(Deep reinforcement learning)[^7]。一般端到端系统的流程图如下图所示

最早的端到端系统可以追溯到ALVINN[^5],他训练了一个三层全连接的网络来输出车辆的前进方向。文[^74]提出了一种输入图像输出转向的深度卷积神经网络。[^75]提出了一种时空网络结构,即FCN-LSTM,可以预测车辆的运动。[^4]介绍了另一种卷积模型DeepDriving,可以从输入图像中学习一组离散的感知指标。实际上这种方法并不是严格端到端的,因为如何从一系列感知指标中得到正确的驾驶动作还需要另外的模块。

上述的方法都是有监督的训练,也就是说需要一个专家的行为序列。那么就引入了另一个问题,自动驾驶系统是否应该像人一样开车?基于上面那个问题,出现了一种新的深度强化学习模型Deep Q Networks(DQN),将强化学习与深度学习相结合。强化学习的目标是选择一组能最大化奖励的行动,深度卷积神经网络在这里的作用是用来逼近最优奖励函数。简单来说,基于DQN的系统不再是去模仿专家的行为,而是去学习一种“最佳”的驾驶方式[^7] 最后一种神经进化是指利用进化算法来训练人工神经网络,但就实际而言,经进化的端到端驾驶不像DQN和直接监督学习那样受欢迎。神经网络的出发点是去除了反向传播,从逻辑上来说,更接近生物的神经网络。在[63]中,作者使用驾驶模拟器对RNN进行神经进化训练。

上述三种端到端自动驾驶的方法相比,直接监督学习的方法可以利用标记数据离线训练,而DQN和神经进化都需要在线交互。从理论上讲,端到端自动驾驶是可行的,但是还没有在真实的城市场景中实现(demo不算),最大的缺点是缺乏可解释性和硬编码安全措施(Hard coded safety measures)。- 互联系统(Connected systems):有一些研究人员认为,靠在单车辆系统上叠传感器是局限的,自动驾驶的未来应该是侧重在多车辆之间的信息共享。随着车辆自组织网络(VANETs)的使用,无论是行人信息,传感器信息,亦或者是交通信号等,利用V2X(Vehicle to everything),车辆可以轻松访问其他车辆的数据,来消除单车的感知范围,盲点,算力的限制。车辆自组织网络可以通过两种不同的方式实现:传统的基于IP的网络和以信息为中心的网络( Information-Centric networking,ICN)[^8]。由于车辆的高度流动性和在道路网络上的分散性,因此传统的基于IP主机的网络协议不是很适用,事实上,信息源的身份有时候不是那么重要的一件事,ICN显然是更合理的方式。在这种情况下,车辆将查询信息汇聚到某个区域而不是某个地址,同时,它们开源接收来自任何发送方的响应。

上面我们提到可以利用车辆间的共享信息来完成一些驾驶任务,但是这里还有一个待解决的问题。想象一下一个城市有几十万辆车,每辆车可能有若干个摄像头,雷达,各种各样的传感器,每时每刻产生的数据量是十分庞大的,更关键的是,大多数情况下,这些数据是雷同的,即使不考虑传输和计算的负担,对算力来说也是极大的浪费。为了减少待处理的数据规模,[^9]引入了一个符号学框架,该框架集成了不同的信息源,并将原始传感器数据转换为有意义的描述。除此之外,车辆云计算(Vehicular Cloud Computing,VCC)[^10]与传统的云计算不同,它将传感器信息保存在车辆上,只有当本地其他车辆查询时才会被共享,节省了将恒定的传感器数据流上载/下载到web的成本。

传感器和硬件

为了保证系统的鲁棒性和可靠性,大多数任务都需要较高的传感器冗余度,因此ADS一般都采用多种车载传感器。硬件模块大致可以分为五类,外部感知传感器(Exteroceptive sensors),监测车辆自身状态的本体感知传感器(Proprioceptive sensors),通信单元,执行器和计算单元。常见的外部传感器比较如下表

- 单目相机(Monocular Cameras):最常见最廉价的传感器之一,除此之外,二维的计算机视觉算是一个比较成熟的研究领域,虽然理论上无法获得深度,但是现在也有一些基于单目深度的结果,缺点主要还是在精度和容易受环境因素影响上。

现在还有一些针对特殊场景而开发的相机,如全景相机(Omnidirection Camera),闪光相机(Flash Camera),热敏相机(Thermal Cameras),事件相机(Event Camera)[^11]等。所谓的全景相机就是理论上拥有360度视角的相机,事实上,这一类相机的难点并不在捕捉图像而是在图像拼接上,因为球面图像是高度失真的,所以校准的难度很大。而事件相机是一种比较新颖的概念,传统相机是按时间采用,而事件相机是事件触发型,它对场景中移动造成的变换比较敏感,因此可以用在检测动态目标上。事件相机的简单示例如下图所示

- 雷达(Radar)和激光雷达(Lidar):一般来说,现在都是采用多传感器的形式,用雷达或者激光雷达来弥补相机(包括深度相机)在深度信息上的缺陷。激光雷达和雷达的工作原理其实差不多,只不过激光雷达发射的是红外线而不是无线电波,在200米以内的精度是很高的,但是相对雷达来说,更容易受到天气的影响。

雷达的精度虽然不如激光雷达高,但是由于测距长,成本低,对天气鲁棒性强,目前已经广泛应用于辅助驾驶(ADAS)中,比如接近警告和自适应巡航。(原文中没有提到这两种雷达的干扰问题,实际上金属对电磁波的干扰,生物对红外的干扰,相同频段的(激光)雷达互相干扰是十分关键的问题)。- 本体传感器:一般指车辆自身携带的传感器,如里程计,IMU,转速计等。一些研究机构及公司的整车配置如下表所示:

定位与建图

定位指的是在环境中找到相对于参考系的位置,对于任何移动机器人来说这个任务都是最基本的。下文会详细接到三种最常见的方法:GPS-IMU融合,SLAM,基于先验地图定位。几种定位方法的比较如下表所示

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值