基于改进分割决策网络的铝材表面凹坑缺陷检测

2021-04-20 02:30阳,
陕西科技大学学报 2021年2期
关键词:铝材卷积样本

曹 阳, 卢 军

(陕西科技大学 机电工程学院, 陕西 西安 710021)

0 引言

在工业生产中,质检作为确保成品质量的关键环节,在工业生产自动化中具有重要的意义.在铝材制造行业,铝材的表面质量是评价铝材质量的一个重要指标[1],传统的缺陷检测技术主要依靠机械式检测方法,如电涡流检测、漏磁检测等,但其检测原理具有局限性,无法广泛应用[2].近年来随着机器视觉与深度学习技术的兴起,利用图像处理技术来进行表面缺陷检测成为主流.

机器视觉作为一种无接触、无损伤的检测手段,在工业生产自动化、智能化过程中具有重要的作用,在工业缺陷检测得到了广泛的应用.徐科等[3]利用Tetrolet变换从热轧钢板图像中提取低维特征向量,再送入支持向量机进行缺陷分类,分类识别准确率达到了97.38%; Shafarenko等[4]通过提出一种新的颜色相似性度量方法,配合分水岭分割算法,实现了对随机纹理表面缺陷的检测;李良福等[5]针对桥梁裂缝,利用伽马变换等算法对图像进行重新生成,突出其缺陷特征,再进行轮廓查找,完成了对桥梁裂缝的检测;Hoang等[6]针对皮革表面缺陷,提出了一种阈值分割结合密度聚类的方法,完成了缺陷的分割及分类,实验结果表明了该方法的有效性.基于机器视觉的检测方法,相较于传统机械手段已有很大进步,但在涉及特征提取部分,往往需要针对数据集,设计独特的特征提取器,传统机器视觉算法中关键参数的确定,如文献[6]中的欧氏距离的确定,往往依赖人的经验,缺少泛化性.

随着深度学习在图像分割,图像分类等领域的广泛应用,将深度学习应用于缺陷检测得到了研究人员的广泛关注.Chondronasios等[7]针对铝材的水泡和划痕缺陷,采用梯度共发生矩阵采集技术结合卷积神经网络实现了对缺陷的分类;翁飘等[8]设计了一种基于改进的全卷积神经网络(FCN)[9]的网络模型,通过反卷积将FCN网络浅层特征与深层特征相融合,实现了对路面裂缝的缺陷检测;张广世等[10]提出了一种利用改进的YOLO3网络,对齿轮缺陷进行检测的方法;张芳等[11]基于语义分割网络(U-Net)[12]对纳米颗粒进行分割,实验证明该方法稳定有效;Ma等[13]提出了一种基于卷积神经网络(CNN)的缺陷检测方法,在真实数据集上对手机表面缺陷的检出率达到了99.5%.以上的工作在缺陷分割以及目标检测方面都取得了优异的效果,但在工业缺陷检测中,不仅要关心检测的精度,还希望能够同时获得分割、分类等信息[14],以便于对缺陷进行更进一步分析.

在多任务目标检测领域,也有大量相关文献.Wang等[15]训练CNN卷积神经网络,在DAGM数据集上对六类缺陷样本,六类无缺陷样本进行分类,采用分段式网络,第一段对图像种类进新判别,第二段对缺陷的存在性进新判别,在对缺陷存在性的判别上达到了99.8%的准确率;Tao等[16]利用级联自编码器结合CNN对工业显微镜的扁平金属组件的表面缺陷进行检测,实现了缺陷的分割及分类预测;Feng等[17]利用深度残差网络(Resnet)[18],提出了一个主动深度学习系统,实现了对路面缺陷的检测和分类;蔡彪等[19]设计了一种基于Mask R-CNN的铸件X射线DR图像缺陷检测算法,依据算法分割、分类结果,实现了对缺陷检测的分级分类;沈晓海等[20]针对铝材缺陷检测任务,提出了一种基于多任务深度学习的铝材表面缺陷检测算法,解决了多任务训练不均衡的问题,实现了铝材缺陷的分类以目标检测;以上算法通过不同的方式改进了缺陷检测的性能,但都依赖于大量的数据集,需要耗费大量的精力去制作数据集,对训练网络的设备也有很高的要求.

