基于GAN的图像识别系统蜕变测试方法

2021-02-27 01:29江竞捷
计算机与现代化 2021年2期
关键词:测试数据图像识别置信度

江竞捷,徐 络,2,李 宁

(1.华北计算技术研究所,北京 100083; 2.北京航空航天大学计算机学院,北京 100191)

0 引 言

图像识别作为典型的智能软件,结合了机器学习、模式识别等方法[1-3],其识别效果依赖于大规模训练数据和所采用的学习模型。目前图像识别领域的研究注重于建立更精确的模型,但是在系统稳定性以及健壮性测试工作上较为欠缺。传统的测试技术需要提前构建一组测试用例,输入数据后比对输出是否符合测试用例。然而,这种基于预测输出的软件测试方法对于图像识别系统并不适用,因为构建包含所有输入的测试用例是不可能的,并且程序的预期输出很难甚至无法获取,这被称为oracle问题[4]。

为了缓解oracle问题,Chen[5]提出了蜕变测试技术(Metamorphic Testing, MT)。该技术将被测试程序的实际输出是否符合程序预期输出转换为检查被测试程序的多个输出结果之间是否满足特定的关系,即蜕变关系(Metamorphic Relation, MR),蜕变关系由程序的功能属性构造。蜕变测试需要以原始输入为基础,以蜕变关系为判定原则,当构造的测试用例之间的输入满足一定的关系时,检查用例之间的输出是否符合相应的蜕变关系,若不满足,则可以认为被测软件存在缺陷。蜕变测试技术缓解了oracle问题,从而可以对使用机器学习等技术的图像识别系统进行测试,并且可以确认所使用的模型或算法对特定问题是否合适,判定该系统的适用范围。

蜕变测试在缓解oracle问题方面的有效性已在众多研究中得到证明,涉及许多不同的领域,包括编译器[6]、Web服务[7]、搜索引擎[8]等。在机器学习领域中,Murphy等[9]认为在大多数机器学习应用中存在蜕变关系,包含对数据的添加与删除、数值的排列和修改,在SVM-light等机器学习程序上评估了这些关系的有效性。Xie等[10]提出了使用蜕变测试来检测有监督分类器中的故障,针对KNN与朴素贝叶斯分类算法,验证了weka开源机器学习软件,证明了交叉验证本身并不足以验证这些分类算法;Xie等[11]还对6个常用无监督聚类算法使用蜕变测试技术进行了评估与验证,供用户选择合适的聚类算法。Ding等[12]通过与线性SVM分类器对比来验证深度学习图像分类模型。Dwarakanath等[13]分别构造了非线性SVM与深度学习模型的蜕变关系来发现图像分类软件实现中的Bug。Zhang等[14]使用蜕变测试技术来发现自动驾驶系统中的不一致行为。

本文基于蜕变测试技术,提出面向图像识别系统的软件测试方法,使用生成式对抗网络(Generative Adversarial Network, GAN)技术来生成贴近现实的衍生数据,以构建新颖的蜕变关系,引入衍生图像质量验证方法与测试结果自动判断方法,构建面向图像识别系统的蜕变测试框架,验证图像识别系统能否在不同的场景中保持原有的精度,评测系统健壮性。车辆识别是图像识别领域的典型应用,在自动驾驶、交通监测等方面发挥着重要作用,因此本文以车辆识别应用为实验案例,针对百度AI开放平台车辆检测服务[15]、京东人工智能开放平台车辆检测服务[16]与已实现的YOLOv2车辆识别模型进行案例研究分析。

1 面向图像识别系统的蜕变测试方法

针对图像识别系统的特点构建蜕变关系,通过GAN由已有的测试数据快速有效生成衍生测试数据,对衍生图像数据进行FID质量验证,通过蜕变关系对测试结果进行自动化判定,对图像识别系统进行有效的测试。基于GAN的图像识别系统蜕变测试方法框架流程如图1所示。

图1 基于GAN的图像识别蜕变测试流程图

1.1 蜕变关系构造

