基于机器学习的某型装备面板故障诊断研究
2023-04-28陈茜李锋靳青梅宋洁王晋安
陈茜,李锋,靳青梅,宋洁,王晋安
(西北机电工程研究所,陕西 咸阳 712099)
人机工程在武器装备领域的应用随着装备集成度和面板操作复杂程度的提高而与日俱增。这对装备研发、制造和维护来讲需要更加关注装备的质量监控。目前的装备运行检修、状态辨识方法除了少数采用数据驱动、解析模型和计算机仿真的方法外,大部分还处于人工筛选的阶段,且通过肉眼有效监测结果不理想,给装备状态辨识带来了极大的挑战。笔者从某型装备人机交互面板故障筛选场景出发,通过采集原始图像、处理、分析、识别、测试,进而实现了从高效识别和识别器正确性检测的装备面板故障检测流程。
基于神经网络[1]机器学习的深度学习是目前面向自动识别技术的热点方向之一。其中计算机视觉、自认语言(Natural Language Process,NLP)和语音识别(Speech Recognition)[1],被人们应用于各种工程背景当中。笔者通过使用通道注意力机制改进的神经网络结构实现针对装备面板故障分类的图像分类器,同时通过研究蜕变测试技术[4](Metamorphic Testing,MT)解决传统测试方法验证结果置信度不高[2],测试面临的oracle问题[3]。结合实际背景,笔者展开如下研究工作:分析装备面板故障检测现状,总结被测装备面板控件特征及目前识别方式不足;基于实际环境构建数据集,为运用机器学习理论解决装备面板故障识别;基于卷积神经网络等算法在装备状态识别中的技术实现与优化研究;结合所实现分类器运用蜕变测试理论[5]验证合理性;针对不足对后续技术研究工作提出设想。
1 装备人机交互面板图像分类器构建
1.1 图像分类处理流程
要实现某型装备人机交互面板的图像分类,首先将需要进行故障检测的装备图片信号源输入预处理;然后识别出输入图像的边界,按不同功能模块进行划分;最后对划分好的区域状态进行辨识并给出是否故障的结论以及当出现故障时具体出现的定位信息。
1.1.1 装备人机工程装置图像分割
针对人机交互面板控件数量多、类别杂,形状多样、大小不一等特点。应用传统的边缘检测会存在信息缺失风险,故采用GrabCut方法对装备进行图像分割,效果如图1所示。
1.1.2 人机工程装置边界识别
为了加快故障检测速度。通过设置固定的标签来进行边界识别,以提高机器学习边界特征的效率。同时通过标签具有共用性的特点建立识别器,提高其可移植性。
1.1.3 装备人机工程装置状态识别
状态识别过程依据当前所针对控件类别其准则也有所不同。以按钮控件为例,针对每一个控件划分的区域,建立每个控件的数据集,利用卷积神经网络的学习能力,对每个图像控件的状态进行识别,将结果存至结构体数组中。结构体widgetState由两部分组成,stateValue为当前卷积网络分类值,imgFile为当前识别的图像存储路径。
1.1.4 面板故障状态判断
面板故障结论包含两个层面:第一个层面是当前面板整体是否存在故障;第二个层面是当第一层面存在故障后,对存在故障面板控件的定位。程序结构体数组widgetState来存储面板信息,通过对widgetState数组中的widgetState.stateValue求和,若值大于0表示存在故障;等于0则表示正常。当存在故障时,该下标对应的被识别图形会被显示出来,提示该部件出现故障。
1.2 装备控件图像数据集
1.2.1 数据集构建
本文所使用的数据集命名为CTK,是针对某型装备多个操作面板进行图像采集和预先处理后得到。源图像共326张三通道彩色图,162张故障图和164张正常图。具体分成14个种类,如表1所示。
表1 分类器网络结构
该装备面板图形并没有成熟的开源数据集。采集到的原图通过图像旋转、高斯模糊等,构建了包含3 500张面板控件样本的训练集(命名为TrainData)和1 350张测试集(命名为TestData),其中包含部分分类及每种类别图像如图2所示。
1.2.2 卷积网络结构搭建
通过对装备人机交互面板图像特征的分析,构建卷积神经网络结构,命名为SCNN。该网络的输入层是一个经过灰度化[6]处理的一维图像,网络结构的输入是64×64的灰度图,卷积核采取5×5大小,网络深度12,特征图的变化为16-32-64-64-128,输出为由14个神经单元向量,分别对应14种装备人机交互面板控件类型(7种控件×2个状态)。
使用自建数据集CTK训练网络SCNN,得到的混淆矩阵[7]如图3所示,可知网络结构针对其中fillin-switch类和indicatorlight类的学习效果没有达到预期。因此,引入CA通道注意力机制[7]来增加网络对于未划分成功的两类控件图形的学习[8]。
经过改进后的卷积神经网络如图4所示,g表示全连接层获取的全局参数特征信息,l1,l2,l3表示中间层获取的局部参数特征信息,£1,£2,£3表示通过注意力调整的权重参数。主要的变化有两个方面:通过使用两个低维度卷积层3×3大小代替一个高维度5×5卷积层的操作,可以保证在维持较大感受野的前提下缩减卷积所需的计算时间[8];同时在网络中加入注意力机制[9],选用调取部分中间卷积层的局部特征和全连接层的全局特征进行融合,构建注意力特征[10]作为最后的分类特征,并与全连接层FC2-14进行级联,实现对装备面板图像识别精度的提升。
1.3 实验方法
笔者将构建的SCNN网络结构与目前识别效率较好的网络ResNet-50、VGG-19,采用迁移学习的方式对网络进行训练。针对上述2种公开网络结构,使用CTK测试集和训练集以1∶3的比例获取,使用MATLAB2019B深度学习工具箱、TITAN X GPU进行迁移学习。网络结构借鉴已经在开源网络上训练好的权重参数,对上述3种网络结构的全连接层、softmax层和输出层进行替换,并将全连接层设置为与新数据种类相同。图5为VGG19进行网络模型替换的前后对比,几种网络训练相关参数与结果如表2所示。
表2 各分类器参数结果
将准备好的测试集合(从测试样本集中选取350张图片进行测试),具体分类实验精度达到97.19%;并且相比于其他对比网络在占用空间和精度的双重考量下表现更良好。
2 设计蜕变测试方法
由于卷积神经网络的输入和输出并不存在一一对应的关系,因此使用传统黑盒测试思想设计的测试用例得出的结果置信度并不高。笔者使用SCNN网络来解决装备人机交互面板图像特征的分析问题。
蜕变测试是基于此类问题提出来的一个应对措施。依据网络特点设计图6所示的蜕变测试[11]方法,验证笔者提出的分类器识别技术是否有效。构造的蜕变关系一般来源算法本身的结构特性、相关测试程序的经验[12]。
2.1 蜕变关系构造
神经网络庞大的训练集以及黑盒特性[13]导致测试人员很难去构建完备的测试结果参照物[14]。蜕变关系的好坏直接决定蜕变关系的测试效率[15]。目前对于蜕变关系的识别大多从机器学习程序的算法性质出发,且无法找到待测试对象所有的蜕变关系,所以找到合适数量且有效的蜕变测试关系是研究的重点难点[15]。Liu等[16]在研究中发现,一些少量的蜕变测试关系检测被测件的能力与目前通用测试技术的测试能力相当接近。还发现3~6个这样的蜕变关系可以平均检测出实际应用中90%可能出现的故障[17]。目前图像领域的蜕变关系构建研究尚处于起步阶段且蜕变关系缺乏适用性。装备面板图像的采集过程中,得到的图片往往存在模糊、旋转、遮挡、曝光不足、过度曝光等问题。以这几个方面为出发点探索出3种蜕变关系应用于SCNN结构的检测和预测之中。
2.1.1 MR-1关系构造
MR-1关系的构造基于图像旋转变化。实验选取SCNN和数据集CTK,最大步数5 000。使图像旋转15°,30°,45°,60°,90°,置信水平为90%。重复测试10次防止实验误差和干扰因素,每次随机抽取500张图片样本进行测试,分类器识别效率如图7所示。
实验结果表明图像旋转确实影响SCNN识别机制,图像在旋转中会对局部依存性产生破坏[18]。经分析,实验测试集合的数据图像均为正向朝上,根据文献[11]可得,经过旋转变化的图像损失函数的收敛点相近。由此构建MR-1:
(1)
式中:X1表示源测试集;Xchange1表示旋转变化衍生测试集;f(X1,w1,b1)表示输入X1时SCNN损失函数的收敛点;f(Xchange1,w1,b1)表示输入Xchange1时SCNN损失函数的收敛点。
2.1.2 MR-2关系构造
假设微量的模糊变化不会对SCNN判定结果造成改变,当模糊超过一定程度会对SCNN分类结果产生较大影响。这些假设成立的先决条件是待识别控件图片背景色单一。选取SCNN和数据集CTK,最大步数5 000,设定高斯模糊系数1.8,模糊半径为1、2、3、5、8和10,置信水平为90%。重复测试10次防止实验误差和干扰因素,每次随机抽取500张图片样本,分类器识别效率如图8所示。
由实验结果可知,模糊变化对SCNN识别机制有一定影响能力。低模糊半径下衍生测试用例[19]Xchange对SCNN识别机制影响较少,高模糊半径下分类器识别机制已经遭到破坏。由此构建MR-2:
(2)
式中:X2表示源测试集;Xchange2表示低模糊半径变化衍生测试集;f(X2,w2,b2)表示输入X2时SCNN的输出;f(Xchange2,w2,b2)表示输入Xchange2时SCNN的输出。
2.1.3 MR-3关系构造
MR-3构造是基于图像的遮挡变化。实验选取SCNN网络和数据集CTK,最大步数5 000。使用遮挡比例10%、20%、30%、50%及60%,置信水平为90%。重复测试10次防止实验误差和干扰因素,每次随机抽取500张图片样本,得到的分类器识别效率如图9所示。
由图9可知,10%遮挡比例对SCNN识别机制无影响,当遮挡比例上升,对SCNN的识别机制产生影响[19]。由此构建MR-3:
(3)
式中:X3表示源测试集;Xchange3表示少量遮挡变化产生的衍生测试集;f(X3,w3,b3)表示输入X3时SCNN的输出;f(Xchange3,w3,b3)表示输入Xchange3时SCNN的输出。
2.2 实验结果
使用Mutpy[20]工具构造变异体M1-M9,如表3所示,这些变异体都是在SCNN网络结构程序编写过程中可能产生的常见错误。通过蜕变关系MR-1、MR-2、MR-3生成的测试数据依次在表3生成的变异体网络中进行训练测试,然后计算测试损失数据的最大偏差,大于0.5则认为蜕变关系杀死变异体[21],由上述步骤得到成功杀死变异体的蜕变关系过程损失数据如表4~6所示。3种蜕变关系执行变异体测试的结果如表7所示,其中√表示变异体被杀死。从表7中可以看到MR-1杀死了M8,MR-2杀死了M4、M6、M8这3个变异体,MR-3杀死了M1变异体,从而确定了寻找的3种蜕变测试关系的有效性[22]。
表3 变异体构造列表
表4 MR-1杀死M8过程损失数值表
表5 MR-3杀死M1过程损失数值表
表6 MR-2杀死M4、M6、M8过程损失数值表
表7 蜕变关系执行变异体测试结果
3 结论
笔者基于武器装备人机工程背景,借助机器学习技术构建了合理高效的SCNN分类器,经实验验证其精度保持在97.19%,运行内存占用率占目前主流网络结构的37%以下;并通过寻找到的蜕变测试关系验证了笔者提出的分类器识别技术的有效性。此外,针对本文应用技术的目前发展趋势,计划就以下两个方面开展后续应用技术研究:
1)目前蜕变测试关系仅可有效杀死一定的程序变异体,但蜕变关系建立与验证、变异体构造等还停留在从无到有的阶段。后续应对单个蜕变关系对整个待测程序的覆盖率等方面继续研究,因为只有明确了此类问题,才能提高蜕变关系的精准性。
2)目前的分类器搭建大多基于监督学习模式,该模式存在过度依赖训练数据的构造。且对于一些无法事先获得大量准确训练数据集的问题,会影响其结果准确性和充分性。因此需要对无监督学习方式神经网络技术开展更多的研究,以提高分类器的适应性和应用场景。