基于卷积神经网络的磁瓦表面缺陷识别

2022-06-27 08:29祝礼佳刘桂华
制造业自动化 2022年3期
关键词:识别率卷积样本

祝礼佳,刘桂华,林 杰

(西南科技大学 信息工程学院,绵阳 621010)

0 引言

永磁直流电机的使用的永磁材料由磁瓦加工而成,磁瓦的质量直接影响直流电机的质量[1]。在复杂的生产与加工过程中难以避免产出一些表面带有缺陷的劣质磁瓦工件。为了保证磁瓦以及基于磁瓦二次加工产品的质量,磁瓦质量监测是磁瓦生产工艺中不可缺少的一部分。传统人工缺陷检测存在工作效率不高、检测结果主观化、工件二次损伤等问题,进而有许多学者基于机器视觉进行磁瓦表面缺陷识别与检测。

基于传统机器视觉的方法进行磁瓦表面缺陷检测,检测精度较低且通用性较差。Li X等人[2]利用快速离散曲波变换重构低噪声图像,并使用边缘检测算法在重构的低噪声图像上实现磁瓦裂纹缺陷检测,该算法在图像采集过程中需要严格的光照条件。Yang C等人[3]结合平稳小波变换和自适应阈值分割算法提取磁瓦表面缺陷,该算法可以应用于不同的光照条件,但是对细小裂纹缺陷检测困难,检测精度较低。后[4]又提出结合非下采样的小波变换和包络灰度梯度算法实现磁瓦裂纹检测,只能检测单一的裂纹缺陷。

结合手工提取特征和传统机器学习的方法,针对不同图像需要人为地提取不同的有效特征。刘洪生等人[5]提取图像特征(面积、周长和中心几何距离)并输入高斯混合模型进行磁瓦好坏的判别,准确率为80%。杜柳青等人[6]通过提取多项特征输入支持向量机分类器进行磁瓦表面缺陷分类,该算法平均识别精度约为92%。

卷积神经网络具有强大的特征自主提取能力,逐渐取代了手工提取特征,并成功应用于目标检测[7,8]、图像识别[9,10]、图像分割[11]等多个研究领域。王昕钰等人通过改进VGG16全连接层实现了高铁接触网定位管开口销缺陷检测[12]。李启南等人改进B-CNN实现了轨枕挡肩裂纹图像细粒度分类,识别精度约93.89%[13]。目前,基于深度学习的磁瓦表面缺陷检测研究并不多。Yibin Huang等人通过分析磁瓦图像的缺陷特征计算显著图,并融合显著图和原图像输入改进的U-net网络实现缺陷自动检测,该算法对裂纹和气孔两类缺陷有较好的检测效果[14]。孙梦鸽提出基于密集生成对抗网络获得缺陷语义分割图像,并统计分割图像中的缺陷区域面积判定磁瓦的好坏,该算法需要人为设定分类阈值[15]。刘畅等人结合改进的U-net网络和分类神经网络实现磁瓦裂纹、断角等缺陷的自动检测识别,平均识别精度为94%[16]。

针对传统机器视觉算法检测磁瓦缺陷类别较为单一,机器学习算法识别率低的问题,提出基于深度学习进行多类别磁瓦表面缺陷识别。深度学习应用于磁瓦表面缺陷识别存在以下两个难点:1)磁瓦缺陷类图像样本量少,应用于深度卷积神经网络容易导致过拟合现象。2)磁瓦图像受到光照、角度、噪声等干扰因素较大,多类别的磁瓦表面缺陷识别算法的精确度与泛化能力有待提高。针对上述问题,本文提出结合改进的轻量级NASNet网络[16]与双线性模型[17]构建磁瓦表面缺陷识别网络,并且优化网络的优化函数与激活函数提高模型收敛速度与识别精度;同时利用Dropout、样本增强和迁移学习技术解决小样本难以训练深度卷积神经网络的问题,进而提高模型泛化能力。

1 构建磁瓦表面缺陷识别网络

1.1 网络结构

最新提出的NASNet网络在1000类的ImageNet数据集上可达82.7%的Top-1识别精度和96.2%的Top-5识别精度;其轻量级版本的NASNet在ImageNet数据集上也达到了74%的Top-1识别率和91.6%的Top-5识别精度[17]。表明NASNet网络对复杂场景中的多类别目标具有较强的分辨能力。考虑轻量级网络更加适合小样本学习,故选择轻量级NASNet网络进行磁瓦表面缺陷识别研究。

