自动驾驶之路的“能”与“不能”-阿里云开发者社区

开发者社区> 开发与运维> 正文

自动驾驶之路的“能”与“不能”

简介: 车在给人们生活带来便利的同时,也导致了交通拥堵、环境污染、交通事故等诸多问题。交通事故不仅带来巨大的经济损失,对生命健康的危害更加严重。实现安全、智能化的自动驾驶技术成为了人们的愿望。阿里巴巴布局自动驾驶技术已经两年时间,本次分享将详细介绍阿里巴巴对理解自动驾驶技术的理解,包括其原理、技术大图、以及

演讲嘉宾简介

阿里巴巴达摩院研究院、阿里自动驾驶实验室负责人——王刚

一、自动驾驶原理和技术大图

任何一项技术领域可以从两方面评价:技术难度和技术挑战、市场规模和社会影响。若某一技术的技术难度和挑战很高,但是市场规模和社会影响很小,那么不值得进行投入。如果市场规模和社会影响大,但是技术难度和挑战比较小,则无法充分发挥技术人员的能力。
而自动驾驶是市场规模和社会影响非常大,并且技术难度与挑战很高的领域。从市场规模和社会影响角度而言,全球每天花在驾驶上的时间总计达数亿小时,如果节约驾驶时间投入到其他工作,将会获得更高的经济效益。就技术难度而言,汽车驾驶行业本已是民用行业中较为复杂的领域,实现驾驶自动化、智能化的难度可想而知。

1.相关概念介绍

如下图所示,智能驾驶、自动驾驶到无人驾驶是技术层层递进、范围层层缩小的关系。
无人驾驶:汽车在无驾驶员介入的情况下,能在限定环境乃至全部环境下完成全部驾驶任务。
自动驾驶:指汽车至少在某些或者全部具有关键安全件的控制功能方面(如转向、油门、制动),无需驾驶员直接操作即可自动完成。包括无人驾驶以及辅助驾驶。
智能驾驶:包括自动驾驶以及其他辅助驾驶技术,例如语音预警提醒、人机智能交互等,能够在某一环节辅助甚至替代驾驶员,优化驾车体验。
image.png
自动驾驶分级标准:下图所示为SAE(国际汽车工程学会)J3016文件提出的五级自动驾驶分级方案,是当前被自动驾驶领域与国际社会普遍认可采用的标准。
image.png
该标准分为五级。L 1、L2称为辅助驾驶,其汽车驾驶的主体及负责方是驾驶员,自动驾驶系统辅助承担部分驾驶任务。L 1在适用的实际范围内,自动驾驶系统可持续执行横向(如方向盘)或纵向(如油门、刹车)的车辆运动控制的某一子任务(不可同时执行)。L 2中自动驾驶系统可同时执行横向或纵向的车辆运动控制任务。L 3到L 5 自动驾驶系统可执行全部动态驾驶任务,车辆驾驶的主体及责任方为自动驾驶系统。L 3中驾驶员在有需要时作为备用参与驾驶任务。到L 5,自动驾驶系统承担所有驾驶任务,驾驶员无需参与驾驶。
以上分级场景中L 3仍有待商榷,是否存在解放双眼却需要驾驶员随时准备参与驾驶任务的场景。就用户角度而言,L 3场景能否做到用户友好。例如当用户在L 3级别场景下在车内玩手机,而系统突发事件要求用户在10秒内接手驾驶操作。就技术角度而言,交通环境中时间即是生命,即使在很短时间内也存在事故发生的可能性。要求系统在10秒或更短时间内做出判断与反应,或许已经超出L 3级别的技术能力。
以上自动驾驶分级标准可以从另一个角度进行理解,如下图所示。L 1、L 2 解放驾驶员双手双脚,无需操作方向盘、油门等,只需要监视驾驶场景。L 3解放驾驶员双眼,但是要在特殊需要时响应系统需求。在L 4、L 5,驾驶员完全无需参与驾驶。
image.png

2.企业发展路线不同

根据不同企业的商业模式与其技术优势的不同,不同企业发展自动驾驶技术的定位等级不同,采用的整体技术发展路线也不同。
目前以特斯拉为代表的车企多采用渐进发展路线,利用L 1、L 2自动驾驶技术辅助驾驶员优化驾驶体验。以Google等为代表的互联网或高科技企业更多面向L 4、5方向进行自动驾驶技术的研发工作。
对于互联网等科技企业而言,辅助驾驶技术对算法要求较低,更多以硬件为主,创造的价值不高。因此互联网企业研究L 4 自动驾驶技术,尅占据更多创新技术优势。车企注重硬件基础,从L 1、L 2逐渐起步,逐步提高自动驾驶能力等级,更符合企业发展需求。
另外,不同企业在传感器方案技术路线、决策算法技术路线等的不同选择,即为细分领域技术未定型而导致的分歧,同样基于整体发展策略的大背景。目前发展无人驾驶技术还存在很多挑战。
image.png