构造有效的蜕变关系是蜕变测试的关键,它不仅用于测试数据的生成,还提供了测试结果验证的机制。目前在图像领域使用的蜕变关系较为单一,Dwarakanath等[13]使用旋转、缩放、归一化处理、打乱RGB通道顺序等图像处理方法来构建蜕变关系;Xu等[17]使用分割与遮挡图像的方法构造蜕变关系。这些基本的蜕变关系虽然对于SVM分类器等分类模型有一定的作用,但是在深度学习模型中的测试表现较差。另一方面,目前数据集样本类别不平衡问题非常突出,大多数现有的测试数据依赖于在不同驾驶条件下手动收集,由于不同场景条件下数据采集的成本相差较大,导致无法测试系统在不同场景下的数据输入是否能正常工作。

本文基于生成式对抗网络技术针对图像识别系统提出一种新颖的蜕变关系。

定义1对于任一输入图像,在保持识别目标不变的情况下,对目标所处场景进行变换,模型的识别结果应该相同。

该蜕变关系形式化表述如下:

∀i∈I∩∀τ(i)∈T,P[i]=P[τ(i)]

(1)

式(1)中,I与T分别表示2个不同场景类别的数据集,i表示属于类别I的原始数据集,τ表示将数据从数据集I向数据集T转换的方法,P表示待测的图像识别系统。该蜕变关系通过判断目标变换所处场景前后的识别结果是否一致来测试图像识别系统,检测该系统是否在不同的场景中能保持相同的识别能力。同时,针对现实中较难获得的场景来构建蜕变关系,可以检测图像识别系统是否存在由于训练数据不平衡等原因导致某些场景下识别能力较低的问题。

1.2 基于GAN的衍生图像生成方法

GAN是一种基于概率和统计理论,借鉴博弈论的对抗思想,用深度学习网络来生成数据的方法[18-19],模型通过框架中2个模块(生成模型和判别模型)的互相博弈学习产生较好的输出。为了生成贴近现实的图像,本文采用MUNIT[20]来作为图像生成方法构建衍生图像生成模型。MUNIT是一种多模态无监督的图像转换框架,通过将MUNIT框架与现有的GAN框架对比可知[20],该框架在质量和多样性上都优于现有的GAN方法。

MUNIT通过内容编码器和样式编码器将图片拆分为内容特征c与样式特征s,其中,内容编码器由多个卷积层和残差网络组成,样式编码器由多个卷积层、池化层与全连接层组成,编码器需要在原数据集中进行训练,如图2所示。重组过程中需要保证同一张图片X可以被还原出相似的数据集场景图片X′。进行图像转换时,从原始数据中使用内容编码器提取出内容特征,从衍生场景数据中使用样式编码器提取出样式特征,将二者在神经网络中进行重组,通过反复不断的训练,最终得到能生成高质量的、贴近目标场景的衍生测试数据的生成模型X′。

图2 图像重组过程

因此,给定一个数据集D1内的图像X1,MUNIT可以通过将另一个数据集D2内的图像X2的样式特征s2与X1的内容特征c1组合并编码输出,生成样式贴近于X2但内容特征保持不变的图片。图3展示了2个数据集间的图像互相转换的过程,X1与X2是属于2个不同场景的数据集的图像,提取出各自的内容特征与样式特征后,将X1的内容特征c1与X2的样式特征s2拼接,通过解码器重新组合,就可以从X1生成X2样式的图片X1→2。对于转换后的图片X1→2,需要进行隐含特征重构,即用编码器再对图片X1→2编码后,依然可以得到内容特征c1与样式特征s2,保证X1的内容特征不变。

图3 衍生图像生成过程

1.3 衍生图像质量验证方法

由生成对抗网络产生的衍生测试数据与真实测试数据之间往往存在一定的差异性,这种差异性反映了衍生测试数据与真实测试数据的相似度差别。本文使用FID(Fréchet Inception Distance)距离指标计算衍生测试数据集与原始测试数据集之间的特征向量距离,以此评估衍生测试数据与真实场景数据集之间的相似性,进而验证GAN产生的衍生测试数据的质量。该指标以预训练好Inception V3模型的网络顶层从测试数据中提取的信息作为特征,形成测试数据的高维特征向量,使用下述公式计算衍生测试数据与真实数据的特征向量:

(2)

式中,Tr表示矩阵对角线上元素的总和,即矩阵的迹;ur表示原始测试数据的特征均值;ug表示衍生测试数据的特征均值;∑r表示原始测试数据特征的协方差矩阵;∑g表示衍生测试数据特征的协方差矩阵。GAN生成的图片越贴近真实数据,FID距离指标越低。在生成衍生图片数据后计算衍生图片与真实场景数据集间的FID距离,设置阈值筛选掉质量较低的图片,保证测试输入数据的质量。

1.4 测试结果自动判定方法

根据蜕变关系中的输出关系,原始图片与衍生图片需要判断在同一图像识别系统下,二者是否得出了相同的结果。如图4所示,图像识别系统一般使用边界框来表示识别结果,与图像分类模型不同,真实图片与衍生图片的图像识别的返回结果通常不会完全相同,因此考虑2个边界框是否在一定的误差范围内重合来判断同一个目标的2次识别是否相同。本文将IoU评价标准(Intersection over Union, IoU)[21]引入到测试结果判断方法中。IoU是一种通常应用在目标检测领域的检测识别准确度的一个标准,计算方法如下:

图4 边界框示意图

(3)

其中,I(X)表示一个目标在真实图片与衍生图片识别结果区域的交集,U(X)表示两者区域的并集。对于真实图片中的识别目标来说,若在对衍生图片识别后IoU大于0.5即视为通过该条蜕变关系,反之,则视为违反蜕变关系。被测图像识别系统对应于一条蜕变关系的通过率计算方法如下:

(4)

其中,∑pi表示在衍生数据中被识别出的与原始数据识别结果相匹配的目标总数;∑ni表示在原始数据中被识别出的目标总数;F(x)表示图像识别系统F对应于蜕变关系x的通过率,若F(x)=1说明所有原始数据中的被识别目标都能在衍生图片中被识别。

2 实验及结果分析

2.1 测试对象

车辆识别是图像识别领域的典型应用[22-23],在自动驾驶、交通监测等方面发挥着重要作用。本文以车辆识别应用为实验案例,测试对象选取百度AI开放平台车辆检测服务、京东人工智能开放平台车辆检测服务与已实现的YOLOv2车辆识别模型(以下简称为百度服务、京东服务、YOLOv2模型)。

2.2 实验数据

实验数据选取伯克利大学发布的开放驾驶数据集BDD100K[24]作为原始测试数据,由于部分数据存在分类标签错误的情况,进行数据清洗后,根据数据集中的标签将数据集分为晴天、雨天、雪地、雾天、夜晚等子数据集。

2.3 蜕变关系构建

通过统计现有开源数据集发现,雨、雪等天气的数据数量相比较于晴天所收集的数据较少,例如在BDDK数据集中,晴天数据数量约为雨、雪天气数据数量的8倍,并且由于不同地区降雨与降雪的概率相差较大,导致不同天气下数据收集成本差异较大,容易产生数据不平衡现象。因此本文构建以下3条蜕变关系:

1)MR1:将目标所在场景由晴天转换至雨天。

2)MR2:将目标所在场景由晴天转换至雪地。

3)MR3:将目标所在场景由白天转换至夜晚。

选择晴天图像作为原始测试数据,使用MUNIT与相关数据集训练出适用于将晴天图像数据向雨天、雪地、夜晚3个场景下转换的衍生数据生成模型,蜕变关系使用的衍生数据生成模型示例如图5所示。

原始数据(a) 雨天场景(a)

2.4 测试结果

随机从BDD100K数据集中选取1000幅图片作为原始测试数据,通过已构建的3条蜕变关系分别对百度车辆检测服务、京东车辆检测服务与已实现的YOLOv2车辆识别模型进行测试。在生成图像质量验证阶段中,需要设置FID距离阈值来筛选掉质量较低的衍生数据。为了平衡衍生图像真实性与数据通过比例,计算所有衍生图像与真实场景数据集间的FID距离后,选取第20%个FID距离值作为阈值。

