摘要
针对缺陷语义分割任务中缺陷与背景差异小以及同类缺陷间差异大的问题,本文提出一种基于轻量化卷积块注意力Transformer的表面缺陷检测算法(LCBAFormer),旨在提高不同类型缺陷的分割准确率.首先,设计轻量化卷积块注意力模块LCBAM,通过结合通道注意力模块和空间注意力模块,提取有效的通道信息和空间信息,使模型更专注于局部缺陷特征信息,增强不同缺陷间的特征差异,减少同类缺陷间的差异.其次,提出轻量化的语义注入模块SIM,以逐步融合多尺度特征信息,提升网络对不同缺陷的定位和区分能力.在NEU-Seg钢带缺陷数据集和MT-Defect磁瓦缺陷数据集上的实验结果表明:本文提出的算法平均交并比(mIoU)分别为84.75%和79.46%;平均召回率(mRec)分别为92.29%和87.50%;平均F1分数(mF1)分别为91.52%和88.08%;算法的计算复杂度较低,每秒10亿次浮点运算次数(GFLOPs)分别为1.03和2.65.与主流算法相比,本文方法在参数量和检测性能上做到了较好的平衡,具有更小的参数量和更好的分割结果.
Abstract
To address the issues of small differences between defects and background,as well as large variations within the same class of defects in defect semantic segmentation tasks,this paper proposes a surface defect detection algorithm based on Lightweight Convolutional Block Attention Transformer,named LCBAFormer.The proposed algorithm aims to enhance the accuracy of segmentation for various types of defects.Firstly,a Lightweight Convolutional Block Attention Module (LCBAM) is designed,which integrates channel attention and spatial attention modules to extract effective channel and spatial information.This enables the model to focus more on local defect feature information,enhance feature differences between defects,and mitigate variations within the same category of defects.Secondly,a lightweight Semantic Injection Module (SIM) is introduced,which gradually fuses multi-scale feature information and thereby improving the network's ability to locate and distinguish different defects.The experimental results show that on the NEU-Seg steel strip defect dataset and the magnetic tile defect dataset (MT-Defect),the proposed algorithm achieves mean Intersection over Union (mIoU) of 84.75% and 79.46%,mean Recall (mRec) rates of 92.29% and 87.50%,and mean F1 scores (mF1) of 91.52% and 88.08%,respectively.Additionally,the algorithm exhibits low computational complexity,with 1.03 and 2.65 GFLOPs (billion floating-point operations per second) on the NEU-Seg and MT-Defect datasets,respectively.Compared to mainstream methods,the proposed algorithm features fewer parameters and superior segmentation results,achieving a good balance between parameter count and detection performance.
Keywords
0 引言
在工业生产中,表面缺陷检测是提升产品质量的重要环节,及时检测出产品的表面缺陷非常必要.表面缺陷通常表现为信噪比低[1]、类内差异显著以及类间差异较小,这些问题在钢材[2]、瓷砖[3]和布匹[4]等一系列产品生产中尤为典型.传统人工检测方法成本高、效率低,且检测结果较为主观,不适合当前工业生产中高效和精确的要求.基于传统特征的机器学习方法曾是该领域的研究主流[5].例如:Peng等[6]采用傅里叶变换建立中心空间频谱方法来检测织物中的结构缺陷; Li等[7]则将LBP特征与颜色聚合向量特征加权融合,提出一种能够提高分类精度和计算速度的图像分类方法.然而,基于传统特征的机器视觉检测方法局限性较大,对于不同任务的适应性不足,面对更复杂的情况(缺陷对比度低、形状差异大)时,表现欠佳.
随着深度学习的快速发展,工业生产中表面缺陷检测在效率和准确性上都有了显著提升,逐渐满足了生产过程中对缺陷检测的要求.基于深度学习的表面缺陷检测根据检测精细程度,可以分为三类:图像级别的图像分类、区域级别的目标检测和像素级别的语义分割[8].图像分类任务旨在判断图像是否含有缺陷,并识别图像中的缺陷类型[9-10],从而确定图像的分类; 目标检测任务通过边界框来识别和定位图像中的缺陷[11-12]; 语义分割任务则为图像中的每个像素分配类别标签,区分不同的缺陷类别和非缺陷区域[13].对于具备像素级标注的缺陷数据集而言,能够精确分割并实现分类的语义分割任务是最佳选择.这种任务不仅能识别缺陷的存在,还能精确界定缺陷的范围和类型,为后续缺陷分析和处理提供了更丰富的信息.
目前已有一些成功的语义分割方法被应用于缺陷检测任务.全卷积网络(Fully Convolutional Network,FCN)方法及其衍生网络作为该领域的主流方法,在缺陷分割任务中表现出色[14].例如:Tabernik等[15]利用基于FCN的分割网络定位表面缺陷,并通过决策网络预测缺陷图片中缺陷的概率; 方一鸣等[16]通过UNet++预测塑料齿轮黑点区域,再结合多特征融合分析给出黑点检测最终结果.此外,在缺陷语义分割任务中结合显著性检测也能够带来一定的提升效果.Huang等[3]基于U-Net网络进行瓷砖表面缺陷的显著性检测,提升了模型对于背景和缺陷的区分能力; A3Net[17]同样在U-Net网络上加入显著性检测任务进行缺陷检测,在钢带数据集上取得了不错的效果.然而,显著性检测通常是二分类任务,难以区分不同缺陷类别.在生产制造过程中,不同类型的缺陷可能需要采取不同的修复措施,因此,多类别的缺陷语义分割在很多情况下是非常必要的.
近年来,基于视觉Transformer的方法在计算机视觉领域崭露头角,在多个任务上的表现超越了基于卷积神经网络(Convolutional Neural Network,CNN)的方法[5],并在语义分割方面展现出显著的效果.例如:Wang等[18]设计的视觉金字塔Transformer模型通过生成多尺度特征图,有效提升分割结果; Zhang等[19]提出的轻量化令牌视觉金字塔Transformer模型,通过对不同尺度特征令牌进行处理,增强了特征表示; Xie等[20]设计的SegFormer模型结合轻量化的Transformer骨干和多层感知机,具有轻量化和高鲁棒性的特点,可以更有效地完成分割任务.视觉Transformer模型在捕捉长距离依赖关系方面具有优势,有望进一步提升模型对复杂缺陷的检测能力.
本文提出一种轻量化卷积块注意力Transformer模型(Lightweight Convolutional Block Attention Transformer,LCBAFormer),用于解决缺陷语义分割任务中的挑战.LCBAFormer采用SegFormer模型中轻量化的MiT-B0骨干做编码器,确保在保持低参数量的同时,能够有效捕获全局上下文信息.在此基础上,添加轻量化卷积块注意力模块(Lightweight Convolutional Block Attention Module,LCBAM)和语义融合模块(Semantic Injection Module,SIM).LCBAM通过使用局部注意力机制,在通道和空间维度上增强模型捕获缺陷的特征的能力.SIM用于融合不同尺度的语义信息,进一步提升模型性能,同时适量减少模型的参数量.
本文主要贡献如下:
1)提出一种轻量化卷积块注意力Transformer模型LCBAFormer,结合全局注意力和局部注意力机制,增强了对缺陷的检测能力.
2)提出一种轻量化卷积块注意力模块LCBAM,通过在通道和空间维度上应用局部注意力,提高模型捕捉缺陷特征的效率.
3)提出一种语义注入模块SIM,有效整合不同尺度的特征图信息,优化模型性能,并控制参数量的增长.
1 轻量化卷积块注意力Transformer
受分割模型中编码器-解码器网络结构的启发,本文提出一种轻量化卷积块注意力Transformer,如图1所示.该模型以SegFormer中的MiT-B0骨干作为编码器部分.在此骨干基础上添加轻量化卷积块注意力模块和语义融合模块,在提升性能的同时保证模型的轻量化.SegFormer中的MiT-B0骨干由4个轻量化Transformer模块构成,LCBAFormer利用MiT-B0骨干捕获缺陷图像中的全局信息,获得多层次的全局上下文信息.LCBAFormer去除了SegFormer对MiT-B0骨干输出的后续拼接处理.原因在于,SegFormer经过拼接后的通道数量大幅增加,导致网络复杂度上升.为了平衡模型的性能和参数量,LCBAFormer对骨干分支结果进行分开处理,交由轻量化卷积块注意力模块LCBAM负责.最后,通过语义注入模块SIM完成各分支结果的整合处理.轻量化卷积块注意力模块LCBAM是一个嵌入了通道注意力和空间注意力的轻量化倒残差模块,主要对编码器输出的各个分支进行注意力操作,可以有效提高模型性能,同时对模型复杂度的影响较小.语义注入模块SIM是一个轻量化的模块,作为模型中解码器的主要部分,用于完成不同尺度的语义融合,同时实现分支结果的上采样,逐步得到最终的分割结果.
图1LCBAFormer网络
Fig.1LCBAFormer network
1.1 骨干网络
在LCBAFormer中,骨干部分采用SegFormer模型中的MiT-B0结构,该结构由4个轻量化Transformer模块构成,如图2所示.每个Transformer块使用重叠图像块嵌入,保证图像块之间的局部连续性,并在前馈神经网络部分使用3×3的卷积层,以此来代替复杂的位置编码嵌入.此外,每个Transformer块使用一种高效多头自注意力机制,减少每个Transformer块的计算复杂度.
图2高效Transformer模块
Fig.2Simple efficient Transformer block
1.2 轻量化卷积块注意力模块LCBAM
借鉴A3Net和GCN[21],本文提出一个轻量化卷积块注意力模块LCBAM,如图3所示.LCBAM整体采用MobileNet[22-23]中的倒残差结构,该结构使用了深度卷积操作,具有快速轻量的特点.与MobileNet中的倒残差结构不同的是,本文提出的LCBAM在使用1×1卷积进行通道升维时,将各个分支的通道数统一提升到256,这借鉴了原生SegFormer中解码器部分的升维操作.模块中3×3的可分离卷积可以保证参数和性能的平衡.在3×3卷积后加入一个通道注意力和空间注意力串联模块(Chanel Attention & Spatial Attention,CASA),用于提升模型对缺陷特征的捕获.最后,使用1×1卷积进行降维操作,将通道数统一降至128,整个结构保留了倒残差结构轻量化的特点.由于在整个操作过程中通道数发生了改变,在残差连接处又通过1×1卷积对通道数进行调整,因此可以保证最后残差分支正常运作.结构可以表示如下:
(1)
(2)
(3)
其中: 表示分支骨干的输出分支; 表示3×3卷积后的结果; 表示CASA注意力模块的输出结果; 表示LCBAM输出结果; conv1×1表示1×1卷积; conv3×3表示3×3卷积; CASA表示串联注意力操作; +表示元素相加.
图3LCBAM
Fig.3The proposed LCBAM
通过借鉴CBAM[24],本文提出一个轻量化的通道注意力和空间注意力串联的注意力模块CASA,并在倒残差结构中3×3卷积结束后嵌入该模块.CASA由一个通道注意力模块和一个空间注意力模块串联而成,结构如图4所示.输入特征图首先经过通道注意力模块,本文使用了ECA[25]高效通道注意力模块.通道注意力模块采用最大池化操作代替原生ECA模块中的平均池化操作,提取各个通道的特征值,再将通道特征值送入ECA通道注意力模块,进行局部卷积操作,实现跨通道信息交互.A3Net中使用CBAM作为边界修正模块,去除原先的平均池化操作,仅采用最大池化操作,证明了在缺陷检测中最大池化操作的有效性.通道注意力模块操作可以表示为
图4串联注意力模块 CASA
Fig.4Channel attention & spatial attention module
(4)
(5)
(6)
其中:MAX表示最大池化操作; 表示最大池化的特征结果; 表示经过ECA通道注意力后得到的注意力分数图; ECA表示高效通道注意力操作; σ表示Sigmoid激活函数; ⊙表示元素相乘.经过通道注意力操作得到特征图.
在ECA模块中,首先根据通道数确定卷积操作的核数k,然后对通道最大池化操作得到的一维特征值进行一维卷积,再通过Sigmoid激活函数,得到最终的通道注意力分数.相比CBAM中的SE通道压缩操作,由于ECA模块没有对通道特征值进行压缩,不会破坏通道特征的完整性.同时,ECA模块的操作中只需要经过一个一维卷积,满足了结构的轻量化要求.
(7)
(8)
其中:C表示通道数; k表示一维卷积核大小; γ和b为线性变换中的两个常数,都设置为2; |t|odd表示t最接近的奇数.
空间注意力模块利用图像特征空间的关系生成空间注意力,关注图像不同位置的信息.空间注意力与通道注意力是互补的,共同增强网络对关键信息的关注度.本文的空间注意力模块借鉴了卷积注意力模块和可变形卷积(Deformable Convolutional Network,DCN)[26].首先沿着通道维度进行平均池化操作和最大池化操作,并将它们拼接在一起,得到特征描述符.随后,使用可变形卷积生成空间注意力图,利用其非常规的感受野选取能力,有效地强调和抑制不同位置的空间信息.
(9)
(10)
(11)
其中:cat表示通道拼接操作; MAX表示最大池化操作; AVG表示平均池化操作; DCN7×7表示7×7可变形卷积; 表示空间注意力分数图.经过空间注意力模块后,就能得到经过通道注意力操作和空间注意力操作的特征图.
可变形卷积具有适应几何物体变化的能力,能够自我调节感受野,捕捉需要的特征.在缺陷检测中,相较于常规的卷积操作,可变形卷积能够更好地适配形状不规则的各种缺陷特征.在本文空间注意力操作中,使用的是可变形卷积DCNv2[26]中的卷积操作,相比可变形卷积DCNv1[27],DCNv2中的卷积操作为采样点添加了调制标量,用于区分采样区域是否是网络关注的重点,为采样点区域的选择添加了限制,确保了有效信息的捕获.
(12)
其中:K表示采样点个数; wk和pk分别表示卷积的权重和采样点的偏移量; Δpk表示可学习的偏移量; Δmk表示可学习的调制标量; y(p)是可变形卷积的结果.
在经过通道注意力和空间注意力操作后,得到特征图.再经过一个残差操作,将特征图 和特征图相加,这个过程可以表示为
(13)
在CASA模块基础上,额外增加的一条残差分支,减缓梯度消失问题,帮助模型更好地进行训练,最后得到注意力模块最终结果.
1.3 语义注入模块SIM
为了处理不同尺度特征图,本文提出语义注入模块SIM,在保证模型轻量化的前提下,有效地融合了各个尺度下的特征图,其结构如图5所示.SIM分为SIM-A和SIM-B两个模块,其中,SIM-B模块为得到分割结果前的最后一个特征融合模块,其余特征融合模块均为SIM-A模块.SIM-A模块有局部语义特征图和全局语义特征图两个输入.局部语义特征图需经过一个1×1卷积层和批处理归一化层,得到一个局部语义特征图.全局语义特征图经过一个1×1卷积和批处理归一化层,再经过Sigmoid层和一个双线性插值上采样层,得到一个全局语义权重.同时,未处理过的全局语义特征图经过一个1×1卷积层、批处理归一化层和一个双线性插值上采样层,得到一个全局语义特征图.此时获得三个处理过的输入:局部语义特征图、全局语义权重和全局语义特征图.之后,通过哈达玛积将全局语义权重和局部语义特征图结合,将全局语义注入到局部语义特征图中,再与全局语义特征图相加,得到语义融合的结果.
SIM-B模块为最后一个SIM,与SIM-A模块稍有不同.SIM-B在不同语义特征图相加部分,额外加入了未处理过的局部语义特征图.这部分借鉴了DeepLabv3[28]中最后融合低级特征图的方式,这样设计能够更好地利用原始低层次特征来还原最后的分割结果.
图5SIM
Fig.5Semantic injection modules
最后,为了得到和原图一样分辨率的分割缺陷图,需要将SIM-B的结果送入一个轻量化的分割头,该分割头由3×3卷积层、ReLU激活层、BatchNorm批量归一化层、1×1卷积层和一个双线性插值上采样层简单叠加构成.
2 实验
2.1 数据集
为验证LCBAFormer的泛化性和有效性,本文采用NEU-Seg[29]和MT-Defect[3]两个公开数据集,都按照6∶2∶2的比例划分为训练集、验证集和测试集.NEU-Seg数据集包含900张分辨率为200×200大小的热轧钢带缺陷图片,缺陷种类分为夹杂、斑块和划痕3类,每种缺陷都有300张图片.MT-Defect数据集包含1 344张不同分辨率的磁瓦缺陷图片,缺陷种类分为5类,分别是气孔、裂纹、磨损、断裂和不平整.
2.2 实验设置
实验基于PyTorch深度学习框架,在NVIDIA GeForce RTX 3090 GPU上进行模型训练.LCBAFormer的编码器主干部分采用在ImageNet-1K数据集上进行过预训练的MiT-B0.在训练过程中,为更好地利用数据集,采用随机翻转、随机缩放大小、随机裁剪和随机光度变换等数据增强方式.批处理大小为16,采用AdamW作为优化器,初始学习率设置为0.000 4,权重衰减为0.01,采用Poly学习率调整策略,训练代数为160 000次.在训练过程中,MT-Defect数据集图片按照分辨率320×320的大小进行处理,测试过程中图片大小不做处理.
2.3 评估指标
为了评估本文提出模型的性能,使用平均交并比(mean Intersection over Union,mIoU)、平均召回率(mean Recall,mRec)、平均F1分数(mF1)、参数量和每秒10亿次浮点运算次数(GFLOPs)作为性能指标.
(14)
其中:N表示类别的个数; pij表示被误分类为j 的i 类像素的数量; pji表示被误分类为i 的j 类像素的数量; pii表示正确分类的像素的数量.
(15)
其中:TPi和FNi分别表示第i 类的真阳性和第i 类假阴性的像素数量.
(16)
其中:Pi表示第i 类的准确率; Ri表示第i 类的召回率.
2.4 消融实验
为了验证所提出的不同组件的有效性,本文在NEU-Seg和MT-Defect数据集上进行了相应的消融实验.以SegFormer(MiT-B0)为基线模型,通过对语义注入模块SIM、轻量化卷积块注意力模块LCBAM及注意力模块中的通道注意力和空间注意力进行组合消融实验.在两个数据集上的实验结果分别如表1和表2所示.LCBAM(CA)表示LCBAM去除了空间注意力模块,LCBAM(SA)表示LCBAM去除了通道注意力模块,基线模型+LCBAM+SIM表示本文提出模型LCBAFormer.
从表1和表2中可以看出,语义注入模块SIM和轻量化卷积块注意力模块LCBAM都具有不错的表现,基线模型加上LCBAM在NEU-Seg和MT-Defect数据集上mIoU、mRec、mF1均有提高.由于经过LCBAM后各个分支的通道数都有所下降,拼接之后计算量减少,使得模型整体计算复杂度下降.LCBAM在通道和空间上采用注意力操作,使得网络对缺陷特征的捕获能力增强.基线模型加上SIM在NEU-Seg数据集上的分割结果有较大提升(表1),但在MT-Defect数据集上mIoU、mRec和mF1都略有下降(表2).SIM使模型架构变为U型,将更高层特征图的语义信息注入到细节更丰富的底层特征中,起到融合特征图的作用.NEU-Seg数据集具有丰富的纹理信息,经过语义注入模块有更好的分割结果.MT-Defect数据集中存在大量细小的缺陷,没有丰富的纹理信息,更多的是结构性的缺陷特征,SIM的单独加入,不能起到增强缺陷检测的作用.
本文针对LCBAM中的通道注意力模块和空间注意力模块开展了消融实验.将通道注意力和空间注意力从LCBAM中同时移除,LCBAM结构会转变成一个类似MobileNet卷积块的倒残差结构,模型整体结构为基线模型加上MobileBlock和SIM.基线模型加上MobileBlock和SIM,相比基线模型直接加上SIM,在NEU-Seg数据集上,mIoU、mRec、mF1均略有下降(表1),在MT-Defect数据集上,mIoU、mRec、mF1均有提升(表2).结果表明,单独增加MobileNet结构,能够在一定程度增强缺陷的局部特征.
本文还通过在LCBAM结构中分别移除通道注意力和空间注意力,比较两种注意力模块带来的影响.LCBAM(CA)移除了空间注意力,加上SIM后,与基线模型加上MobileBlock和SIM相比,在NEU-Seg数据集上mIoU、mRec、mF1均没有提升(表1),在MT-Defect数据集上mIoU、mRec、mF1均有较大提升(表2).LCBAM(SA)移除通道注意力,加上SIM后,与基线模型加上MobileBlock和SIM相比,在NEU-Seg数据集上mIoU和mF1均有提升,mRec略有下降(表1),在MT-Defect数据集上mIoU和mF1略有下降,mRec略有提升(表2).此外,在两个数据集上,分别添加这两种注意力模块后,与基线模型做比较,mIoU、mRec、mF1都有较大提高.实验结果表明:在NEU-Seg数据集上,相比于通道注意力模块,空间注意力模块对模型性能的提升更大,使用可变形卷积的空间注意力模块能够更好地捕获该数据集上的缺陷特征; 在MT-Defect数据集上,通道注意力模块对模型的性能提升更大,使用局部卷积的通道注意力模块能够更好地选取图片中的缺陷特征.因此,本文提出的模型同时结合通道注意力和空间注意力,能够在数据集上获得最好的实验结果.
表1NEU-Seg数据集消融实验结果
Table1Results of ablation studies on NEU-Seg dataset
表2MT-Defect数据集消融实验结果
Table2Results of ablation studies on MT-Defect dataset
2.5 对比实验
在两个目标数据集上,将本文提出的模型与目前主流算法FCN[30]、PSPNet[31]、DeepLabv3、DANet[32]、ICNet[33]、ABFormer[34]和SegFormer进行了对比,结果如表3所示.
由表3可知,在NEU-Seg数据集上,本文提出的模型在mIoU指标上达到84.75%,mRec指标为92.29%,mF1指标为91.52%,在所对比方法中实现了最高的分割结果.与较为经典的DeepLabv3相比,除了分割效果较好外,本文提出的模型参数量(3.86×106)和计算复杂度(GFLOPs为1.03)都非常小.与基准模型SegFormer相比,mIoU、mRec、mF1均有较大提升,同时参数量和计算量仅少量增加.
在MT-Defect数据集上,本文提出的模型在mIoU指标上达到79.46%,mRec指标为87.50%,mF1指标为88.08%,同样在所有对比方法中取得最好的分割结果,并在分割性能和计算复杂度上达到最佳平衡.与分割结果较好的双注意力网络DANet相比,本文提出的模型mIoU、mRec、mF1均有较大提升.与基线模型SegFormer相比,本文提出的模型的mIoU、mRec、mF1分别提升3.96、6.20、2.78个百分点,参数量和计算量(GFLOPs为2.65)仅少量增加.
另外,本文提出的模型在各项指标上均优于具有同样MiT-B0骨干的ABFormer.
在NEU-Seg数据集和MT-Defect数据集上的部分缺陷分割效果分别如图6、图7所示.
综上所述,本文提出的LCBAFormer模型能够在表面缺陷检测上得到较好的分割结果,并且能够平衡参数量和检测效果.
图6LCBAFormer在NEU-Seg数据集上的分割效果
Fig.6Segmentation effect of LCBAFormer on NEU-Seg dataset
3 结论
本文提出一种用于表面缺陷检测的轻量化语义分割模型LCBAFormer.该模型采用SegFormer的MiT-B0骨干,利用了骨干中Transformer模块提取图像全局上下文信息的能力.为了更好地处理骨干输出的各个分支结果,本文提出一个轻量化卷积块注意力模块LCBAM,该模块利用卷积注意力模块在通道和空间上的局部注意力,能够提取图片中缺陷局部特征信息.在此基础上,引入轻量化语义注入模块SIM,它利用了通道和空间注意力的信息提取能力,提高了表面缺陷的检测性能,同时保持了模型参数量小的特点.本文提出的模型在NEU-Seg数据集和MT-Defect数据集上均取得良好的性能.未来将采用剪枝与量化的方法进一步缩小模型参数量,使得模型可以在嵌入式设备上运行,以满足边缘计算条件下的工业表面缺陷检测需求.
表3不同算法性能比较
Table3Performance comparison between different algorithms
图7LCBAFormer在MT-Defect数据集上的分割效果
Fig.7Segmentation effect of LCBAFormer on MT-Defect dataset