3.自动驾驶技术原理以及技术大图

不同级别自动驾驶技术的框架是相似的,因其对精度要求、功能覆盖度要求的不同而发展出不同功能。其技术框架核心分为环境感知、决策规划、控制执行三部分,与人类驾驶过程类似。
环境感知:人类驾驶员通过耳朵和眼睛观测环境、了解自己与周围环境中交通参与者的位置与状态。自动驾驶技术的环境感知技术通过感知算法与传感器得到相似信息,包括定位与感知环境。
决策规划:得到环境信息后,通过决策算法和计算平台规划驾驶路径等信息,同时保障安全性。
控制执行:通过控制算法与线控系统控制车辆按照规划的路径执行行驶操作。
image.png
如上图所示,上述三部分核心技术涉及到诸多模块。
算法:包括控制算法、定位算法、感知算法与决策算法。就其成熟度而言,控制算法基本可以满足技术要求。就阿里巴巴当前实践而言,定位算法在多数情况下能够满足精度要求。期待感知算法做到精确识别周围环境中物体的类别、位置、运动速度、方向等,目前还存在噪声影响等问题。决策算法需要处理噪声等问题,并且高效地规划出可执行路径。感知算法与决策算法模块作为自动驾驶技术的瓶颈,还有待优化。
传感器:可以根据不同方案、层级选择不同的传感器方案。例如L 2技术更多使用摄像头与毫米波雷达,L 4技术需要使用激光雷达。激光雷达传感器还存在许多问题,例如稳定性方面的问题。目前主要使用机械的激光雷达,虽然固态激光雷达进展快速,但是实践证明固态激光雷达还不能满足自动驾驶技术的稳定性要求。
计算平台:既需要能力强,又要求低功耗。由于上层算法还未定义好,难以针对性制作或优化出适合算法的芯片。
测试手段:包括真实道路测试、仿真回归测试。仿真回归测试是自动驾驶领域的热门问题,关于如何模拟驾驶环境及驾驶员的真实行为等方面,存在许多技术问题有待突破。

二、自动驾驶的能与不能

如下图所示,概括了当前自动驾驶技术的发展程度。

1.L 1、L 2

辅助驾驶系统已经落地产品化、规模化,例如特斯拉。未来几年辅助驾驶系统将会安装到越来越多的车辆上。
L 3存在一定争议,暂时不做讨论。

2.L 4

将自动驾驶技术L 4根据功能场景分为两类。
中高速公开道路L 4:例如共享出租车、高速路上自动驾驶物流车。就算法角度而言,根据Waymo最新接管数据,自动驾驶车辆每行驶1.3W英里需要人类驾驶员接管一次,该数字约每两年可以翻一倍。而人类驾驶员每行驶约5W英里需要接管一次。自动驾驶车辆单单从MPI角度达到人类司机的标准,还需要4年左右。另外,即使MPI达到标准,还需要考虑自动驾驶的驾驶行为、用户友好体验能否达到标准等标准。
硬件发展也需要一定时间。例如计算平台需要等到算法形成一定标准后才能进行针对性优化。
另外较为重要的一点是法律法规是否允许自动驾驶车辆上路。法律不容冒险,需要在技术成熟、能够通过一定规模验证的基础上才能突破。
综上几点,中高速公开道路L 4 技术还需要较长时间才能突破。其产品化、规模化任重而道远。
低速末端L 4:包括园区、社区、校园等场景下的自动驾驶实现。此类场景下车辆低速行驶就能满足需求,突发危险时也可以及时停车。因此对算法精度的要求可以有数量级的降低。由于其算法并不复杂,硬件方面或许并不需要定制芯片,可以基于现有嵌入式计算平台进行开发与优化。同时由于其安全风险低,较容易得到法律法规支持。因此低速末端L 4有望在近期取得突破。
image.png

三、阿里巴巴自动驾驶的进展与思考

1. 阿里巴巴自动驾驶的使命