磁瓦表面缺陷图像具有缺陷区域与非缺陷区域外观差异小的特点,存在缺陷类别之间具有高度相似性的现象,导致部分缺陷样本识别难度大。研究表明,双线性模型能够捕捉细粒度图像的类间差异,有效提高细粒度图像的识别率[18]。为了提高磁瓦表面缺陷的识别率,在轻量级NASNet卷积网络的基础上,引入双线性模型构建磁瓦表面缺陷识别网络。

磁瓦表面缺陷识别网络采用两个完全对称的、改进的轻量级NASNet网络模型(去除顶层分类层)组成双线性模型实现5类磁瓦图像的自动分类,网络结构如图1所示,这种对称的双线性模型只需要进行一次卷积网络评估,运行速度快。模型分为两个阶段,第一阶段基于改进的轻量级NASNet网络提取图像特征,第二阶段基于双线性模型实现图像特征交互。

图1 磁瓦表面缺陷识别网络结构

1.1.1 基于改进的轻量级NASNet提取磁瓦图像缺陷特征

NASNet卷积网络复制堆叠性能最好的卷积单元应用于ImageNet数据集,卷积单元包括普通卷积单元(Normal Cell)和下采样卷积单元(Reduction Cell),设置普通卷积单元重复次数N=4获得轻量级NASNet网络模型,其网络层级信息如表1所示,由数据输入层、卷积层、普通卷积单元和下采样卷积单元、全局平均池化层和全连接层构成。NASNet-A架构下的卷积单元性能最佳,如图2所示。每个卷积单元由5个模块组成,每个模块包含2次基本构件操作(卷积或者池化)和1次特征图融合操作(逐点相加或者向量拼接)。普通卷积单元输出的特征图与输入图像尺寸相同;下采样卷积单元输出的特征图,其高度和宽度相比输入图像缩减2倍。

表1 轻量级NASNet网络结构表

图2 最佳卷积单元结构(NASNet-A)

为了减少磁瓦表面缺陷识别网络的参数量,同时减少特征提取后续操作的计算量,改进轻量级NASNet网络结构,对输出卷积特征进行降维处理。如表1所示,在普通卷积单元12后增加一层普通卷积层,卷积核尺寸为1,卷积核的数量为512,步长为1。在卷积操作前使用激活函数激活输入特征,在卷积操作后进行批量标准化处理。磁瓦图像尺寸调整为224×224×3,输入改进的轻量级NASNet卷积网络获得尺寸为7×7×512的磁瓦缺陷特征。

1.1.2 基于双线性模型实现图像特征交互

磁瓦表面缺陷识别的双线性模型B数学表达式为一个四元数函数,如式(1)所示,其中fA和fB表示特征函数,P是池化函数,F是分类函数。

双线性模型通过矩阵外积聚集fA和fB特征获得图像每一个位置的双线性特征bilinear,如式(2)所示,I表示输入图像,l表示图像上的空间位置。其中,fA和fB的特征图尺寸必须相等且大于1。磁瓦表面缺陷识别的双线性模型中,特征函数fA和fB是改进的轻量级NASNet网络输出的卷积特征,其维度是7×7×512。

为了进一步获得图像特征描述符,池化函数P聚集了图像上所有位置的双线性特征。如式(3)所示,L表示图像的所有位置集合,求和池化函数计算图像所有位置的双线性特征之和。假设fA和fB输出的特征维度分别为c×M和c×N,双线性模型图像特征描述符Φ(I)维度为M×N。磁瓦表面缺陷识别的双线性模型中获得的图像描述符Φ(I)维度为512×512。

图像描述符Φ(I)调整为1×5122的特征向量v,并进行有符号平方根和L2范数归一化。最后,分类函数F利用Softmax函数实现磁瓦表面缺陷的自动分类。双线性模型结构导致特征向量维度升高,为了避免小样本训练过拟合,在特征向量输出与全连接层之间增加一层Dropout层。Dropout层在网络训练阶段以概率p随机失活神经元,本文p取值0.5。

从直观的角度来看,双线性模型利用矩阵外积使得fA和fB卷积特征相互微调,相互约束,相互补充。磁瓦表面缺陷识别网络是对称的双线性模型结构,即利用卷积特征的二阶信息丰富网络的纹理等缺陷特征,提高磁瓦表面缺陷的分类精度。

