1、2023 年第 10 期58计算机应用信息技术与信息化基于改进 Y O L O v 5的轧钢表面缺陷检测方法研究柳亚萍1 彭和平1LIU Yaping PENG Heping 摘要 轧钢表面小目标缺陷的检测效果较差,容易出现漏检、误检的情况,提出一种改进 YOLOv5 的轧钢表面缺陷检测算法。在网络中引入混合注意力模块 CBAM,提升了网络对小目标的特征提取能力,尤其更加关注缺陷区域。探究 CBAM 模块的融入位置对网络性能的提升效果,在东北大学热轧钢数据集上进行验证。实验表明,改进的模型提升了对小目标缺陷的检测精度。关键词 目标检测;轧钢表面缺陷;YOLOv5;注意力机制 doi:10.39
2、69/j.issn.1672-9528.2023.10.0121.江汉大学智能制造学院 湖北武汉 430056 基金项目 国家自然科学基金项目(52075222)0 引言 钢铁作为重要的工业产品原材料,被广泛地应用于各个领域中,在满足巨大需求量的同时,还需要对质量进行严格把控1。但其在生产制造过程中,由于一些不可控因素产生各种各样的表面缺陷,如划痕、油污、裂纹等表面缺陷2。这些缺陷既影响产品的外观又降低产品的性能,甚至会给使用者带来安全隐患。因此,对钢材表面进行缺陷检测具有重要意义。近年来,随着机器视觉技术的快速发展,深度学习技术也得到了极大的推动。目前,基于深度学习的缺陷检测方法取得了不错的
3、成绩,相较于传统的人工检测以及无损检测方法,具有无接触性、准确性高、适应性强的优点。基于深度学习的目标检测算法主要分为两类,一类是以Faster R-CNN3为代表的二阶段目标检测算法,该种算法首先会提取出图像中感兴趣的区域,然后对区域里的目标判别类别以及对区域的位置进行修正;另一类是以 YOLO、SSD 为代表的一阶段目标检测算法4-5,该种算法同时考虑分类问题和定位问题,不单独提取目标候选区域,实现端到端的目标识别与定位任务。二阶段目标检测算法具有检测精度高、速度慢的特点,而一阶段目标检测算法速度较快,但检测精度有所欠缺。但随着 YOLO 系列算法的发展,YOLOv5 算法的检测精度及速度
4、均超过一阶段目标检测算法。Li 等人6对 YOLO 网络进行改进,将其全部由卷积层连接,共有 27 层卷积层,用改进后的网络模型对六种类型的钢带表面缺陷进行检测,达到了较高的 mAP 和召回率,并实现了 99%的检测率,速度达到 83 帧/s,此改进方法为钢带表面缺陷检测提供了有效的解决方案。Ding 等人7为modelJ.Sensors,2022,22(9):3577.29 WANG W,SONG J,XU G,et al.Contract ward:automated vulnerability detection models for ethereum smart contractsJ.
5、IEEE transactions on network science and engineering,2021,8(2):1133-1144.30 ASHIZAWAA N,YANAI N,CRUZ J P,et al.Eth2Vec:learning contract-wide code representations for vulnerability detection on ethereum smart contractsC/Proceedings of the 3rd ACM International Symposium on Blockchain and Secure Crit
6、ical Infrastructure.Virtual Event Hong Kong:ACM,2021:47-59.【作者简介】王丹(1998),女,四川广安人,硕士研究生,研究方向:软件测试、智能合约。黄松(1970),男,江苏南京人,博士、教授、博导,研究方向:软件测试与质量评估。(收稿日期:2023-03-21 修回日期:2023-04-06)2023 年第 10 期59计算机应用信息技术与信息化解决 PCB 缺陷检测问题,提出一种新颖的微小缺陷检测网络(TDD-Net),即通过在 faster R-CNN 网络中引入特征金字塔结构,形成多尺度特征融合金字塔,实现了比现有技术好98.9
7、0%的 mAP。Zheng 等人8针对现有的检测算法对轴承盖上大中型缺陷目标不敏感、难以有效检测细微缺陷以及缺乏实时检测等问题,在 YOLOv3 网络模型基础上进行改进,结果显示,该方法提高了检测准确率。综上所述,面对轧钢表面缺陷形状复杂,小目标尺寸缺陷常有漏检的情况,为了能提高对轧钢表面小目标缺陷的检测精度,本文选择 YOLOv5 作为基础缺陷检测算法,引入混合注意力模块 CBAM,使网络增强对目标的特征提取能力,更加关注缺陷区域,并探讨融入注意力模块的位置对网络性能的影响。1 YOLOv5 模型结构YOLO 目 标 检 测 算 法 经 过 不 断 改 进,已 发 展 至YOLOv5,是 Y
8、OLO 系列目标检测算法中最新的一代,也是检测速度及精度表现最好的一代9。YOLOv5共有四个模型,分 别 为 YOLOv5s、YOLOv5m、YOLOv5l 和 YOLOv5x,这四种模型的网络结构相同,差别在于每个子模块中采用不同的深度宽度以适应不同的检测任务。YOLOv5s 在宽度和深度上均最小,参数量也最小,所以本文选择 YOLOv5s 作为检测网络模型。YOLOv5 的网络结构和 YOLOv3、YOLOv4 一样分为四个部分,即 input、backbone、neck 和 head 部分。YOLOv5s 网络的结构图如图 1 所示。图 1 YOLOv5s 结构图输入端(input)采
9、用了 Mosaic 数据增强策略,将四张图片拼接在一起,丰富了数据集的多样性。针对输入的图片长宽比不相同问题,本文引入了自适应图片缩放,将小图片进行黑边填充,大图片进行缩放,避免了信息冗余,提高了效率。另外,也引入了自适应锚框计算,训练自己数据集的时候可以根据自己数据集里的目标进行重新聚类生成 anchors模板,以达到较好的训练效果。YOLOv5 采用了两种 CSP 结构,CSP1-x 和 CSP2-x 分别 用 于 backbone 和 neck 部 分,CSP1-x 结 构 主 要 由 x 个Bottleneck1 结构和卷积层组合而成,CSP2-x 主要由 x 个Bottleneck2
10、 结构和卷积层组合而成。backbone 中的 CSP1-x结构含有残差单元,neck 中的 CSP2-x 结构不含有残差单元。CSP 结构有效缓解了梯度消失问题,既保证了推理速度和准确率,又减小了模型尺寸。backbone 部分还将 SPP 模块换成了 SPPF 模块,两者作用一样,但后者速度更快、效率更高。neck 部分同样使用 FPN+PAN 网络结构,FPN 层自顶向下传达强语义特征,PAN 层则自底向上传达强定位特征,二者结合增强了对不同尺度特征的融合效果。head 部分,主要负责输出预测信息,包含缺陷类别、预测框的坐标信息以及预测框的可信度。2 YOLOv5s 的改进2.1 注意力
11、机制注意力机制的作用是从众多复杂的信息中注意到与当前所执行任务中关联最大、最紧密的信息,而忽略其他不相关的信息。CBAM(convolutional block attention module)是一种即插即用的注意力机制模块,与 SENet 通道注意力不同,CBAM 认为,由卷积神经网络提取的特征图中,不仅在通道上加入注意力机制能起到较好的效果,在空间维度上加入注意力机制也能捕获大量有用的信息10。本文为了提高对轧钢表面小缺陷的检测精度,在网络中融合注意力模块 CBAM。CBAM 模块由通道注意力模块(channel attention module,CAM)和空间注意力模块(spatial
12、 attention module,SAM)组成,CBAM 结构如图 2 所示。图 2 CBAM 结构图在 CAM 通道注意力模块中,首先输入大小为 HWC的特征图 F,进行全局最大池化和全局平均池化,得到两个均为 11C 大小的特征图。然后经过包含两个卷积层的共享神经网络 MLP,此时,网络学习到了通道上特征图的重要2023 年第 10 期60计算机应用信息技术与信息化程度,最后将经过 MLP 的特征图在通道维度上相加,再经过 Sigmoid 激活函数生成最终的通道注意力,计算公式为:(1)式中:为 Sigmoid 激活函数,cavgF为全局平均池化得到的特征图,maxcF为全局最大池化得到
13、的特征图,W1、W0分别为卷积层的权重参数。在 SAM 空间注意力模块中,将通道注意力模块输出的特征图 F 通过两个池化层,分别在通道上做全局最大池化与全局平局池化,得到两个 HW1 大小的特征图,接着将特征图在通道维度上做拼接操作,然后再经过卷积操作将特征图通道维度变为 1,最后通过 Sigmoid 激活函数生成最终的通道注意力 Ms,计算公式如下。(2)式中:为 Sigmoid 激活函数,表示在通道维度进行拼接操作,f表示进行卷积操作,savgF为全局平均池化得到的特征图,maxsF为全局最大池化得到的特征图。2.2 改进后的网络结构针对 CBAM 模块融合到网络中哪个位置对网络性能起到更
14、好的作用没有固定的说法,在不同的算法中表现效果不一。本文将 CBAM 模块分别融合到主干网络、颈部网络中的不同位置,探究融合在哪个位置对小目标缺陷的检测效果更好。第一种方式是在主干网络中融合注意力模块,即添加在CSP1_X 结构的后面,改进后的网络结构对比图如图 3 所示,带底色模块为注意力模块,可以清晰地看见注意力模块在主干网络中有四个位置可以融合注意力模块,产生新的网络为:Y-1-CBAM1、Y-1-CBAM2、Y-1-CBAM3 和 Y-1-CBAM4,如图 3 所示。图 3 主干网络插入注意力模块结构图第二种方式是在颈部网络中融合注意力模块,即添加在CSP2_X 结构的后面,改进后的网
15、络结构对比图如图 4 所示,带底色模块为注意力模块,可以清晰地看见注意力模块在颈部网络中有四个位置可以融合注意力模块。产生新的网络为:Y-2-CBAM1、Y-2-CBAM2、Y-2-CBAM3 和 Y-2-CBAM4,如图 4 所示。图 4 颈部网络插入注意力模块结构图3 实验结果与分析3.1 数据集本文实验使用的缺陷数据集从东北大学轧钢表面缺陷数据库(NEU-DET)获得,共有 6 种缺陷类别,分别为裂纹(crazing)、夹杂物(inclusion)、斑块(patches)、点蚀面(pitted-surface)、氧化铁皮(rolled-in scale)、划痕(scratches),缺陷
16、图片数量为 1800 张,每个类别有 300 张,均为灰度图。本文采用 9:1 的比例划分训练集与验证集,训练集中的 20%作为测试集,测试集数据同样参与训练。数据集中部分缺陷图像如图 5 所示。图 5 部分缺陷图像示意图3.2 实验环境本次实验基于 PyTorch 深度学习框架进行工件表面缺陷检测试验。使用的 GPU 为 Intel(R)UHD Graphics 750,2023 年第 10 期61计算机应用信息技术与信息化CPU 为 Intel(R)Core(TM)i5-11500。网络训练优化方法选择随机梯度下降法,将初始学习率设为 0.01,梯度下降动量momentum 设为 0.93
17、7,权值衰减 decay 为 0.000 5,批量大小batch size 设为 16,图片输入大小设置为 200200。3.3 评价指标本文选用查准率 P(precision)、查全率 R(recall)、平均精度 AP(average precision,)、平均精度均值 mAP(mean average precision)以及模型参数量来评估模型的检测性能。查准率指在被所有预测为正的样本中实际也为正样本的比例,主要针对预测结果。召回率指在实际为正的样本中被预测为正样本的概率,主要针对原样本。具体公式为:(3)(4)APi10()()iAPP R d R=P(R)d(R)(5)mAP01
18、niimAPAPN=APi (6)式中:P 为查准率;R 为查全率;vTP指预测值为正样本,真实值为正样本;vFP指预测值为正样本,真实值为负样本;vFN指预测值为负样本,真实值为正样本。N 为总类别数量;APi为第 i 类的平均精度;mAP为所有类别平均精度 AP值的均值。mAP值越接近于 1 表示模型的性能越好,检测能力越强。3.4 实验结果与分析为验证在 YOLOv5s 网络添加注意力模块的有效性及探究 CBAM 模块的融入位置,进行以下实验。一种是融合在主干网络中,共有四种融合方法,分别记为:Y1-CBAM1、Y1-CBAM2、Y1-CBAM3、Y1-CBAM4。实验结果如表 1 所示
19、。表 1 主干网络中添加注意力模块性能对比ModelmAP/%Parameters增量AP/%裂纹夹杂物斑块 麻点氧化铁皮划痕YOLOv576.0044.280.791.681.364.094.1Y-1-CBAM170.7172 97645.974.38881.757.676.7Y-1-CBAM271.7174 57137.980.292.277.351.990.7Y-1-CBAM376.2190 35548.382.991.180.560.693.7Y-1-CBAM476.5205 69949.879.291.078.871.688.6从表 1 中可以看出,将注意力模块融合在主干网络中某些位
20、置,网络训练结束之后的检测效果不太理想,而且增加的参数量较多。注意到 Y-1-CBAM4 网络的 mAP值为 76.5%,提高了 0.5%;对于裂纹缺陷的 AP值为 49.8%,提升 5.6%;氧化铁皮缺陷的 AP值为 71.6%,提升为 7.6%。说明将注意力模块添加在主干网络的第四个 CSP1_X 结构的后面,对小缺陷的检测效果较好。因此,在主干网络,Y-1-CBAM4 网络效果最佳。另一种是融合在颈部网络中,也共有四种融合方法,分别记为:Y2-CBAM1、Y2-CBAM2、Y2-CBAM3、Y2-CBAM4。实验结果如表 2 所示。表 2 颈部网络中添加注意力模块性能对比ModelmAP
21、/%Parameters增量AP/%裂纹夹杂物斑块 麻点氧化铁皮划痕YOLOv576.0044.280.791.681.364.094.1Y-2-CBAM177.149 77946.480.993.680.667.194.1Y-2-CBAM278.42 28346.783.19479.370.297.3Y-2-CBAM378.98 56354.382.592.582.565.695.9Y-2-CBAM477.433 41142.881.393.981.868.496.6从表 2 中可以看出,将注意力模块融合在颈部网络中某些位置,网络训练结束之后的 mAP值均得到了增长。说明融合在颈部网络中,能
22、够提取到更多的特征信息。其中,分别添加在第一、二、三、四个 CSP2_X 结构的后面,mAP值分别为 77.1%、78.4%、78.9%和 77.4%,分别提高了 2.1%、3.4%、3.9%和 2.4%,观察网络参数量的增加,Y-2-CBAM1 网络和Y-2-CBAM4网络的增量最多,Y-2-CBAM2网络和Y-2-CBAM3网络的增量最少。观察各类别训练之后的 AP值,发现检测效果较好的为Y-2-CBAM2 网络和 Y-2-CBAM3 网络。Y-2-CBAM2 网络对裂纹缺陷的 AP值为 46.7%,提升 2.5%;氧化铁皮缺陷的 AP值为 70.2%,提升 6.2%。Y-2-CBAM3
23、网络对斑块缺陷的 AP值为54.3%,提升10.1%;氧化铁皮缺陷的AP值65.6%,提升1.6%。Y-2-CBAM2 对氧化铁皮缺陷的检测精度提升较多,Y-2-CBAM3 网络对裂纹缺陷的检测精度提升较多,说明注意力模块的加入确实改善了网络对目标缺陷的特征提取能力且对不同类别的影响不同。综上所述,在颈部网络,Y-2-CBAM2和 Y-2-CBAM3 网络效果最佳。为了更直观地对比哪种融合方式具有更好的效果,将效果较好的三种模型进行对比,如表 3 所示。表 3 三种融合注意力模块性能对比ModelmAP/%Parameters增量AP/%裂纹夹杂物斑块 麻点氧化铁皮划痕YOLOv576.004
24、4.280.791.681.364.094.1Y-1-CBAM476.5205 69949.879.291.078.871.688.6Y-2-CBAM278.4228346.783.19479.370.297.3Y-2-CBAM378.9856354.382.592.582.565.695.9从表 3 中可以看出,Y-1-CBAM4 网络参数量增量巨大,2023 年第 10 期62计算机应用信息技术与信息化虽然裂纹缺陷及氧化铁皮缺陷的检测精度均有提高,但同时其他四类的检测精度均有降低。Y-2-CBAM2 网络与 Y-2-CBAM3 网络的参数量增量适中,且对小目标缺陷检测精度有较大提高,Y-2
25、-CBAM3 比 Y-2-CBAM2 网络的 mAP值高0.5%,对所有类别缺陷检测精度均有提升。因此,本文最终选择 Y2-CBAM3 网络作为最后的改进算法。为直观地对比模型改进前后的检测结果,本文选取部分测试集检测结果进行展示,如图 6、图 7 所示。(a)YOLOv5 模型检测效果 (b)Y-2-CBAM3 模型检测效果图 6 裂纹缺陷检测效果对比图 (a)YOLOv5 模型检测效果 (b)Y-2-CBAM3 模型检测效果图 7 氧化铁皮缺陷检测效果对比图4 结论针对轧钢表面小目标缺陷尤其是裂纹、氧化铁皮难检测的问题,本文提出一种改进的 YOLOv5s 目标检测算法。通过在 YOLOv5
26、s 颈部网络中融入混合注意力模块 CBAM,能够更加关注小目标缺陷区域,提取到更多缺陷特征。实验表明,本文所改进模型检测精度优于 YOLOv5s 算法,能检测出漏检的小目标缺陷且检测精度更高。参考文献:1 黄成.基于 SSD 网络的带钢表面缺陷检测 D.上海:东华大学,2020.2 庞永辉.基于深度学习的带钢表面缺陷检测与识别方法研究 D.郑州:华北水利水电大学,2021.3 REN S Q,HE K M,GIRSHICK R,et al.Faster R-CNN:towards real-Time object detection with region proposal networksJ
27、.IEEE transactions on pattern analysis and machine intelligence,2017,39(6):1137-1149.4 REDMON J,DIVVALA S,GIRSHICK R,et al.You only look once:unified,real-time object detectionC/Computer Vision and Pattern Recognition.Piscataway:IEEE,2016:779-788.5 LIU W,ANGUELOV D,ERHAN D,et al.SSD:single shot mult
28、ibox detectorC/Proceedings of the IEEE European Conference on Computer Vision.Piscataway:IEEE,2016:21-37.6 LI J Y,SU Z F,GENG J H,et al.Real-time detection of steel strip surface defects based on improved YOLO detection networkJ.IFAC-PapersOnLine,2018,51(21):76-81.7 DING R,DAI L,LI G,et al.TDD-Net:A
29、 tiny defect detection network for printed circuit boardsJ.CAAI transactions on intelligence technology,2019(4):110-116.8 ZHENG Z,ZHAO J,LI Y.Research on detecting bearing-cover defects based on improved YOLOv3J.IEEE access,2021,9:10304-10315.9 YAN P C,SUN Q S,YIN N N,et al.Detection of coal and gan
30、gue based on improved YOLOv5.1 which embedded Sc SE moduleJ.Measurement,2022,188:110.10 HU J,SHEN L,SUN G.Squeeze-and-excitation networksC/Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition.Piscataway:IEEE,2018:713-714.【作者简介】柳亚萍(1998),女,安徽阜阳人,硕士研究生,研究方向:深度学习。彭和平(1966),男,湖北武汉人,博士,教授,研究方向:精度控制技术与系统开发。(收稿日期:2023-03-26 修回日期:2023-04-15)