工业缺陷检测数据集往往较少,且标注成本高,在样本数量较小时,网络容易发生过拟合.Tabernik等[21]设计了一种基于分割的检测网络,分为分割网络,决策网络两部分,在极少的样本数量上达到了优异的检测精度.本文依据文献[21],提出一种改进的分割决策网络,在铝材表面凹坑缺陷检测上进行改进实验验证,并同FCN、U-Net、VGG[22]、Resnet50经典网络进行对比试验,结果表明所提出的算法具有更高的检测精度以及稳定性.

1 研究的问题

铝材在生产过程中会产生许多的缺陷,其中凹坑缺陷是比较常见的一种,凹坑缺陷一般由挤压速度不均匀以及模子工作带不光洁等原因造成,而凹坑缺陷由于工艺的不同,有缺陷大小不同以及凹坑个数的区分.在实际的工业铝材缺陷检测中,首要的问题是生产的产品是否存在缺陷,即缺陷分类任务,若产品存在缺陷,则需要对其进一步分析以便改进工艺,为此需获得铝材缺陷的像素级分类,输出铝材缺陷区域和正常区域的二值化图像,即缺陷分割任务.于是本文研究的问题是将正常铝材样本与缺陷铝材样分类,并获得缺陷样本的分割掩码用于分析.正常样本与缺陷样本如图1所示,无缺陷样本的缺陷标注为全黑,在算法里体现为像素值全为零.

(a)缺陷样本 (b) 缺陷样本铝材区域分割

(c)缺陷分割 (d)无缺陷样本

(e)无缺陷样本铝材区域分割图1 数据集样本

本文对分割决策模型进行改进,在网络模型前半部分增加铝材区域分割分支,提高网络对铝材缺陷区域的关注,以提取重要特征,并对其单独训练,可以减轻网络的过拟合;将铝材缺陷区域分割输出作为输入添加至原网络对应特征图,并在其后加入SE模块,添加网络特征图注意力机制,提升网络对重要特征的提取能力.

2 分割决策模型

分割检测模型在文献[21]中被提出,该网络通过对原始图像的多次卷积、下采样,捕获其不同维度的特征,依据捕获的特征,网络输出对塑料表面缺陷的检测结果.具体的模型为两段式结构,如图2所示.第一部分为分割网络,实现对表面缺陷的区域分割,分割网络在低维特征图部分采用较少的层数,在高维特征图部分采用较多的层,并在末尾设置大尺寸卷积核,这样可以在扩大感受野的同时,保留较细小的特征,提升网络精度.分割网络的输出为缺陷区域二值掩码图,输出分辨率为原图的1/8.决策网络在分割网络之后,引入分割网络的输出作为决策网络的输入,并在输出端对分割网络最后一层特征图以及分割网络输出做最大、最小池化处理,将结果拼接起来,后连接全连接层,对缺陷的存在性做出概率预测,合理的利用了上一任务的输出特征.

图2 分割决策网络

分割决策网络所使用的数据集中,材料区域占据整张图片,无背景环境的干扰,而本文的铝材凹坑缺陷数据集中,背景环境复杂,且由于光照等原因使得照片质量参差不齐,所以原分割决策网络不适于本数据集使用,且原分割决策网络在特征提取时,缺少注意力机制,特征冗余,提取效率不高.

3 改进分割决策模型

为了使分割决策模型适应于铝材表面凹坑缺陷检测,对原结构做出如下改进.

3.1 添加铝材区域分割网络

来在神经网络训练过程中,由于工业缺陷检测数据集相对较少,容易出现过拟合的风险.本文添加铝材区域分割网络,对共享层添加限制,从而增强网络模型对于过拟合的抵抗能力.添加铝材区域分割网络,可以使得网络更关注于铝材区域的特征,弱化由于光照不均,背景环境复杂等问题带来的干扰.

图3 改进分割决策网络

改进后的分割决策网络模型如图3所示.为了获得铝材缺陷区域分割图像,并方便将区域分割输出融合于决策网络,本文在原有网络的第二个特征图之后采用同决策网络第一部分卷积同样的策略,使用四个5×5大小卷积核的卷积层接一个最大池化层,提取铝材表面的低维特征,获得64通道的特征图,输出为上一特征图一半的分辨率图像,后接 1×1大小卷积核的卷积层,通过全卷积的方式预测铝材区域分割二值化图像.

3.2 引入SE模块