1.2 优化算法

选择一个好的优化算法可以有效提高网络训练阶段的收敛速度与平稳性。轻量级NASNet模型的优化算法是RMSProp,具有处理非平稳目标的优点[19]。该算法引入衰减系数控制梯度平方和,避免了Adagrad算法随着迭代次数增加梯度平方和变大造成梯度快速下降趋近0,过早结束网络训练的问题;但是,衰减系数通常取值接近于1,容易导致训练初期梯度步长过大,进而造成目标损失在下降过程中产生大幅度震荡的问题,Adam算法通过增加初始化偏差修正解决了该问题。如图3所示,实验对比了上述三种优化算法对磁瓦表面缺陷识别网络性能的影响。与Adagrad算法相比,利用RMSProp算法与Adam算法网络识别率得到提升。其次,与RMSProp算法,Adam算法相比减小了损失值训练初期振荡的幅度,且损失值降到更低。故采用Adam算法作为磁瓦表面缺陷识别网络的优化算法,改善网络训练过程。

图3 优化算法对模型性能的影响

1.3 激活函数

激活函数是神经网络中非常重要的一部分,实现神经元的非线性映射。轻量级NASNet模型的激活函数是ReLU函数,该激活函数是最常用的,也是深度学习成功的重要原因之一[20]。ReLU激活函数是非饱和函数,抑制了Sigmoid和tanh激活函数容易出现的“梯度弥散”现象。其公式定义(4),x是非线性激活函数的输入。但是当x小于0时,ReLU激活函数无法激活神经元,进而容易导致网络训练不收敛。Leaky ReLU激活函数[21]利用一个较小的权值保留部分信息解决了上述问题,其定义如式(5)所示。

实验比较了ReLU、Leaky ReLU激活函数对磁瓦表面缺陷识别网络性能的影响,如图4所示,与ReLU激活函数相比,Leaky ReLU激活函数在识别精度与损失值都有更好的表现,且收敛速度更快。本文选择Leaky ReLU函数作为磁瓦表面缺陷识别网络的激活函数,提高模型的鲁棒性。

图4 激活函数对模型性能的影响

2 实验分析

实验使用的计算机CPU型号是Inter(R) Xeon(R) E5-2620 v4@2.1GHz,GPU型号为TITAN Xp,显存大小为12G,实验采用了NVIDIA提高计算加速方案;软件开发平台使用PyCharm集成开发环境,利用keras深度学习框架搭建磁瓦表面缺陷识别网络,实验操作系统为Ubuntu 16.04 。

2.1 数据集构建与样本增强

利用中科院自动化所收集的磁瓦表面缺陷数据集[14],从中选取了常见的4类缺陷样本(裂纹、断角、气孔、磨损)和一类无缺陷样本,如图5所示。原始数据集裂纹缺陷、断角缺陷、气孔缺陷、磨损缺陷与无缺陷样本数量分别为57张、85张、115张、32张、952张。原始数据集磁瓦表面缺陷类样本数量少,且存在严重的数据不平衡问题。

图5 磁瓦表面缺陷示例

针对磁瓦数据集样本量少的问题,本文选择样本离线增强方法。每类缺陷样本随机选择翻转、旋转、尺度缩放、裁剪4种常用的样本增强方式。最后,通过样本增强技术每类缺陷样本扩充至500张。针对数据不平衡问题,对无缺陷样本进行欠采样,从952张的无缺陷样本中随机抽取500张图像。实验磁瓦数据集由5类样本组成,总共2500张样本,随机抽取2000张作为训练集,剩下500张作为测试集。每类样本训练集400张图像,测试集100张图像。

2.2 基于迁移学习的网络训练

针对磁瓦数据集样本数量少,深度卷积神经网络参数量大,直接利用磁瓦图像训练深度卷积神经网络容易导致网络过拟合;进而出现在训练集上样本识别率高,在测试集上样本识别率低的现象。迁移学习可以有效减少小样本数据集应用于深度神经网络的过拟合现象,并提高网络的泛化性[22]。因此,提出基于迁移学习的磁瓦表面缺陷识别网络训练策略。

