基于多尺度特征融合和注意力的钢表面缺陷检测
2022-11-05董荣胜
黄 怡, 董荣胜
(桂林电子科技大学 广西可信软件重点实验室,广西 桂林 541004)
扁钢的生产过程特别精细,从加热和轧制到干燥和切割,钢表面不可避免地会产生一些缺陷[1]。目前,如航空航天、机械制造业等各大行业对钢铁产品的质量越发重视,质量把关已成为钢铁行业的关键技术[2]。针对钢表面缺陷问题,如何准确地检测表面缺陷并提高产品质量已成为钢铁生产领域的核心问题。然而,在现实世界的钢厂中,钢表面缺陷的现场检测是一项非常具有挑战性的工作[3]。
近些年来,随着以卷积神经网络(convolutional neural networks,简称CNN)为代表的深度学习模型在诸多计算机视觉领域成功应用,例如人脸识别、场景文字检测、目标跟踪和自动驾驶等,不少基于深度学习的缺陷检测方法也被广泛应用在各种工业场景中[4-5]。例如,为了解决缺陷检测难以兼顾分类和定位这两者的准确性,He等[6]提出了一种基于深度学习的新型缺陷检测系统,并研究了一种实际的钢板缺陷检测工业应用,同时建立了一个缺陷检测数据集NEU-DET,用于训练和评估所提出的方法,达到了良好的性能,且具有实时检测的潜力。Cha等[7]提出了一种基于Faster R-CNN的结构视觉检测方法,以检测5种类型的表面损伤:混凝土裂缝、钢筋腐蚀、螺栓腐蚀和钢筋分层。Tao等[8]基于CNN 进行金属表面缺陷自动检测与识别,设计了一种新颖的级联式自动编码器结构,用于分割和定位缺陷。这种通用的方法可以直接应用于工业应用中其他材料的缺陷检测。Nie等[9]提出一种基于Deep Labv3+网络的钢表面缺陷检测方法,Deep Labv3+融合不同的骨干网络,完成了对钢表面缺陷的自动检测和分类,并且获得了较高的准确度和效率。Weng等[10]通过一种改进Mask R-CNN 算法进行带钢表面缺陷检测,能够实现对缺陷目标的检测和实例分割,实验均值平均精度(m AP)提升到96.02%,检测速度达5.9 frame/s。
根据kaggle竞赛平台提供的钢表面缺陷数据集,针对目前还存在数据集中如麻点表面等小而细的缺陷,是检测过程中易丢失缺陷信息,缺陷定位和分类困难的问题导致检测准确率不理想。因此,为了解决上述问题,提高对钢表面缺陷检测准确率,提出了一种基于多尺度特征融合和注意力机制的钢表面缺陷检测算法,用于处理钢表面缺陷检测任务,以获取钢表面缺陷的类型和位置信息。
1)提出一种结合残差网络和多尺度特征融合的编码器结构,其中多尺度特征融合模块由金字塔切分注意力(pyramid split attention,简称PSA)模块和空洞空间卷积池化金字塔(atrous spatial pyramid pooling,简称ASPP)模块并联组成,以获取更细粒度的多尺度特征信息。
2)提出一种基于全局注意力采样(global attention upsample,简称GAU)模块的解码器结构,利用高层语义信息对浅层细节信息的指导作用来实现更加精准的选取细节信息,帮助逐渐恢复目标信息。
1 数据集
针对在kaggle竞赛平台上由Severstal公司提供的钢表面缺陷图像数据集[1]进行研究,如图1所示,该数据集由12 568张1 600×256像素的灰度钢表面图像组成,包含4类缺陷,分别为麻点表面、划痕、夹杂物和斑块,缺陷类型多样,且每个缺陷图像可能不具有缺陷、具有单个类别的缺陷或具有多个类别的缺陷。数据集中各类型缺陷图像数量亦各不相同,数据集中有54.6%的图像存在缺陷,且各类型缺陷数量极不平衡,仅缺陷类型3就占39.6%,占有缺陷图像数量的70%以上,而缺陷类型2仅占1.9%。针对上述缺陷数量极不平衡问题,在进行数据预处理时,采取数据增强方法来丰富训练数据集,其中采用的数据增强方法有随机裁剪、翻转和随机变换等。
图1 缺陷图像示例
2 网络结构设计
提出一种基于多尺度特征融合和注意力机制的钢表面缺陷检测模型,整体网络结构如图2所示。该模型采用的是编解码器结构,编码器结构用残差网络ResNet50[11]作骨干网络,用于特征提取任务,残差结构能够学习更多更深层次的特征信息。随后连接一个多尺度特征融合模块,该模块由PSA 模块和ASPP模块并联组成,其中PSA模块利用不同卷积核进行分组卷积来获取具有自适应通道注意力权值的不同尺度空间特征信息;同时ASPP模块利用多采样率空洞卷积来实现不同尺度特征的提取,接着将提取到的所有多尺度特征拼接在一起,进行特征融合,旨在捕获更富有辨识能力的多尺度特征信息。最后经过1×1卷积进行降维,得到的高级语义特征作为解码器的输入。在解码器结构中,主要是利用全局注意力采样将丰富的高级语义信息生成全局上下文权重来指导低水平特征选取细节信息,帮助逐步恢复缺陷信息,接着应用3×3卷积块来细化特征,最后进行上采样输出预测结果。
图2 整体网络结构
2.1 编码器结构设计
针对钢表面存在的形状大小、位置信息各异的麻点表面、划痕、夹杂物和斑块这4类缺陷,为了能更加准确地提取到4类缺陷的特征信息,在编码器结构中捕获高级语义信息的同时,需要提取具有丰富空间信息的特征,因此,设计一个ASPP模块与PSA模块并联的结构来实现多尺度特征融合。ASPP模块的作用是利用空洞卷积扩大感受野,其空洞率rate=[6,12,18],可以提高对不同大小缺陷的特征提取能力,对恢复缺陷边缘部分信息也具有重要作用。金字塔切分注意力模块[12]是一种能够在更细粒度水平上提取多尺度空间信息,并自适应地重新较准跨维通道注意权重的轻量高效的注意力模块,通过该模块可以提取含有这4类缺陷的更细粒度的多尺度空间信息。
2.1.1 金字塔切分注意力模块
金字塔切分注意力模块核心思想是通过分组卷积构建金字塔结构提取多尺度空间信息,同时利用Softmax函数来重新较准跨维通道注意力权重,输出更精细的多尺度特征信息,其网络结构如图3所示。
图3 金字塔切分注意力模块
该模块先经过一个切分和拼接(split and concat,简称SPC)操作,即:对输入特征图进行通道维度的平均切分操作,接着对均分后的特征图分别进行不同卷积核的分组卷积来构建特征金字塔结构,然后将分组卷积后得到的特征图按照通道维度重新拼接起来,最后输出一个拥有多尺度空间信息的特征图。具体SPC操作过程如图4所示。
图4 切分和拼接操作
1)设输入特征图为X,它的通道数C=2 048,将X沿通道维度切分为4份,记为[X0,X1,X2,X3]。对于每个切分后的特征图,它的通道数为C′=C/4=512,切分后的第i个特征图,可表示为Xi(i=[0,1,2,3])。接着使用ki=[3,5,7,9]的不同卷积核分别对Xi进行分组卷积操作,独立地学习多尺度空间信息,其中不同卷积核大小和分组数之间的关系为
其中:ki为卷积核的大小;Gi为分组卷积操作中分组数,但当k0=3时,取G0=1。通过分组卷积构建金字塔结构生成多尺度特征图的具体实现过程,可表示为
其中:Conv(·,·)表示分组卷积操作;对于第i个特征图Xi,Fi为Xi完成分组卷积操作的特征图;F表示将各切分特征图分组卷积的输出特征图进行拼接操作后得到的预处理多尺度特征图。
2)利用通道注意力权重模块对预处理多尺度特征图F进行编码,提取通道注意力权重信息,得到不同尺度特征的注意力权重向量,可表示为
其中,Zi表示从Fi中提取的注意力权重,SEWeight(·)用于从不同尺度的输入特征图中获取注意力权重,这样可以融合不同尺度的上下文信息。进一步,为了实现注意力信息的交互,将4组的权重串联在一起,
其中:⊕为拼接操作;Z为多尺度注意力权重向量。
3)利用Softmax函数对注意力权重向量进行重新校准,其先在Zi的引导下,采用跨通道的软注意自适应选择不同的空间尺度,其软分配权重表述为
其中,Softmax(·)用于获取多尺度通道的重新校准权重Ai,包含有空间上的所有位置信息和通道中的注意力权重。将重新校准的通道注意力以串联的方式拼接,从而得到整个多尺度特征图的新通道注意力向量,实现拼接过程为
其中:⊕为拼接操作;A为注意力交互后的多尺度通道权重。
4)对重新较准的多尺度通道权重与相应特征图Fi相乘,
其中:⊗表示乘法操作;Yi表示具有多尺度通道注意力权重的特征图。
综上所述,经PSA 模块获得更加丰富和精化的多尺度特征信息的过程可表述为
2.1.2 通道注意力权重模块
通道注意力权重模块的核心思想是通过压缩全局空间信息来获取各通道统计信息并调整输出通道权重向量,具体实现过程如图5所示。
图5 通道注意力权重模块
1)设输入特征图为U,通道数、高和宽分别为C、H和W,U首先经过全局平均池化,将全局空间信息压缩到通道描述中生成通道统计信息,计算式为
其中:Z通过压缩U生成;Zc为第c个通道统计信息。
2)利用上述的通道统计信息Z,进一步调整各个通道的权重,即:通过2个全连接层,第一层使用Re-Lu激活函数,第二层使用sigmoid激活函数,最终输出各通道特征的权重,过程表述为
经过该模块获得的通道注意力权重信息,有助于模型在学习过程中根据不同的权重赋予通道不同的关注度,提高其对各个通道特征信息的提取能力[13]。
2.2 解码器结构设计
在解码器结构中,为了能够更好地获得4类缺陷的边缘信息,提高缺陷预测和分割效果,提出基于全局注意力采样模块的解码器结构,利用低层丰富的细节信息对高级语义信息的指导作用,能很好地帮助恢复4类缺陷目标信息,经过3×3卷积块进行特征细化,得到通道数为4的特征图,最后上采样输出预测结果。
2.2.1 全局注意力采样模块
全局注意力采样模块可有效地部署不同尺度特征图,并能够以简单的方式向低层特征图提供指导信息[14]。改进的全局注意力采样模块结构如图6所示。
图6 全局注意力采样模块
在解码器中,将来自编码器丰富的高级语义信息作为GAU 模块的高水平特征的输入,设高层输入特征H,其中通道数C=256,通过全局平均池化生成全局上下文h,经过1×1卷积、批归一化和非线性激活函数,得到每个通道的权重信息,实现过程可表示为
其中:G表示由高层输入特征得到的全局上下文权重;g(·)表示进行全局池化;F1×1表示进行1×1卷积;BN表示批归一化;δ(·)表示ReLu激活函数。
2.2.2 高效通道注意力模块
将骨干网络ResNet50浅层细节信息作为GAU低水平特征输入,设浅层输入特征L,其中通道数C=256。首先L经过高效通道注意力(efficient channel attention,简称ECA)模块[15],其结构如图7所示,该模块主要通过卷积核大小K=3的一维卷积的不降维方式来实现有效捕获跨通道交互的特征信息,可表示为
图7 高效通道注意力模块(ECA)
其中:由式(10)可知Z是全局平均池化后的输出结果;C1DK=3(·)表示进行卷积核大小K=3的一维卷积;σ(·)表示sigmoid激活函数;E表示经过通道注意力模块的输出特征。利用权重G与E做加权操作,可表示为
其中,Lw表示加权后的浅层特征信息。
将上采样后的高层特征与加权后的浅层特征相加即可得到最终的输出结果,可表示为
3 实验
3.1 评价指标
采用Dice系数和IoU 作为评价指标。Dice系数是一种集合相似度度量函数,可用来比较预测结果与原始图像真值之间的像素一致性(范围为[0,1]);IoU(交并比)是一种表示分割预测结果与原始图像真值重合程度的函数。评价指标计算如下:
其中:P为分割预测结果;T为真实标注。
3.2 训练过程
基于Pytorch深度学习框架,采用显存11 GiB的GeForce RTX 2 080 Ti 1进行模型训练,优化器选取RAdam[16],其在优化算法Adam[17]的基础上进行了修正,能够获得更加优异的模型训练收敛速度和效果,在钢表面缺陷检测任务上也表现良好。针对kaggle竞赛平台提供的钢表面缺陷数据集,按照比例8∶2将数据集随机拆分成训练集和验证集,训练过程中各参数初始化设置如表1所示。
表1 模型参数初始化设置
3.3 结果分析与对比
为了测试提出的基于多尺度特征融合和注意力机制的钢表面缺陷检测模型的有效性,基于Res-Net50骨干网络,对基础网络(Deeplabv3+)添加金字塔切分注意力模块(PSA)和全局注意力采样模块(GAU)进行消融实验,结果如表2所示。
表2 消融实验结果
由表2可看出,当仅添加PSA模块时,缺陷检测准确率有所提高,因为在基础网络中,ASPP模块虽然可以通过不同采样率扩大感受野,但是由于采样率间隔较大,会导致一些局部信息丢失,特别是钢表面缺陷的大小和形状不规则,如麻点表面等细小缺陷,局部信息的丢失极易造成缺陷信息丢失或误检;而PSA模块可以在更细粒度水平上提取多尺度空间信息,因此添加PSA 模块与ASPP模块实现多尺度特征融合,可以提升缺陷检测率。当仅添加GAU 模块时,缺陷检测准确率也明显提高,相比较于基础网络中使用简单的解码器来恢复缺陷图像的边缘信息,基于GAU 模块的解码器结构能够更好地利用编码器中所提取的丰富高级语义信息,指导低水平特征选取细节信息,可以在更大程度上帮助解码器逐步恢复缺陷信息,达到提高缺陷检测准确率的目的。而同时添加PSA模块和GAU 模块的实验效果最好,分割准确率最高,Dice 达到了94.22%,IoU 达到了66.24%,表明金字塔切分注意力和全局注意力采样模块可以有效用于钢表面缺陷检测并提升网络性能,证明所提出的基于多尺度特征融合和注意力机制的钢表面缺陷检测模型是有效的。
为了对比不同的语义分割算法对钢表面缺陷检测的效果,分别基于不同模型框架进行实验,结果如表3所示。
表3 不同模型的对比实验结果 %
实验数据表明,基于多尺度特征融合和注意力机制的钢表面缺陷检测模型的缺陷检测Dice能够达到94.22%,IoU 达到66.24%;相比较于使用了预训练的Deeplabv3+网络,Dice提高了1.08%,Io U 提高了3.11%,与其他所选的对比语义分割模型相比也有不同程度的提升。
3.4 可视化分析与对比
为了分析缺陷检测模型对缺陷图像的检测分割效果,基于不同模型的对缺陷图像分割效果进行了对比。如图8所示,为了更清晰地区分同一张多缺陷图像中不同缺陷的缺陷分割情况,将不同缺陷类型分颜色展示,紫色缺陷是对缺陷3的缺陷分割可视化展示,红色缺陷是对缺陷4的缺陷分割可视化展示。经对比可看出,基于Unet等语义分割模型的缺陷分割在检测过程中严重丢失缺陷信息,且存在边缘信息处理不够精细、易丢失部分边缘缺陷信息的情况,缺陷分割效果欠佳;而基于融合多尺度特征和注意力机制的钢表面缺陷检测模型,能更好地把握缺陷图像中大小不一的缺陷信息,且全局注意力采样模块在恢复边缘细节信息中至关重要,使得解码器在产生像素级的分割预测过程中能很好地利用高层语义信息对低层信息的指导作用,最终缺陷分割效果对边缘细节信息处理更平滑,效果更优。
图8 不同模型对多类缺陷图像的分割效果对比
4 结束语
提出了一种基于多尺度特征融合和注意力机制的钢表面缺陷检测算法,适用于定位和分类钢板表面缺陷,且成功地在实际工业数据集上进行评估。实验结果表明,提出的基于编码器-解码器结构的语义分割网络结构在钢表面缺陷检测中表现了良好的性能,其中所提出的基于残差网络和多尺度特征融合模块的编码器结构提取了更丰富和精细化的多尺度特征信息;同时,解码器结构通过全局注意力采样模块利用高层语义信息对浅层细节信息进行指导,提升了对边缘等细节信息的恢复效果。本算法的Dice系数达到了94.22%,提高了缺陷检测的准确度,在钢表面缺陷检测中优于多种算法。未来,针对缺陷类型相对较少的情况,将继续丰富数据集来提高模型的泛化性能,并对细小缺陷的检测问题进行进一步研究。