载物无人驾驶:在载人无人驾驶与载物无人驾驶中,阿里巴巴自动驾驶定位为载物无人驾驶。赋能智慧物流,让物流更便捷高效。
业务角度:阿里巴巴需要选择与经济体业务相关联的企业平台,例如天猫、淘宝、饿了么、盒马、菜鸟等,每天产生1亿+包裹或外卖订单,对人力要求非常高。自动驾驶可以极大程度承担物流任务。
技术角度:载物无人驾驶比载人无人驾驶技术实现容易得多。首先,载物无人驾驶无需考虑舒适性等用户体验问题。第二,载物无人驾驶减少伦理道德问题,无需在发生事故时考虑应该优先保护车内用户还是车外人类的安全。
因此阿里巴巴定位为载物无人驾驶,既契合物流与伦理需求,技术实现也更为可行。

2. 末端无人物流:

由于算法、硬件、法律法规等方面的问题更容易突破,希望更够更快实现商业落地。当前末端无人物流“菜鸟物流车”已经部署在多所高校实现常态化运营,实现末端配送,给用户带来了较大的便利。希望该产品能够部署普及到更多高校、社区。相信末端无人物流将会为市场带来巨大变化。
公开道路城配:探索性技术研发阶段。

3. 技术布局

算法:包括控制算法、定位算法、感知算法与决策算法。上文已有描述。
硬件:阿里巴巴在传感器与计算平台两方面同步进行工作。传感器方面有待进行定制化优化。即使是相对比较成熟的传感器:摄像头,有时也不能满足需求,例如目前夜间行驶环境图像不达标。计算平台方面,要实现无人驾驶系统的量产与落地,计算平台必须是嵌入式系统,才能保证低功耗和高稳定性。嵌入式系统的发展需要软硬件同步进行优化加速,因此利用嵌入式系统及算法实现L4级别自动驾驶技术并不简单,希望今年可以做到突破。
数据和基础设施:在仿真系统、高精地图等方面进行同步优化。
image.png

4.算法探索

如果算法部分的问题不能解决,后续进行计算平台等工作都比较困难。AI算法在过去十年中取得了巨大进展,但是自动驾驶算法仍存在许多问题难以处理。
场景多样性、复杂性:自动驾驶算法需要处理交通场景,规划最优行驶路径。然而实际交通场景复杂多样,对自动驾驶算法提出了一大挑战。
例如比较简单的单一场景:其他车辆对自动驾驶车辆进行超车时的追尾风险评估。该场景看似简单,但是由于车辆车型、速度、形式轨迹不同,导致超车行为有完全不同的行为表现。如果想要使用一套算法处理好该场景下的不同行为,挑战难度非常大。
处理多样化场景 - No Free Lunch理论:处理多样化场景可以从两个角度入手。第一,研发超级优秀的 算法解决问题,但实际困难巨大,难以完成。第二,降低问题难度,用工程化思维解决问题。
如下图所示,横轴表示不同问题,纵轴表示算法解决问题效果。No Free Lunch理论简单理解是指难以使用一个通用算法解决不同问题。因此,需要针对不同场景下的问题开发针对性算法,并对其进行相应优化,从而最优化解决问题。
image.png
同样地,自动驾驶场景复杂多样,使用一种通用算法处理好所有场景挑战难度非常大。因此需要将多样的场景细化分类为多种子场景,针对每个子场景开发相应算法。通过该思路可以最大程度降低问题的难度,使其更易解决。
场景分类无统一标准:据上述,解决算法困难,场景分类是第一步,然而目前还无统一标准。自动驾驶场景难以建立统一分类标准,如下图所示,业界已有一些分类标准,但是并不能满足阿里巴巴的要求。
根据行驶环境分类过于粗粒度,每一个子场景仍然非常复杂,算法开发无从入手。根据场景要素分类则更偏向于针对测试进行的分类,并非针对算法研发角度进行的分类,存在冗余,部分子场景难以针对性开发解决算法。
image.png
阿里巴巴自动驾驶场景库:基于以上问题,阿里巴巴提出了自动驾驶场景库。如下图所示,阿里巴巴自动驾驶场景库有以下特点。
高度精细化,例如上文提到的超车场景在场景库中分为了20+类。如下图右侧所示案例,一辆车由于发现路障紧急超车到右侧车道,自动驾驶车辆紧急减速避让。如果没有进行场景分类,那么只能依赖于算法快速识别与反应做出判断,对算法挑战非常大,很多时候可能会反应失败导致需要人类驾驶员接管车辆驾驶。在场景分类后,可以预先判断左侧车辆在该场景下有超车的可能,提前刹车,避免需要人类驾驶员接管车辆的事件发生。此例也说明了场景分类对自动驾驶算法产生了正向影响。
动态场景交互是自动驾驶技术中最为困难的一部分。目前业界通用场景库多依赖专家知识通过人工设计分类标准,以静态场景为主(例如道路类型、车型、天气)。人工设计场景分类标准更多地停留在语义层面,难以深刻理解自动驾驶场景中的动态行为。阿里巴巴通过对大量路测数据进行分析、聚类,获取具有挑战性的场景数据。以数据驱动的方法进行场景分类,形成了以动态行为为主的自动驾驶场景库。
image.png

