Page 142 - 《软件学报》2021年第7期
P. 142
2060 Journal of Software 软件学报 Vol.32, No.7, July 2021
类似于内省的想法,Gurău 等人 [12] 尝试了一种新的范式:根据过去在同一工作空间运行所积累的经验,预测
感知系统出错的概率.文献[12]假设在相似的驾驶条件下,相同的物理位置会导致相似的感知结果.因此,Gurău
等人多次遍历相同的路线并沿其收集性能估算值,以创建性能记录.并且,在测试时利用这些记录来预测当前遍
历系统的性能.据此,他们提出了两种模型,第 1 种方法仅仅特定于位置特征;第 2 种方法则在合并过去结果时,
还额外考虑了外观相似性,在进行位置估计后得到的局部邻域中进行搜索,找到与实时帧最匹配的记录.在实验
过程中,该团队反复遍历相同的路线并更改操作条件,利用收集的性能记录来预测两个不同的基于图像的行人
检测器在当前遍历中的性能.实验结果表明,这两种方法均可减少两种不同检测器模型的错误决策.此外,利用
视觉外观还可以提高感知系统性能预测的准确性.
Ramanagopal 等人 [13] 结合了软件工程方法中的差异测试方法,设计并实现了一个能够自动检测自动驾驶
车辆感知模块识别错误的模型.他们通过两种方法来检测感知模块发生的错误:(1) 基于时间因素,即比较相同
检测器在相邻时间的检测结果;(2) 基于空间因素,即比较相同检测器在带有空间信息图像上的识别情况.文献
[13]指出,目标检测器在一个连续的视频片段的相邻帧中会发生识别结果不一致的情况,而目标追踪器在这种
情况中的表现则较为可靠.于是,Ramanagopal 等人使用两种结果的差异作为判断感知模块在时间因素上是否
发生错误的依据.同时,他们发现深度相机采集到的深度图片对目标检测器的检测结果会产生影响,即两张场景
完全相同的图片,其中一张具有深度信息,会让目标检测器得到不同的检测结果.于是,该团队将带有深度信息
图片的检测结果与普通图片的检测结果的差异,作为判断感知模块在空间因素上是否发生错误的依据,并设计
了一个二分类器,依据差异的多种特征进行分类,得到目标检测器可能发生的错误.该团队使用 3 种先进的目标
检测器作为实验对象:SSD、Faster R-CNN、RRC,使用 Sim 200k [14] 数据集作为检测器的训练集,并通过游戏引
擎生成了一个带有目标追踪信息的数据集 GTA 作为测试集,同时也使用了现实生活中的真实数据集 KITTI 作
为测试集.实验结果表明,3 种检测器在使用了错误检测器纠正后,F1 得分能够分别上升 4.22%、0.87%、3.57%.
无论是“内省”的方式,还是生成对抗样本,都是通过辅助攻击的方式来对以卷积神经网络为主的感知模块
进行测试,而不是直接生成完整的测试图像或测试场景.随着对感知模块测试研究的逐步深入,针对感知模块的
测试逐渐基于两部分,即生成完整的仿真场景和完整的真实场景.与对抗生成技术相比,该类方法的目标是生成
真实的图像,而非将干扰引入到先前存在的图像中.
Dreossi 等人 [15] 认为前人的验证技术 [16] 通常会对经过处理的卷积神经网络施加限制,并遭受可伸缩性问题
的困扰.故该团队提出了一个通过生成综合数据集以系统测试卷积神经网络的框架,从而达到系统分析用于自
动驾驶中汽车分类的卷积神经网络的目的.框架由 3 个主要模块组成:图像生成器、采样方法及可视化工具.每
次循环中对图像特征进行采样,使用修改后的配置来生成图像,由卷积神经网络返回预测结果,进而检查和可视
化 CNN 行为.在实验中,该团队使用图像生成器和 Halton 采样序列生成了 1 000 张合成图像,并使用生成的图像
来分析训练好的 SqueezeDet 与 YOLO 模型.其中,训练好的 SqueezeDet 模型在该方法生成的合成图像下有很高
的置信度和 IOU(交并比),并且能够由此训练集有效地找出该模型识别的盲点;而 Yolo 模型在该方法生成的合
成图像下的置信度和 IOU 则随着行车距离的增加而降低.该结果表明:文中框架可以有效地生成训练和验证数
据集进而评估用于自动驾驶汽车分类的卷积神经网络模型的性能.
基于仿真场景的感知模块测试逐渐兴起,但在模拟场景下训练的模型是否可以很好地适用于真实场景已
经成为一个重要问题.对此,Talwar 等人 [17] 使用 LGSVL [18] (LG Silicon Valley Lab)采集了不同保真度的模拟场景,
用以训练 YOLOv3 模型,并在真实场景数据集 KITTI 上进行了评估.在实验中,该团队发现了模拟场景和真实场
景训练中各种迁移性问题,例如,虚拟场景车密度低、对夜晚条件下的识别不够等.该团队还发现,仿真场景下训
练的模型在仿真场景中预测效果会更好,在真实场景中效果欠佳,并由此推定在仿真场景下的训练很难广泛应
用于真实场景中.实验同样证明了训练集的多样性比仿真场景的真实性在训练过程中所起到的作用更大.因此,
如何更好地解决虚拟场景和现实场景之间的有效转换将成为自动驾驶测试中下一个需要攻克的难点.
1.2 测试用例生成
为了更好地测试基于神经网络的感知模块,多种针对感知模块生成测试用例的方法被提了出来.如图 4 所