基于多重注意力机制的电机磁瓦表面缺陷检测

丁龙飞,曾水玲

(吉首大学 信息科学与工程学院,湖南 吉首 416000)

电机磁瓦又称为永磁铁氧体磁瓦(简称磁瓦),是汽车、家电行业广泛应用的电动机的重要组成部分。电机磁瓦生产过程中因工艺制作技术和碰撞的影响不可避免会产生磁瓦缺陷,因此对磁瓦质量的检测成为工业检测中的必需流程。近年来基于数字图像处理的视觉检测方法因其速度快、准度高、成本低等优势,逐渐成为缺陷检测的主要检测方法,并广泛应用于工业生产的各个领域[1-5]。从深度卷积神经网络(Convolutional Neural Networks,CNNS)提出后,积极促进了计算机视觉方向的发展,让缺陷检测的方式有了新的可能。国内外对基于深度学习[6]的缺陷提取技术进行了不同程度的研究。ImageNet竞赛中,许多优秀的网络模型已经被发现和突破,自AlexNet[7]的提出,网络不断加深,为获得更多的特征表现,VGGNet[8]表明了在堆叠形状相同的卷积块,通过增加网络深度来获得更多的特征细节,对目标检测识别和实例分割会产生相对较好的效果。ResNet[9]将相同的残差块叠加起来,以构建极深的网络体系结构,极大提高了CNNs性能。GoogLeNet[10]的提出表明除了深度外,影响网络模型性能的另一个关键因素是宽度,在CIFAR数据集测试中,宽度甚至可以拥有超过1001层的极深的ResNet网络,在网络宽度上进行改变使网络性能确实得到一定的提升。其中较为典型的网络为VGG19[8]、ResNet34、ResNet50、ResNet101等不同宽度的网络。而VGG、Inception[11]系列和ResNet系列这三个网络模型在众多神经网络中脱颖而出,并在不同的任务领域都有着优异的表现。对这三个神经网络模型进行筛选时,可以看出VGG模型网络结构简单,因此层次较浅,同样对于Inception系列模型网络来说,又显得相对复杂,而ResNet系列模型相对于Inception网络来说结构简单,且当残差结构的引入,能够使得在网络深度较大时不容易产生梯度爆炸和梯度消失等现象,ResNet网络模型性能强大,在许多图像特征提取过程中有着出色的表现,因此也被多次作为众多神经网络模型的骨干网络,更有研究意义。由于在对缺陷检测中对缺陷图像进行图像分类时也要考虑到模型的速度以及精度,该文研究使用ResNe系列网络模型中的最流行的ResNet50网络模型。

磁瓦缺陷目前的一些算法[12]都是基于Mask-RCNN[13]的2-step模型,通过选取检测候选框后再识别,这样两阶段训练时间长,识别时间慢,不适合在实际生产中应用。从实际看电机磁瓦缺陷检测最主要是为了筛选残次品,以及区分残次品的类型,因此端到端模型更适合磁瓦缺陷检测任务。

为防止ResNet50网络模型在训练时产生过拟合现象,在网络模型的最后一个卷积层加入Dropout[14]层,通过网格搜索方法寻找最优的超参数组合确定失活率(Dropout Rate)以及隐藏层新增的神经元个数。为了使网络能够自动学习需要注意的每个特征通道和空间的重要程度,引入注意力模块(Convolution Block Attention Module,CBAM)[15],将CBAM模块加进ResNet50网络中,对每个块中的卷积输出引入CBAM模块。实现了对无关特征的弱化,强调重要特征,提高了对磁瓦缺陷分类的准确率,减少了缺陷检测分类的漏检率和误检率。

主要贡献如下:

(1)提出一个端到端的目标检测模型来代替目前常见的两阶段目标检测网络,简化检测流程。

(2)在ResNet50网络结构中引入CBAM模块,突出重要特征提高对磁瓦检测的准确性。

(3)引入网格搜索方法来寻找最合适网络模型的超参数,提升系统的性能。

残差网络ResNet系列结构是目前深度学习中最为典型的网络结构。所有的残差网络都由残差块组成,残差块有两条路径分支,一种是连接常规卷积块路径,另一种为skip connection捷径连接路径,根据网络的捷径连接路线是否进行卷积运算分为两种不同的残差块结构,如图1所示。

图1 残差块网络结构

