APP下载

基于改进YOLOv5的钢材表面缺陷检测

2023-04-29吴敌李明辉马文凯李睿童李艳

陕西科技大学学报 2023年2期
关键词:注意力机制目标检测

吴敌 李明辉 马文凯 李睿童 李艳

摘要:针对当前钢材表面缺陷种类多、形态复杂等原因导致的检测精度低的问题,本文提出了一种基于改进YOLOv5目标检测网络的缺陷检测方法.首先,对于在检测中小目标缺陷易被漏检、错检的问题,增加了小目标检测层;其次,对于缺陷图像表现的背景复杂,且部分缺陷交叉、重叠等问题,引入了Transformer encoder block模块和Convolutional block attention model(CBAM)模块,使网络能更加有效地对抗复杂背景信息,专注于目标对象的检测;最后,使用NEU-DET数据集对该改进模型进行了实验.结果表明,相较于原YOLOv5模型,该方法在缺陷检测方面的精度提升了6.5%;相较于Faster-RCNN模型,其精度提高了约10%.因此,该方法在钢材表面缺陷检测上,具有较好的检测精度和效率.

关键词:目标检测; 钢材表面缺陷; YOLOv5; 注意力机制

中图分类号:TP391.4文献标志码: A

Surface defect detection of steel based on improved Yolov5

WU Di1, LI Ming-hui1*, MA Wen-kai1, LI Rui-tong1, LI Yan2(1.College of Mechanical and Electrical Engineering, Shaanxi University of Science & Technology, Xi′an 710021, China; 2.School of Electrical and Control Engineering, Shaanxi University of Science & Technology, Xi′an 710021, China)

Abstract:In order to solve the problem of low detection accuracy caused by the variety and complexity of the surface defects of steel,we proposed a defect detection method based on improved YOLOV5 object detection network.Firstly,a small target detection layer is added to the problem that small defects are often to be missed and misdetected.Then,the Transformer encoder block module and the Convolutional block attention model(CBAM) are used to deal with the complex background of the defect image,which makes the network more effective against complex background information and more focus on object detection.Finally,the improved model is tested on NEU-DET datasets.The results show that the precision of the proposed method is 6.5% higher than that of the original YOLOv5 model and about 10% higher than that of the Faster-RCNN model.The experimental results show that the method has good accuracy and efficiency in steel surface defect detection.

Key words:object detection; steel surface defects; YOLOv5; attention mechanism

0引言

鋼铁行业是国民经济发展的支柱性产业,我国的钢铁年产量逐年上升,目前已位居全球第一,占全球钢铁总产量的半壁江山,2020年我国粗钢产量达10.65亿吨[1].结合2019年的数据来看,中国的钢铁行业仍处于上升发展时期,但以生产规模及效益所代表的旧的发展动力已经略显乏力,行业总体盈利水平增长缓慢.因此,对于钢铁企业而言,需要考虑获取新动力,不断使产业链升级向高端水平迈进.除了提升装备水平外,更要通过引入新技术使行业从基础制造向智能制造转型,以实现优质、高效、绿色的行业发展目标.

目前,在钢材表面缺陷检测作业方面,常用的检测方法有以下四种:(1)人工检测法;(2)涡流检测法[2] ;(3)红外检测法[3] ;(4)漏磁检测法[4].其中,后面三种因为技术或成本等原因得不到广泛的应用.而目前采用最多的还是人工检测方式.但这种检测方式耗费人力,且效率较低.近年来,随着机器视觉、深度学习等技术飞速发展,而其相关应用也越来越广.目前也有了许多有关机器视觉在缺陷检测方面的研究.基于机器视觉的检测方法不仅成本低,效率高,而且通过逐渐的研究改进能获得接近人工的检测精度.

针对钢板及热轧钢或冷轧带钢的表面缺陷检测问题,目前已有许多使用传统图像检测或深度学习方法进行的研究.徐科等[5]通过Tetrolet变换将钢板图像分解成子带,并提取子带的矩阵特征,最后通过支持向量机对降维后的特征矢量进行分类.胡联亭[6]对于钢板表面缺陷图像首先使用包括滤波算法,直方图均衡化以及Sobel边缘检测算子对图像进行预处理,之后使用Fisher判别准则提取贡献度较大的特征维度,最后提出AdaBoost.BK算法对缺陷进行识别,最高达到了85.89%的分类精度.以上方法虽然在钢材的表面缺陷检测上表现出了一定的效果,但其无论是在图像的特征提取还是在特征识别方面使用的都是传统算法,这导致模型的检测精度较低且提升困难.

