目前为止,研究者尚未对无人驾驶“智能”的定义达成共识。在业界不断向政府呼吁放开自动驾驶车辆上路许可的同时,恐怕我们需要首先回答一个问题:我们的车辆足够“智能”了吗?事实证明,缺乏充分测试就仓促推出的车辆,往往会带来严重乃至致命的后果。2013年10月24日,美国俄克拉荷马州法庭判定,丰田公司由于软件设计的缺陷,导致部分Camry车辆在行驶过程中出现错误加速直至翻覆的严重事故。计算机专家证实,这些丰田Camry车辆的软件未进行彻底测试便投入市场,最终导致了悲剧的发生。而最近发生的TeslaModelS车辆误将白色重型卡车认作云朵,导致驾驶员死亡,再次说明当前的无人驾驶技术尚有待进一步的测试和完善。有鉴于此,业界和大众对于无人驾驶智能水平的测试提出了迫切的要求。
回顾历史不难发现,人工智能的定义和测试往往是相辅相成,一体两面的。
1950年,图灵在《Mind》杂志上发表了一篇文章《计算机器与智能(ComputingMachinery and Intelligence)》。文章开篇便提出了一个问题“机器能思考吗?(CanMachinesThink?)”,针对这一设想,图灵提出了一个模仿游戏(ImitationGame)以验证“机器”是否能够“思考”,进而提出了经典的图灵测试(TuringTest)。正因如此,图灵测试成为了测定机器智能的工具,图灵也因此被称作“人工智能之父”。
作为一个具体的人工智能造物,无人驾驶车辆也是通过测试的方法来定义的。实际上,Dr.Little在1997年提出Intelligent Vehicle Initiative 这一概念时就指出,能够完成避撞、停车等多项具体任务的汽车即可被视为智能汽车。不难看出,这一“定义”本身就是通过“测试”实现的。
早在几年前,美国高速公路安全管理局(NHTSA)与美国汽车工程师学会(SAE)等机构便相继公布了无人驾驶的自主能力等级分级。以SAE分级为例,前三级以人为主:0 级为完全手动驾驶,1 级是软件辅助人员驾驶,2 级为局部模块自动化;后三级便是以“车”为主了,3 级可以在某些环境下达到自动驾驶,4 级的时候车辆能做到基本在自主驾驶,最后,5 级是完全自主驾驶,也是最令人憧憬的完全无人化运行。一般情况下,前三级(0-2)是驾驶员在观测、感知、判断驾驶环境,后三级(3-5)就是自主驾驶系统在做这部分工作了。
然而,上述定义依然较为抽象和模糊。无人驾驶测试的新问题变成了“如何能保证一辆无人驾驶车辆能够在真实交通环境中安全而顺畅的行驶?”
传统的无人驾驶车辆智能测试主要分为两大流派:场景测试流派和功能测试流派。
场景测试往往是指处在特定时空中的测试系统。例如,交通场景一般指的是由众多交通参与者和特定道路环境共同构成的交通系统。如果受试车辆能够自主行驶通过该交通系统,则称为通过该特定场景的驾驶测试。例如DARPA 2005 年 无人车挑战赛便选取了 212 公里的沙漠道路作为测试场景(其实 2004 年也是选择了沙漠作为测试场景,但是“全军覆没”,相比之下,2005 年则是一段光辉岁月)(Grand Challenge 2005)。DARPA 2007 年无人车挑战赛则选取了 96 公里的城市道路作为测试场景(Urban Challenge 2007)。
场景测试的隐含假设是,如果无人驾驶通过某种场景的一次或几次测试,那么,以后遇到该场景也可以顺利通过。但这一假设未必总是成立(理想很丰满,但现实往往很骨感。即使是人类驾驶员,在通过驾照考试后,也会在实际交通环境中出现失误)。此外,目前的场景测试还存在许多问题,例如:
a)无法对车辆系统的认知、决策和行为进行详细的记录和分析,难以进行定量评估。对于人类驾驶者而言,感知、决策、执行三者共同作用,产生智能驾驶行为。而传统的场景测试只关注驾驶的最终效果。当如果驾驶效果不好时,难以确定是感知不正确,还是决策不智能,亦或执行不到位等,对于改进车辆智能水平的指导性不足。
b)真实交通场景复杂多变,测试场景无法遍历所有情况,甚至难以做到对典型场景的全覆盖。
c)测试难度不易控制,无法做到增量式提升。
d)具体测试难以重复,耗时多,费用高。功能测试则更加侧重无人驾驶的单项或多项功能实现。依据人类智能的功能归类方式,可将驾驶智能划分成信息感知、分析决策、动作执行等较为概括的三大类能力。例如路径规划就属于分析决策类的单项智能。该定义方式强调的是实现这些单项智能的方法和技术上的共性。但由于不能与具体的交通场景以及无人驾驶测试任务联系起来,在衡量无人驾驶的智能水平方面有所不足。
功能测试的隐含假设是,如果无人驾驶通过某种功能的一次或几次测试,那么,以后需要使用该功能时也可以顺利执行。这一假设看似合乎逻辑,但事实证明,也过于乐观。
此外,目前的功能测试还存在其它问题:
a)单一功能测试较多,综合测试涉及较少,无法检验多项功能之间的协同配合能力。
b)缺少完备、公平、公开的Benchmark集。
我们认为,无人驾驶车辆的智能可以用广义的语义网络来定义。语义网络最早由奎廉于1968年提出,是一种采用网络形式表示人类知识的方法,如今已在人工智能领域中得到了比较广泛的应用。语义网络用有向图来表达复杂的概念及其之间的相互关系。图中的顶点表示概念,而边则表示这些概念间的语义关系。
针对无人驾驶智能的广义语义网络分为场景、任务、单项能力和综合能力四类节点。其中任务将场景和能力打通并连接起来,应该是无人驾驶智能研究的核心,参见图1。
场景一词源于戏剧,是指在一定的时间、空间(主要是空间)内发生的一定的任务行动或因人物关系所构成的具体人事片段。在系统学研究中,场景多被定义为处于特定时空中的特定系统。交通场景一般指的是由众多交通参与者和特定道路环境共同构成的特定交通系统。
任务原指交派的工作。驾驶任务既可以指跟驰、换道、停车等某类一般性的驾驶工作,亦可指特定环境中的某项特定驾驶工作。如果受试车辆能够自主行驶完成某项特定任务,则称为通过该特定任务的驾驶测试。相对于驾驶场景而言,驾驶任务更为具体,时空范围更为明确。一个特定的驾驶场景通常包含多个驾驶任务。近两年,中国智能车未来挑战赛注意到了任务测试的重要性,精心设计了任务库,测试无人驾驶车辆的特定能力。
不过,这里还存在一个问题:通过测试任务,仍然不能说明被测系统具备了无人驾驶智能和驾驶能力。驾驶能力一般指的是完成某种特定驾驶行为的能力。完成一个特定的驾驶任务通常需要受试车辆具有多种驾驶能力。不同于场景和任务,每项驾驶能力可以被量化评估。进一步将各个能力进行汇总,即可定量评估整个无人驾驶车辆的驾驶能力。
在图1所示的语义网络中,沿着场景、任务直到能力之间的正向连接,我们可以从驾驶场景中梳理出具体驾驶能力,将能够量化的驾驶能力指标进行细分和标准化,以便建立完备的测试体系。
而沿着从能力、任务直到场景之间的反向连接,我们可以根据功能测试需求,自动产生合理的驾驶任务乃至驾驶场景,解决测试配套的驾驶环境自动设计问题。待驾驶场景确定之后,便可以自动化虚拟生成配套驾驶环境,用于无人驾驶智能的仿真测试和实路测试。
场景测试位于该语义网络的左端,而功能测试位于该语义网络的右端。我们提出的无人驾驶智能体系,实际上是将已有的两种无人驾驶智能定义方式融为一体,相辅相成。
上述内容可知,场景是语义网络模型之基础。现在我们要考虑的问题便是,如何生成一个合适的测试场景?
生成测试场景,第一个要考虑的因素是,如何确定场景中所含有的任务,并确定这一系列任务的出现和需要完成的时间—空间位置。下图2描述了一个非常简单场景中,受试车辆A的若干不同任务在任务时空图中是如何排布的。受试车辆需要在每个任务需要完成的截止时间和截止空间前完成该任务。同时下图3描述了从抽象的测试场景到具体测试实例的转换过程。
每个场景中的任务数目和时空排列决定了该测试场景的难易程度。任务数据越多越难,需要同时处理的任务数量越多越难。
图2.a)一种典型的城市驾驶场景;b)分配任务的时空排列;c)随时间变化的相应计算开销
图3.一个驾驶任务逐级细化的过程也就是对于任务空间的抽样过程,包括逐级确定分配任务的时空排列和创建实例。
通过枚举所有可能的任务组合,我们可以穷尽可能的交通场景。如果车辆能通过所有这些场景,则车辆将足够智能。但由于任务空间的时空连续性,枚举是不可能完成的。因此,如何合理采样,在降低场景生成复杂度的同时,提升测试覆盖性成为测试的关键技术。
通过记录受试车辆和其他车辆的轨迹,我们可以定量刻画车辆的智能水平(驾驶性能)。常用的性能指标包括:安全、效率、平顺等。这方面已有很多文章论述,此处不再赘述。
无人驾驶车辆系统研发需要对实车物理系统进行大量实路测试和验证工作。实路测试周期长、费用高、安全性差,且可重复性低,对车辆系统出现的异常也缺乏有效的跟踪和评估手段,这些困难都制约了无人驾驶的研发进程。为此,有
必要通过建立有效的仿真测试方法,加速研发和产业化。
仿真测试的优点在于测试成本低、不受试验场地和时间限制,安全可控、测试条件可重复、测试结果可跟踪。使用仿真测试方法,系统研究人员可以及时发现算法和系统运行中可能存在的不确定性错误,验证算法和系统对不同道路交通环境的适应性,跟踪算法和系统的在线运行状态。系统集成人员可以根据无人驾驶车辆系统的环境认知要求,测试评估识别算法的功能与性能是否满足系统集成要求。系统测试人员可以首先在仿真测试环境对无人驾驶车辆系统进行不同道路交通场景的仿真测试,评估无人驾驶车辆系统对各种驾驶环境的适应能力,为实路测试做好重要的前期工作。
然而,目前的仿真测试存在几个典型问题:
a)人为编码太多,测试形式僵化,难以反映真实的道路情况。考虑到交通系统是一个影响因素众多的复杂系统,我们需要建立合理的交通仿真系统,以便正确反映不同因素之间的复杂关联性,完成车辆之间交互、车辆与环境交互、车辆与行人交互等交通事件的建模和仿真。
b)使用3D引擎产生数据,真实度低,无法准确评估无人驾驶系统的感知能力。
为此,我们提出一种相应的解决方法:
a)结合平行人工交通系统,将无人驾驶车辆测试和平行人工交通系统的建设结合起来,通过平行人工交通提高仿真测试的真实度;同时在无人驾驶车辆测试中改进平行人工交通系统。
人工交通系统的核心想法是在虚拟交通世界里进行可重复的实验,通过不同智能体之间的交互作用,复现实际观测到的多种交通现象及其中的车辆动态行为。基于这一思想,我们将通过对人工交通系统设计不同的无人驾驶车辆实验方案,并进行重复测试,从而全面、准确、量化的对无人驾驶车辆在各种复杂环境下的自主驾驶行为进行系统的分析评估。
b)将真实采集的数据映射到仿真测试中去,参见图4。
图4.西安交通大学研发的环型屏幕投影显示系统将采集到的真实交通数据,重新整合之后输入无人驾驶ft辆用于测试。
对人类驾驶员来说,通过了驾驶证考试,就可以拿到公安机关核发的驾照。但是,通过怎样的测试,才能为无人驾驶系统核发“驾照”?在无人驾驶还远未成熟的当下,回答这一问题,还需尽快完善无人驾驶智能的测试理论和测试方法。仓促应用,频发的事故只会让管理部门和公众产生恐慌和不信任,适得其反;只有测试体系完备可靠,无人驾驶才能真正走向市场。
(本篇文章是根据作者 2016 年发表于 IEEE T IV 的一篇文章改动扩展而来。 原文为:ieeexplore.ieee.org )