宋智勇 潘海鹏
摘 要:在复杂图案织物表面缺陷检测任务中,传统分割算法在特征融合时忽略了不同尺度特征的语义差异,从而造成了分割精度的下降。针对这个问题,提出了一种注意力引导特征融合的缺陷检测方法。使用空间注意力模块来抑制纹理背景的干扰,突出缺陷信息;使用自注意力金字塔池化模块整合局部特征和全局特征,进一步增强特征表示;使用通道注意力模块引导网络选择有用特征,实现深层特征与浅层特征更好地进行信息融合。实验结果显示,相较于传统分割算法,本文方法在像素精度、平均像素精度以及均交并比三个指标上均有所提升,证明了算法的有效性。
关键词:注意力机制;多尺度融合;缺陷检测
中图分类号:TP391 文献标识码:A
Abstract: In the task of detecting defects on the surface of fabrics with complex patterns, traditional segmentation algorithms ignore the semantic differences of different scale features in feature fusion, resulting in a decrease in segmentation accuracy. To solve this problem, this paper proposes a defect detection method based on attention-guided feature fusion. Spatial attention module is used to suppress the interference of the texture background and highlight defect information.
Self-attention pyramid pooling module is used to integrate local and global features to further enhance feature representation. Channel attention module is used to guide the network to select useful features, so to achieve better information fusion of deep features and shallow features. The experimental results show that compared with the traditional segmentation algorithm, the proposed method has improved pixel accuracy, average pixel accuracy, and mean intersection over union, which shows the effectiveness of the algorithm.
Keywords: attention mechanism; multi-scale fusion; defect detection
1 引言(Introduction)
織物表面缺陷检测是纺织工业生产中的一项重要任务,许多企业采用人工的方法进行缺陷检测,检测效率低,易疲劳。随着机器视觉技术的发展,表面缺陷自动检测成为研究热点。传统机器视觉缺陷检测方法可分为基于统计[1]、模型[2]、光谱[3]和结构[4]的方法,然而,这些方法依赖于手工设计的特征,对纹理背景变化敏感,泛化性能差。高性能计算机的普及使得深度学习在工业中得到了广泛应用,目前缺陷检测主要依赖基于卷积网络的图像分类、目标检测以及语义分割方法。景军锋等[5]利用微调后的Alexnet网络对两种织物表面的缺陷进行分类。赵志勇等[6]提出了一种基于inereception-resnet-v2网络的织物缺陷检测算法,对复杂背景下的织物缺陷进行检测和分类,准确率能够达到99%。史甜甜[7]利用深度可分离卷积与Fisher准则约束相结合对周期性图案缺陷进行检测。景军锋等[8]提出了一种应用深度卷积神经网络的色织物缺陷检测算法。在缺陷检测任务中,分割任务被认为是最困难的挑战,相较于传统的分割算法忽视了不同尺度特征之间的语义差异,本文基于全卷积网络结构设计了注意力引导特征融合的网络模型,使用专门的特征融合方法更好地将深层和浅层特征相融合,得到了更加精细的分割结果。首先简单介绍了传统的语义分割算法;其次对我们的整体模型以及各个模块进行介绍分析;最后通过对比实验证明本文所提算法的有效性。
2 语义分割算法(Semantic segmentation algorithm)
2.1 全卷积网络
卷积神经网络(CNN)通常包括一系列卷积层与全连接层,图像经过卷积层后通过全连接层将特征矩阵转换为一个固定长度的特征向量。与卷积神经网络不同的是,全卷积网络(FCN)[9]使用全卷积层代替了全连接层,其结构如图1所示。原图进入FCN网络中,通过一系列卷积层和下采样池化层得到深层特征图,为了保证分割精度,使用跳层连接融合深层的语义信息和浅层的空间信息,采用反卷积的上采样方法逐步恢复图像信息。根据跳层连接方式可分为FCN-32S、FCN-16S、FCN-8S三种不同的结构,其中FCN-32S直接使用32 倍上采样恢复图像信息,FCN-16S指的是通过跳层连接后上采样16 倍恢复图像信息,FCN-8S指的是通过跳层连接后上采样8 倍恢复图像信息。
2.2 编码解码结构U-net
U-net[10]是基于全卷积网络FCN的一种左右对称的编码解码结构,如图2所示。它因为形似字母U而被称为U-net,包含编码、解码、跳层连接三个模块,输入图像经过多次降采样,感受野不断增加,得到高层语义信息的深层特征,然后以对称的方式在同深度的特征图跳层连接进行融合,不同于全卷积网络FCN,U-net网络的特征融合方式为通道级联。编码器的下采样选择了最大池化操作,上采样选择了反卷积结构,由于卷积过程中选择了valid(不填充)操作,为了保证融合过程中大小相同,采用截取后再复制的方法进行对齐。
3 方法(Method)
3.1 整体网络结构
本部分将详细讨论模型的实现过程,图3显示了模型的总体结构,由编码器、解码器、跳层连接和注意力引导多尺度融合四个模块组成。图像经过编码器部分来提取图像特征,将最后一层卷积层得到的深层特征送入自注意力金字塔池化模块(SP)获取丰富的上下文信息,将浅层特征送入空间注意力模块(PA)抑制背景信息。特征融合方式有两条自上而下的路径,第一条路径融合时通过1*1卷积对齐深层浅层特征通道数,通过使用类似FPN结构的逐元素相加方法层层递进地整合深层和浅层特征,实现特征的初步融合,经过初步融合的特征具备多尺度信息;第二条路径使用的是级联通道特征融合方式来叠加不同层级的特征图,使用3*3卷积对融合的特征图进行通道变换,使用通道注意力模块(CA)学习通道间的相关性,自适应地计算加权特征,过滤出与有意义的特征对应的特征映射,对有效信息进行增强。
3.2 空间注意力模块
浅层特征包含大量的细节纹理信息,然而浅层特征语义信息不足,直接进行特征融合会引入大量噪声,使用空间注意力模块(PA)可以增强判别性特征的特征表示能力,抑制背景信息,更加集中于特征的位置信息,增强特征表达。空间注意力模块结构如图4所示。为了提取多尺度位置信息,增加感受野,借鉴文献[11]所提出的GCN模块,使用大卷积核对称分离卷积对通道特征图进行压缩得到两个一维通道特征图,通过逐元素相加的方式聚合特征信息,使用Sigmoid激活函数得到归一化后的空间注意力权重信息,与原始特征图进行逐元素相乘得到加权空间注意力特征图,最后与原始特征图逐元素相加得到最后的输出特征图。
3.3 自注意力金字塔池化模块
深层特征具有丰富的语义信息,可以帮助挖掘缺陷的详细位置,为了有效提取全局特征信息,扩大感受野,在編码器末端添加自注意力金字塔池化模块(SP),如图5所示。它包含左边的金字塔池化模块和右边的自注意力模块两个部分,金字塔池化模块将特征图划分为多个区域,每个区域中的像素都可以看作全局表示,包含1*1、2*2、3*3和6*6这四种不同尺寸的池化操作,多种不同的池化意味着提取到了更加丰富的高层特征,有助于减少信息丢失。通过四种不同尺寸的池化操作得到四个尺寸的特征图,通过双线性插值对这些特征图进行上采样,将不同级别的特征进行通道级联融合特征,作为最后的金字塔池化全局特性,融合不同区域的上下文信息。通过对不同区域的上下文进行聚合,提升了网络利用全局上下文信息的能力。深层特征经过金字塔池化模块获取全局信息后,为了进一步增强缺陷分割网络的特征表示,有必要捕获全局信息,建模像素和全局的联系。使用自注意力模块对远程特征依赖性进行建模,过滤由全局特征传递的不相关信息,进一步强调或抑制不同空间位置中的特征。自注意力模块结构如图5右半部分所示,通过矩阵相乘操作来建模像素和全局的联系。首先输入特征图经过三个分支的1*1卷积生成三个新特征图、、。为了计算某一位置与所有像素之间的相似性,将进行转置后与进行矩阵相乘得到相似性矩阵,计算公式如式(1)所示,表示第个位置对第个位置的影响,因为特征图含有通道,矩阵相乘相当于位置所有通道的值与位置所有通道的值进行点乘操作,值越大代表两个位置相似性越高。对相似性矩阵进行Softmax归一化操作得到相关权重系数,将经过Softmax归一化操作后的相似性矩阵与进行矩阵相乘,最后与原特征图进行逐像素相加后,再通过1*1卷积进行信息整合得到最后的自注意力模块输出。自注意力模块通过对所有位置特征的加权求和学习获取任意两个位置之间的空间依赖,捕捉远距离信息,进一步增强了特征表示。
3.4 通道注意力模块
通道注意力模块(CA)作用于不同尺度特征跨层融合阶段,直接相加或者通道级联融合方式没有考虑到不同通道间特征的相关性和重要性,通过计算通道之间的相互关系,对信息的重要程度进行重新分配,指导特征图进行加权。通道注意力模块结构如图6所示,给定输入特征F,使用全局平均池化操作和全局最大池化操作得到两个包含全局信息的C*1*1特征图。并行的全局平均池化操作和全局最大池化操作可以防止单一池化操作造成信息丢失过多,参数共享层SL中包含全连接层FC和ReLU激活函数,可以建模通道中的相互关系,将输出的两个特征图通过逐像素相加聚合语义信息。使用Sigmoid激活函数得到权重参数Fc,与原特征图F逐元素相乘得到加权特征图F'。借鉴残差机制将经过通道注意力细化的特征图F'与原特征图F逐元素相加后得到最终的输出特征图Fc''。通道注意力模块计算公式如式(2)—式(4)所示。
4 实验(Experiment)
4.1 数据集
本文使用的密集织物图片数据来自香港大学数据库,包含星形图案、点图案、箱形图案三种背景类型的织物共166 张图片,选取45 张缺陷图片和75 张无缺陷图片作为训练集,30 张缺陷图片作为测试集。为了防止过拟合,我们使用随机旋转、左右翻转、上下翻转等方式进行数据扩充。织物缺陷图片如图7所示。
4.2 参数设置
本文实验基于Windows系统下搭建的PyTorch深度学习框架,详细硬件环境和软件环境如表1所示。训练时,使用SGD随机梯度下降法进行优化,初始学习率为0.01,动量为0.7,批量大小为4,迭代500 个周期。实验中的图像大小为256256。训练过程loss曲线如图8所示,loss不断下降,说明网络训练正常。
4.3 评价指标
为了评估所提出方法的有效性,使用了三个评价指标,即像素精度PA、平均像素精度MPA、均交并比MIoU,計算公式如式(5)—式(7)所示。
其中,表示包括背景的总类别,表示实际是类被推断为类的像素数量,表示实际是类被推断为类的像素数量,表示实际是类被推断为类的像素数量。PA是最简单的评价指标,指的是正确的像素与总像素的比值;MPA表示的是所有类别像素精度均值;均交并比MIoU计算的是分割图与真实标注的交集与并集比,值越大,说明分割效果越好。
4.4 实验结果分析
我们选择FCN和U-net网络作为对比实验,实验结果如表2所示。
对比表2中的结果,本文所提出的模型在像素精度PA、平均像素精度MPA、均交并比MIoU三个指标上均有所提升。由于引入了空间注意力机制,有效抑制了复杂纹理背景信息,增强了特征表达,提高了像素准确性,与FCN-8S方法相比,平均像素精度MPA提高了2.53%;由于引入了自注意力金字塔池化模块,有效利用了全局信息,增强了上下文表示;由于引入了通道注意力模块指导不同尺度特征融合,对各个尺度特征权值进行重新分配,得到了更好地融合效果,相比U-net方法,均交并比MIoU提高了2.31%,缺陷分割边缘更加精细。模型的分割效果如图9所示,实验结果表明,本文所提出的基于注意力引导的特征融合网络显著提高了缺陷分割的准确性。
5 结论(Conclusion)
传统分割方法直接采用逐元素相加或者级联通道的特征融合方式,未能对融合后的特征进行进一步的分析,使得融合后的特征包含大量的无关信息。针对此问题,本文提出了一种基于注意力引导特征融合的缺陷分割方法,通过注意力引导特征融合模块整合编解码信息。相较于传统算法,本文使用空间注意力机制减少了浅层特征中的背景等噪声信息的干扰,保存有效的位置信息,编码器末端使用自注意力金字塔池化模块建立更丰富的全局语义信息,将通道注意力用于深层浅层特征融合阶段提取重要信息,提高了特征融合的质量。实验结果表明,我们的方法具有良好的缺陷分割效果。未来,我们将致力于使用图像级标签而非像素级标签进行缺陷分割来减少对人工标记的依赖。
参考文献(References)
[1] HU J, HE Z, WENG G, et al. Detection of chemical fabric defects on the basis of morphological processing[J]. The Journal of The Textile Institute, 2016, 107(2):233-241.
[2] 李敏,崔树芹,谢治平.高斯混合模型在印花织物疵点检测中的应用[J].纺织学报,2015,36(8):94-98.
[3] DEOTALE N T, SARODE T K. Fabric defect detection adopting combined GLCM, Gabor wavelet features and random decision forest[J]. 3D Research, 2019, 10(1):5.
[4] JIA L, CHEN C, LIANG J, et al. Fabric defect inspection based on lattice segmentation and Gabor filtering[J]. Neurocomputing, 2017, 238:84-102.
[5] 景军锋,刘娆.基于卷积神经网络的织物表面缺陷分类方法[J].测控技术,2018,37(09):20-25.
[6] 赵志勇,叶林,桑红石,等.深度学习在布匹缺陷检测中的应用[J].国外电子测量技术,2019,38(08):110-116.
[7] 史甜甜.基于Fisher准则的深层卷积神经网络织物疵点检测[J].计算机系统应用,2019,28(03):140-145.
[8] 景军锋,范晓婷,李鹏飞,等.应用深度卷积神经网络的色织物缺陷检测[J]. 纺织学报,2017,38(02):68-74.
[9] LONG J, SHELHAMER E, DARRELL T. Fully convolutional networks for semantic segmentation[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 39(4):640-651.
[10] RONNEBERGER O, FISCHER P, BROX T. U-net: Convolutional networks for biomedical image segmentation[C]// NAVAB N. International Conference on Medical Image Computing and Computer-Assisted Intervention. Cham: Springer, 2015:234-241.
[11] PENG C, ZHANG X, YU G, et al. Large kernel matters—improve semantic segmentation by global convolutional network[C]// IEEE. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, New York: IEEE, 2017:4353-4361.
作者简介:
宋智勇(1996-),男,硕士生.研究领域:图像处理.
潘海鹏(1965-),男,硕士,教授.研究领域:工业控制自动化.