基于双网络的钢材表面缺陷检测方法
2023-06-22谢良辉赵乘麟
谢良辉 赵乘麟
摘 要:针对传统算法检测钢材表面缺陷(如开裂、斑块、划痕等)精准度较低的问题,提出一种基于分割与分类的两段式深度学习网络。该网络是专为表面缺陷的检测、分割以及分类而设计的。第一阶段利用YOLOv5算法对钢材表面的缺陷进行定位、分割;第二阶段使用EfficientNet网络对钢材表面的六种缺陷类型进行分类。实验结果表明,相较于传统的YOLOv5算法,该方法的平均精准度提高了16%,适合用于钢材表面缺陷检测。
关键词:深度学习;YOLOv5;缺陷检测;钢材表面
中图分类号:TP391.4;TG115 文献标识码:A 文章编号:2096-4706(2023)03-0147-04
Steel Surface Defect Detection Method Based on Double Network
XIE Lianghui1,2, ZHAO Chenglin1,2
(1.Hunan Provincial Key Laboratory of Southwest Hunan Rural Informatization Service, Shaoyang 422000, China;
2.School of Information Engineering, Shaoyang University, Shaoyang 422000, China)
Abstract: In order to solve the problem of low accuracy of traditional algorithms for detecting steel surface defects such as cracks, patches and scratches, a two-stage deep learning network based on segmentation and classification is proposed in this paper, the network is designed for the detection, segmentation and classification of surface defects. In the first stage, uses YOLOv5 algorithm to locate and segment the defect on the steel surface. In the second stage, uses the EfficientNet network to classify six types of defects on steel surfaces. The experimental results show that the average accuracy of this method is improved by 16% compared with the traditional YOLOv5 algorithm, and it is suitable for steel surface defect detection.
Keywords: deep learning; YOLOv5; defect detection; steel surface
0 引 言
鋼材是一种重要的工业产品,在工业中的用途非常广泛。随着工业制造水平的不断提高,钢材产品在车辆工程、建筑、机械制造等领域逐渐成为重要的原材料[1]。然而,在其生产制造的过程中,由于受生产设备和各种外界环境因素的影响,钢材表面不可避免地出现开裂、划痕、斑块等缺陷[2]。这些缺陷不仅会对工业产品的外观产生影响,而且还会降低钢材的抗腐蚀性和韧性,如果将这样的钢材应用到各大工业领域中,则会产生潜在的风险。因此,研究表面缺陷检测算法对于生产高质量外观的钢材具有十分重要的意义[3]。
传统的钢材表面缺陷检测方法包括人工检测和光电检测。人工检测的方法可能会出现对工业产品缺陷的漏检,效率低下、检测标准不统一等问题,因此,人工检测逐渐被淘汰和弃用。光电检测又分为涡流检测和漏磁检测[4]。涡流检测是通过检测线圈观察感应电流和阻抗的变化来判断产品表面是否有缺陷。该方法具有检测速度快、灵敏度高等优点,但该方法存在耗费资源较大、难以检测轻微划痕、对探头要求较高等缺点,因此该方法并不适用于钢材表面缺陷检测。漏磁检测是通过磁化装置把被测产品磁化到饱和状态,通过磁敏探头检测泄漏的磁力线,推算出被测产品的缺陷形态。虽然该方法的检测速度快、成本低,但其难以准确区分缺陷种类,因此不适合用于钢材表面缺陷检测。
随着深度学习的发展,基于深度学习的目标检测算法在特征提取和定位上取得了非常好的效果,科研人员逐渐将深度学习算法应用于缺陷检测的领域。基于深度学习的算法主要包含两类:一类是以R-CNN、Fast R-CNN、Faster R-CNN[5]为主的二阶段算法;另一类是以YOLO、SSD为主的一阶段算法,该算法基于回归思想,使定位和分类可以同时进行。相较于二阶段算法,YOLO系列算法在速度上更快,但是精准度却有所下降。文献[6]中提出一种改进的检测算法RTiny-YOLOv3,通过在该算法中加入残差网络和增加优化的SPP模块,使得钢材表面缺陷的检测精度得以提高。文献[7]采用目前较为流行的YOLOv5s模型实现轧钢表面缺陷的识别与定位,使轧钢表面缺陷检测的精准度得以提升。
钢材表面的缺陷种类比较多,并且形态多样,若仅用单一的YOLOv5网络模型检测钢材表面缺陷,难以达到较高的精准度。因此,本文针对YOLOv5算法检测钢材表面缺陷精准度偏低的问题,提出一种将YOLOv5与EfficientNet相结合的双网络算法。实验结果表明,双网络算法对钢材表面缺陷检测的平均精度(MAP)有所提高。该算法在钢材表面缺陷检测中性能优异,可考虑应用于工业产品的检测。
1 钢材缺陷检测模型
本文使用的缺陷检测模型基于东北大学的热轧带钢(钢材)表面缺陷的开源数据集,思路是采用YOLOv5算法对钢材表面的缺陷进行定位、分割,再使用EfficientNet网络对钢材表面的六种缺陷类型(包括卷曲、斑块、开裂、点蚀、夹杂物、划痕)进行分类处理。
1.1 YOLOv5网络结构
YOLOv5的作者对COCO数据集进行了测试,对于COCO的小目标所占份额,四种不同的网络架构各有其优势。其中,YOLOv5s是最小的,最快的,也是最精确的AP。另外三种不同的网络YOLOv5m、YOLOv5l、YOLOv5x都是基于这一点,不断地进行挖掘和提升,AP的准确率也在不断提高,但是代价却越来越大。YOLOv5的网络结构图由四个模块组成,分别是Input、Backbone、neck、输出层,如图1所示。
Input包含三个部分:第一部分是Mosaic数据增强,原理是将四张图片通过随机放大、随机裁剪、随机排列等方式进行拼接,其在小目标的探测中效果非常好;第二部分是自适应锚框计算,对于各种不同的数据集,在一个具有初始长度和宽度的方形锚基础上输出预测框,通过预测框与真实标签的对比,计算函数,然后不断地进行更新,最终找到最合适的锚框数值;第三部分是自适应图片缩放,由于传统的图像检测方法中,图像的长度和宽度有很大的差异,所以通常的方法是将不同尺寸的初始图片自适应地增添最小黑色边框,之后进行统一的压缩,然后将其输入到检测网络中。
Backone主要包括Focus模块、CSP模块、SPP模块。Focus模块的主要作用是对图像进行切片操作,相当于进行下采样,图片经过切片后尺寸会缩小,通道数会增加。然后进行卷积操作,最终会得到不丢失任何信息的32个通道的特征图。在保证计算速度提高的前提下,完整地保留了图像信息。YOLOv5采用两种CSP架构,其中YOLOv5s采用CSP1_X架构,而在Neck中采用CSP2_X架构。CSP架构把梯度变化合并到特征图,解决了由于网络优化中梯度信息重复而导致的计算量庞大的问题。SPP模块可进行特征层的多尺度池化与融合,增加了感受野,提高了检测的精准度。
頸部层(neck)采用的是FPN与PAN相结合的架构,前者是从上到下将强语义特征由深层传递到底层,而后者是自下而上将强定位特征从底层传达到顶层,强强联合,增强网络特征融合的能力。
输出层以GIoU_Loss作为Bounding box的损失函数,预测结果的好坏与数值的大小相关,此外,通过非极大值抑制可以解决多个预测框同时出现的问题,利用加权NMS保留最匹配的目标框。
1.2 EfficientNet网络基本结构
表1中给出了EfficientNet网络的具体参数。
整个网络结构分为9层,除了堆叠在一起的第二层到第八层的MBConv结构之外,第一层是卷积核大小为3×3的卷积层,最后一层是由一个卷积核大小为1×1的普通卷积层、一个平均池化层和一个全连接层构成的。
Efficient Net通过同时提高网络宽度、网络深度以及输入网络的分辨率来增强网络的性能,只单独增加网络的某一个属性对网络性能的影响。图2(e)是同步增加网络的宽度、深度及分辨率,如图2所示。
其中最重要的是MBConv模块,它的作用是对网络的输入进行卷积操作,使得网络的宽度、深度、分辨率能够互相调和,之后再进行一次深度卷积操作,最后将这三个网络的宽度、深度和分辨率的值进行缩放,目的是最大限度地提升网络的性能。
因为Efficient Net是通过加入DropConnect的方式来降低模型过拟合的风险,其原理是在神经网络的训练过程中,对隐层节点的输入进行随即丢弃。同时,我们在Efficient Net网络结构的最后加入Dropout,从而不必采用训练多个模型的方法,不但避免了过拟合情况的发生,而且由于免除了多模型的训练过程,从而节约了大量的时间。也就是说,我们将隐层节点的输入和输出丢弃,使得网络对新鲜样本的适应能力增强,对数据集之外图像中缺陷的检测准确率提高。
本文选择的分类网络版本是Efficient Net B2,Efficient Net的模型准确率是从B0到B7逐步上升的,但是由于B3之后的计算量成倍增加,再考虑到自己的硬件成本,故选择了准确率较高、计算量较小的B2模型。
2 实验与分析
之前提及的思路是:YOLOv5负责检测定位缺陷(不进行类别的划分),并裁剪缺陷区域。EfficientNet的输入为YOLOv5裁剪好的bbox,输出为6个类别中的某一类。
原数据集是已标注好的,因此YOLOv5算法对数据集中缺陷部分的框选是非常准确的,这也有利于之后在EfficientNet网络中对数据集进行分类操作,如图3所示。
YOLOv5网络随着训练迭代次数的增加,会出现各类数据的变化曲线,其中包括mAP、obj_loss、precision等。本次实验是在配备NVIDIA GTX1080Ti的GPU的PC上Pytorch训练Efficient Net模型。在训练时应用了批处理学习方法,batch size为16,对每个epoch进行50个step。权重通过标准高斯分布初始化,YOLOv5网络的权重是从ImageNet网络进行预训练后的权重。优化器选择的是在SGDM的基础上进行改进的包含自适应学习率的Adam,其momentum值设置为0.5,学习率初始化为0.001,每100次迭代将学习率降低0.1,直至分类网络收敛。训练结果如图4所示。
EfficientNet网络参数如下:
分类模型epoch150次;batch_size设置为4;训练集图片张数为2 929;测试集图片为126张;每个epoch的step=732;优化器使用SGD,设置momentum值为0.9,初始学习率为0.01,学习率衰减采用余弦退火。
由于检测网络YOLOv5已经对数据集中的图像进行分割,分类模型的输入是经过裁剪的图像,无法绘制出检测框,分类模型只有类别输出,如图5所示。经过Efficient Net分类的准确率能够达到91.8%,而如果仅仅使用YOLOv5进行分类,则只能获得75%的准确率。可以说,本次实验所使用的二阶段网络,大大提升了分类的准确率。
3 结 论
本文从工业应用的角度探讨了一种通过分割网络进行表面缺陷检测的深度学习方法,并提出一种两阶段的方法。第一阶段包括在缺陷的像素级标签上训练的分割网络,而第二阶段包括在分割网络之上构建的分类网络,用以检测整个图像是否存在缺陷,以及其分属哪种类型的缺陷。
表面缺陷表现为钢材表面的腐蚀、开裂、卷曲、划痕等。对本文所提方法与单纯使用YOLOv5分类方法的检测效果进行了比较。在东北大学的热轧带钢(钢材)表面缺陷数据集上的实验表明,本文所提模型相较于只有一个错误分类的相关方法效果明显提高,而相关方法实现了五个乃至更多的缺陷分类。这可以归因于所提出的带有分割和分类网络的二阶段设计,改进的感受野大小以及提高的缺陷细节检测能力。
然而,本文所提出的方法仅限于特定类型的任务,例如钢材的缺陷检测,因为该架构是针对像素级分割任务而设计的。如果存在其他质量问题,该解决方案会不太适合。例如,复杂3D对象的质量控制可能需要检测损坏或丢失的部分,这些问题可以通过检测方法(例如Mask RCNN)得以解决。
参考文献:
[1] 刘坤,张晓怿,陈海永.带钢表面质量在线检测系统研究与设计 [J].计算机测量与控制,2015,23(6):1881-1884.
[2] 刘坤,陈宁纪,张晓怿.实时带钢表面质量检测算法研究与应用 [J].机械设计与制造,2015(7):74-76+79.
[3] 徐凤云.基于神经网络的钢材表面缺陷快速检测 [D].南京:南京理工大学,2009.
[4] 吴平川,路同浚,王炎.钢板表面缺陷的无损检测技术与应用 [J].无损检测,2000(7):312-315.
[5] REN S Q,HE K M,GIRSHICK R,et al. Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks [J].IEEE transactions on pattern analysis and machine intelligence,2017,39(6):1137-1149.
[6] 劉洋.基于深度学习的工业钢材瑕疵检测研究 [D].合肥:安徽建筑大学,2021.
[7] 李一鸣,王潇.基于YOLOv5s模型的轧钢表面缺陷检测 [J].制造业自动化,2021,43(11):117-119.
作者简介:谢良辉(1996—),男,汉族,河南濮阳人,硕士研究生在读,研究方向:机器视觉。
收稿日期:2022-10-10
基金项目:湖南省教育厅重点项目(19A446);邵阳学院研究生科研创新项目(CX2022SY051)