Page 179 - 《软件学报》2024年第6期
P. 179
谢瑞麟 等: IATG: 基于解释分析的自动驾驶软件测试方法 2755
(a) 原始图像 (b) 视觉解释 (热图) (c) 基于真实图像的替换 (d) 基于图像翻译的替换
图 1 IATG 生成测试数据示例
特性极大减少可训练权重的数量, 进而降低训练成本, CNN
本文的主要贡献总结如下.
● 提出了基于解释分析的自动驾驶软件测试数据生成方法 IATG, 其生成的测试数据能有效检测自动驾驶软
件决策模块对相同场景做出不一致行为导致的错误.
● 基于所提出的方法实现了原型工具, 在 Cityscapes 数据集上就 IATG 生成测试数据的误导能力和真实性与
DeepTest 和 semSensFuzz 进行了对比, 并将基于解释分析的重要物体选择方法应用于 semSensFuzz, 以提高其生
成测试数据的误导能力.
本文第 1 节介绍了相关研究背景. 第 2 节详细介绍所提出的基于解释分析的自动驾驶软件测试数据生成方
法 IATG. 第 3 节介绍了实验设计, 并对实验结果进行了分析和讨论. 第 4 节进行有效性分析. 第 5 节介绍了相关
工作并分析了 IATG 的创新性. 最后第 6 节总结全文并对未来工作进行展望.
1 研究背景
1.1 自动驾驶软件
自动驾驶软件的核心功能是捕获周围环境信息并加以分析, 以做出控制车辆驾驶行为的决策. 图 2 为一个基
于深度学习的自动驾驶软件示例, 其由 2D 相机、雷达和 3D 传感器组成的传感器阵列捕获车辆所处的环境信息,
输入给用于决策的深度学习模型, 以供其对环境信息进行计算后形成转向角、加速控制和制动等驾驶行为决
策 [10] . 作为最基础的驾驶行为之一, 转向角预测受到了广泛关注 [11,12] . 自英伟达发布使用卷积神经网络 (convolutional
neural network, CNN) 进行转向角预测的 Dave [13] 框架以来, CNN 成为最为常用的转向角预测模型. 其通过输出 1/r
来表示转向角预测结果, 其中 r 为转弯半径, r 为负值表示左转, 正值表示右转, 当 r 的绝对值为一个极大值时则表
示直行. 为方便理解, 本文将其转换为角度 ( 角度 = 180/r/π ) 来表示转向角预测结果.
CNN 是一种包含卷积操作层和前馈神经网络的 DNN 模型, 可以有效提取和分析图像特征, 被广泛应用于计
算机视觉领域. 受益于参数共享和稀疏连接, CNN 非常适合处理图像数据. 其特有的卷积层结构由于共享权重的
的工作流程也更接近人类的视觉系统. 卷积层是 CNN
的关键组成部分, 它使用卷积核对前一层的输出进行卷积, 将特征提取为特征图并转递给后续层, 最后输入全连接
层输出最终预测结果. 作为自动驾驶软件的关键组件, 对基于 CNN 的转向角预测模型进行充分测试是保障自动驾
驶软件安全性和健壮性的重要手段.
1.2 针对转向角预测模型的测试数据生成技术
在针对自动驾驶转向角预测模型的测试数据生成的相关研究中, 常用方法是对在真实世界采集到的原始图片
加入像素级扰动或对图片整体进行修改. 其中, 对图片进行像素级扰动的方法常使用基于梯度下降的白盒方法选
择被修改像素. 然而, 现实世界中难以出现通过像素扰动所产生的图像. 即使可能由于图像采集设备缺陷而使输入