针对钢材表面小目标缺陷实时检测*
2023-11-28朱传军梁泽启张超勇刘荣光
朱传军,梁泽启,付 强,张超勇,刘荣光
(1.湖北工业大学机械工程学院,武汉 430068;2.华中科技大学数字制造设备与技术国家重点实验室,武汉 430074)
0 引言
近些年来,卷积神经网络的性能得以验证,一系列以其为基础进行识别的缺陷检测应用广泛。相比传统的钢材缺陷检测算法[1-3],卷积神经网络得益于其更深的算法网络结构,其非线性能力和鲁棒性强,和端对端的检测模式,适用于更复杂的钢材检测场所。
而随着神经网络的不断更新迭代,为完成更复杂的目标检测任务,网络变得越来越深,计算量越来越大,尽管此类大型算法在精度上保持着完美的表现[4-5],但在实际生产环境下,像钢板、电池片、电路板等大批量生产且需要即时检测,这对实时、高效及准确检测的算法模型提出了很高的要求,以低内存成本和快速扫描检测并保持一定精度是亟待解决的问题。YOLO(you only look once)[6],通过将输入图像划分为网格,每个网格对落在其中的目标负责端对端检测,回归出目标的在网格中的坐标以及边界框大小和类别概率,重新定义目标检测问题为简单的回归任务。与其他目标检测网络[7-9]相比,相同尺寸下速度更快,被广泛应用于实时检测任务中。如李维钢等[10]针对带钢表面缺陷检测提出了改进YOLOv3模型,通过浅层特征和深层特征多尺度融合检测,加快模型收敛,在公开钢材表面缺陷数据集NEU-DET上保持50 frame/s的检测速度下取得80%的平均精度,但是该模型参数量过大,不易部署。ZHANG等[11]提出一种融合注意力机制改进PP-YOLOE-m模型,检测速度达到95 frame/s,但是其检测精度较低。上述研究均表明YOLO模型在实施目标检测领域的高效性。但目前满足能进行实时检测的模型,无法保持较高的检测精度。
在资源有限和时间关键的工业环境中,受光线和快速滑动生产的带钢产业线影响,使图像像素点少和与背景对比度较低的小目标钢材表面缺陷特征易模糊,从而这些易漏目标严重影响整体检测精度。针对小目标缺陷易漏检的问题,本文对回归模型YOLOv5s进行改进,通过在模型输入端设计了多尺度动态反馈训练数据增强方法,设计STD-CA优化特征提取层,保证特征信息保留,引导对小目标缺陷提取,提高对小目标缺陷的定位精度。
1 钢材表面缺陷检测模型
1.1 回归模型概述
卷积神经网络的反向传播、自主学习的性能驱动,基于深度学习的检测模型已经成为解决钢材表面缺陷的新方法。从仅知道“什么是缺陷”的分类网络VGG16和ResNet。到在分类网络的基础上生成提议区域进行分类的二阶段模型FasterR-CNN[9]。再到对输入图像检测关键点来设定锚框,通过对锚框左上角的坐标、边长的回归和计算分类的一阶段模型YOLO系列网络。虽二阶段网络相对一阶段网络具有较高的定位精度,特别是小目标缺陷,但是将目标检测转为回归任务的一阶段网络具有绝对的速度优势。为了保证钢材表面缺陷识别的实时效果,采用YOLO系列模型,通过优化模型对小目标缺陷检测进度,实现针对钢材表面高效率的实时目标检测。
本文以轻量化YOLOv5s为基线模型(baseline model),改进CSYOLO的网络结构如图1所示。
模型输入端(input)采用多尺度动态反馈训练数据增强方法,通过对每次迭代损失比例分布判断是否将钢材表面图片采用裁剪拼接的方式融合为一张图片,降低尺度变化带来的影响,提高小目标钢材表面缺陷的训练精度。骨干网络(Backbone)通过卷积操作获取不同层次的特征信息,借鉴GhostNet[12]网络的思想,使用CSP结构,以及针对小目标缺陷设计的STD-CA模块。在1.3节详细介绍,将特征图大小由640逐次下降到20,通过跨层次连接将钢材表面缺陷特征分解和融合,减少参数糅杂,提高模型泛化能力。特征融合网络(Neck)部分采用FPN[13]特征金字塔网络结构和PAN[14]路径聚合结构构成。不仅通过FPN自上而下增强钢材表面瑕疵的语义特征,使高层信息层层递进,提高模型表征能力,还通过PAN结构自底而上增强学习定位特征,以保证特征图宽度。预测层(Prediction)部分分成3个检测分支,对不同尺寸目标进行检测,从而提高了检测的鲁棒性。
1.2 多尺度动态反馈训练
钢材表面缺陷难以保证不同尺度目标均衡分布,而尺度变化会降低少数尺寸的能力,影响模型整体性能。动态多尺度训练可以通过优化训练过程的尺度信息动态,引导数据准备,减轻训练任务中尺度变换的问题。
原模型输入端虽引入Mosaic数据增强,对训练图像进行拼接操作,但静态的数据处理会无视对动态优化需求和大目标缺陷过拟合,导致限制了模型处理不同尺度变化的能力。为此本文提出动态尺度训练范式来应对该问题,如图2所示。
在模型训练过程中,在每次迭代的前向传播后计算,通过获取钢材表面缺陷的损失比例设计一个反馈驱动,判定当次迭代是否低于决策阈值,从而决定是否进行补偿,来优化尺度不平衡问题。假设在第t个迭代中的损失比例低于决策阈值τ,则采用缩放、翻转和随机裁剪的方式将4张钢材表面缺陷图像,随机裁剪拼接为一张图片作为输入图像。相反,如果判定当前损失比例超过决策阈值τ,则采用常规图像作为输入图像,如式(1)所示。
(1)
式中,It+1代表t+1次迭代的输入图像数据,I和Ic分别表示下次迭代输入钢材缺陷图像是否为原始图像。
图3为原始图像和k=4的拼接图像。拼接图像的缺陷框左上角0、1、2、3、4、5分别表示钢材表面的裂纹、内含物、点蚀、氧化轧皮、划痕6种缺陷。通过图3可以看出,多尺度动态反馈训练中,重点将较小目标缺陷按比例进行拼接处理,较大缺陷按原始图像显示,并且拼接图像大小保持不变,较好地通过输入端数据处理,优化尺度变换带来的训练精度损失。同时拼接后图像,尺寸的一致性也避免了模型生成多余的计算量。
图3 原始图像与拼接图象对比
1.3 SPD-CA模块
卷积神经网络在提取特征过程中使用了跨步卷积层(strided convolution)或者池化层,这种设计虽增大了感受野,但是降低了分辨率。针对在钢材表面缺陷实际尺寸较小时,其像素点突出较少,因缺陷图像分辨率的降低,导致小目标缺陷特征的丢失,使模型的检测性能会迅速地下降。其次,常规卷积操作仅将通道和空间的局部信息简单融合,未引导定位显著特征,减少了对小目标缺陷的注意,导致小目标缺陷漏检。
为解决该问题,PENG等[15]通过在预测目标之前添加超分辨率模块进行端对端识别。SAJJADI等[16]提出将高分辨率训练图像中获得的像素细粒度知识迁移到低分辨率测试图像中,但这些方法需要大量相对应的高分辨率缺陷样本训练,在实际钢材产业生产线上,这类方法具有一定限制。
本文针对小目标缺陷因池化和跨步卷积操作导致的低分辨率问题设计轻量化STD-CA模块,代替部分池化和跨步卷积,减少分辨率降低而导致图片精细特征信息丢失带来的性能影响,引导对小目标钢材表面缺陷的获取,减少无关背景特征权重。STD-CA模块由空对深STD模块和CA(coordinate attention)注意力模块两部分组成,如图4所示。
图4 STD-CA流程图
SPD模块借鉴图像转换技术(image transformation technique)[17]对整个模块的内部特征图进行临近下采样操作,对任何输入特征图X,子图可按比例s对输入特征图X进行s倍下采样得到2s个相同形状的子图,如图5所示,s=2为例,切片为f0.0,f0.1,f1.0,f1.1均具有形状(S/2,S/2,C1)的子图,最后将4个特征图沿通道方向进行拼接成一个新特征图X′(S/2,S/2,22×C1)。该操作将新特征图在通道维度增加一个比例因子s,在对空间维度减少了一个比例因子s,使其面对小目标缺陷,在保证特征下采样的同时产生良好的效果,保留小目标缺陷语义信息,大幅度优化了小目标缺陷特征提取的过程中分辨率降低导致的性能下降问题。
图5 内部特征对比图
如图5所示,对比主干特征提取部分的内部特征图可发现,在下采样过程中,添加SPD模块的特征图5下面4张图更大程度地保留了特征图的语义特征,避免在低分辨率情况下,小目标缺陷的缺失导致漏检的问题,从而更好提高整个模型的检测性能。
CA模块HOU等[18]提出了一种为轻量级网络设计的通道注意力机制,由于位置信息被嵌入到通道中,通过全局平均池化分析通道信息之间的关系,自动学习和分配各个特征的关注程度,从而可以准确地定位和识别目标区域,引导定位显著特征,减少对小目标缺陷的忽视。CA注意力机制的流程结构如图6所示。
图6 CA流程图
如图7所示,为引入注意力机制后的可视化热力图,红色区域为主导识别区域,提升对特征内容和特征位置双重维度的敏感性,引导对小目标钢材表面缺陷的获取,减少无关背景特征权重。通过热力图可发现,模型主导局域集中为缺陷核心部分,对无关背景关注度降低,进而提高模型对小目标钢材缺陷的检测性能。
图7 可视化热力图
2 实验分析与讨论
2.1 数据集构建
本试验所用数据采用由东北大学制作的钢材表面缺陷公开数据集(NEU-DET)。该数据集包含1800张缺陷图像(含裂纹(crazing)、内含物(inclusion)、斑块(patches)、点蚀面(pitted surface)、氧化轧皮(rolled-in scale)、划痕(scratches))。训练集、验证集与测试集以8:1:1的比例随机划分数据集部分图片如图8所示。
图8 部分缺陷展示图
2.2 评价指标
文中使用准确率P、召回率R、平均精度AP、模型参数数量Para、平均推理时间t,mAP@0.5(当检测框和真实框的交并比IoU值大于0.5时各个类别的平均AP值)等多个维度评估模型。
当IoU值大于0.5时,将该样本记为正样本TP;反之记为负样本FP。精度用来评估模型寻找正样本能力。平均精度反应模型的整体目标检测和分类能力。召回率表示在正样本的基础上,最终被正确预测的概率。模型参数数量和平均推理时间衡量模型的复杂度和推理速度。综上所述,准确率P、召回率R、平均精度AP,mAP@0.5越高,模型参数数量Para和平均推理时间t越低,模型性能越好。其表达式如式(2)~式(8)所示。
(2)
(3)
(4)
Para=H×W×Cin/g×Cout
(5)
(6)
FLOPs=(2×KH×KW×Cin/g-1)×Cout×Hout×Wout
(7)
(8)
2.3 实验结果分析
本文实验使用Linux操作系统,基于Pytorch学习框架,使用GPU加速,具体软硬件参数如表1所示。
表1 实验平台参数
为了验证单个结构模型和整体模型对比其他模型的性能。本部分进行消融实验对比,对Case1(使用多尺度动态反馈训练)、Case2(使用STD-CA模块)、CSYOLO,YOLOv5s进行训练与测试,试验统一使用随机梯度下降法SGD优化器对模型进行优化,初始学习率为0.01,权值衰减参数为5×10-4,batch-size设为16,训练周期为300 epoch。对得到的5种模型的参数数量和性能进行对比,结果如表2所示。
表2 模型多尺度对比
分析表2实验结果可知,CSYOLO相比于原YOLOv5s模型虽参数量增加,复杂度和推理速度减慢,但不影响实时检测效果,且召回率、平均检测精度均增加。Case1有效地缓解了钢材表面缺陷多尺度变化带来的影响,减少较大的特征不需要重复训练,拼接训练较差的小目标缺陷,增强数据集,提高模型鲁棒性,进而优化小目标钢材表面缺陷的训练精度。Case2保证下采样过程中,小目标钢材表面缺陷语义特征的保留,对后续提升召回率和检测精度有一定提升,并引导模型视觉集中在缺陷核心区域,降低对无关背景权重的关注度,可以清晰地辨别出小目标缺陷的具体位置。
如图9所示,PR曲线图中横轴表示召回率,纵轴表示精度。曲线越接近右上角,检测结果就越好。各类型精度对比可得,内含物、点蚀面、氧化轧皮,划痕四种易分散,小目标居多的缺陷检测精度大幅度提升。由于本文针对小目标缺陷做改进,偏大目标缺陷裂纹和斑块缺陷提升不明显,但混合注意力机制主导注意特征信息,也有所小幅度提升,所以使最后改进算法的缺陷检测的平均精度远高于原算法。
图9 PR曲线对比图
如图10所示,为改进模型与原模型6种缺陷检测结果对比,CSYOLO模型对小目标缺陷更好的框选和正确分类针对钢材表面易裂纹导致的小目标缺陷缺检漏检问题,本文方法具有很大改善。
图10 检测对比图
2.4 不同算法对比
为进一步评估本文提出的CSYOLO模型性能优越性,选取YOLOv5s-GSD算法模型、PP-YOLOE-m模型、改进YOLOv3模型和几种主流目标检测算法做比较,其平均精度mAP、参数量,检测速度FPS,如表3所示。
表3 模型性能对比
根据实验结果对比可得:CSYOLO模型有明显提升,在保证实时检测的效果下,检测精度均明显优于其他模型,表明了本文改进模型的优越性。
3 结论
本文在YOLOv5s基础上构建了兼顾轻量化和精度要求的钢材表面缺陷检测模型CSYOLO。针对在保证钢材表面缺陷实时检测下,解决因小目标缺陷易漏检而导致模型检测精度降低的问题,实验结果可得,与原模型相比,CSYOLO模型准确率提高17.6%,召回率提高6.1%,每秒可检测54张钢材表面缺陷图像。本文从模型结构和训练策略,提高对小目标缺陷的检测能力,满足钢材表面缺陷实时检测能力。对未来实现钢材产业线上高速度与高精度缺陷检测具有现实意义。