近年来,人工神经网络、深度学习等技术的兴起,其在图像处理领域取得了许多惊人的成就.因此,也有许多的研究学者将深度学习技术与缺陷检测工作相结合,取得了许多较好的结果[7].杨水山[8]提出基于CNN的带钢表面缺陷检测算法,实现了对带钢表面是否具有缺陷的判断,准确率达到99.99%以上.李鑫灿[9]在研究中对U-Net语义分割网络进行改进,提出基于分组卷积和特征均匀重组的残差网络结构来实现多尺度的特征提取,通过过渡特征和密集连接改进得到缺陷精细分割网络Nabla-net,并引入注意力机制使空间能够进行自适应调整以及深度监督机制实现网络剪枝.师伟婕等[10]则做了U-Net和Res-UNet在钢铁图像缺陷检测工作上的对比,结果显示Res-UNet在钢铁图像的缺陷位置和缺陷类别的识别方面更准确.

以上方法有的专注于目标缺陷分类,有的专注于图像的分割,却未将二者结合,在进行缺陷分类的同时做到有效定位.这将极大限制其在工业生产中的应用.方叶祥等[11]在金属表面的缺陷研究中使用了改进的YOLOv3算法,主要改进包括使用直方图均衡化对图像进行预处理,使用数据增强方法模拟现实工作环境以及优化损失函数来提高模型对表面缺陷分类的准确性.刘洋[12]为了提高钢材瑕疵检测的速度,提出了基于Tiny-YOLOv3的R-Tiny-YOLOv3算法,该算法加入了残差网络以及空间金字塔池化SPP模块最后选择CIOU作为损失函数,该算法对钢材瑕疵检测精度达到71.5%,检测速度达到39.8帧每秒,能够满足嵌入设备的实时检测需求.

以上研究通过不同的方式分别改进了缺陷检测模型各个方面的性能,但其在针对钢铁表面的独特性缺陷上缺乏针对性的处理,特别是对小目标缺陷及钢材表面复杂纹理背景图像的识别和处理能力不足.这导致了缺陷检测种类的不全面以及部分缺陷类型的检测精度低,从而导致了模型整体性能的不理想.本文针对以上问题,首先引入小目标检测层,增强检测网络对小目标缺陷的检测能力.此外,还将原网络中的部分CSP结构替换为Tansformer encoder block,并加入CBAM (Convolutional block attention module)模块以处理复杂的背景纹理信息.

1相关工作

1.1钢材缺陷检测背景

基于机器视觉方法的缺陷检测流程如下,首先通过工业相机获取钢材表面的图像,在对图像进行简单的标号排序等预处理后将处理后的图像输入相应算法模型,由目标检测算法给出图片中缺陷的种类以及位置,再通过之前记录的信息反向推算出相应缺陷在实际钢材中位置.整个流程可以由一整套自动化程序实现,而本次研究的重点便在于其关键的目标检测算法.

在钢材生产加工的过程中,由于工艺不足或者操作失误会在钢材表面留下各种缺陷.通常钢材表面的缺陷有以下七种:裂纹缺陷、划伤、折叠缺陷、耳子(突起)缺陷特征、结疤(重皮)缺陷、焊疤缺陷、端部毛刺缺陷.

由以上可见钢材表面的缺陷种类多样.不同种类的缺陷特征差异较大导致不同缺陷在检测时的精度差异较大,部分小目标缺陷检测的精度不理想,同时钢铁表面缺陷图像的背景复杂,纹理混乱,检测目标之间也会出现覆盖交叉的情况,具体情况如图1所示.本文针对以上问题,结合钢材检测的实际特点和具体要求,在YOLOv5网络模型的基础上进行补充修改和调整,进行实验.并对比其他网络在相同条件下的实验结果.

1.2目标检测模型