5.AutoDrive平台 – 高效处理精细化场景

建好场景库后,需要对每个场景开发针对性算法。假设有1K个子场景,在极端情况下,需要针对性开发1K个算法,算法工程师需求很大。目前的通用开发模式是人工+智能。例如开发决策算法,需要极大程度依赖于算法工程师的知识经验,设计相应超参数、网络结构、规则等,效率非常低。
人工智能的发展是逐步用计算方式替代人工设计的过程。例如在深度学习出现之前,是由人工设计特征(例如表达图像形状的特征),该方式效率低下。因此利用深度学习,通过自动化学习、计算提取特征代替人工设计特征。而在自动驾驶领域,计算方式替代人工设计的应用并不广泛。例如在决策规划方面,人工设计比重依然很大。一方面导致人工需求量大、开发效率低,另一方面人工设计无法达到最优设计。
考虑以上因素,阿里巴巴开发了AutoDrive平台。该平台利用计算换智能,替代人工,从而提升算法设计的效率及质量。希望通过学习、搜索的方式自动化完成多数工作(例如设计超参数、网络结构、决策规则等)。目前AutoDrive平台已经取得一定进展,针对自动驾驶链路中的每个模块都可以进行自动化学习。
image.png
视觉应用案例 – NAS for 2D识别与检测:利用AutoDrive平台针对感知算法进行自动化学习。由下图结构对比可见,人工设计反而使系统结构更加复杂。人难以理解高维空间发生的事件,因此会堆砌许多业界使用的结构,通过结构深度的增加换取计算精度的提高。因此,人工设计结构中不可避免地存在很多冗余。而AutoDrive平台可以搜索到如下图右侧所示的简单结构,该精简结构就能够达到甚至超越人工设计的复杂结构的精度。
此类精简结构在自动驾驶领域十分重要。自动驾驶计算平台必须是嵌入式系统,要求低功耗。通过AutoDrive平台自动化学习、搜索的方法能够大幅度降低计算复杂度,从而降低计算平台资源消耗,使计算平台更易于设计。
image.png
效果:如下图所示,除上述感知案例,AutoDrive平台精细化场景库也应用到了决策规划、定位等多个算法模块中以期实现自动化设计。
例如路口防碰撞策略,应用AutoDrive平台对其参数进行自动化学习与优化后,相比人工设计规则和参数的效果提升16.5%。
为使自动驾驶问题变得更加简单,对其进行场景分类。将Cut-in场景分为25类进行针对性解决后,相比于使用一套通用算法解决困难效果显著提升18.7%。同时说明了精细化场景库的优势。
image.png
AutoDrive背后的自动驾驶云平台:AutoDrive未在自动驾驶领域广泛应用,因为其对背后的工程平台要求很高。就相似平台AutoML而言,AutoDrive与AutoML平台仍然存在很大不同。AutoML主要处理二维(例如图像、文字)信息或数据,因此其数据输入输出相对简单,并且只需要验证其分类结果是否正确。而AutoDrive需要处理复杂的、多模态的、时序的自动驾驶信号(例如视频),并且就此类信号模拟最终产出结果。例如验证决策规划,需要仿真模拟某一参数改变后的车辆行驶轨迹。因此AutoDrive不仅难度更高,也增加了工程困难。
因此在AutoDrive背后需要依靠包括仿真、数据标注、数据管理、模型训练、计算资源、计算平台等的大规模工程系统,才能支撑AutoDrive的发展。
image.png

6.基于“No Free Lunch”理论的自动驾驶算法研发的化学反应

阿里巴巴针对自动驾驶技术的算法瓶颈问题,提出结合以下3个方法,大幅度推进算法研发的进度。
场景精细化:分解复杂场景问题,简单化解决。
算法针对性:对分类后子场景进行针对性算法开发、针对性优化,从而提升每个场景的成功率。
云平台高效化:提出AutoDrive平台,通过计算换智能减少人工设计、人工参与,减少对自动驾驶领域专家知识的依赖,从而提升研发效率与质量。

四、总结与展望

1.以AutoDrive为代表的自动化学习平台将会在自动驾驶研发中发挥越来越重要的作用。
2.随着算法的优化提升,软硬件协同设计将会越来越受重视。
3.就落地角度,除了L2辅助驾驶会继续普及,低速非公开道路无人车有望在近期逐步实现产品化、规模化。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章