通过图1的恒等残差块(Identity Block)以及卷积残差块(Conv Block),堆叠组成了ResNet50的网络结构中第二阶段到第五阶段的卷积层。ResNet50等残差网络模型的第一个阶段都是首先将112×112的图像进行一次7×7的卷积以及一次步长为2的3×3的最大池化下采样操作,使图像从112×112变为56×56,第二个阶段到第五个阶段,每个卷积阶段分别对应L=[3,4,6,3]个“1×Conv Block+(L-1)×Identity Block ”的残差块组合[16]。除此之外整体网络的最后一层为一个全连接层,因此得到整体网络的层数为:

1+(3+4+6+3)×3+1=50,因此得名ResNet50。ResNet50网络模型如图2所示。

图2 ResNet50的网络结构

2.1 基于ResNet50的结构改进

在ResNet50模型结构中,参数的微调对训练结果影响较大。电机磁瓦缺陷检测分类任务不同于一般的图像处理分类任务,在磁瓦缺陷检测分类中,检测场景较为单一,虽然缺陷类型多但是各类别的缺陷易被识别,在分类任务训练中容易对局部特征产生依赖,导致过拟合现象发生。为防止此现象发生,引入随机失活(Dropout)网络层来加强局部神经元的表达能力,有效解决过拟合问题,提高网络的分类精度以及泛化能力。Dropout层的原理是在训练中将一部分隐藏层中的神经元按照设定的丢弃概率(Rate)暂时失活,以此来降低全连接层中神经元之间的密切依赖,减少过拟合现象的发生。

通过Bernoulli函数来设置神经元i的随机失活向量rj,其中Bernoulli函数是为了随机生成一个0-1向量,当向量为0时,神经元失活;
当向量为1时,不对神经元进行操作。以此来表示Dropout层中神经元i的失活情况,p为存活概率。由r(s)来表示所有神经元的失活向量矩阵:

(1)

(2)

(3)

(4)

式(1)和式(2)为神经元的随机失活处理,式(3)和式(4)为未经失活处理的神经元的前向传播计算公式。

在ResNet50隐藏层中引入Dropout层,隐藏层的神经元个数和设定的失活概率会影响网络模型性能,采用网格搜索方法来最终确定对于Dropout网络层最合适的参数组合。网格搜索法是通过不同的参数搭配,统计出每个参数组合后的网络模型的精准率和召回率,取训练效果最好的一个参数组合作为网络的参数组合,得到最终改进的网络模型。在网格搜索中,首先根据训练经验来设置参数,该文根据一般网络设置了新增卷积层神经元设置为可供选择的[0,64,128,256,512,1 024]以及设置可选择的失活的概率[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9]。当失活概率为0时,即不进行失活处理,当选择的新增神经元为0时,即不添加任何新增神经元。当不为0时即为简单的迁移学习网络模型。对于电机磁瓦缺陷图像设置为正样本,无缺陷图像设置为负样本。F1-score为分类问题的一个重要衡量指标,它是精确率(precision)和召回率(recall)的调和平均数,数值集中在区间[0,1]之间,即:

(5)

选用F1-score来评价各组合的模型。选取前五个最优的模型输出组合,如表1所示。

表1 前五个最优组合的模型输出结果

由表1可知,对于该文使用的磁瓦缺陷图像数据,最佳的网络组合为Dropout Rate为0.3,隐藏层Dense神经元的数目为256。改进后的ResNet50网络在最后一层全连接层中加入Dropout层,将最后一层分类变成5类,分别对应电机磁瓦的五种缺陷类型。改进后的ResNet50的网络结构见图3。

图3 改进后的ResNet50网络结构

2.2 在ResNet50模型中增加注意力机制模块

增强卷积神经网络性能的方式有许多,前些年,许多神经网络通过增加神经网络的层数来强化性能,也有使用更大的卷积核来增加感受野获得更多的图像细节,以此来提高网络性能。目前最为普遍和实用的提高网络性能的方式为注意力机制。SE-Net[16]首次提出了通道注意力,其有效机制可以建立不同特征之间的空间相关性,提高了神经网络模型性能。随后,基于SE-Net模型,注意力机制CBAM被提出,CBAM与SE-Net的区别在于CBAM增加了空间注意力模块,用包含通道注意力和空间注意力两个模块的网络来提高网络的性能。CBAM的结构如图4所示。

