基于轻量级卷积神经网络的实时缺陷检测方法研究

2019-06-27 09:32
计算机测量与控制 2019年6期
关键词:卷积神经网络深度

(浙江工业大学 信息工程学院,杭州 310023)

0 引言

在传统的工业生产流水线上,对磁片的缺陷检测主要是以人工检测为主。随着智能信息化技术的发展,目前缺陷的自动检测方法主要分为两类。一种是使用传统的模式识别对表面缺陷进行检测。Yang等[1]提出了一种利用平稳小波变换的新方法,用于在图像中自动检测各种光条件下的低对比度缺陷。Xie等[2]提出了一种基于剪切变换的磁瓦图像缺陷提取方法。蒋红海等[3]将轮廓长度、相似度等作为特征向量,将支持向量机与凸凹缺陷相结合进分类检测。由于磁片表面缺陷不明显,纹理复杂和对比度低等难点,使用传统的模式识别方法对磁片表面缺陷进行检测存在通用性低和适应性不强等缺点。另一种则是基于卷积神经网路的方法来对缺陷图像进行识别和分类的。自Krizhevsky 等[4]提出的AlexNet网络在ImageNet图像分类任务中取得了最好的成绩,开启了卷积神经网络的新纪元。为了进一步改善网络的性能,提高网络模型的分类检测的精度,使网络模型在实际中有更广泛的应用。研究者从网络的结构和应用等方面提出了VGG[5]、GoogLeNet[6]、ResNet[7]、Xception[8]等一系列性能优良的网络。

在这些性能优良的卷积神经网络结构中,网络的深度越深和每层特征面数量越多,网络能够表示的特征空间也就越大,网络学习能力也越强[9]。虽然通过增加网络的深度和每层网络的特征面数量,使网络的性能得到了大幅度的提升。但是卷积神经网络的模型会随着网络深度和特征面数量变得越来越复杂,网络中的参数会大大增加,网络模型的计算量也会增加。因此会导致网络的实时性检测效率变低。

影响网络的实时分类检测效率主要是由于模型的存储大小和模型进行预测时的延时而引起的。对于模型的存储而言,当网络的层数达到一定深度时,网络中需要保存的权值参数时巨大的,而保存大量的权值参数对设备的内存要求很高[10]。深度卷积神经网络模型当中会存在大量的参数冗余。这种冗余会对计算资源和存储资源造成巨大的浪费。因此减少网络模型的参数数量以及降低计算的复杂度是减少延时的核心所在。网络裁剪是通过寻找一种有效的评判手段来判断参数的重要性,将不重要的连接或者滤波器进行裁剪来减少网络的冗余。Song等人[11]提出了一种几乎无损的网络裁剪压缩方法。Li等人[12]提出了基于量级的裁剪方式,通过权值大小来作为滤波器的评价指标。核的稀疏化是在训练的过程中对权重的更新加以正则项进行引导,使其更加稀疏。Wen等人[13]提出了一种能够学习一个稀疏结构的学习方式来降低计算消耗。虽然通过网络裁剪和核的稀疏化方法减少了网络参数,但是有些权重很小的参数会对模型的精度产生影响。而在磁片的实时缺陷检测系统中,不仅需要考虑延时性问题,还需要考虑检测精度的问题。因此设计出一种轻量级高效低延时的卷积神经网络架构MagnetNets,使整个磁片缺陷检测系统具有高精度低延时的特点。

1 MagnetNets网络架构

基于深度可分离卷积和通道混洗,本文设计了一种轻量级的卷积神经网络架构。在本部分首先介绍深度可分离卷积,然后介绍通道混洗,接着介绍由深度可分离卷积和通道混洗搭建而成的MagnetNets模块,最后介绍本论文提出的轻量级卷积神经网络的架构。

1.1 深度可分离卷积

深度可分离卷积是将标准的卷积方式因式分解为深度卷积和逐点卷积。深度卷积是将输入的特征图谱逐通道进行卷积,一个卷积核负责一个通道。通过深度卷积得到的每一个特征图谱,不能够包含输入特征图谱的所有信息。因此采用逐点卷积的方式将深度卷积输出的特征图谱再次进行多通道卷积,使信息能够尽可能的保留下来。通过深度可分离卷积可以在保证信息流通顺畅的情况下,减少模型的参数数量。深度可分离卷积与Xception中提出的Inception模块的极端形式是一致的。图1显示了如何将标准的卷积结构变成深度可分离卷积。

图1 标准卷积和深度可分离卷积

1.2 通道混洗

