关键词:
软件测试
目标检测
实证研究
蜕变测试
测试用例生成
摘要:
目标检测是深度学习技术的重要应用方向之一。在自动驾驶、安防监控等安全攸关领域中,目标检测网络一旦由于自身质量原因发生故障,就可能会导致生命财产安全的重大损失。因此,目标检测网络的可靠性成为扩大目标检测技术应用范围的重要前提之一。基于深度学习的目标检测网络在体系结构和工作逻辑上相对于传统软件具有截然不同的特征:一方面,目标检测网络的实现代码相对简单但又高度依赖于底层深度学习框架;另一方面,目标检测网络的识别效果高度依赖于高质量的训练数据。因此,目标检测网络的可靠性保障工作与传统软件的可靠性保障工作也存在较大差异。针对目标检测网络的可靠性保障这一研究目标,本硕士论文首先对目标检测网络实现程序中的故障特征开展实证研究,总结故障模式分析根本原因并给出相应建议;在此基础上,进一步对目标检测网络的测试技术开展研究,提出了面向目标检测网络的蜕变测试技术,基于蜕变关系生成测试数据并对测试结果进行判定。本硕士论文的具体研究工作如下:(1)面向目标检测网络的实现程序开展故障特征的实证研究。针对指定的目标检测任务,收集了104名学生提交的101份目标检测程序,从中总结出四个维度的13种常见的故障模式,通过进一步探索总结出导致目标检测网络故障的6种常见根本原因。研究发现,45.81%的故障出现在代码维度,32.26%的故障是由于执行环境不匹配导致,17.74%的故障是目标检测网络所特有的,4.19%的故障是由于数据出错导致。这提示开发者在实现目标检测网络时,应注意深度学习框架的兼容性以及代码规范性等问题。(2)面向目标检测网络开展蜕变测试技术的研究。针对目标检测网络测试中面临的测试数据构造困难、测试结果难以判定等问题,提出一种面向目标检测网络的蜕变测试技术OBMeta。该技术将图片分离提取出前景和背景两部分,利用三种图形变换方法分别针对前景、背景以及图片整体构建多元化的蜕变关系,进而利用蜕变关系在原始测试数据的基础上扩展生成衍生的测试数据以及与衍生测试数据匹配的测试预期结果。为了进一步提高测试数据的质量,OBMeta还利用图像相似度算法对衍生测试数据进行筛选,剔除与真实图像相似度较低的明显不合理的图像数据。(3)为了验证面向目标检测网络的蜕变测试技术的有效性,在使用MS COCO2017数据集训练得到的6种目标检测网络上开展实验。实验结果表明:相较于现有的蜕变测试技术,OBMeta使用更加多元化的蜕变关系,可以使用更低的时间成本构造出更加多样化的测试数据,这些测试数据与现有的蜕变测试技术生成的测试数据相比具有更高的错误检测能力,能够生成更多数量的对抗样本,同时与真实图像具有更高的相似度。进一步,通过使用对抗样本对目标检测网络进行再训练,可以提高目标检测网络的鲁棒性。