3.1.2. 任务的验证
第二个困境是:如何保证被测智能机器在所遇到的所有场景中表现出其行为的一致性。因此需要保证任务测试的枚举性/覆盖性。
通俗的讲,我们可以把任务看作是对智能机器测试的输入,如果完成该任务,输出“是”,反之输出“否”。对于一些相对简单的智能性测试,通过枚举所有可能的任务组合,我们可以穷尽可能的交通场景。如果车辆能通过所有这些场景,则车辆将足够智能。但由于任务空间的时空连续性,枚举是不可能完成的。因此,必须依赖虚拟采样测试来加大如何合理采样,在降低场景生成复杂度的同时,提升测试覆盖性成为测试的关键技术。通过记录受试车辆和其他车辆的轨迹,我们可以定量刻画车辆的智能水平(驾驶性能)。
3.1.3. 仿真测试的设计
为了在有限的时间和财力内尽量解决任务覆盖问题,现在的研究者多采取仿真测试来弥补实地测试的不足[4]。由此出发,研究者进一步研究了如下诸多衍生问题:
1)如何保证虚拟测试中虚拟物行为的真实性;
2)如何保证虚拟测试中虚拟物表现的丰富性;
3)如何保证虚拟测试中场景和任务的覆盖性;
4)如何实现虚拟测试中机器判定的正确性。
例如在仿真测试方面,目前的无人驾驶车辆研究者考虑了如何从现实采集的2D图像数据中提取物体的3D属性,并在3D引擎中重新渲染并产生新的2D虚拟测试数据。而另外一些研究者则考虑了如何基于生成式对抗网络来直接从2D实测图像数据来生成新的2D虚拟测试数据。
再者,测试标准的设定也是研究者探讨的热点之一。对于驾驶这类典型的多目标问题,如何评价不同算法的优劣并设计适应不同用户要求的测试标准尚有很大的难度。
3.1.4. 测试指标的设定
测试指标的设定的方法有几种,第一种是要求智能机器做出类似人的行为表现。这种方法里首先需要确定人在完成该任务时会如何表现,然后再根据智能机器在完成该任务的过程中的表现和人的表现的区别来做判定。
第二种测试指标设定方式是要求智能机器有最好的表现。比如,在设计针对围棋的人工智能机器时,我们要求其能够一直胜利,而不是像一个人类选手的方式去下棋。对于这一类目标相对简单的情况下,这种方式更加合适。在智能车测试中,目标往往比较复杂,不能像围棋一样以赢得棋局为目标,需要考虑行驶安全性,速度,燃油效率等其他复杂的因素。以不同的因素为目标会导致完全不同的设计。例如在2016,2017年的中国无人车未来挑战赛中,智能车通过设定的10个特定场景任务的时间被作为评价指标之一,如果发生了碰撞,压线,闯红灯,也会扣去相应的分数。当人的感受被纳入考察因素的时候,考虑到每个人对于同一件事物的感受都会有一定的区别,测试指标的设定会变的更加艰难。
3.2. 智能车的智能性测试
我们这里以智能车的智能性测试为例,来说明我们的观点:
3.3.1. 智能性测试中测试任务的设定
传统的无人驾驶车辆智能测试主要分为两大流派:场景测试流派和功能测试流派。
1) 场景测试
往往是指处在特定时空中的测试系统。例如,交通场景一般指的是由众多交通参与者和特定道路环境共同构成的交通系统。如果受试车辆能够自主行驶通过该交通系统,则称为通过该特定场景的驾驶测试。例如DARPA 2005 年无人车挑战赛便选取了212 公里的沙漠道路作为测试场景(其实2004年也是选择了沙漠作为测试场景,但是“全军覆没”,相比之下,2005年则是一段光辉岁月)(Grand Challenge 2005)。DARPA 2007 年无人车挑战赛则选取了96 公里的城市道路作为测试场景(Urban Challenge 2007)。
2) 功能测试