通道混洗操作是在组卷积的操作上实施的。分组卷积的概念最早是在AlexNet中引入的。它通过将输入的多个特征图谱分成多个组数,然后对每个组分别进行卷积,随着将输入图谱的组数增加,所需要的网络参数量会大大减少,模型的计算速率也会随之增加。但是当多个分组卷积堆叠起来的时候,每个输出通道只能从有限输入通道获得信息,即一个组的输出只和这个组的输入有关,限制了模型的表达能力。在组卷积的基础上通过通道混洗操作,将输出的每一个组的特征图谱重新分配到每个组中,使每个组的输出都有来自其他组的上一层输入。图2显示了组卷积和组卷积与通道混洗的联合操作。

图2 组卷积和组卷积与通道混洗

1.3 MagnetNets模块

本论文所提出的网络结构主要受到MobileNetV2[14]网络模型的启发。通过组卷积和通道混洗替换1x1的逐点卷积,然后结合深度可分离反转残差卷积模块(如图3所示),构建了一种新的卷积神经网络的基本模块,我们将这种新提出的基本模块命名为Magnet,如图4所示。深度可分离的反转残差卷积模块是将深度可分离卷积和残差网络的跳远连接结合起来所形成的一个网络模块。Magnet模块主要使用了3个重要策略:1)延续MobileNets[15]中用大量1x1的卷积模块,同时采用组卷积和通道混洗相结合的方式取代1x1的卷积模块。由于1x1的卷积模块的参数数量只有3x3卷积模块参数数量的九分之一,同时将1x1的卷积进行分组,可以使参数数量随着组数的增加而减少,这种改进可以在保证精确度不降低的情况下减少网络模型的参数数量;2)反转残差。先通过一个1x1的卷积层把特征图谱的通道数扩张,然后在深度可分离卷积后再将通道数压缩回去。直接采用残差块中的跳远连接先进行压缩,会导致深度可分离卷积层提取到的特征数量减少,影响模型的精度。因此采用反转残差先将通道数扩张后再压缩;3)线性激活。经过反转残差以后,最后输出的特征图谱需要压缩。由于Relu函数的特性,对于负的输入,输出全为零。当对压缩后的特征图谱采用非线性的Relu函数激活,会损失已有的特征,降低模型的表达。因而,采用线性函数进行激活。

图3 深度可分离反转残差卷积

图4 Magnet模块

MobileNetV2网络模型中采用大量的1x1的逐点卷积方法取代3x3的标准卷积,而在该模型中,1x1的卷积方式占据大部分的计算量。本论文提出的方法通过组卷积和通道混洗替换1x1的逐点卷积,然后结合深度可分离反转残差卷积模块构成Magnet模块。它比使用深度可分离反转卷积模块构成的MobileNetV2更小,但是性能更加优越。

MagnetNet模块将DK×DK×M作为深度可分离卷积核的尺寸大小,一个DI×DI×S大小的特征图作为输入,一个DF×DF×N大小的特征图作为输出。DK是可分离卷积核的特征图谱大小,DI是输入特征图的图像尺寸,DF是输出特征图的图像尺寸,M是深度可分离卷积核的个数,S是输入特征图的通道数量,N是输出特征图的通道数量。设定L为通道扩张的数量,G为组卷积分的组数,中间输出的特征图和输入特征图的尺寸大小一样。

则MobileNetV2模块的计算量为:

CMobileV2=1×1×S×DI×DI×L+

DK×DK×M×DI×DI+1×1×M×DF×DF×N

(1)

MobileNetV2模块的参数量为:

NMobileV2=1×1×S×L+DK×DK×M+

1×1×M×N

(2)

而Magnet模块的计算量为:

(3)

Magnet模块的参数量为:

(4)

通过组卷积和通道混洗替换逐点卷积再和深度可分离反转残差卷积构建而成的Magnet模块的计算量与MobileNetV2的计算量比值为:

(5)

Magnet模块的参数量与MobileNetV2的参数量比值为:

(6)

当卷积层的输入以及中间层的输入特征图和输出特征图的尺寸大小一样时,并在经过通道混洗保证通道间信息流通的情况下,当组数G设置较大的时候,Magnet模块的参数量和计算量是远小于MobileNetV2模块的。

1.4 MagnetNets网络结构

MagnetNets的总体结构是一系列的Magnet模块和一些普通的卷积层组合堆叠起来的。如图5显示了MagnetNets网络的整体架构以及该架构中的各种模块类型。MagnetNets由一个输入尺寸为标准卷积层开始的,再与一些Magnet模块堆叠,然后通过一个不带任何参数平均池化。在最后一层卷积层的输出中通常会以一个全连接层作为输入,但是全连接层中的参数数量非常庞大,可能会导致过拟合,降低模型的表达效果。因此采用全局平均池化[16]来代替全连接层,同时搭载一个增加网络泛化能力的Dropout层,避免过拟合的发生。最后将Dropout层中的输出作为Softmax分类器的输入对图片进行分类和检测。

