改进YOLOv5s的钢材表面缺陷检测
2023-08-20谷长江高法钦
谷长江 高法钦
摘 要:缺陷检测是生产中重要的环节,基于钢板表面缺陷特征不明显和难以提取导致的检测精度不足问题,文章在YOLOv5s检测网络的基础上进行改进,首先基于DO-Conv过参数化模块改进网络特征提取模块,然后使用ULSAM注意力机制改进网络的颈部(Neck),提出改进的YOLOv5s缺陷检测网络。基于NEU-DET数据集的实验结果表明,改进的YOLOv5s缺陷检测网络检测平均准确率达76.6%,较YOLOv5s和YOLOv4分别提升了7.8%和6.3%,有效提高了钢材表面缺陷检测精度。
关键词:YOLOv5s;缺陷检测;注意力机制;过参数化
中图分类号:TP399 文献标志码:A
0 引言(Introduction)
钢材作为国民生产中重要的材料,在其生产、加工及运输过程中不可避免地有缺陷产生,其中尤为严重的就是生产过程中产生的缺陷,这类缺陷的影响较大,常常造成残次品或无法满足实际使用需要等。传统的目标检测主要是采用人工方式进行检测,这种方法受主观因素影响较大,因此研究基于深度学习的钢材表面缺陷检测算法具有重大意义。
随着深度学习在图像领域的不断应用,缺陷检测也逐渐成为其中一个应用分支[1]。传统的机器图像如无损检测、微波检测方法的应用存在对材料有限制等问题而无法广泛应用[2-3]。基于图像深度学习的缺陷检测技术没有目标材料限制要求且不需要直接接触被检测物体而逐渐被应用于更多领域的材料缺陷检测任务中。
研究者们在钢材表面缺陷检测领域已进行了大量研究。2017年,邢健夫[4]使用AlexNet构建了一套对钢材缺陷进行分类的网络,并使用数据增强技术对数据集进行扩充,最终提高了缺陷分类的准确性。2020年,徐镪等[5]在YOLOv3网络的基础上进行改进,采用MobileNet模块提升了带钢表面缺陷的检测速度。
然而,对于钢材表面缺陷检测任务,上述研究仍存在很多問题,例如对小目标不敏感、缺陷检测的精度依旧有待提高等。针对小目标检测问题,本文通过使用ULSAM 注意力机制,加强了上下文特征信息的融合和对小目标的特征提取能力。针对缺陷检测精度不高的现象,本文提出基于DO-Conv的特征提取模块,利用过参数化带来的强大特征提取能力提升模型的性能[6]。并通过实验证明,本文所提方法有效提升了钢材表面缺陷检测精度。
1 YOLOv5s算法及其改进(YOLOv5s algorithmand its improvements)
1.1 YOLOv5s网络结构
YOLOv5是继YOLOv4之后提出的YOLO系列的又一名新成员,它的特征提取网络是基于跨阶段的局部网络架构的暗网(CSPDarknet)[7]。CSPDarknet拥有较高的计算效率,同时YOLOv5系列为了面向不同的检测任务,提出了如YOLOv5-t、YOLOv5-s、YOLOv5-m、YOLOv5-l等多个不同版本,这使得YOLOv5系列比YOLOv4系列拥有更广的适用领域[8]。其中应用最多的就是YOLOv5s网络,它在网络复杂性与网络精度方面取得了良好的协调。因此,本文针对YOLOv5s网络进行研究。
图1是YOLOv5s网络的结构图。YOLOv5s网络分为Backbone特征提取网络、neck上下文特征融合网络及Head预测网络三个部分。其中,SPPF结构使用集连方法构建模块,这在很大程度上扩大了模块的感受野。
1.2 YOLOv5s网络检测原理
YOLOv5s是一种基于深度学习的目标检测模型,它使用卷积神经网络实现对图像中物体的检测。YOLOv5s采用了单阶段目标检测的方法,该方法可以在单次推理中完成目标检测、定位和分类任务。
在YOLOv5s中,网络使用多个卷积层提取图像特征。Neck部分完整对Backbone部分提取到的特征进行进一步融合,由此得到更丰富的目标特征,以便实现对目标的预测。Neck网络部分采用的是特征金字塔+路径聚合(FPN+PAN)结构。LIN等[9]提出著名的特征金字塔网络(Feature PyramidNetworks,FPN),目的是对网络内部不同深度的特征信息进行融合。Mosaic数据增强技术是在YOLOv4网络的基础上提出的,经实验证明,Mosaic能有效缓解特征不明显的现象,因此YOLOv5s中也使用了这种方法[10]。
首先,网络使用一组卷积层提取图像特征。其次,网络使用类似于FPN的结构生成多个分辨率的特征图。这些特征图可以用来预测目标的位置和类别。最后,YOLOv5s使用了一种称为非极大值抑制(Non-Maximum Suppression)的方法移除重叠的检测框,并输出最终的检测结果。
YOLOv5s的损失函数如公式(1):
其中,α、β、γ 是协调三个损失的超参数,Lconf 表示该检测点是否存在目标的置信度损失,Lobj 表示目标分类的损失,Lbbox 表示目标真实框与预测框之间偏离导致的损失。
1.3 YOLOv5s的改进
1.3.1 基于DO-Conv改进YOLOv5s
DO-Conv是一种过参数化(Over-Parameter)方法[11],它的思想是通过将一次卷积分离成两个可学习的训练步骤,最终在推理时将这两个步骤结合成一个卷积操作,它包含一个深度卷积操作和一个普通的矩阵乘法即线形层。其中,深度卷积公式如下:
通过一次深度卷积可以让原有尺度为Cin×(M ×N )的输入特征转换为尺度为Cin×D 的输入特征,对于h×w 大小的特征图而言,D 指的是h×w 个空间点位,M ×N 指的是滑动窗口时卷积核W 的个数,Cin 表示输入特征的尺度为C。
DO-Conv的具体流程图如图2所示,其中W 表示卷积权重,I 表示输入特征,P 表示卷积参数,O 表示输出特征,o为公式(2)表示的运算操作,*表示普通卷积操作。图2是DOConv推理时的流程,可以看出,输入特征相当于进行了两次卷积,根据DO-Conv研究推理得出,图2中的计算流程等价于图3所示的流程。
从图3中可以看出,DO-Conv采用了类似Inception的思想,但不同的是DO-Conv采用深度方向的堆叠方法。
1.3.2 ULSAM
ULSAM(超轻量级子空间注意力模块),是一种用于紧凑型CNN的新型注意力模块。ULSAM可以为每个特征图子空间学习不同的注意力图,减少紧凑型CNN的特征图中的空间和通道冗余。同时,为每个子空间学习不同的注意力图,可以实现多尺度的特征表示,特别是对于细粒度的图像分类任务。ULSAM是一个能够高效地学习特征图子空间的模块,它是基于跨通道相互依赖性的注意力模块构建的。
ULSAM计算流程图如图4所示,DW 表示分组卷积,PW表示点积,1×1表示卷积核大小,Softmax是激活函数。
为了增强网络对特征的识别能力,本文在将特征送入预测网络之前,使其通过一个ULSAM模块,以更好地提取特征。改進后的网络结构图如图5所示。
2 实验与分析(Experiment and analysis)
2.1 实验环境
为了验证本研究改动对小目标缺陷件检测的有效性和先进性,在CPU为RX3600,GPU为Ge Force RTX3060,开发语言为Python,深度学习框架为pytorch的环境下进行实验。
2.2 数据集简介
数据集来源于东北大学的NEU-DET钢材表面缺陷数据集[12]。图像类别包括裂纹(CR,Crazing)、夹杂(IN,Inclusion)、斑块(PA,Patches)、麻点(PS,Pitted_Surface)、压入氧化铁皮(RS,Rolled-in_Scale)及划痕(SC,Scratches)。每种类型的缺陷图片包含300幅尺寸为200×200的图像,共计1 800张。使用xml格式定位缺陷位置并对其进行分类。数据集按7∶2∶1的比例随机分为训练集、验证集和测试集。
2.3 模型训练
本文提出的改进YOLOv5s算法的初始设置情况如下:初始学习率为0.01,训练300个epoch,若训练结束验证集损失未稳定,则相应增加epoch 值,如果训练长时间不收敛,超过50个epoch,则提前结束。模型训练目标的类别置信度阈值是0.5,DIoU 阈值是0.45。当两个预测框之间的DIoU 值超过了设置阈值时,则删除该预测框。将输入图像进行分类处理后,输出结果作为最终结果。
评价指标主要分为模型指标和精度指标两大类。模型指标为模型的参数量大小Params,模型推理时的浮点数GFLOPs。精度指标采用精确率(Precision,P)、召回率(Recall,R)和平均准确率(Mean Average Precision,MAP)三项作为网络模型的性能指标。P、R、MAP 和AP 公式如下:
其中,TP 为正确预测的正例;FP 为错误预测的负例;FN 为错误预测的正例;n 为类别数;AP 为每种检测类型的准确性。
2.4 结果与分析
为了验证本文方法的优越性,首先将其与主流算法进行了性能比较,然后通过消融实验验证了改进YOLOv5s算法的有效性。
2.4.1 算法的对比实验
改进YOLOv5s与YOLOv3、YOLOv4和YOLOv5s三种常用算法的评价指标见表1[13-16]。下述算法的GFLOPs 是在输入图像大小为640×640时获得的。
上述改进模型的Params 和GFLOPs 是在推理时获得的。所有模型均是在初始学习率为0.01、IoU 阈值为0.5的条件下计算,训练结束时模型损失均已收敛。由表1中的结果可知:本文提出的改进YOLOv5s算法以76.6%的平均准确率、76.2%的精确率、70.3%的召回率排第一,其综合性能优于其他几种算法。
2.4.2 消融实验
本文设立3组不同条件的实验,未改动的YOLOv5s、仅添加DO-Conv的YOLOv5s,以及添加了ULSAM注意力机制与DO-Conv的YOLOv5s(本文改进算法),通过比较3组实验的MAP 验证本文所提算法的有效性。这3组实验的MAP 见表2。
由表2可知,改动后算法的检测精度得到了大幅提升,通过使用注意力机制融合特征以及通过DO-Conv增强特征提取能力,可以有效提升模型的精度。
3 结论(Conclusion)
本文提出的基于YOLOv5s的钢板缺陷检测方法通过DO-Conv增强特征提取能力,引入ULSAM 模块提升了算法对NEU-DET钢板缺陷识别的精度。针对钢材表面缺陷检测问题,本文对YOLOv5s算法进行改进:引入DO-Conv模块,进一步增强模型对特征的提取能力;引入ULSAM 注意力机制,增强特征融合能力,更好地提取目标特征。实验结果验证了本文提出的新算法的有效性,研究成果为钢材表面缺陷检测提供了一种算法基础。接下来,将在提升模型检测速度及检测精度方面做进一步研究。
参考文献(References)
[1] 袁洪强,杜国锋,余泽禹,等. 基于轻量神经网络的钢材表面缺陷快速识别[J]. 科学技术与工程,2021,21(34):14651-14656.
[2] 李翰超,古阳,于亚婷. 基于涡流无损检测技术的金属表面缺陷三维模拟分析[J]. 电子科技大学学报,2020,49(6):942-948.
[3] GAO B,ZHANG H,WOO W L,et al. Smooth nonnegativematrix factorization for defect detection using microwavenondestructive testing and evaluation[J]. IEEETransactions on Instrumentation and Measurement,2014,63(4):923-934.
[4] 邢健夫. 基于卷积神经网络的热轧带钢表面缺陷识别及系统开发[D]. 沈阳:东北大学,2017.
[5] 徐镪,朱洪锦,范洪辉,等. 改进的YOLOv3网络在钢板表面缺陷检测研究[J]. 计算机工程与应用,2020,56(16):265-272.
[6] YE H,ZHU X D,LIU C Y,et al. Furniture image classificationbased on depthwise group over-parameterized convolution [J]. Electronics,2022,11(23):3889.
[7] WANG X,GAO J S,HOU B J,et al. A lightweight modifiedYOLOX network using coordinate attention mechanismfor PCB surface defect detection[J]. IEEE SensorsJournal,2022,22(21):20910-20920.
[8] 楊畅畅,李慧玲,潘广通. 基于改进YOLOv4算法的铝型材表面缺陷检测[J]. 组合机床与自动化加工技术,2022(11):66-69.
[9] LIN T Y,DOLLÁR P,GIRSHICK R,et al. Feature pyramidnetworks for object detection[C]∥IEEE. Proceedingsof the IEEE Conference on Computer Vision and PatternRecognition. New York:IEEE,2017:936-944.
[10] 颜学坤,楚建安. 基于YOLOv5改进算法的印花图案疵点检测[J]. 电子测量技术,2022,45(4):59-65.
[11] PANDEY E,KUMAR S. Exploring the generalization capacityof over-parameterized networks[J]. InternationalJournal of Intelligent Systems and Applications in Engineering,2023,11(1s):97-112.
[12] HE Y,SONG K C,MENG Q G,et al. An end-to-end steelsurface defect detection approach via fusing multiple hierarchicalfeatures[J]. IEEE Transactions on Instrumentationand Measurement,2020,69(4):1493-1504.
[13] 程婧怡,段先华,朱伟. 改进YOLOv3的金属表面缺陷检测研究[J]. 计算机工程与应用,2021,57(19):252-258.
[14] 方叶祥,甘平,陈俐. 金属表面缺陷检测的改进YOLOv3算法研究[J]. 机械科学与技术,2020,39(9):1390-1394.
[15] 庾彩红,黄海松,曾锋,等. 基于YOLO_v4的空心杯电枢表面缺陷实时检测[J]. 组合机床与自动化加工技术,2021(6):59-62,66.
[16] CHEN S H,LAI Y W,KUO C L,et al. A surface defect detectionsystem for golden diamond pineapple based on CycleGANand YOLOv4[J]. Journal of King Saud University-Computerand Information Sciences,2022,34(10):8041-8053.
作者简介:
谷长江(1997-),男,硕士生。研究领域:目标检测,缺陷检测,图像处理。本文通信作者。
高法钦(1974-),男,博士,副教授。研究领域:机器学习与智能感知,机器视觉定位与产品外观检测重构研究。