关键词:钢材;深度学习;表面缺陷;目标检测;机器视觉
中图分类号:TP391 文献标识码:A
文章编号:1009-3044(2024)36-0032-04
开放科学(资源服务) 标识码(OSID) :
0 引言
钢材具有优异的硬度、可塑性、韧性和抗腐蚀性,广泛应用于建筑、汽车制造、机械电子等支柱产业,并在航空、国防、化工等领域发挥重要作用。随着我国钢材产量和消费量的持续增长,提升钢材性能和使用寿命成为生产制造企业的重要课题,而钢材表面缺陷是其中的关键问题之一。钢材表面缺陷主要包括裂纹、夹杂物、氧化皮等,这些缺陷可能由原材料、工艺控制或外部环境因素造成。
本研究旨在深入探究基于深度学习的钢材表面缺陷检测技术,并对相关领域的研究方法和成果进行梳理和评价。本文首先介绍钢材表面缺陷检测技术的发展历程,然后概述常用的深度学习算法,重点关注近三年内针对工业实际需求的算法改进方向。通过上述研究,可以发现对深度学习缺陷检测技术的优化方式主要包括更换卷积模块、引入注意力机制、特征融合处理、结合传统图像处理算法等。这些方法旨在提升深度学习模型对小目标缺陷检测的能力,平衡检测速度与精度,使网络模型更轻量化,能够适用于实际工业生产情景。最后,针对当前改进方法存在的问题,展望未来的研究方向。
1 钢材表面缺陷检测技术发展
早期的表面缺陷检测方法主要包括目视检测、涡流检测、红外检测、漏磁检测、激光扫描检测[1]等。这些方法在实际应用中各有优缺点。目视检测是早期最常用的方法,通过人工目测或光源频闪的方法来识别表面缺陷。这种方法的优点是操作简便、成本低廉,但存在效率低、准确率低、易受主观因素影响等问题。涡流检测利用电磁感应来判断钢表面或近表面的缺陷。当涡流通过缺陷区时,检测线圈会感受到涡电流的变化量,从而对缺陷处进行测定。漏磁检测是通过在钢材表面施加磁场,并通过传感器接收磁通和磁感线走向变化的一种方法。红外检测技术基于热力学原理,通过区分钢材表面和缺陷处的温度差异来识别缺陷位置。激光扫描检测通过将激光束反射至钢材表面进行扫描,结合光电转换技术来识别缺陷信息。这些方法(如涡流检测、红外检测、漏磁检测、激光扫描等) 虽然能够提高检测效率,但设备成本高、操作复杂,且对缺陷类型和位置的识别能力有限。
近年来,机器视觉技术在表面缺陷检测领域得到了广泛应用,主要分为两类:传统的图像处理方法[2]和基于深度学习的缺陷检测方法。传统的图像处理方法首先利用高分辨率工业摄像头和专业光源采集图像,然后进行噪声滤除、图像增强等预处理,并应用边缘检测等方法进行图像处理。最后,利用模式识别和机器学习算法进行图像分析,以判断材料表面是否存在缺陷以及缺陷的类型、位置和严重程度。与早期方法相比,基于图像处理的缺陷检测技术减少了人为因素的影响,提高了检测效率和缺陷识别准确率。但该方法也存在设备通用性低、对光源环境和图像采集设备要求高、使用和维护成本高昂等问题。钢材表面缺陷检测方法的分类框架如图 1 所示。
2 深度学习算法及其改进
随着人工智能技术的快速发展,深度学习因其在不同环境和检测对象下展现出的良好鲁棒性和泛化性,逐渐被应用于材料缺陷检测任务中。基于深度学习的缺陷检测算法主要利用目标检测技术来完成钢材表面缺陷检测。目前,常见的深度学习算法可以根据工作原理和设计结构分为两类:单阶段目标检测算法和两阶段目标检测算法。单阶段目标检测算法可以直接生成表面缺陷的位置、类别及其计算概率,代表算法有 YOLO 系列[3]和 SSD[4]。两阶段目标检测算法需要先得到一个候选框,然后对框内目标进行深度定位和分类,代表算法有 Faster R-CNN[5]和Mask R- CNN[6]。对比发现,单阶段目标检测算法的测试速度更快,但精确性相对较低;两阶段目标检测算法则具有更高的检测精度,但检测速度较慢。下文将首先介绍常用的数据集和评价指标,然后解析两类代表性算法及其改进成果。
2.1常用数据集及评价指标
1)NEU-DET数据集。NEU-DET数据集是目前应用最广泛的钢材表面缺陷检测数据集。该数据集包含1800张尺寸为200×200的灰度图像,主要分为六大类缺陷:轧制氧化皮(ROLLED_IN_SCALE)、斑块(PATCHES)、开裂(CRAZING)、点蚀表面(PITTED_SURFACE) 、内含物(INCLUSION) 和划痕(SCRATCHES),每类300张。除明确指出的数据集外,本文后续研究均以NEU-DET数据集作为目标检测对象。部分图像如图2所示。
2)Severstal数据集。Severstal数据集由谢韦尔钢铁公司提供,包含12568张尺寸为1600×256的图像,涵盖4种缺陷,每张图像可能包含1~4种缺陷。
3)评价指标。钢材表面缺陷检测模型常用的性能评价指标包括平均精度(mAP)和每秒帧数(FPS),其计算公式分别为:
式中:AP表示P-R曲线和坐标轴所围成的面积,其中精确率P和召同率R分别作为纵轴和横轴;Fra-meNum表示投入缺陷检测的图像总数;Processing-Time表示缺陷检测所需总时问。除此之外,常用的评价指标还包括每秒10亿次浮点运算量(GFLOPs)和参数量(Params)等。
2.2单阶段目标检测算法及其改进
1)YOLO。YOLO算法是一种端到端的实时目标检测技术,能够综合执行检测、分割和实时追踪任务,具有较高的检测速度和准确性。YOLOv8网络模型在YOLOv5的基础上进行了优化,由Backbone、Neck和Head三部分组成。在Backbone和Neck部分,除了引入SPPF(Spatial Pyramid Pooling with Features)模块外,均采用了CSP(Cross Stage Partial)设计,并使用更丰富的C2f结构代替YOLOv5中的C3模块,同时针对不同规模的模型调整了通道数量。
Head部分的改动最为显著,原有的耦合头结构已被日前主流的解耦头结构所取代,将分类头和检测头分离,并从Anchor-Based转变为Anchor-Free,训练过程不再依赖先验框。这一改变进一步提升了模型的性能。YOLOv8包括YOLOv8 n/s/m/l/x五个版本,其中YOLOv8n是系列中参数最少的版本,具有较小的模型体积和较低的计算需求,适合在边缘设备上运行,满足钢材表面缺陷检测的工业场景需求。因此,本文重点关注对YOLOv8n的改进。YOLOv8n的网络结构如图3所示。
基于YOLOv8n算法,研究者们提出了多种改进方法,以进一步提升钢材表面缺陷检测的性能。以下是几种典型的改进算法及其特点:
①MCB-FAH-YOLOv8。崔克彬等提出了一种MCB-FAH-YOLOv8算法,该算法在基线模型的Backbone中增加了MCB(Modified CBAM),它是一个改进后的CBAM(Convolutional Block Attention Mod-ule),以增强密集目标信息的提取能力。同时,将SPPF模块替换为YOLOv6 v3.0中的SimCSPSPPF模块,在保持相似速度的同时提升了检测精度。此外,将Neck部分的FPN结构更换为BiFPN结构,解决了不同层语义差异的问题。最后,在Head部分设计了四头白适应特征融合ASFF检测头,提升了检测微小日标的精度。该算法的mAP达到了81.8%,比基准模型提高了3.4%,在检测精度上有所提升,但牺牲了部分速度。
②YOLOv8-RDP。刘昱等提出了一种YO-LOv8-RDP算法,通过将基线模型中的C2f模块替换为RepNCSPELAN4模块,增强了模型的特征提取能力。同时,引入可变形注意力机制(DA)到主干网络中,以提升模型的精确性。最后,对检测头部分进行了优化,采用了PConv结构,有效减少了模型参数,降低了计算复杂度。在数据集上,该模型的mAP达到78.8%,相比基线模型提升了1.8%。其参数量为1.87M,GFLOPs为3.5G,分别较基线模型降低了37.9%和57.0%。经过改进的模型在保持高精度的同时,对计算资源的需求明显降低,适合部署在计算资源有限的设备上。
③STC-YOLOv8。黄奥国等提出了一种STC-YOLOv8算法,该算法将Backbone的Conv替换为SAConv,使卷积核在弥补小目标特征提取能力不足的同时,获得更大的感受野。此外,该算法将Neck部分的upsample方法替换为CARAFE(Content-Aware Re-Assembly of Features),具有计算快、感受野大的特点。最后,在Head部分引入RepDetect模块,利用其重参数化的多分支特征提取机制,增强模型对目标与背景之间的辨别能力。在数据集上的mAP为82.4%,较基线模型提升了3.8%,但参数量增加了1.4M,FPS减少了18.75%,实时检测能力有待提高。
④YOLOv8n-MDC。彭菊红等提出了一种Y0-LOv8n-MDC算法,该算法在主干网络中加入多尺度交叉融合网络(MCN),优化了非相邻层次特征的融合效果。同时,将基线模型中的C2f调整为DCN-C2f,结合可变形卷积的思想,自适应地调整卷积核的几何形状及其在特征图上的位置。最后,在Neck部分加入CA通道注意力机制,在保持轻量级网络的基础上,更有效地关注关键特征信息。数据集上的mAP达到了81.0%,比基准模型提高了4.2%。该算法检测速度快,精度较高,参数量增加有限,但对裂缝和氧化皮的识别精度仍有不足。
2) SSDo SSD(Single Shot MultiBox Detector)是一种经典的缺陷检测网络,其结构由四部分组成:基于VGG16修改的主干网络、增设的提高检测精度的特征层、去掉全连接层的目标检测层(将更多注意力集中到周围信息)和NMS(Non-Maximum Suppression)筛选层(消除重复的检测框)。SSD的多尺度特征图设计和前置验框的引入,有助于不同尺度目标的检测。同时,多任务学习的方式使得分类和回归两任务可以得到联合优化,从而更快速、准确地进行目标检测。SSD300的总体结构如图4所示,而SSD512的网络结构仅增加了一个卷积层,因此不再赘述。
对SSD算法进行改进以专门用于钢材表面缺陷检测的研究较少,但可以通过扩展到小目标缺陷检测领域进行对比分析。以下是几种改进SSD算法的研究:
①LT-SSD。杨月川等提出了一种LT-SSD算法,使用融人空间注意力机制的Transformer模块替换原模型主干网络中的最后5个卷积层,结合特征融合模块,让局部的小目标缺陷与整体图像联系更加紧密。由于优化后的Transformer模块使计算量增加、降低检测速度,设计了L-Involution卷积取代标准卷积,并重新构造轻量化的L-Transformer模块,将二者结合组成了LT-SSD的主干网络。实验结果显示,该算法的mAP达到72.86%,较原有算法提升4.19%。FPS从29.77上升至37.34,更适合在实际生产制造过程中部署使用。
②改良SSD用于风电叶片缺陷检测。郭贺针对风电叶片内腔缺陷检测提出了一种改良的SSD算法,将基础框架从VGG-16更换为ResNetl01,增强了特征提取能力和模型的泛化性能,同时加快运算速度,减少资源占用,并降低参数和计算负担。此外,在原有SSD中引入全卷积空间注意力模块(FCSE),提升了检测精度,最后,在损失函数中加入超参数控制平滑区间,加强了模型的稳定性。在收集标注的数据集上,改进模型的mAP达到83.6%,高于原SSD(74.2%)9.4个百分点。 ③改进SSD用于手机盖板玻璃缺陷检测。唐孝育等针对手机盖板玻璃表面缺陷检测提出了一种改进SSD模型。该模型使用改进的ResNet50模块,并引入膨胀卷积(Dilated Convolution)以获得多尺度感受野,同时加入通道注意力机制SeNet,防止缺陷被噪声等无用信息抑制。在自制的数据集上进行实验,改进模型的mAP达到76.78%,较原SSD算法提升1.86个百分点。不过,该研究并未考虑模型的轻量化设计,实时性能有所降低。
2.3两阶段目标检测算法及其改进
1) Faster R-CNN。Faster R-CNN模型由Fast R-CNN[17]改进而来。如图5所示,其网络结构主要由4部分组成:
①主干网络(Backbone)。使用卷积层+激活函数+池化层从图像中提取生成特征图,用于后续的区域建议和目标分类。
②区域建议网络(RPN)。用于生成区域候选。RPN在特征图上滑动,生成一系列候选框,并对其进行二分类(目标月/非目标)以及边界框回归.最后通过NMS获得精确的候选区域。
③Rol池化层(Region oflnterest Pooling Layer)。将RPN最后得出的精确候选区域映射到特征图块,映射完成后提取出建议特征图,传递到后续分类回归的全连接层。
④分类和回归(Classification and Regression)。建议特征图通过一系列全连接层预测候选区域属于哪一类,并精细调整边界框的位置和大小,完成目标分类和边界框回归操作。
当前,针对Faster R-CNN算法的改进是两阶段目标检测的重要研究领域之一,以下是几种典型的改进方法:
①GA-RPN-Faster R-CNN。杨莉等使用GA-RPN代替原模型中的RPN,并通过可调节机制改善GA-RPN带来的速度和精度损失。由于采用ResNet-101作为Backbone,卷积层数增加时缺陷类小目标检测的语义信息极易丢失,因此使用multi-task FPN缩短信息路径。改进后的mAP达到86.3%,比基准模型提高了23.3个百分点,每识别一次图片检测速度仅下降0.009秒,具有更强的时效性。
②FF R-CNN。韩强等设计了一种名为FF R-CNN的改进算法,Backbone使用VGG-16提取特征,并通过特征融合弥补特征图小目标定位能力的不足。在RPN网络后级联了两个IOU阈值分别为0.5和0.6的检测网络Dl-net和D2-net,得到效果更好的bounding box。实验结果显示,改进模型的mAP达到98.29%,较Faster R-CNN提升14.23%,FPS下降0.03。
③分类模型与目标检测模型结合。Wang等结合分类模型和目标检测模型,使用改进的ResNet50-vd作为骨干网络,添加DCN和改进的cut-out裁剪操作,对各种形状的缺陷检测效果更佳。此外,增加SPP和FPN模块以适应多尺度检测,设计的matrix NMS算法相比NMS更快、更优。Severstal数据集实验结果显示,改进后的算法mAP达到98.2%,高于仅改进Faster R-CNN的97.2%;平均运行时间仅为63.3ms,远低于后者的214.5ms,实现了精度和速度的双提升。
④RC-Swin Transformer-Faster R-CNN。齐继阳等从四方面改进Faster R-CNN。首先引入RC-Swin Transformer作为骨干网络,增强模型提取全局特征信息的能力。其次,通过CBAM-BiFPN实现多尺度特征融合,提升不同尺寸缺陷的检测效果。再次,使用ROI-Align技术取代传统ROI-Pooling,更好地调整感兴趣区域。最后,利用Soft NMS优化非极大值抑制效果,去掉多余边框。实验结果显示,改进模型的mAP为78.2%,较原算法提升4.2%;在裂纹和夹杂物检测中,mAP分别提高6.1%和6.7%。
⑤FPN+GIoU+GA-RPN+Faster R-CNN。罗晖等提出一种基于FPN+GIoU+GA-RPN+Faster R-CNN的改进方法。以ResNet-101作为Backbone构建多尺度特征金字塔;采用GIoU作为回归损失函数,在继承IoU尺度不变性的前提下提高预测边框位置的敏感度;利用GA-RPN网络对锚点进行引导,产生更多正样本。实验结果显示,该方法在钢轨踏面块状损伤检测中的mAP达到82.466%,较原算法提高13.201个百分点,检测精确性显著增强。
2)Mask R-CNN。Mask R-CNN在细节上对Faster R-CNN的结构进行了改进。如图6所示,该网络仍然包括4部分:
①Backbone。使用表达能力更强的ResNet-50/101和ResNeXt-50/101网络提取特征,并通过FPN进行多尺度信息提取。
②RPN。此部分与Faster R-CNN的作用相同,处理后得到建议区域和区域得分。
③Rol Align。在特征图中,Rol Align的池化基于建议区域的位置坐标,得出固定尺寸的特征图,以便后续的分类、回归和Mask预测操作。
④Three Branches。此部分完成三项任务:分类(包括背景类)、边界框的回归和像素级的Mask预测,最终实现图像分割。
针对Mask R-CNN的改进研究:
①k-meansⅡ聚类算法生成anchor。翁玉尚等提出k-meansⅡ聚类算法生成anchor方案。首先,对数据集中标注框的宽度和高度进行聚类生成聚类中心,使anchor更具代表性;其次,去掉原模型中的掩码分支以提高检测速度。实验表明,改进后的算法mAP从81%提升到96%,FPS从2.3提升到5.9。
②CIoU和新特征金字塔网络。Wang等设计了一种新的特征金字塔网络进行多尺度融合,并在RPN中引入新的评价指标——完全交并比(Complete-IoU,CIoU),克服了IoU在某些特殊情况下的局限性。实验结果表明,改进模型在其提出的数据集上mAP达到98.70%,能够更准确地定位钢轨表面缺陷位置。
③CSPRepResNet和Focal Loss。马志程等对网络模型进行改良,使算法更适用于光学元件划痕瑕疵检测。首先,将原模型Backbone的ResNet更换为CSPRepResNet,减少复杂度,并增加计算量更低的ESE模块;其次,利用K-means算法对先验框重新聚类;最后,将损失函数改为梯度均衡化Focal Loss,有效解决样本正负失衡问题,增强对疑难样本的检测,消除离群点冲击。改进后mAP从52.1%提升到57.3%,推理速度仅降低0.002s,对划痕检测效果显著提升。
3结束语
尽管基于深度学习的钢材表面缺陷检测技术取得了显著进展,但仍存在图像采集质量不稳定、样本数量种类少、小目标缺陷定位难、实时性不佳等问题。针对这些问题,未来研究方向如下:
1)改进图像采集系统。在控制成本的前提下改良光源设计,提高图像采集质量,克服背景噪声干扰。
2)扩充样本数据。通过数据增强、迁移学习及弱监督学习方法,增加样本数量,减少人工标注误差。
3)优化小目标定位算法。在引入特征金字塔结构的基础上,设计时间复杂度更低的小目标缺陷定位算法。
4)研究轻量化模型加速技术。充分利用硬件性能,开发轻量化模型,设计适用于工业场景的在线检测系统。
5)探索基于Transformer的算法。研究基于Transformer的目标检测算法,提升小目标缺陷检测精度。
6)发展模型压缩技术。采用知识蒸馏、量化等模型压缩技术,降低计算量,提高检测速度。
7)加强模型可解释性研究。研究梯度类激活图(Grad-CAM)等方法,提高模型可解释性,帮助理解决策过程。