新闻中心
自动驾驶技术

自动驾驶汽车,是无人地面载具(Unmanned ground vehicle)的一种,具有传统汽车的运输能力。作为自动化载具,自动驾驶汽车不需要人为操作即能感测其环境及导航。完全的自动驾驶汽车仍未全面商用化,大多数均为原型机及展示系统,部分可靠技术才下放至量产车型,但有关于自驾车逐渐成为现实,已经引起了很多有关于道德的讨论。

自动驾驶汽车能以雷达、光学雷达、GPS 及计算机视觉(computer vision)等技术感测其环境。先进的控制系统能将感测资料转换成适当的导航道路,以及障碍与相关标志。根据定义,自动驾驶汽车能透过感测输入的资料,更新其地图资讯,让交通工具可以持续追踪其位置,即使条件改变,或汽车驶进了未知的环境内。

在美国,美国国家公路交通安全管理局(NHTSA)已提出正式的自动驾驶五等级分类系统(2016年版本):

  • 等级0:即无自动。驾驶随时掌握著车辆的所有机械、物理功能,仅配备警报装置等无关主动驾驶的功能也算在内。
  • 等级1:驾驶人操作车辆,但个别的装置有时能发挥作用,如电子稳定程式(ESP)或防锁死刹车系统(ABS)可以帮助行车安全。
  • 等级2:驾驶人主要控制车辆,但系统阶调地自动化,使之明显减轻操作负担,例如主动式巡航定速(ACC)结合自动跟车和车道偏离警示,而自动紧急煞停系统(AEB)透过盲点侦测和汽车防撞系统的部分技术结合。
  • 等级3:驾驶人需随时准备控制车辆,自动驾驶辅助控制期间,如在跟车时虽然可以暂时免于操作,但当汽车侦测到需要驾驶人的情形时,会立即回归让驾驶人接管其后续控制,驾驶必须接手因应系统无力处理的状况。
  • 等级4:驾驶人可在条件允许下让车辆完整自驾,启动自动驾驶后,一般不必介入控制,此车可以按照设定之道路通则(如高速公路中,平顺的车流与标准化的路标、明显的提示线),自己执行包含转弯、换车道与加速等工作,除了严苛气候或道路模糊不清、意外,或是自动驾驶的路段已经结束等等,系统并提供驾驶人“足够宽裕之转换时间”,驾驶应监看车辆运作,但可包括有旁观下的无人停车功能。(有方向盘自动车)
  • 等级5:驾驶人不必在车内,任何时刻都不会控制到车辆。此类车辆能自行启动驾驶装置,全程也不须开在设计好的路况,就可以执行所有与安全有关之重要功能,包括没有人在车上时的情形,完全不需受驾驶意志所控,可以自行决策。(无需方向盘自动车)

这是根据国际自动机工程师学会(SAE International)依据这五个不同程度(从驾驶辅助至完全自动化系统)发布另一种分类系统而编修而成,设计理念是‘谁在做,做什么’的分类法。

[描述来源: 维基百科 ]
 

自动驾驶系统通常有一个非常经典的、模块化的流水线。

首先是感知模块(perception stack),感知模块将地图、三维传感器、二维传感器中的信息给到「世界模型」(world model),世界模型将上述信息,汇总在一张地图中,理解每一个时刻不同的物体相对于路面、道线等的位置,预测下一刻的可选路径都有哪些。随后是一个规划模块(planning model),进行决策。决策的内容也是分层级的。粗粒度的决策需要决定如何从 A 点到 B 点,完成的是类似 GPS 的工作。除此之外还有诸多细粒度的决策工作,例如决定走哪一条车道,是否要暂时占用对向车道完成超车,车速应该设定为多少等。最后是控制模块(control module),控制模块操纵所有的控制器,有高层的控制器,比如电子稳定系统 ESP,也有最基层的控制器,比如控制每一个轮子进行加速和刹车的控制器。

目前正在发展的计算机视觉技术对自动驾驶系统的发展非常关键。想要让一个自动驾驶系统作出正确的决策,主要涉及到以下计算机视觉任务:

首先是车辆定位:衡量车辆的运动并在地图中进行定位。完成这部分工作的是视觉测距(visual odometry)系统和定位(localization)系统。二者的区别是,视觉测距估计的是车辆相对于前一时间步进行的相对运动,而定位是对车辆在地图中的运动进行全局的估计。定位是可以精确到厘米级的,车辆相对于一些地图中固定的物体(例如电线杆)的距离已经是已知的,基于这些信息,车辆已经可以进行相当不错的路径规划了。

然后是三维视觉重建,重建范围通常在 50-80 米,具体需求视行驶速度而定。大部分 STOA 自动驾驶系统会使用激光雷达(LiDAR)进行三维重建。不过也有少部分团队试图直接从图像中恢复三维信息。由于图像中的数据相比之下更为嘈杂,因此完全基于图像的重建是一项更具有挑战性的工作。

除了重建之外,你也需要对车辆正前方正在发生的事有充分的理解。因此,你需要进行物体检测,也需要在理解物体是什么的基础上对其进行进一步的分类,而检测和分类会帮助预测其未来轨迹。进行检测和分类的方式是多样的,你可以给每一个物体画一个边界框(bounding box):这是最常见的方式,但是自动驾驶需要在三维的物理世界中进行运动规划,所以你至少要需要一个三维的边界框。

更精确的是实例分割(instance segmentation)和语义分割(semantic segmentation)。当物体是形状为凹或者是隧道之类需要穿行的物体时,边界框显然是不够的。实例分割将图像里属于一些特定目标类别的每个实例的所有像素分为一类。实例分割通常在二维图像上进行,但也有三维版本,三维实例分割基本等同于物体重建。而语义分割为图像里每一个像素分配一个语义标签,同一类别的不同实例不做区分。除此之外,全景分割(panoptic segmentation)基本上可以视作实例分割和语义分割的结合。全景分割对那些没有实例只有整体的类别也进行区分,例如天空和植被。天空无法用一个边界框框柱,而植被需要在平时避开,但系统也需要知道在紧急情况下汽车冲上草坪并无大碍(相比之下撞上树或者行人就有很大问题了)。因此语义信息是必要的。

接下来是运动估计。根据之前的一帧或数帧,预估视野里的每一个点,或者说每一个物体,在下一帧的位置。一些物体,例如车辆,它们的移动是比较容易预判的,因此运动模型可以进行准确率较高的预测。而另外一些物体,例如行人,会非常突然地变更其运动轨迹,导致运动模型的建立更为艰难。即便如此,较短时间区间(2-3 秒)的动作预测,在动态物体较多的拥挤场景下的决策过程中也仍然扮演着至关重要的角色。

上述任务都是各自独立的,但是实际上,收集上述信息的系统并不是各自独立运转的。因此情境推理(contextual reasoning)也有助于给出更准确的预测。例如一群行人通常会同时等红灯、同时过马路,一辆车试图并线时另一辆车会刹车让路,以这些外部信息、先验知识做约束,理解复杂场景会变得更为容易。

最后,一个还没有引起较多重视的领域是不确定性推理(reasoning under uncertainty)。人类感官或者车辆传感器拿到的数据中必然包含着不确定性,因此,如何准确地评估不确定性,并兼顾「最小化风险」和「完成任务」,是一个重要的话题。理想情况下,所有上述检测、分割、重建、定位任务都应该在不确定性约束下进行,系统在行进之前应该知道它可能犯哪些错误。

[描述来源:CVPR PAMI青年研究员奖得主Andreas Geiger:自动驾驶中的计算机视觉|机器之心]

发展分析

瓶颈

目前还没有完全不需要人类监督的自动系统可用,并且随着一些与自动驾驶系统有关的事故的发生,公众对自动驾驶系统的信任、相关法律法规的完善也是需要注意的问题。

未来发展方向

自动驾驶的发展将是一个长期的过程,更先进、更成熟的系统,以及配套设施的建设,消费者市场的准备和法律法规的建立等都是需要发展的方向。

Contributor: Yuanyuan Li
来源:机器之心(侵联删!)