SE(Squeeze-and-Excitation)模块来自于文献[22],其对应的SENet被应用于分类任务,并在2017年的ImageNet大赛的Image Classification任务上以极大的优势获得了冠军.包含如下三个步骤:

(1)挤压(Squeeze):针对待添加SE模块的特征图,顺着特征图的空间维度来进行特征压缩,本文采用平均池化操作,将每一通道的特征图变成一个实数,保持输出的维度和输入的通道数相匹配;

(2)激活(Excitation):首先通过一层全连接层将特征维度降低到输入的1/16,然后经过 ReLu激活后再升回到原来的维度,最后通过一个Sigmoid 门获得0~1之间归一化的权重;

(3)重构(Reweight):将 Excitation 的输出的权重通过乘法逐通道加权到先前的特征上,完成在通道维度上的对原始特征的重标定.

分割决策网络本质上是全卷积神经网络的变体,通过对多次的卷积、池化、下采样,获得一定通道数量的特征图,最后依据特征图,获取需要的预测输出,但是在获取特征图的过程中会提取一些不重要的特征,降低网络提取特征的效率.引入SE模块,可以对获得的特征图进行重新标定,在特征图层面引入注意力机制,使得网络更关注于重要特征而忽略次要特征,从而提升网络的检测精度.

如图4所示,本文将SE模块加入Segmentation Network输入特征图之后,为增强特征图之间的相关性,在对特征图挤压时,先将其通道数降低至5,再通过卷积操作恢复至65,后接sigmoid激活函数,得到特征图的分配权值,对其进行特征图的重新标定.

图4 SE模块结构示意图

3.3 损失函数

本次提出的网络在训练时,对分割网络和分类网络单独训练,本次提出的分类网络为二分类网络,分割网络也可看作是对像素的二分类,故在训练时沿用文献[20]中分割网络所使用损失函数,即统一使用二分类交叉熵损失函数,其定义式为:

(1)

式(1)中:N表示样本数量;yi表示样本i的标定值,在铝材区域分割任务中,铝材区域像素的标定值为1,背景区域像素的标定值为0;在缺陷分割任务中,缺陷区域像素的标定值为1,非缺陷区域像素的标定值为0,在分类任务中,缺陷样本的标定值为1,正常样本的标定值为0;pi表示样本i被预测为1的概率.

4 实验结果与分析

4.1 数据来源

本文的数据集来自于阿里广东工业智造大数据创新大赛—铝型材表面瑕疵识别比赛的公开数据集.原数据集包含无缺陷样本、有缺陷样本两大类,其中缺陷样本又细分为脏点、不导电、桔皮、漆包、喷流、漏底、凹坑、杂色、擦花等9小类.本文针对凹坑缺陷,在原始数据集中依据检测难易程度,选取缺陷样本145张,其中易检测、较易检测、难检测的比例为1∶3∶1,无缺陷样本435张,共580张,将数据集分训练集、验证集、测试集分别为400张、60张、120张,其中缺陷样本、无缺陷样本、以及缺陷样本检测难易程度的样本数比例保持不变.对缺陷样本进行铝材区域分割标注以及缺陷分割标注,标注软件为Labelme,对缺陷样本和无缺陷样本的分类标注体现在命名规则里.数据集中原始图像、铝材区域分割图像、缺陷分割图像如图1所示.

4.2 实验设置

本实验在windows10环境下完成,使用的语言为python3.6,在PyTorch1.0上搭建网络并进行训练.使用的核心显卡为NVDIA GeForce GTX1080Ti,显存为11G.实验采用单独训练的方式,先单独对铝材区域分割网络进行训练,然后冻结区域分割网络的权值,再对缺陷分割网络进行单独训练,冻结区域分割网络与缺陷分割网络的权值,最后对决策网络进行训练.

4.3 评价指标

为了定量评价提出的算法的性能,本文针对分割任务与分类任务采用了不用的评价指标.

对于铝材区域分割和铝材缺陷分割任务,采用文献[8]中裂缝分割所使用的评价指标:IOU(Intersection over Union),即交并比作为本文的分割性能评价指标.

(2)

IOU取值在0~1之间,表示的是算法分割的缺陷区域和手工标注的缺陷区域的吻合程度,IOU取值越高,表示算法分割越精确.分割任务可以看作对像素的分类任务,在对分割任务评价时,将单张掩码图的缺陷区域像素称为正样本,非缺陷区域像素称为负样本,式中:TP为真正例,即实际为正样本,预测为正样本;FP为假正例,即实际为负样本,预测为正样本;FN为假反例,即实际为正样本,预测为负样本.为区分两个分割任务的指标,将铝材区域分割指标记作IOU1,铝材缺陷分割指标记作IOU2.