图5 Magnets网络架构

2 实验结果与分析

为了评估出本文提出的MagnetNets网络模型的性能,我们在ImageNet公用数据库的图像分类数据集上对MobileNets、ShuffleNet[17]、Xception、MobileNetV2、MagnetNets网络模型进行对比实验。然后将MagnetNets网络模型应用于磁片缺陷检测系统中对缺陷实时识别。实验结果表明MagnetNets网络模型具有很好的检测精度和泛化能力,并且在模型大小上面更加的轻量化。同时使整个磁片缺陷检测系统具有高精度低延时的特点,提高了检测的效率和精度。

2.1 模型评估

ImageNet是一个计算机视觉系统识别项目,是目前世界上图像识别最大的数据库。本文在ImageNet的分类图片数据集上对MobileNets、ShuffleNet、Xception、MobileNetV2、MagnetNets网络模型进行训练和测试。使用TensorFlow框架对模型进行训练,并采用Xavier来初始化网络模型的参数,将AdamOptimizer作为优化器的优化算法。同时在每一层之后使用批量标准化(batch normalization),批处理大小(batch size)为96,权重衰减(weight decay)为0.00004。初始学习率(learning rate)设置为0.045,学习率的衰减率(decay rate)为每代的0.98。实验结果及与其他网络模型的对比的数据如表1所示。实验结果表明,在精确度方面,MagnetNets网络模型能够达到MobileNetV2等网络模型的准确率,在模型的大小上面,MagnetNets网络模型比其他的几种网络更加轻量化。

表1 各网络模型的对比结果

2.2 缺陷检测

磁片缺陷检测系统主要由传送模块、视觉模块、分类检测模块、分拣模块4个部分组成,如图6所示。传送模块主要是在传送带上对生产打磨出来的磁片进行传输。当传送带上的磁片达到指定的视觉模块区域时,视觉模块对传送带上的磁片图像进行实时的采集。然后将采集到的图片送入由MagnetNets网络模型组成的分类检测模块中,来判断磁片是否具有缺陷,同时判断出缺陷是属于哪一种类型的。最后将缺陷检测的结果以信号的形式发送给分拣模块,分拣模块中的机械手根据信号将不同类型的缺陷分拣放置到不同的地方,从而完成整个磁片缺陷检测系统对磁片的分类。

磁片缺陷检测系统中的分类检测模块主要是使用磁片数据集对MagnetNets网络模型进行训练,网络模型训练时的loss曲线和训练精度如图7所示。其中磁片主要分为“正品”、“掉皮”、“开裂”、“缺角”四类磁片,如图8所示。

图8 磁片示意图

在磁片的4种类型数据集中,“正品”和“掉皮”的数据集占据大部分,而“开裂”和“缺角”的数据集较少。为了防止在训练过程中,由于数据集不均衡而导致模型的性能下降,因此采用旋转和添加椒盐噪声的方式来扩展“开裂”和“缺角”的磁片数据集。

通过系统的实时性检测与评估,当磁片缺陷检测系统中加入MagnetNets网络模型后,检测过程中可以达到30 ms/个,同时磁片的检测精度达到了97.3%,提高了磁片缺陷检测系统的检测效率,节约了人力成本。

3 结束语

本文提出了一种基于轻量级卷积神经网络的实时缺陷检测方法。首先通过通道混洗和深度可分离卷积搭建出组成MagnetNets网络模型的MagnetNet模块,然后在公开数据集ImageNet上对MagnetNets网络模型进行性能和模型大小的评估。接着通过旋转和添加椒盐噪声的方式来扩展不平衡的磁片数据集,并放入所提出的轻量级卷积神经网络模型中进行训练,最后将训练好的轻量级卷积神经网络加入到磁片缺陷检测系统的分类检测模块中完成分类。通过系统的实时性分析,在提高检测速度的情况下仍然能够达到高精度的分类。但是由于不同形状的磁片需要重新对模型进行训练,该检测系统还不能针对于可变的磁片形状进行检测。因此下一步的研究方向放在具有自我发育机制的缺陷检测上面。

猜你喜欢
卷积神经网络深度
基于全卷积神经网络的猪背膘厚快速准确测定
基于神经网络的船舶电力系统故障诊断方法
四增四减 深度推进
深度思考之不等式
MIV-PSO-BP神经网络用户热负荷预测
基于改进Hopfield神经网络的对地攻击型无人机自主能力评价
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
简约教学 深度学习