目前,基于深度学习理论的目标检测算法主要可分为两条技术路线:Anchor based(基于候选框)和Anchor free(不基于候选框).其中,Anchor based方法中又可以分为One-stage(单阶段检测)和two-stage(二阶段检测).其中属于单阶段检测的SSD、YOLO算法以及二阶段检测方法中的RCNN、Faster RCNN等都在表面缺陷检测中有广泛的应用.YOLOv5网络是在YOLOv3,YOLOv4的基础上进一步优化而来,在保证检测精度的前提下YOLOv5迭代出四个不同版本,使YOLOv5在使用起来更加灵活方便.王淑青等[13]的研究表明,YOLOv5在缺陷检测方面较其他网络如Faster RCNN、SSD、YOLOv4有更优异的表现.

以YOLOv5s的网络结构为例,如图2所示,其中黄色框中的为网络本体,蓝色框中的为对网络中模块的分解说明.其结构可分为4个部分:

(1)输入端(input).YOLOv5在输入端采用Mosaic数据增强,自适应图像缩放来增强网络推理的能力并提高效率,使其对不同的输入具有较强的适应性;

(2)主干网络(backbone).在主干网络中YOLOv5使用Focus结构和CSP结构来提取输入图像数据中的特征信息,该设计有效降低了计算成本和内存成本并增强了卷积网络的学习能力;

(3)融合網络(Neck).Neck部分主要是对之前提取的特征进行整理使其能够被更好的利用从而提取出更有效的特征,此处YOLOv5采用FPN+PAN的结构,从自顶向下和自底向上两个方向出发,同时增强了语义信息和位置信息的提取,同时还设计了的CSP2结构,进一步加强了网络的特征融合能力;

(4)检测头(Prediction).检测头一般都是对损失函数的设计 ,损失函数又可以分为分类损失函数(Classificition Loss)和回归损失函数(Bounding Box Regeression Loss),YOLOv5在此处采用CIOU_Loss作为回归损失函数,最后采用加权NMS(非极大值抑制)来筛选目标框.

2基于改进YOLOv5的目标检测

2.1增加小目标检测层

由于钢材表面缺陷种类较多,形态特征较复杂,在检测过程中常有小目标缺陷被漏检或错检.对此,本文在原有的三个检测层的基础上增加小目标检测层,通过对小范围内图像特征的识别,来增加网络对小目标检测的能力.具体方案如图3所示.图3中的红色锚框为原始锚框,分别为P3,P4,P5.其中,P3用于浅层的特征图,由于浅层特征图包含较多的低层级信息,适合用于检测小目标,所以这一特征图所用的锚框尺度较小;P5应用于深层特征图,其特征图中具有更多高层级的信息,如轮廓、结构等信息,适合用于大目标的检测,所以这一特征图所用的锚框尺度较大;同理,P4介于这两个尺度之间,用来检测中等大小的目标.而图中蓝色锚框为根据缺陷情况添加的更小的锚框,以此解决图像中更小缺陷目标的检测问题.

2.2Transformer encoder block模块和CBAM模块根据目前研究[14]表明,Tansformer encoder block模块以及CBAM[15]结构都更有利于捕获全局信息,抵抗混乱的信息,有效处理复杂背景.Transformer encoder block其结构如图4所示,主要包含两个子层,第一个子层是一个多头注意力层,第二层是一个全连接层,二者使用残差网络连接.其中的LayerNorm和Dropout结构可以帮助网络收敛,有效防止网络过拟合.而多头注意力结构不仅可以帮助当前节点关注当前的像素,而且还可以有效获得上下文的语义.本文使用该transformer encoder block 模块取代了图2网络中的部分CONV模块以及CSP2_1模块.本文将该模块应用在backbone的末端及neck部分,此时图片信息的分辨率较低,可以在有效提取特征信息的同时降低计算和存储开销.

CBAM(Convolutional block attention module)是一个简单有效的注意力模块,可以集成到CNN体系结构当中,并且可以以端到端的方式训练.对于给定的特征数据,CBAM沿通道和空间这两个独立维度依次推断注意力图.然后将注意力图和输入的图像特征相乘,进行自适应特征细化.CBAM模块的结构如图5所示,使用两个顺序子模块用于细化通过CBAM的特征图,同时还使用了残差网络的结构来增强对特征的提取.该模块主要应用在neck部分,配合Transformer encoder block 模块和Conv模块来加强网络的性能.改进后的网络整体结构如图6所示.

