Page 143 - 《软件学报》2021年第7期
P. 143

朱向雷  等:自动驾驶智能系统测试研究综述                                                           2061


                 示,现有的针对感知模块的测试用例生成方法主要可以分为两类:基于真实场景的测试用例生成方法和基于模
                 拟场景的测试用例生成方法.其中,感知模块中除基于神经网络的视觉模块外,还包含了设有激光雷达、毫米波
                 雷达等多种传感器在内的感知元件.故,由于测试所针对的角度差异,基于仿真场景的测试用例生成又可按照测
                 试模块进一步分为:针对视觉模块的测试用例生成和基于多种传感器的测试用例生成.

















                                 Fig.4    Summary of test case generation methods for perception module
                                             图 4   感知模块测试用例生成方法汇总
                              [5]
                                                                                                 [5]
                    Eykholt 等人 和 Araiza-Illan 等人 [19] 分别提出了基于真实场景的测试用例生成方法.Eykholt 等人 将对抗
                 输入压缩为“对抗贴纸”作为测试用例,将对抗贴纸附着到目标物体(例如停车指示牌)上,会导致该目标物体被
                 错误识别或者不被识别.Araiza-Illan 等人认为,保证自动驾驶等机器人系统和真实环境交互行为的正确性至关
                 重要,因此他们使用 BDI(belief-desire-intention)代理方法   [20] ,对人机交互的场景进行建模,使用类似人的行为和
                 理性的推理为人机交互任务生成测试用例.代理由初始 Belief(初始知识)、Desire(目标)和 Intention(根据初始知
                 识,为达成当前目标确定的动作执行计划)定义.Araiza-Illan 等人使用 BDI 代理建模,表示了人机交互场景中的
                 机器人代码、传感器、执行器和所处环境.之后,BDI 验证代理发送初始知识以激活一系列动作执行计划,并为
                 其他代理提供新的目标,激活更多的动作执行计划,以此类推,每个具有不同初始知识的系统将激活代理中相应
                 的动作执行计划序列.这些不同的动作执行计划将被记录下来,用于生成一个抽象测试的测试用例.该团队使用
                 人机协作制造任务和家居助手任务进行建模和实验,分别生成 131 个和 62 个具体测试用例.结果表明,在上述两
                 个场景中,使用 BDI 代理生成的测试代码覆盖率分别达到 92%和 86%;在人机协同制造场景中,只有通过 BDI
                 代理的测试用例可发现违反某特定需求的情况;且 BDI 代理生成的测试用例覆盖了所有单元模块,而对比方法
                 生成的测试用例很难达到预期的覆盖点.因此 BDI,在覆盖率和有效性方面优于伪随机生成的测试用例和通过
                 模型检查自动机生成的测试用例.
                    尽管虚拟场景与真实场景的转化是一个待攻克的难点,虚拟场景仍具有开发难度低、复用率高、成本低等
                 诸多优势,因此许多学者致力于生成虚拟场景以对感知模块进行测试.
                    Johnson-Roberson 等人 [14] 认为,人工标注大量训练数据这一耗时的过程已经开始阻碍深度学习工作的进
                 展,他们构建了一个从复杂的仿真引擎中提取数据生成测试用例的全自动系统.他们使用开源插件 Script Hook
                 V 及 Script Hook V.NET 以 1Hz 的频率捕获有关场景的信息,从本地插件请求所有当前缓冲区,将缓冲区复制到
                 托管内存中,并将其上传到运行 SQL-Server 的云计算机.引擎从主体半径内所有物体的 3D 位置获取粗略的边
                 界框,再在模板缓冲区上进行轮廓检测,使得相互部分遮挡的检测形成单个轮廓,并在深度缓冲区计算检测到的
                 轮廓内的平均深度和平均深度之间的距离,对包含的像素进行阈值化处理,生成一个新的边界框,进一步将边界
                 框进行归类,生成了 3 个不同大小的不同模拟数据集.该团队通过绘制车辆质心的分布热力图比较了该数据集
                 与真实数据集 Cityspaces   [21] 车辆位置的分布情况,证明了其生成的数据集具有更广的覆盖度.同时,该团队通过
                 比较经过人工标注的数据集训练的模型和经过自动生成标注的数据集训练的模型在数据集 KITTI 上的表现,
                 证明:仅使用大量模拟图像训练网络,获得了比仅用真实图像训练的网络更好的性能.表明,仅基于模拟的训练
   138   139   140   141   142   143   144   145   146   147   148