在图像识别返回结果中含有对每个识别目标的识别置信度,为了体现出测试对象在每个识别置信度阈值下的测试表现,以表格形式展示在各识别置信度阈值μ下的蜕变测试通过率,将识别置信度阈值设置为μ即表示在原始数据中识别置信度小于μ的目标视作无效目标,由于置信度小于0.5时识别结果含有较多的噪声,因此仅展示置信度大于等于0.5时的测试结果。各车辆识别应用测试结果如表1~表3所示(蜕变测试通过率以百分率小数表示)。

表1 百度服务蜕变测试执行结果

表2 京东服务蜕变测试执行结果

表3 YOLOv2模型蜕变测试执行结果

2.5 实验结论

上述实验结果展示了3个车辆检测服务在不同识别置信度阈值下的蜕变关系通过率。不同的应用场景对识别结果的精确度有不同的需求,对比各置信度阈值下的实验结果可以发现:在低置信度下,被测对象的蜕变关系通过率较低;随着识别置信度阈值增加,蜕变关系通过率也相应增加。这说明在高识别置信度要求下,图像识别系统可以在不同的场景中保持较好的识别能力,但是在低识别置信度下,识别结果存在误识别或错识别等噪声,在不同场景中的识别能力相差较大。

通过对比3个车辆检测服务的实验结果,在蜕变关系MR1与MR2上,京东车辆检测服务与百度车辆检测服务表现相近,在置信度阈值为0.9时两者出现违反蜕变关系的数据较少;与百度相比,京东在MR1与MR2中表现更好,在各个识别置信度阈值下的蜕变关系通过率都略优于百度,在MR2中京东甚至在置信度阈值为0.9时没有出现违反蜕变关系的数据。与前者相比,YOLOv2车辆识别模型在MR1与MR2中出现违反蜕变关系的数据较多,蜕变关系通过率较低。

在MR3中,三者都出现了大量违反蜕变关系的数据,蜕变测试通过率较低,其中京东车辆检测服务表现略高于百度车辆检测服务与YOLOv2车辆识别模型。

综合来看,在高识别置信度阈值下,京东与百度车辆检测服务在雨天、雪地场景中有良好的系统健壮性,但是无法在夜晚保持稳定的识别能力;YOLOv2模型则只能在白天发挥较好的性能,不同的场景会对YOLOv2识别模型的识别能力产生很大的影响,系统的整体健壮性较差。

3 结束语

目前在图像识别服务的测试过程中往往只专注于测试系统识别准确度,对于图像识别系统的健壮性测试研究较少,无法评估系统在不同的场景中能否正常工作。本文使用基于生成式对抗网络的方法生成原始图像数据在不同场景下的衍生数据,并以此构建适用于图像识别系统的基于蜕变测试技术,通过引入衍生图像质量验证方法与测试结果自动判断方法,使蜕变测试在图像识别系统软件中更加有效与完善,进一步拓展了蜕变测试技术的应用范围。通过以车辆识别服务为案例研究,对百度AI开放平台车辆检测服务、京东人工智能开放平台车辆检测服务与已实现的YOLOv2车辆识别模型的测试结果表明,本方法能有效检测图像识别系统在不同场景中的不一致行为,缓解测试工作中的oracle问题,检验图像识别模型在不同场景中是否能保持原有的识别能力,评测系统健壮性。在以后的工作中,将继续扩充目前的蜕变关系数量,优化衍生数据生成模型,并尝试对不同领域的图像识别系统进行测试。

猜你喜欢
测试数据图像识别置信度
硼铝复合材料硼含量置信度临界安全分析研究
基于Resnet-50的猫狗图像识别
高速公路图像识别技术应用探讨
测试数据管理系统设计与实现
图像识别在物联网上的应用
图像识别在水质检测中的应用
正负关联规则两级置信度阈值设置方法
基于自适应粒子群优化算法的测试数据扩增方法
空间co-location挖掘模式在学生体能测试数据中的应用
置信度条件下轴承寿命的可靠度分析