3实验结果与分析

3.1数据来源

本次钢材表面缺陷检测实验采用东北大学钢材表面缺陷数据集(NEU-DET)[16],该数据集包含了6种常见的钢材表面缺陷:crazing(细裂纹)、inclusion(杂质)、patches(斑块)、pitted surface(表面麻点)、rolled-in scale(滚轧鳞片)、scratches(划痕),具体表现如图7所示.数据集中的图像分辨率为200×200像素,一共1 800张图片,本次实验将其划分为训练集1 422张,验证集378张.

3.2实验设置

在本文的实验环境,使用NVIDIA GTX1050Ti GPU进行训练和测试,CUDA的版本是11.3,cuDNN的版本是8.2.1,Pytorch的版本是1.10.2,硬件和软件环境的详细信息如表1所示.

3.3实验相关的评价指标

关于目标检测领域的评价指标首先要考虑检测框的准确度,该指标主要由IoU指标衡量,即检测框和目标框面积的交并比,如图8所示.实际运算中根据IoU大小判断预测是否有效,一般当IoU≥0.5时判定为预测正确.

而对检测结果的划分可以用图9 中的混淆矩阵表示.根据预测结果和实际情况的组合可分为以下四种情况TP(实际的和预测的标签都是“真”),FN(实际标签为“真”,预测标签为“假”),FP(实际标签为“假”,预测标签为“真”),TN(实际的和预测的标签都是“假”).根据以上四种情况的统计结果可以得到以下三个指标(公式(1)~(3)).精度(Precision,P)、召回率(Recall,R)和准确率(Aaccuracy,A).在此基础上的综合评价指标为平均精度 (Average Precision,AP)和平均精度均值 (mean AP over clasess,mAP).其中AP表示同一类别下,所有检测结果的平均精度,而mAP则表示所有检测类别平均精度的均值.

3.4结果讨论

为证明本文改进后模型的检测效果,以及验证具体改进措施起到的作用,本次实验除了设置原YOLOv5s网络组以及Faster-RCNN网络组(分别称作V5-0和FF-RCNN)作为对照组外,还设置了三组消融实验组:(1)增加小目标检测层组;(2)增加Transformer encoder block模块和CBAM结构组;(3)最终优化组.为方便描述,将以上三组消融实验组依次称作V5-1、V5-2、V5-3.

其中,实验的总体结果如表2所示.根据表中的数据显示,优化后的网络(V5-3)相对于原网络(V5-0),mAP大约有6%的提升,相对于Faster-RCNN网络提升了大约10%.与消融实验组(V5-1和V5-2)的结果进行对比表明,针对于原網络做出的改进措施都起到了良好的效果,相对于原网络大约提升了5%~6%的精度.

具体的消融实验结果见图10所示.根据图10的检测结果显示,改进方法一通过增加小目标检测层的方法能够有效提高对于rolled-in_scale(轧制氧化皮)和scratches(划痕)这两种缺陷的检测能力;而方法二则通过引入注意力模块的方式有效增强了网络对crazing(细裂纹),pitted -surface (表面点蚀),轧制氧化皮(rolled-in scale)这些缺陷的识别,证明了其对复杂背景信息有效的处理能力.最后,最终优化组能够将两种优化方案的优点有效结合,使其在绝大多数的情况下的检测结果都能优于二者,做到了有效的取长补短.

算法的收敛情况如图11所示.根据图中曲线显示,改进后的网络相对于原网络有明显的改进.其中最优的权重在V3网络第230次迭代时产生.

图12展示了部分检测结果(左为原标记图片,右为检测结果图片).图中检测结果显示,优化后的检测网络的检测结果与数据集标注结果高度吻合.

4结论

本文使用一种基于YOLOv5的改进网络对钢材表面缺陷进行检测,使用NEU-DET数据集进行实验验证.该方法通过增加小目标检测层来增强对小目标缺陷的检测效果,同时通过引入Transformer encoder block模块和CBAM模块,使网络更有效的对抗复杂背景,更有效聚焦于任务目标的检测.