CBAM模块首先将输入的特征图通过一个通道注意力模块,得到加权结果之后,再经过空间注意力模块,通过加权得到最终的特征图。在磁瓦缺陷检测中无关重要的背景不是需要关注的目标,只需要把更大的权重分配给缺陷特征,将注意力集中在缺陷特征,因此通过CBAM模块来提升提取缺陷特征的能力。而对于CBAM模型中的通道注意力模块,需要经过两个全连接层来构成通道间的相关性,再经过Sigmoid非线性激活函数产生每个通道的权重,虽然这个做法会有效降低维度但却会导致局部信息丢失,使精度下降。分析后决定将两个全连接层用1×1的卷积层代替,增强通道间的相关性,减少局部信息丢失现象。改进后的注意力机制网络[17]如图5所示。

图4 CBAM结构

图5 改进后的注意力机制结构

改进的注意力机制具体表示为:

M1=Mc(F)⊗F

(6)

M2=Ms(Mc(F)⊗F)

(7)

F′=M1⊗M2

(8)

式中,F∈C×H×W为输入特征图,C、H、W分别表示特征图的通道数、高和宽;
Mc∈C×1×1和Ms∈1×H×W分别表示通道注意力模块和空间注意力模块;
⊗σ表示逐元素乘法;
M1表示特征图F与MC进行矩阵乘法运算,M2表示特征图F与Ms进行矩阵乘法运算。F′∈C×H×W为最终输出。

对于通道注意力Mc∈C×1×1,经过全局最大池化和平均池化,分别记为和随后经过卷积计算得到权重C1Dk,并对C1Dk的两个输出进行权重计算,最后经过一层Sigmoid激活函数得到最终的通道注意力特征图,用数学方式表示为:

(9)

对于空间注意力Ms∈1×H×W,第一步本模块的输入特征图使用的是经过通道注意力模块后得到的特征图,再经过两个池化操作得到的结果分别记为1×H×W和第二步将和合并,变成一个含有双通道的特征;
第三步使用了7×7的卷积核将含有两个通道的特征图降维,变成了单通道。这样做的目的是为了使得维度前后一样,方便特征的融合;
最后经过Sigmoid激活后输出最终的空间注意力特征权值[18]。可简单描述为:

通过改进的ResNet50和增加的CBAM模块得到整个融合注意力机制的残差网络结构,整体的电机磁瓦缺陷检测网络模型如图6所示。

图6 融合注意力机制的残差网络结构

3.1 实验环境

实验环境:Win10系统,Inter i5-9300H处理器,NVIDIA GeForce RTX 2060显卡两张, Python 3.6,Pytorch环境,CUDA10.1。在训练过程中,选择能够高效计算的Adam优化器,学习率设置为1e-4,选择交叉熵损失函数(Cross-entropy)作为损失定义函数,批大小为16,迭代次数为100次。

3.2 数据集

采用的开源数据集来自文献[19],在整个数据集中,共有五种磁瓦缺陷图像以及无缺陷的样本1 335张,其中有气孔缺陷115张,破损缺陷85张,裂纹57张,磨损32张,无缺陷952张,起层94张。在数据集中的正负样本比例为2∶5。训练集与测试集比为7∶3。

3.3 评价指标

常见的评价指标主要有精准率(precision)、召回率(recall)、平均精确率(average precision,AP) 以及平均精确率均值(mean average precision,mAP)。

在缺陷检测中进行分类任务时,需要对图像进行不同的分类,因此使用mAP更符合需要。mAP的值越大,表示该模型的定位与识别的准确率越高。其定义如公式(11)所示:

(11)

使用全类平均准确率(mAP)作为评价指标,对所有种类求其平均精准度能够合理地反映网络的性能。

3.4 结果分析

为选取最优的ResNet结构,将不同层数的ResNet网络在磁瓦缺陷检测数据集上进行训练,选取其中训练表现最好的ResNet系列网络。使用ResNet18、ResNet34、ResNet50在磁瓦缺陷数据集中进行训练,实验对比如表2所示。

表2 前五个最优组合的模型输出结果

由表2可知,ResNet50在磁瓦缺陷检测分类任务中的表现最好,在没有改进的情况下缺陷类别检测准确度达到了96.92%,高于其他层数的ResNet模型,决定选取ResNet50模型作为整个网络模型的骨干网络,并在其基础上进行改进和实验。首先在ResNet50模型中加入CBAM模块,通过增加通道注意力模块和空间注意力模块,增强了缺陷特征提取能力, 提高原网络模型的性能,将此ResNet50-CBAM模型训练后观察训练效果,ResNet50-CBAM模型的训练收敛效果如图7所示,经过100个epoch,网络模型收敛程度明显好于原ResNet50网络。