对于缺陷分类任务,选用文献[7]中对铝材气泡及划痕分类的评价指标,即准确度PAcc衡量分类任务的效果,该指标衡量了网络对于不同标签分类的准确程度.公式为:

(3)

在本分类任务中,将缺陷样本称为正样本,将无缺陷样本称为负样本,式中:TP为真正例,即实际为正样本,预测为正样本;FP为假正例,即实际为负样本,预测为正样本;TN为真反例,即实际为负样本,预测为负样本;FN为假反例,即实际为正样本,预测为负样本.准确度PAcc表示的是预测正确的样本数占所有样本总数的比例,值越大,表示分类效果越好.

4.4 结果分析

为了验证本文所提出的改进策略相对于原网络模型在检测效果上是否有提升,以及改进后的算法对铝材表面凹坑缺陷数据集检测性能表现是否良好,本文针对所提出的两条改进策略:添加铝材区域分割网络、引入SE模块,设置了三种配置方式:单独加入区域分割网络,单独引入SE模块,同时加入区域分割网络和SE模块,在现有数据集上进行训练、测试、验证,与原网络进行对比,为方便描述,将原分割决策网络称作S-D,将三种配置方式依次称为S-D1、S-D2、S-D3.实验结果如表1所示,F-count表示FP和FN的个数和.

表1 不同配置下方法的表现

由表1可以看到,在不同配置方式下,网络模型的表现也有所差异.在单独加入区域分割模块和SE模块的情况下,模型检测准确率都有所提升,在同时加入区域分割模块和SE模块的情况下,提升最大,分割精度提升了1.6%,分类准确率提升了4.01%.而误分类的个数也有显著提升,相较于原网络,减少了24个.

单独加入区域分割模块,对分类精度的提升为0.42%,单独加入SE模块对精度的提升2.8%,而同时加入区域分割模块与SE模块提升则达到4.01%.对此,解释为:区域分割模块和SE模块不仅仅各自提升精度,结合之后也对彼此有所增益,SE模块不仅对原始产生的特征图进行权重分配,也对区域分割模块产生的特征图进行权重分配,这样就使得网络在铝材区域分割的基础上,更加关注于只包含铝材区域部分的特征,使得网络能够更有效地提取更重要的特征,忽略次要特征.而区域分割模块作为一条分支,对其单独训练,由于其占据了主路的一部分前端结构,在训练时增加了对前几层网络结构的约束,可以使得网络学习更重要的特征,可以一定程度上抵抗由于SE模块使得网络精简带来的训练过拟合的影响,提高网络模型的泛化能力.

为验证本文所提出的方法在同样条件下相较于其他方法,在铝材表面凹坑缺陷数据集上是否有更优异的性能,选取VGG网络以及ResNet50网络,作为所提方法分类检测的对比方法.VGG第一次使用多层小卷积核代替大卷积核,简化了网络结构的同时保持了更高的精度,并在工业上也有广泛的应用,如文献[22]就将其用于布匹分类;而Resnet50则由于其独特的短连接结构解决了随着网络加深网络性能下降的难题,影响了2016年深度学习在学术界和工业界的发展方向,在分类任务领域被广泛应用,如文献[20]在铝材缺陷分类时就使用了Resnt网络结构,文献[17]使用Resnet结构对路面裂缝进行检测,故使用VGG和Resnet50作为对比试方法来验证本文所提方法的性能是可靠的.由于本文所提的网络结构为分段式结构,训练时采取分段单独训练的方式,在进行分类任务时,分割网络参数冻结,用VGG网络以及Resnet50网络结构替换所提方法的前部分结构,在输出端采用同样的全连接层,输出对于缺陷检测的分别类结果.选取FCN[8]、U-Net[12,13]网络作为所提方法的分割对比方法.为保证同等条件,采用同样的样本集,在同样的实验设置下,各个网络选取训练结果最好的模型参数保存,进行对比试验,实验结果如图5、图6所示.

图5 不同检测方法的检测结果对比图