基于迁移学习的磁瓦表面缺陷识别网络的训练分为两个阶段过程。第一训练阶段,利用在大数据集ImageNet预先训练得到的权重参数初始化磁瓦识别网络的特征提取层(不包含分类顶层),并冻结特征提取层,然后利用磁瓦训练集驱动学习网络分类顶层的权重参数。第二训练阶段,解冻特征提取层,然后利用磁瓦训练集微调网络的所有参数。

网络优化算法为Adam,激活函数为Leaky ReLU,目标函数采用交叉损失熵,学习率为0.0001,样本批量大小batch_size为8,迭代周期epoch为50,其中第一训练阶段freeze_epoch设置为25。网络训练过程中的精度变化曲线与损失变化曲线如图6所示。模型训练过程平稳,收敛速度快,约15个周期收敛。测试集识别精度接近训练集识别精度,未出现过拟合现象。

图6 模型精度与损失变化曲线

2.3 模型性能比较

本文算法与VGG16[23]、BCNN[18]、轻量级NASNet[17]、轻量级NASNet结合BCNN算法进行比较。模型性能评价指标选择精确率、召回率、F1值、模型大小和运行时间。精确率也叫查准率,表示网络检测正确的样本占所有检测为正样本的比例;召回率也叫查全率,表示检测正确的正样本占所有检测为正样本的比例;F1值将精确率和召回率统一起来,值越大代表网络性能越好。针对多分类任务,依次取一类作为正样本,其余的类别作为负样本计算性能指标,最后计算所有类别精确率、召回率和F1值的平均值和中值作为衡量网络性能的指标。

网络模型性能对比结果如表2所示,轻量级NASNet结合B-CNN构建的网络模型大小为38.46M,本文算法模型大小为23.92M,模型大小降低了37.8%。本文通过改进轻量级NASNet模型结构,大大减少了模型参数量,利于小样本学习。引入双线性模型增强了模型特征表达力,提高了网络的识别精度。VGG16结合双线性模型识别率提高3.42%;轻量级NASNet结合双线性模型识别率提高1.24%。本文算法结合改进的轻量级NASNet与双线性模型,并进一步优化激活函数与优化算法,精确率、召回率、F1值的均值为98.80%、98.84%、98.80%,实现了多类别磁瓦表面缺陷的高精度识别。

表2 模型性能对比

磁瓦表面缺陷的分类结果如表3所示,气孔与裂纹容易误检为无缺陷,这是因为部分气孔缺陷与裂纹缺陷特征表现不明显。本文算法在断角、磨损以及无缺陷类别识别率都达到了100%;气孔类、裂纹类缺陷识别率为97%。与轻量级NASNet网络模型相比,气孔类缺陷识别率提高了7.77%,断角类缺陷识别率提高了2.04%,磨损类缺陷识别率提高了4.16%,算法平均识别率提升约2.49%。

算法平均一张图像识别所耗时间如表3所示,轻量级NASNet结合双线性模型识别一张图像大约需要51.93ms,本文算法识别一张图像大约需要50.01ms,大约减少了3.70%。本文通过改进NASNet模型结构降低了模型计算量,提高了模型的运行速度。本文算法识别所耗时间相比VGG16网络较长,但满足工业需求。

表3 算法识别时间对比

综上所述,本文算法实现了小样本多类别磁瓦表面缺陷的高精度识别。

3 结语

针对磁瓦表面缺陷图像背景噪声大,亮度不均匀,缺陷特征不明显导致缺陷识别困难的问题,结合改进的轻量级NASNet和双线性模型构建网络实现磁瓦表面缺陷的自动分类。算法改进了轻量级NASNet的模型结构,模型参数降低了约37.8%,模型运行时间减少了约3.70%;并优化了网络模型的优化算法与激活函数,改善了网络训练阶段的收敛过程,有效提高了算法的识别精度。其次,针对数据集样本量少,引用迁移学习、Dropout技术以及数据增强技术,实验表明,未出现过拟合现象,本文算法在5类磁瓦数据集实现了高精度识别。

猜你喜欢
识别率卷积样本
基于3D-Winograd的快速卷积算法设计及FPGA实现
用样本估计总体复习点拨
卷积神经网络的分析与设计
从滤波器理解卷积
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
规划·样本
基于傅里叶域卷积表示的目标跟踪算法
档案数字化过程中OCR技术的应用分析
随机微分方程的样本Lyapunov二次型估计
科技文档中数学表达式的结构分析与识别