自动驾驶车辆在农业、运输和军事等领域开始成为一种现实,普通消费者在日常生活中使用自动驾驶车的那一天也在迅速来临。自动驾驶车辆根据传感器信息和AI算法来执行必要的操作,它需要收集数据、规划并执行行驶路线。而这些任务,尤其是规划和执行路线需要非传统的编程方法,它依赖AI中的机器学习技术。
自动驾驶车辆仍有许多任务面临巨大的挑战,需要采用尖端的方法来解决。取代人类的认知和运动能力不是一件容易的事情,还需要很多年的努力。AI需要解决各种不同的任务,以便实现可靠和安全的自动驾驶。
本系列包括两篇文章,介绍无人驾驶汽车得以实现的AI应用,展示其挑战与成就,另外还探讨了与传统软件相比AI的本质,并在第二篇文章中进一步讨论了在自动驾驶领域开发、测试和部署AI技术的特定挑战。
1.自动驾驶车辆中的AI分析
自动驾驶车是汽车工业中增长最快的领域,而人工智能则是自动驾驶车中最重要和最复杂的组成部分。图1所示为典型的自动驾驶车构成。
图1: 自动驾驶车(来源:Lentin, 2017)
自动驾驶车辆对传送实时数据的传感器数量,以及对数据进行智能处理的需求可能会非常庞大。而AI被用于现代汽车的中央单元以及多个电子控制单元(ECU)中。
由于AI已在机器人等众多领域中得到应用,它自然成为自动驾驶的首选技术。人工智能和感知技术可以提供更安全、更具确定性的行为,从而带来燃油效率、舒适性和便利性等优势。
开发如自动驾驶车这样复杂的AI系统面临的挑战很多。AI必须与众多传感器交互,并实时使用数据。许多AI算法的计算量都很大,因此很难与内存和速度受限的CPU一起使用。现代车辆是一种实时系统,必须在时域中产生确定性结果,这关系到驾驶车辆的安全性。诸如此类的复杂分布式系统需要大量内部通信,而这些内部通信容易带来延迟,从而干扰AI算法做出决策。另外,汽车中运行的软件还存在功耗问题。越密集的AI算法消耗功率也越多,尤其对只依赖电池充电的电动车而言,这是一个很大的问题。
在自动驾驶车中,AI用于完成多项重要任务。其主要任务之一是路径规划,即车辆的导航系统。AI的另一项重要任务是与传感系统交互,并解释来自传感器的数据。
显然,提供一套完整的解决方案来取代方向盘后面的驾驶员是一项艰巨的任务。因此,制造商们开始将问题划分为更小的部分,并逐个解决,以便通过小幅进步最终实现完全的自动驾驶。一直不乏有初创公司或颠覆性公司试图解决所有的自动驾驶问题,并且立誓要在2020年完全实现自动驾驶车上路。但很明显,现实要复杂得多,AI本质上存在的一些问题带来了很多障碍。
随着AI的发展与完善,我们将越来越接近具有安全且自主行驶的交通工具愿景。在此之前,我们必须经历长时间的开发与测试,而是否采用则取决于消费者的信心以及市场驱动力。尽管比预期费时更长,但一切终会发生。需求与要求就在那里,技术也几近完备。其实际应用可能或快或慢,这取决于法规要求。分阶段实施是可行之道,从比较简单和更具确定性的用例开始,例如先在已知环境中应用。如果自动驾驶车辆仅在拥有少量未知的特定条件下运行,则其算法的压力可以得到充分缓解。
2.车辆中的AI应用
2.1.传感器数据处理
自动驾驶车辆在运行期间,无数传感器为车辆的中央计算机提供数据,包括道路信息、道路上的其他车辆信息,以及如人类能够感知到的那样,能够检测到的任何障碍物信息。有些传感器甚至可以提供比普通人更好的感知能力,但要做到这一点就需要智能算法,用以理解实时生成的数据流。
智能算法的主要任务之一是检测和识别车辆前方和周围的物体。人工神经网络(ANN)是用于该任务的典型算法,也称为深度学习,因为神经网络包含许多层级,而每个层级又包含许多节点。图2中显示了一个深度神经网络,不过实际中的神经网络其节点数和层数可能要多很多。
图2: 深度神经网络示意图(来源:Beachler, 2019)
视频输入分析使用机器学习算法和最可能的神经网络对对象进行分类。由于我们有多个不同类型的传感器,因此为每个传感器配备专用的硬件/软件模块是很有必要的。这种方法允许并行处理数据,因此可以更快做出决策。每个传感器单元可以利用不同的AI算法,然后将其结果传达给其它单元或中央处理计算机。
2.2.路径规划
路径规划对于优化车辆线路并生成更好的交通模式非常重要。它有助于降低延迟并避免道路拥堵。对人工智能算法来说,规划也是一项非常适合它的任务。因为它是一个动态任务,可以将很多因素考虑进去,并在执行路径时解决优化问题。路径规划的定义如下:“路径规划使自动驾驶车辆能够找到从A点到B点之间最安全、最便捷、最经济的路线,它利用以往的驾驶经验帮助AI系统在未来提供更准确的决策。”。
2.3.路径执行
路径规划好之后,车辆就可以通过检测物体、行人、自行车和交通信号灯来了解道路状况,通过导航到达目的地。目标检测算法是AI社区的主要关注点,因为它能够实现仿人类行为。但当道路情况不同或天气条件变化时,挑战就来了。很多测试车辆出事故都是由于模拟环境与现实环境的条件不同,而AI软件若接收到未知数据,可能做出不可预测的反应。
2.4.监测车辆状况
最具前景的维护类型是预测性维护。它的定义如下:“预测性维护利用监测和预测模型来确定机器状况,并预测可能发生的故障以及何时会发生”。它尝试预测未来的问题,而不是现在已经存在的问题。从这方面来讲,预测性维护可以节省大量时间和金钱。有监督学习和无监督学习都可用于预测性维护。其算法能够根据机载和机外数据来做出预测性维护决策。用于该任务的机器学习算法属于分类算法,例如逻辑回归、支持向量机和随机森林算法等。
2.5.保险数据收集
车辆的数据日志可以包含有关驾驶员行为的信息。这些数据可以用来分析交通事故,也可用于处理车险索赔。所有这些都有助于降低保险价格,因为安全性更加确定和有保证。对于全自动驾驶车辆来说,赔偿责任将从乘客(不再是驾驶员)转移到制造商。而对半自动驾驶车辆来说,驾驶员仍可能承担一部分责任。证明这类情况将越来越依赖于车辆AI系统所捕获的智能数据。来自所有传感器的数据会生成巨量的信息,随时保存所有数据可能不切实际,但是保存相关数据快照似乎是获得证据的折中方法,这些证据可用于特定交通事件的事后分析。这个方法类似于黑匣子保存数据的方法,在碰撞事故发生后可以根据这些数据进行分析。