在缺陷样本100张,无缺陷样本300张的数据集上,VGG的缺陷分类准确率达到了96.75%,Rsenet50的缺陷分类准确率达到了98.10%.所提方法的分类准确率达到了99.31%,误检率只有0.69%,基本满足实际使用要求.在分割部分,所提方法的区域分割精度相较于FCN提升4.54%,较U-Net降低0.57%,缺陷分割精度达到了相较于对比算法最好的U-Net提升0.76%.这是因为U-Net的网络结构实际上是对每一个像素点的分类,而且他的结构本身也有特征图的融合,其对样本数据量需求较少,故在缺陷样本100张时,本文所提方法在区域分割时稍弱,可视化分割结果见图6.

对铝材区域的分割任务,从结果来看,本文提出的方法和FCN、U-Net均可以较好的将完整区域分割出来,但是FCN有时会存在误检的区域,在铝材颜色分布不均匀时,易将铝材一部分边缘错误看作背景.在缺陷分割任务中,由于缺陷分布无规律,有时单张会存在多个缺陷,FCN、U-Net有时会将靠近的两个点当作一个点,有时会漏检细小的点,而本文提出的方法相较少出现上述情况.由此可见,本文提出的方法在分割精度上优于FCN、U-Net.

(a) (b) (c) (d) (e) (f) (g) (h) (i) 缺陷样本 区域分割 U-Net区 FCN区 S-D3区 缺陷分割 FCN缺 U-Net缺 S-D3缺 标注 区域分割 域分割 域分割 域分割 标注 陷分割 陷分割 陷分割图6 不同方法的分割结果对比图

为验证在缺陷样本数量减少的条件下,本文所提出的方法是否具有稳定性,针对本文的主要任务,缺陷分类任务,对比本文所提方法和VGG、Resnet50进行对比试验,将缺陷样本数随机减少至70、45、30,无缺陷样本保持不变,设置对比试验,除缺陷样本数量不同外,保持训练环境等保持一致,并选取训练结果最好的模型参数保存,在测试集上进行验证,并记录实验结果如图7所示.

图7 不同缺陷样本数量下算法 检测结果对比图

从图7可以看出,随着缺陷样本数量的减少,分类准确度都有所降低,本文所提方法相比于Resnet50、VGG,在缺陷样本数量逐渐降低至30时,还保持在98%左右,而VGG已经降低至76%左右,无法满足使用要求.由图8可知,误分类个数也保持同样的趋势,在缺陷样本数为100时,都仅有个位数的误分类个数,随着缺陷样本数减少,对比方法的误分类个数最多达157,而本文所提方法最多只有18.由此可见,本文所提的多任务特征融合检测方法,在样本数量减少时,仍能保持较高的稳定性,本文所提的方法是有效、可靠、稳定的.

图8 不同缺陷样本数量下算法 误分类个数对比图

5 结论

本文使用一种改进的分割决策网络模型对铝材表面凹坑缺陷进行检测,构建了凹坑缺陷检测数据集,来训练、验证所提出的方法,通过添加铝材区域分割网络,用多任务训练的方式,提升了网络的检测精度,并通过引入SE模块,添加注意力机制,使得网络更好的利用多任务特征融合的优势,提升网络对于重要特征的提取能力.

结果表明,本文所提方法小相较于原网络模型,分割精度提升了1.6%,分类精度提升了4.01%,相较于FCN、U-net,网络在缺陷分割部分检测精度领先对比方法最优算法0.76%,相较于VGG、Resnet50,网络在图像分类部分检测精度领先对比方法最优算法1.12%.并且在缺陷样本数据量减少至30张的情况下,分类精度为98.32%,较Resnet50分类精度84.2%,VGG分类精度76.59%更精确且稳定.

所提方法也可用于其他工业产品的缺陷检测领域,并且对样本需求较小.但是本文所提的方法仅对缺陷的存在性做出判别,下一步的工作是对网络添加缺陷种类检测模块,使得网络在小样本的条件下仍能保持较好的准确度、稳定性,满足工业缺陷检测需求.

猜你喜欢
铝材卷积样本
中国铝工业可提供氢能经济时代所需的一切铝材
基于3D-Winograd的快速卷积算法设计及FPGA实现
用样本估计总体复习点拨
卷积神经网络的分析与设计
伟昌铝材·门窗
从滤波器理解卷积
规划·样本
基于傅里叶域卷积表示的目标跟踪算法
随机微分方程的样本Lyapunov二次型估计
“官员写作”的四个样本