曹义亲 刘文才 徐露
摘要:【目的】针对YOLOX算法在钢材表面缺陷检测中特征提取不充分、多目标缺陷检测能力较弱等问题,提出改进损失函数的多维度特征融合带钢材料表面缺陷检测算法。【方法】首先,在Backbone部分应用SPP_SF保留多尺度特征信息,提高分类精度。其次,在Neck部分加入多维度特征融合模块MDFFM,将通道、空间、位置信息融入特征向量中,加强算法的特征提取能力。最后,引入Varifocal Loss和α-CIoU加权正负样本,提高预测框的回归精度。【结果】实验结果表明,YOLOX-αSMV在NEU-DET数据集中的mAP@0.5:0.95达到了47.54%,较YOLOX算法提高了3.43%。【结论】算法在保持检测速度基本不变的情况下,对模糊缺陷和小目标缺陷的识别、定位能力明显提升。
关键词:YOLOX;缺陷检测;α-CIoU;坐标注意力;Varifocal Loss;SoftPool
中图分类号:TP391;U226 文献标志码:A
文章编号:1005-0523(2024)02-0109-09
YOLOX-αSMV Algorithm for Surface Defect Detection
of Strip Steel Material
Cao Yiqin1, Liu Wencai1, Xu Lu2
(1. School of Software, East China Jiaotong University, Nanchang 330013, China; 2. School of Mechanical and Electrical Engineering, Jiangxi Vocational &Technical College of Communications, Nanchang 330013, China)
Abstract: 【Objective】In order to solve the problems of insufficient feature extraction and weak ability of multi-target defect detection of YOLOX algorithm in steel surface defect detection, a multi-dimensional feature fusion strip material surface defect detection algorithm based on improved loss function is proposed. 【Method】First of all, apply SPP_SF to the Backbone part to retain multi-scale feature information and improve classification accuracy. Secondly, the multi-dimensional feature fusion module MDFFM is added in the Neck part to integrate the channel, space and position information into the feature vector to strengthen the feature ex-traction ability of the algorithm. Finally, the introduction of Varifocal Loss and α-CIoU is weighted with positive and negative samples to improve the regression accuracy of the prediction box. 【Result】The experimental results show that YOLOX-αSMV in NEU-DET data set mAP@0.5:0.95 reaches 47.54%, which is 3.43% higher than YOLOX algorithm. 【Conclusion】The algorithm significantly improves the recognition and localization of fuzzy defects and small target defects while keeping the detection speed basically unchanged.
Key words: YOLOX; defect detection; α-CIoU; coordinate attention; Varifocal Loss; SoftPool
Citation format: CAO Y Q, LIU W C, XU L. YOLOX-αSMV algorithm for surface defect detection of strip steel material[J]. Journal of East China Jiaotong University, 2024, 41(2): 109-117.
【研究意义】受生产工艺、环境、使用年限等因素的影响,带钢材料表面会出现表面点蚀、划痕、裂纹、轧制氧化皮等缺陷,导致钢材质量的下降,对工业生产及产品的可靠性和安全性将造成严重影响。因此,如何对带钢材料产品表面的缺陷进行及时有效的检测,一直是相关企业和学者的重要研究内容。
【研究进展】常用的带钢材料表面缺陷检测方法主要有CCD摄像扫描器检测、激光扫描检测、漏磁检测、人工检测等,虽然可以对带钢表面的缺陷进行检测,但存在难度大、成本高、易受外部干扰、精度低、耗时长等一系列问题,很难符合实际检测需求。
机器视觉检测技术凭借成本低、速度快、精度高等优势逐渐成为许多学者的研究热点,并取得了良好效果。深度学习作为机器学习中的一种特殊范式,应用于越来越多的领域,基于该方法的缺陷检测技术也逐渐取代传统方法,得到了系统研究。Hu等[1]提出一种改进的两阶段网络Faster R-CNN对PCB缺陷图像进行检测,使用Shuffle残差单元代替基本残差单元,减少了整个网络的计算量,准确率基本保持不变,参数量减少了2倍。这种方法进一步简化了缺陷检测操作,降低了测试成本,但使用不同缺陷数据集时精度下降,泛化能力差。曹义亲等[2]提出E-YOLOX算法采用边缘Cutout数据增强对缺陷图片进行预处理,使用新的特征提取网络ECMNet提取梯度流特征信息,为特征融合和缺陷预测提供了良好基础,较好地平衡了检测精度和速度。Jin等[3]采用双阶段网络对概率图模型FRGMM生成的分割方案进行目标定位,具有更高的准确率和召回率,也更具鲁棒性,适用于弱照明、外部噪音、油污等外部因素较多的情况。
上述深度学习算法虽然在一定程度上达到了传统缺陷检测方法无法达到的检测速度,但在精度方面仍有所欠缺。Urbonas等[4]使用迁移学习和数据增强的方法,采用更快的R-CNN网络,将特征提取网络替换为使用预训练权重的AlexNet、VGG、GoogLeNet和ResNet来检测木板的表面缺陷,检测精度达到了96.1%。该方法的局限性在于缺陷的特征模糊,手动标记的数据容易出现错误和误差,从而影响网络性能。Zhang等[5]基于YOLO(you only look once)网络,使用两个密集块对图像进行优先级分类,让网络提前接收多层卷积特征,从而增强特征融合,检测精度得到进一步提高,同时缩短了检测时间。这种优先级分类依赖于大量的训练数据,对于小样本缺陷的检测很不友好。
目前的缺陷检测算法虽在检测中有良好效果,但在提高算法检测精度的同时,降低网络参数量、提升检测速度是亟待解决的问题。MT-YOLOv5算法[6]的检测精度虽然达到了82.4%,但检测速度只有65.4 f/s,参数量也高达29.7 M,且在轧制氧化皮等多目标、小缺陷的检测精度只有大概70%。翁玉尚等[7]改进的Mask R-CNN算法准确率达到了96%,检测速度却只有5.9 f/s。
【创新特色】针对YOLOX算法在钢材表面缺陷检测中特征提取不充分、多目标缺陷检测能力较弱等问题,本文以YOLOX算法为基准模型进行改进,提出了YOLOX-αSMV模型,主要工作有:基于SoftPool,提出SPP_SF结构,最大程度保留池化过程中的多尺度特征信息,提高分类准确率及算法的训练效率;提出了多维度特征融合模块(multi-dimensional feature fusion module,MDFFM),将通道、空间、位置信息融入特征图中,增强算法的特征提取能力;利用Varifocal Loss和α-CIoU加权不同训练样本,提高回归精度,对离群数据有一定的调整能力,增强训练稳定性。
【关键问题】本文算法在相关数据集上取得较高检测精度的同时,降低了网络参数量,达到较快的检测速度,实现检测速度与检测精度之间更好的平衡,具有一定的泛化能力和鲁棒性。
1 YOLOX-αSMV目标检测模型
YOLOX是旷视科技在2021年推出的单阶段目标检测算法,由特征提取网络CSPDarkNet、特征融合网络PAFPN和Decoupled head检测头组成。本文提出的目标检测模型YOLOX-αSMV对YOLOX算法进行了针对性改进,网络结构如图1所示。
1) 特征提取网络(Backbone)。缺陷图片经过Focus进行初步下采样,使用不同大小的卷积运算和SPP_SF进行特征提取和融合,生成大、中、小3种不同尺度的细粒度特征向量,用于检测不同大小的缺陷区域。
2) 特征融合网络(Neck)。3种不同尺度的特征向量先通过MDFFM融入缺陷的通道、空间和位置信息,再经过一系列上采样、下采样、特征拼接等卷积操作,加强对缺陷类别的特征提取能力,进行浅层和深层的高级语义信息交互,最终输出3个更加丰富的特征层。
3) 检测头(Prediction)。80×80、40×40、20×20三种预测不同缺陷大小的特征层经过一个1×1卷积调整通道数后,分成两个特征向量分别进行回归和分类。用于分类的特征向量通过Varifocal Loss加权正负样本,倾斜训练重心,使训练更高效;用于回归的特征向量通过α-CIoU提高预测框的回归精度,加速训练,最终和置信度预测拼接成每个特征层的预测结果。
1.1 SPP_SF模块
YOLOX网络在Backbone中引入SPP模块扩大感受野,融合不同尺度特征图的信息,其主要由3个并联的最大池化层和残差连接构成,最大池化层选取特定区域的最大值为输出,保留主要特征的同时,降低模型计算量,防止过拟合。
最大池化虽然降低了特征冗余度,但也丢失了图像中的大多数信息,降低了网络性能。Stergiou等[8]受早期手工编码特征的池化实验启发,提出了软池化(SoftPool),既保持了基本的池化功能,让区域内的所有特征值都对最终输出有贡献,又减少了信息损失。
SoftPool基于自然指数e,利用激活的Softmax加权求和。整个过程如式(1)所示,首先计算核大小内的权重,再将权重与每个特征值相乘并求和,得到最终输出,从而保留输入的基本属性,并放大更强的特征映射。同时,整个过程是可微的,这表示在反向传播期间,核大小区域内的所有特征至少会被分配一个最小梯度值进行更新,提高了训练期间的神经连通性,有利于提高训练效果。
[a=i∈Reaij∈Reajai] (1)
式中:[R]为池化区域;[ai]为特征值。
本文保持融合特征图尺度不变,提出了SPP_SF,如图2所示。相比于YOLOX中的SPP,SPP_SF将最大池化层替换为SoftPool,在不增加参数和计算量的情况下,保留原图中更多细节,提高分类准确率,加快推理时间。
1.2 MDFFM多维度特征融合模块
带钢材料表面缺陷数据集中的图片分辨率较低,不同缺陷类型颜色背景、纹理特征较为相似,这给缺陷检测带来了难度。为此,本文引入了卷积注意力模块[9](convolutional block attention module,CBAM)和坐标注意力[10](coordinate attention,CA),将通道、空间和位置信息融入特征图中,加强模型对缺陷目标的定位和识别能力。
CBAM网络结构如图3所示,其通过通道注意力机制的并行池化和MLP映射操作聚合特征图的空间信息,提高网络的表达能力;通过空间注意力模块的串行池化和基础卷积运算突出通道特征图的信息区域,丰富特征向量,将通道信息和空间信息同时融入其中。通过以上两步计算,网络的各个分支可以分别了解在通道和空间维度上,要“参与什么”和“到哪里去”,帮助特征信息在网络中流动。
为弥补CBAM不关注或只关注局部位置信息的问题,并让网络更精确地定位缺陷位置,本文同时引入CA模块。CA模块在两个空间方向上分别编码方向和位置映射,互补地增强目标区域的表现,整个过程如图4所示。
CA注意力网络首先使用一维编码聚合两个方向的特征信息,将目标的坐标信息嵌入特征向量中。然后,利用通道数的缩放操作降低网络计算量,混合通道信息,增加非线性拟合能力。
CA坐标注意力沿输入特征向量的水平方向和垂直方向的编码过程都反映了感兴趣的对象是否存在于相应的行和列中,可以充分利用捕获的位置信息,准确地突出显示感兴趣区域,从而更好地识别缺陷位置和类别,提高模型的适用性和检测能力。
本文同时应用CBAM和CA模块,提出多维度特征融合模块MDFFM,将通道、空间与位置3个维度的特征信息融入特征图,丰富Backbone中输出的多尺度特征向量,为后续融合低层细节信息和高层语义信息提供帮助,增强模型检测能力。
1.3 Varifocal Loss模块
在带钢材料表面缺陷图片中,存在的缺陷区域只占整个图片较少的部分,使用目标检测模型进行缺陷检测时,不可避免地会产生正负样本数不匹配的问题。因此,本文模型使用了Varifocal Loss[11],可以有效地解决此问题。Varifocal Loss计算方式如下
[VFLp,q=-qqlogp+1-qlog1-p, q>0-αpγlog1-p , q=0](2)
式中:[p]为预测的IACS值;对于[q],若是负样本,则为0,若是正样本,则为预测的边界框和真实框的IoU;[γ]为比例因子。
Varifocal Loss只对负样本进行了衰减,降低负样本对损失的贡献度。对正样本使用q加权处理,提高其对损失的贡献度,从而倾斜训练重点至高质量的正样本。实验证明,这样的处理可以大大增加不同缺陷类别的检测精度。
1.4 α-CIoU模块
为解决预测框和真实框不重叠时,IoU损失出现的梯度消失问题,出现了几种基于IoU改进的损失设计,如CIoU、GIoU等。He等[12]在现有的IoU损失中引入了Power变换,提出了一种新的损失函数α-IoU Losses,通过增加幂指数α(α=3),使目标检测模型更灵活的实现不同Bounding box(Bbox)的回归精度,而且,对小数据集和噪声框更健壮。根据α-IoU Losses,可概括CIoU损失函数新形式为
[Lα-CIoU=1-IoUα+ρ2αb,bgtc2α+βυα] (3)
式中:[c]为同时包含预测框和真实框的最小闭包区域的对角线距离;[ρ2b,bgt]为预测框和真实框中心点的欧式距离;[βυ]用于度量长宽比的一致性。
CIoU相比IoU,增加了重叠面积、中心点距离、长宽比、检测框尺度损失4种几何参数,而α-CIoU损失函数优于原本形式,让α-CIoU损失在不引入额外参数、不增加推理时间的情况下,通过自适应增加高IoU对象的损失和梯度权重,使模型更关注高IoU对象,从而提高了Bbox的回归精度,增强了模型对部分小目标缺陷和含有噪声缺陷的定位、识别能力。
2 实验结果与分析
2.1 实验环境与参数设定
模型训练迭代次数Epoch设置为300次,Batch_size设置为8。优化器采用随机梯度下降法SGD,初始学习率为0.01,使用余弦退火学习策略,权重衰减为0.000 5。实验环境如表1所示。
2.2 数据集
实验所用的NEU-DET数据集包含6类缺陷,如图5所示,分别为裂纹(Cr),夹杂(In),斑块(Pa),表面点蚀(Ps),轧制氧化皮(RS),划痕(Sc),每种缺陷有300张,共1 800张图片。按照7∶2∶1随机划分数据集,其中1 260张训练集,360张验证集,180张测试集。
2.3 评价指标
实验采用平均精度均值mAP(mean average precision),检测刷新率FPS(frame per second)和参数量Params作为模型性能的评估指标。
1) 本文中IoU为真实框和预测框的交并比,如下
[IoU = A?BA?B] (4)
式中:A为真实框区域;B为预测框区域。
2) FPS为每秒钟检测的图片数量,如下
[FPS=FrameNumElapsedTime] (5)
式中:[FrameNum]为检测图片数量;[ElapsedTime]为模型检测运行的总时间。
3) mAP即mAP@0.5:0.95,IoU从0.5取到0.95,步长为0.05,计算所有AP的均值;mAP50为IoU取0.5,计算所有AP均值(本文主要采用mAP作为评价指标,力求更严格地评估算法性能)。计算方式如下
[AP=01p(r)dr] (6)
[mAP=1ni=1nAPi] (7)
式中:[p(r)]为以准确率p为纵坐标,以召回率r为横坐标的pr曲线。
2.4 对比实验及结果分析
为验证本文算法在NEU-DET数据集上的检测效果,在相同实验环境和数据集划分下,选取了通用目标检测算法和钢材缺陷目标检测领域的算法进行对比实验分析,实验结果如表2所示。
由表2实验结果可知,YOLOX-αSMV的mAP为47.54%,相比于其他目标检测算法均有不同程度的提高,比YOLOv3提高13.54%,比YOLOv5提高8.94%,比YOLOv7提高1.64%,比文献[15]提高11.14%,比基准模YOLOX提高3.43%。并且,除在Sc 缺陷类上检测精度略低于YOLOv8外,YOLOX-αSMV对每种缺陷类别的检测精度均高于其他对比算法,mAP50达到了最优值78.84%。
YOLOX-αSMV模型的参数量为9.02 M,比大多数模型参数量低,仅比YOLOv5高1.82 M,而检测速度达到了175.5 f/s,比YOLOv5提高75.7 f/s,比YOLOv7提高36.6 f/s,与基准模型YOLOX相比基本保持不变。
与目前标检测领域的SOTA算法YOLOv8相比,本文模型mAP提高0.24%,参数量只有YOLOv8的约80%,检测速度提高了51.55%。
综合以上实验结果可知,在NEU-DET数据集上,YOLOX-αSMV以较小的代价,达到了较优的检测结果,说明本文算法适用于带钢材料表面缺陷检测,有较强的缺陷检测能力,能够检测出其他目标检测模型难以识别的模糊缺陷、小目标等缺陷。
为验证本文算法的泛化能力,进一步在钢材表面缺陷数据集GC10-DET和公共数据集PASCAL VOC2012上对YOLOX算法和YOLOX-αSMV算法进行对比实验。GC10-DET包括冲孔、焊缝、夹杂物、新月形缝隙等10种缺陷类别;VOC2012包括人、动物、交通工具、家具四大类,共20种常见目标类别,实验结果如表3所示。
由表3数据可知,本文算法在GC10-DET上,mAP达到37.67%,提高2.77%,在PASCAL VOC2012数据集上,mAP达到57.68%,相对于YOLOX网络,提高2.02%,FPS均基本保持不变,表现良好。充分说明了本文提出的YOLOX-αSMV算法在同类型数据集和公共数据集上依旧具有良好的泛化能力和检测性能。
图6直观地展示了YOLOX算法和本文算法在实际检测中对部分缺陷的检测效果。两种算法对比可知:本文算法能检测出YOLOX算法未检出的小目标缺陷;检测框更贴近真实缺陷区域;相同区域检测框的置信度更高。这充分证明本文对YOLOX改进的有效性,改进后的算法更适用于带钢材料表面缺陷检测,具有良好的实用价值。
2.5 消融实验及分析
2.5.1 CBAM和CA模块融合方式
为对比CBAM和CA模块融合多维度信息的不同顺序和方式对模型精度的影响,本文设计了如图7所示的两种多维度特征融合模块。
图7(a)为CBAM和CA模块串行,特征向量经过CBAM融合通道和空间信息后,通过CA模块融入缺陷的位置信息,最后输出融合后的特征向量。图7(b)为CBAM和CA模块并行,输入的特征向量同时经过CBAM和CA模块融入相应维度的特征信息,再相加并通过一个SiLU激活函数后输出。不同融合结构的实验结果如表4所示。
由表4数据可知,CBAM和CA模块采用串行结构虽然在速度上比并行结构略慢,但精度提高1.9%。因此,本文模型采用CBAM和CA模块串行融合多维度特征信息。
2.5.2 消融实验
为进一步验证本文模型的检测能力,分析4种改进方案对算法的作用,在NEU-DET数据集上,设置相同的运行环境和实验超参数,对各改进方案进行消融实验,表中,“√”表示使用该改进方案。由表5实验数据可知,单独采用这4种改进方案对模型的参数量、检测能力和检测速度都有不同程度的影响。由实验2、3、4、5可知,4种改进方案对模型性能都有增益,MDFFM的引入加强了模型的特征提取能力,mAP提升2.84%,SPP_SF保留了更多的特征信息,提高了模型的训练效率,FPS达到182.3 f/s。
由实验6可知,在YOLOX网络中同时应用MDFFM和SPP_SF,检测速度下降9.2 f/s,mAP提高3.01%,检测精度提升最为明显,这说明了虽然SPP_SF对检测精度效果有限,但可以弥补MDFFM在速度上的不足,有效提高了模型的检测能力。由实验7可知,同时引入分类损失Varifocal Loss和回归损失α-CIoU,在不增加模型参数量的前提下,mAP提高2.42%,检测速度也提高7.7 f/s,说明将有限的训练资源倾斜到有目标的正样本上,并优化IoU计算方式可以提高模型鲁棒性和检测速度。
由实验8可知,同时采用这4种改进方案,参数量提高0.08 M,检测速度下降1.7 f/s,在小幅度牺牲模型大小和检测速度的情况下,mAP达到47.54%,mAP50达到78.84%,分别提高3.43%、2.14%。RS类缺陷由于部分样本偏暗,导致特征提取过程中的信息丢失,未达到最优,不过仍优于YOLOX网络。除RS缺陷外,其余缺陷类别精度均达到最优,进一步证明了本文模型在带钢材料表面缺陷检测中的有效性。
3 结论
本文通过引入通道注意力机制、软池化,改进损失函数等方法对YOLOX算法进行优化,提出了YOLOX-αSMV算法,以实现对带钢材料表面缺陷高效、精确的检测。在NEU-DET数据集上对算法进行了实验分析,结论如下。
1) 改进算法有效弥补了原网络的漏检、错检情况,检测框的置信度也更高,更接近真实框,具有一定的鲁棒性。
2) 本文算法在裂纹缺陷上的检测精度仍然较低,后续可以对此类缺陷的检测进行研究,进一步提高算法的检测能力。
参考文献:
[1] HU B, WANG J. Detection of PCB surface defects with improved Faster R-CNN and feature pyramid network[J]. IEEE Access, 2020, 8: 108335-108345.
[2] 曹义亲, 周一纬, 徐露. 基于E-YOLOX的实时金属表面缺陷检测算法[J]. 图学学报, 2023, 44(4): 677-690.
CAO Y Q, ZHOU Y W, XU L. A real-time metallic surface defect detection algorithm based on E-YOLOX[J]. Journal of Graphics, 2023, 44(4): 677-690.
[3] JIN X, WANG Y, ZHANG H, et al. DM-RIS: Deep multimodel rail inspection system with improved MRF-GMM and CNN[J]. IEEE Transactions on Instrumentation and Measurement, 2019, 69(4): 1051-1065.
[4] URBONAS A, RAUDONIS V, MASKELI?NAS R, et al. Automated identification of wood veneer surface defects using faster region-based convolutional neural network with data augmentation and transfer learning[J].Applied Sciences, 2019, 9(22): 4898.
[5] ZHANG J, KANG X, NI H, et al. Surface defect detection of steel strips based on classification priority YOLOv3-dense network[J]. Ironmaking & Steelmaking, 2021, 48(5): 547-558.
[6] 马燕婷, 赵红东, 阎超, 等. 改进YOLOv5网络的带钢表面缺陷检测方法[J]. 电子测量与仪器学报, 2022, 36(8):150-157.
MA Y T, ZHAO H D, YAN C, et al. Strip steel surface defect detection method by improved YOLOv5 network[J]. Journal of Electronic Measurement and Instrumentation, 2022, 36(8): 150-157.
[7] 翁玉尚, 肖金球, 夏禹. 改进Mask R-CNN算法的带钢表面缺陷检测[J]. 计算机工程与应用, 2021, 57(19): 235-242.
WENG Y S, XIAO J Q, XIA Y. Strip surface defect detection based on improved Mask R-CNN algorithm[J]. Computer Engineering and Applications, 2021, 57(19): 235-242.
[8] STERGIOU A, POPPE R, KALLIATAKIS G. Refining activation downsampling with softpool[C]//Montreal: 2021 IEEE/CVF International Conference on Computer Vision (ICCV), 2021.
[9] WOO S, PARK J C, LEE J Y, et al. Cbam: Convolutional block attention module[C]// Munich: Proceedings of the European Conference on Computer Vision (ECCV), 2018.
[10] HOU Q, ZHOU D, FENG J. Coordinate attention for efficient mobile network design[C]// Nashville : 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2021.
[11] ZHANG H, WANG Y, DAYOUB F, et al. Varifocalnet: An IoU-aware dense object detector[C]// Nashville :2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR), 2021.
[12] HE J, ERFANI S, MA X, et al. Alpha-IoU: A family of power intersection over union losses for bounding box regression[J]. Advances in Neural Information Processing Systems, 2021, 34: 20230-20242.
[13] TIAN Z, SHEN C, CHEN H, et al. Fcos: Fully convolutional one-stage object detection[C]//Seoul: 2019 IEEE/CVF International Conference on Computer Vision (ICCV), 2019.
[14] WANG C Y, BOCHKOVSKIY A, LIAO H Y M. YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors[C]// Vancouver: Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, 2023.
[15] 曹义亲, 伍铭林, 徐露. 基于改进YOLOv5算法的钢材表面缺陷检测[J]. 图学学报, 2023, 44(2): 335-345.
CAO Y Q, WU M L, XU L. Steel surface defect detection based on improved YOLOv5 algorithm[J]. Journal of Graphics, 2023, 44(2): 335-345.
第一作者:曹义亲(1964—),男,教授,硕士,硕士生导师,研究方向为图像处理、模式识别。E-mail:yqcao@ecjtu.edu.cn。
通信作者:刘文才(1999—),男,硕士研究生,研究方向为图像处理。E-mail:473256359@qq.com。