图7 改进的ResNet50与原网络损失下降曲线

在ResNet50-CBAM模型的基础上,将Dropout层加入ResNet50-CBAM的最后一层中的全连接层,防止训练过程中过拟合现象的发生,在训练中各类缺陷检测的精准度如表3所示。

表3 同网络模型在各类缺陷的精准度对比

由表3可知,在训练过程中,模型在气孔(Blowhole)和破损(Break)两类缺陷分类中的识别准确度达到了非常高的水平,而在磨损(Fray)中的检测精准度较低。结合图7和表4,对实验进行对比分析。实验中对ResNet50模型,分别引入了CBAM模块和Dropout层,改进后的ResNet50模型相比较原网络mAP值提升了1.3%,在一定程度上提升了识别精准度。

实验证明,在加入CBAM模块后,网络模型收敛能力得到了明显提升。CBAM模块主要作用是增强网络对缺陷类型的特征提取能力,降低漏检率和误检率,提升网络的性能。最后增加Dropout层,在ResNet50-CBAM模块中增加了Dropout层。由表3可知,在网络中加入Dropout层后,整体网络对各个类别的精准度有不同程度的提升。通过pytorch内置的计时工具和同步工具profile的percall函数,测试了在每个epoch中,改进的ResNet50-CBAM所使用时间比原模型平均多了78 ms,相较于性能的提升可以忽略不计。

原ResNet50-CBAM网络在各类缺陷检测中的mAP为0.955 6,改进的ResNet50-CBAM的mAP达到0.969 2,比原网络提高了1.3%。

在训练过程中的精准度对比见图8。可以较为清楚地看到,改进的网络有效提高了网络性能,但还是存在一定的误检。综合看来,改进的网络相对于原网络在性能上取得了一定的提升。

图8 ResNet50-CBAM改进前后准确度对比

提出一个端到端的目标检测模型来代替目前常见的两阶段目标检测网络,简化检测流程。采用ResNet50网络模型作为backbone,针对训练中耗时长且较为依赖局部特征容易发生网络模型过拟合导致分类精度下降的问题,提出在全连接层中加入Dropout层防止过拟合现象的发生,并通过网格搜索法来寻找最优的超参数组合,确定增加的隐藏层神经元个数和失活率(Dropout Rate)。为了让网络学习重点放在缺陷特征上,增加注意力模块CBAM来加强网络性能。CBAM模块是一个轻量级的模块,带来的计算复杂度基本上可以忽略不计,通过空间注意力模块和通道注意力模块来强调重要特征,提高了对磁瓦缺陷分类的准确率,减少了缺陷检测分类的漏检率和误检率,简化了以往的二阶段模型。实验表明在磁瓦缺陷检测中,改进的ResNet50模型比原模型mAP值高了1.3% ,在实际应用中也能够在工业流程中有效去除有缺陷的电机磁瓦。后续可以将模型反应速度做得更快,并且能精准地对不同的缺陷进行识别分类,之后也能在此基础上对模型进行更多的改善。

猜你喜欢 失活残差注意力 中科院物理研究所等发现钠通道快速失活新机制科学导报(2022年28期)2022-05-24基于双向GRU与残差拟合的车辆跟驰建模网络安全与数据管理(2022年3期)2022-05-23让注意力“飞”回来小雪花·成长指南(2022年1期)2022-04-09基于残差学习的自适应无人机目标跟踪算法北京航空航天大学学报(2020年10期)2020-11-14研究揭示哺乳动物高温保护机制发明与创新·大科技(2019年6期)2019-09-06基于递归残差网络的图像超分辨率重建自动化学报(2019年6期)2019-07-23“扬眼”APP:让注意力“变现”传媒评论(2017年3期)2017-06-13A Beautiful Way Of Looking At Things第二课堂(课外活动版)(2016年2期)2016-10-21综合电离层残差和超宽巷探测和修复北斗周跳中国惯性技术学报(2015年1期)2015-12-19Antipulp和亚砷酸失活剂用于恒磨牙牙髓失活的效果比较中国乡村医药(2011年10期)2011-08-30

推荐访问:注意力 缺陷 电机