实验表明,本文中所提的改进模型相较于原模型,在总体平均检测精度 (mAP)上提升了6%左右,相较于以Resnet50为骨干网络的Faster-RCNN模型,mAP提升约10% .同时通过消融实验证明,本文所提的两种改进措施均能对原有网络在钢铁表面缺陷检测方面做出有效提升.并且融合后的网络也能较好的发挥各改进网络的优点,使检测精度有更进一步的提升.然而,该改进模型也存在一些不足.如针对个别特征,优化方案融合效果表现不佳,以及对个别种类缺陷的整体检测精度不足.因此,该优化网络模型还有进一步优化的空间.

依据理论,本文中所提的方法同样可以用于其它工业应用场景中,特别是对于存在小目标以及背景较复杂的目标检测领域.同时,对于其表现的不足,需要进一步的研究改进,从而使模型的总体检测精度能有更进一步的提升,以此来更好的满足具体工业生产的需求.

参考文献

[1] 庞永辉.基于深度学习的带钢表面缺陷检测与识别方法研究[D].郑州:华北水利水电大学,2021.

[2] 黄凤英.钢轨表面裂纹涡流检测定量评估方法[J].中国铁道科学,2017,38(2):28-33.

[3] 徐欢,殷晨波,李向东,等.基于有限元的焊缝缺陷红外热像检测研究[J].热加工工艺,2019,48(17):122-127,133.

[4] 田思洋,徐科,周东东.钢板表面缺陷图像的跨域翻译[J].中国冶金,2019,29(4):54-59.

[5] 徐科,王磊,王璟瑜.基于Tetrolet变换的热轧钢板表面缺陷识别方法[J].机械工程学报,2016,52(4):13-19.

[6] 胡联亭.基于机器视觉的钢板表面缺陷识别研究[D].武漢:武汉科技大学,2018.

[7] 柴利,任磊,顾锞,等.基于视觉感知的表面缺陷智能检测理论及工业应用[J].计算机集成制造系统,2022,28(7):1 996-2 004.

[8] 杨水山.冷轧带钢表面缺陷机器视觉自动检测技术研究[D].哈尔滨:哈尔滨工业大学,2009.

[9] 李鑫灿.基于改进U-Net的钢材缺陷检测分割算法研究[D].哈尔滨:哈尔滨工业大学,2020.

[10] 师伟婕,黄静静,王茂发.基于两种U型网络的钢铁图像缺陷检测方法对比[J].北京信息科技大学学报(自然科学版),2021,36(1):63-68.

[11] 方叶祥,甘平,陈俐.金属表面缺陷检测的改进YOLOv3算法研究[J].机械科学与技术,2020,39(9):1 390-1 394.

[12] 刘洋.基于深度学习的工业钢材瑕疵检测研究[D].合肥:安徽建筑大学,2021.

[13] 王淑青,顿伟超,黄剑锋,等.基于YOLOv5的瓷砖表面缺陷检测[J].包装工程,2022,43(9):217-224.

[14] Zheng Z,Wang P,Liu W,et al.Distance-IoU loss:Faster and better learning for bounding box regression[C]// Proceedings of the AAAI Conference on Artificial Intelligence.New York:IEEE Transactions on Cybernetics,2020:12 993-13 000.

[15] Woo S,Park J,Lee J Y,et al.Cbam:Convolutional block attention module[C]// Proceedings of the European conference on computer vision.Munich:Springer International Publishing,2018:3-19.

[16] He Y,Song K,Meng Q,et al.An end-to-end steel surface defect detection approach via fusing multiple hierarchical features[J].IEEE Transactions on Instrumentation and Measurement,2019,69(4):1 493-1 504.

【责任编辑:蒋亚儒】

猜你喜欢

注意力机制目标检测
面向短文本的网络舆情话题
基于自注意力与动态路由的文本建模方法
基于深度学习的问题回答技术研究
基于LSTM?Attention神经网络的文本特征提取方法
基于注意力机制的双向LSTM模型在中文商品评论情感分类中的研究
InsunKBQA:一个基于知识库的问答系统
视频中目标检测算法研究
行为识别中的人体运动目标检测方法
移动机器人图像目标识别
基于背景建模法的运动目标检测