1. 引言
动车由很多配件构成,常见的动车配件包括发动机部件、制动部件、悬挂部件、传动部件、电气设备、车身结构部件等。它们的作用是确保动车安全的运行。它们需要定期维护、保养和检修,或根据特定需求进行升级和改进 [1] 。因此,针对不同配件的缺陷进行准确识别,为维修和保养配件提供信息,可以提高生产效率,有重要的工业研究意义 [2] 。在生产应用中,通常用磁粉检测技术(Magnetic Particle Testing)对动车配件进行缺陷检测。磁粉检测是一种快捷、高效、成本低的无损检测方法,专门用于检测金属材质的表面和近表面的裂纹 [3] 。这种方法利用磁粉在磁化的金属物体缺陷的漏磁处形成堆积,从而显现裂纹。市场迫切需要一款能够快速准确的识别动车配件荧光磁粉裂纹的解决方案。
常见的金属裂纹缺陷检测方法分三种:人工视觉检测方法,图像处理检测方法,深度学习目标检测法。人工视觉检测方法具有灵活性和适应性,适用于各种形状和尺寸的材料,但其结果可能受到操作员主观因素的影响,例如人眼感光性和色觉反应,准确性有一定限制 [4] 。厉荣宣等 [5] 通过MATLAB图像处理的方法,对采集到的荧光裂纹磁粉图片进行信号处理,图像分割和特征提取来识别裂纹。凌张伟等 [6] 从像素特征提取技术着手,通过荧光磁粉裂纹照片的色彩信息来判断是否有缺陷,陆宝春等 [7] 融合梯度法和阈值法,结合灰度图像特征差异过滤伪裂纹信号,判断是否有裂纹。马涛等 [8] 采用形态学的方法,通过几何形状特点和纹理特征来辨别是否有裂纹。张静等 [9] 提出一种通过形态学的方法,结合人工识别经验,提取裂纹特征并建立专家知识库,需要对比专家库信息才能提高检测准确率。这种几种方法对磁粉探伤图片光照信息比较敏感,检测鲁棒性较差。Lei K等 [10] 采用深度学习语义分割的方法对磁粉探伤裂纹进行识别提高了检测速度,但由于荧光磁粉裂纹图片的有荧光噪点的特点,使用语义分割的方法比较困难,所以检测精度相对较低。石爱贤等 [11] 提出一种两阶段卷积神经网络,分步骤来处理磁粉裂纹检测问题。这种方法可以达到高准确率识别,但是采用空间注意力机制,识别过程非常复杂,对算力消耗较大。
根据上面的对比,本文自行采集数据集,使用深度学习的方法进行缺陷检测研究。通过结合荧光磁粉图像有绿色荧光噪点的特点,使用HSV数据增强方法进行降噪和数据扩充。改进YOLOv5s目标检测算法,采用轻量化ShuffleNet-v2作为主干网路,减少模型体积。其次,在此基础上添加A2-Nets注意力模块,并结合Focal Loss损失函数使用。以确保网络更好地关注细小裂纹,改善裂纹检测任务精度。为动车配件磁粉裂纹检测提供一种全新的解决方案。
2. 数据集与预处理
2.1. 数据集的来源
优质的数据集输入是深度学习模型训练取得好结果的必要条件。网络中可以获取大量的关于金属裂纹的数据集,但关于荧光磁粉裂纹的数据集资料是匮乏的。细分场景的深度学习数据集通常需要在具体应用场景中采集和制作。所以,本文采用的数据集大部分由自己采集或工程项目实际积累,这些数据由盐城某设备制造股份有限公司提供的专用荧光磁粉检测设备获取,图1展示了荧光磁粉裂纹数据采集设备。其中1为相机,型号为MV-GE200GC,采用全局快门输出彩色图片,有效像素为200万;2为镜头,型号为MV-LD-35-3M-A,采用35 mm定焦,最小物距0.2 m;3为紫外线光源,型号为27WBLB,功率为20 W的工业金属探伤专业灯具,4为被检测的动车配件。

Figure 1. Fluorescent magnetic powder crack data acquisition equipment
图1. 荧光磁粉裂纹数据采集设备
经过挑选,保留原始数据2000张。少部分来源于爬虫程序获取,经过筛选,保留原始数据200张。在进行深度学习训练之前,已确保对数据集的使用符合相关法律和隐私政策,并且尊重工厂和员工的权益。图2给出了实验数据集的实例样本。
将所有图像保存为YOLO通常输入的JPG格式。实验采用LabelImg工具进行手动标注标签。LabelImg是一种常用的图像标注工具,它的输出格式丰富,满足多种模型的输入要求。它可以简单快捷地给图像数据集添加标签或约束边界框,从而为目标检测、图像分类等任务创建训练数据。LabelImg具有用户友好的界面,快捷键丰富,方便用户在图像上绘制边界框,并为每个边界框添加相应的标签。通过LabelImg,可以快速创建高质量的训练数据,它使用目标框的四个坐标数定位目标,标签信息保存为txt格式。最后,按照7:2:1的比例划分为训练集、验证集和测试集。

Figure 2. Some parts of the bullet train magnetic particle detection picture
图2. 部分动车配件磁粉检测图片
2.2. 数据集预处理
为了丰富图像数据集,提高训练效果和模型的鲁棒性,对训练数据集进行数据增强。根据荧光磁粉裂纹图像有绿色荧光粉噪点的特点,配合实际图片是彩色的和实际生产中荧光磁粉色彩饱和度有差异的特点,我们使用三种数据增强的方法,分别是Mosaic数据增强(将四张图片拼成一张图片,采用随机缩放、随机裁剪、随机排布的方式进行拼接)、HSV (Augment HSV (Hue, Saturation, Value))随机增强图像,随机调整色度,饱和度以及明度。配合Random horizontal flip随机水平翻转,对动车配件荧光磁粉裂纹图片进行随机上下左右的水平翻转。这样处理可以丰富数据集,解决数据不平衡问题。下面图3展示了图像HSV数据增强前后效果对比。图片经过处理,荧光磁粉噪点的颜色与正常的裂纹的颜色产生了区别,有助于算法训练与识别正确的裂纹。
(a) HSV处理前
(b) HSV处理后
Figure 3. HSV effect contrast picture
图3. HSV效果对比图
3. 模型描述与改进
3.1. 模型介绍
YOLO (You Only Look Once)是一种目前快速发展,不断迭代的实时目标检测算法,由Ultralytics LLC公司发起的一个开源项目,因其快速的检测性能而深受人们的喜爱。相对于传统的目标检测算法,YOLO采用了不同的方法来解决目标检测问题,其独特之处在于将目标检测任务转化为一个回归问题。YOLOv5s是YOLO第5代版本中的一员。YOLOv5s包括一个主干网络和一个检测头部。主干网络通常使用CSPDarknet53,它是一种卷积神经网络,大部分功能由它负责,例如提取图像特征、生成被检测物的边界框和被检测物类别预测。YOLOv5s采用单次预测思想,只需要进行一次前向传播操作就可以同时得到所有目标的位置和类别信息,从而实现了端到端的快速检测。针对不同大小的被检测目标,YOLOv5s模型使用了多个尺度的特征图来提取特征。它在网络的不同层级上引入了多个特征图,并通过这些特征图来检测不同尺度的目标。这种多尺度特征提取的方式使得YOLOv5s模型对于小目标和大目标都能有较好的检测效果。YOLOv5s支持多尺度训练和推理。同时,YOLOv5s还支持动态图像尺度调整,可以在推理时根据目标的大小自适应地调整输入图像的尺寸。YOLOv5s的损失函数采用了一种组合的损失计算方式,包括定位损失、置信度损失和类别损失。定位损失衡量了边界框位置的准确性,置信度损失衡量了边界框是否包含目标的准确性,类别损失衡量了目标类别的准确性。通过综合考虑这些损失,YOLOv5s模型可以进行端到端的训练,优化目标检测性能。在模型预测完成后,YOLOv5s模型会筛选出具有较高置信度的目标框,并进行非极大值抑制(Non-Maximum Suppression)来消除重叠的边界框。这样可以得到最终的目标检测结果。此外,YOLOv5s还提供了预训练的权重和丰富的应用程序接口,方便用户进行模型训练和部署。
总之,YOLOv5s是一种高效、精确的目标检测模型,适用于许多实际应用场景,如智能监控、交通安全、工业检测等。通过不断改进和优化,YOLOv5s已经成为目标检测领域中的一种流行选择。
3.2. 主干网络轻量化改进
本文提出一种基于改进的YOLOv5s的动车电线支架焊接裂纹磁粉检测算法。由将YOLOv5s中backbone层的主干网络CSPDarknet-53更换为轻量化ShuffleNet-v2。替换后,网络拥有分组卷积能力,每个卷积核只负责处理相应组别信息,有效减少模型体积 [12] 。整体网络结构如图4所示。

Figure 4. Network model structure diagram
图4. 网络模型结构图
3.3. A2-Nets注意力模块
A2-Nets: Double Attention Networks是一种注意力模块,用于增强神经网络在感兴趣区域的表示能力 [13] 。A2-Nets通过引入注意力机制,允许网络在不同的特征图上自适应地分配注意力权重。这样,网络可以更加关注对任务更重要或更有信息量的区域,从而提高模型在感兴趣区域的表达能力和目标检测性能。具体来说,A2-Nets使用了两个关键组件:自适应池化模块和自适应融合模块。自适应池化模块通过计算每个通道的自适应权重,将不同通道的特征进行加权池化。这样可以使网络更加关注重要的通道,提取更具信息量的特征。自适应融合模块则将多个尺度的特征图进行融合,以获取更全局和更丰富的特征表示。它可以应用于不同的任务和网络架构,以提升模型的表达能力和准确性。A2-Nets注意力模块结构如图5所示:

Figure 5. Structure diagram of A2-Nets
图5. A2-Nets结构图
3.4. Focal Loss损失函数
Focal Loss损失函数旨在解决目标检测任务中类别不平衡的问题 [14] 。通过引入平衡算力消耗和调节因子,类似于卡尔曼滤波思想,它能够有效地减轻易分类样本对损失的贡献,提高模型在难分类样本上的性能。Focal Loss在目标检测领域得到了广泛的应用,并取得了显著的性能提升。
(1)
其中,
为置信度信息,即模型预测为某种类别的概率。
为平衡正为负样本数量的权重值,给数量少的样本给予更大的权重,
用来平衡样本识别难度差异,一般取值
,这样可以达到对易分样本(实际为正样本,被模型预测为正类的置信度很高)进行幂函数的改变,
用来处理难分样本(实际为正样本,被预测为正类的置信度很低)。
4. 实验
4.1. 实验参数设置
本文实验在Linux操作系统下进行,采用基础模型为6.0版本的YOLOv5s进行改进和实验对比,使用GPU型号为Tesla T4 (16 GB),CPU型号为Intel Xeon Processor (Skylake, IBRS),内存56 GB,进行训练和测试。软件环境采用Python 3.9、PyTorch 1.13.1作为实验框架,使用CUDA 11.6进行GPU加速,学习率为0.01,采用带动量的随机梯度下降法(SGD)作为优化器,动量设置为0.937,权重衰减系数为0.0005,epoch设置为100。模型训练时输入图片的尺寸为640 × 640。最后,训练好的模型将在测试集上进行测试。
4.2. 评价指标
为了对训练出的模型进行客观评价,本文选用准确率,召回率作为评价指标。准确率的计算公式为:
(2)
其中,N为动车配件支架表面缺陷种类数;
为网络模型所有预测正确的样本数;
为整个验证集的样本数。
召回率的含义为正确预测的样本数与样本总数的比值,公式表达为:
(3)
其中,N为动车配件支架表面缺陷种类数;
为第i类缺陷正确预测的样本数;
是整个验证集中真实正样本数的总和。
4.3. 实验结果分析
4.3.1. 模型对比评估
为验证模型改进的优越性,在同一数据集上做了5组对照实验。实验结果如表1所示。

Table 1. Performance comparison of augmented datasets
表1. 改进过程中各个模块的消融实验
数据表明使用HSV图像增强技术后准确率对比Base_YOLOv5s提升3.72%,召回率提升0.83%,mAP_0.5提升2.05%,表明HSV技术对荧光磁粉裂纹数据集产生良好的数据增强效果。引入A2-Nets注意力机制后,对比Base_YOLOv5s准确率进一步提升1.17%,召回率提升3.09%,mAP_0.5提升2.49%。HSV图像增强技术和A2-Nets注意力机制结合使用后,对比Base_YOLOv5s,mAP_0.5提升6.84%。最后,更换主干网络,使用文中方法进行检测,对比Base_YOLOv5s,mAP_0.5提升7.74%,模型大小减少0.84 M。证明了算法改进的必要性。下面图6展示了Base_YOLOv5s和Ours_YOLOv5s的mAP_0.5对比曲线,算法改进后Ours_YOLOv5s的mAP_0.5可以更快趋于稳态,mAP_0.5数值也更高。
下面图7展示了的实验前后识别效果对比,算法改进前后均能识别裂纹,但算法改进后置信度明显提高。从图7(a)的46%提高到图7(b)中93%。
(a) 算法改进前
(b) 算法改进后
Figure 7. Experimental comparison before and after algorithm improvement
图7. 算法改进前后结果对比
4.3.2. 横向实验
为了更好的分析模型改进的优缺点,这里与其他目标检测算法进行对比,进一步比较模型的性能,在同一环境下做了5组对照实验。实验结果如表2所示。实验表中本文改进的Ours_YOLOv5s在mAP_0.5方面数值均高于其他模型,这为深度学习模型部署在自动荧光磁粉探伤机上提供价值参考。

Table 2. Comparison experiment of different models
表2. 不同模型对比实验
5. 总结
本文针对动车配件裂纹缺陷磁粉检测存在数据样本少,没有公开数据集,模型体积大,识别精度低等问题。通过盐城某设备制造公司提供设备制作数据集,基于6.0版本YOLOv5s网络模型,提出一种改进的YOLOv5s目标检测算法。首先,集合荧光磁粉图像特点进行HSV数据增强,通过更换ShuffleNet-v2主干网络和A2-Nets注意力机制模块,结合Focal Loss损失函数使用,实现了对动车配件表面缺陷识别快速准确地识别。经过实验证明:改进后的YOLOv5s模型识别准确率达到了93.74%。它有效地提高检测精度,为荧光磁粉探伤机实现自动化检测提供算法支撑。有效扩充了荧光磁粉动车裂纹数据集,为小样本数据集识别模型提供有益参考。模型大小减少0.84 M,为深度学习模型部署到紧凑的移动磁粉检测设备中应用的提供必要步骤。下一步,将继续优化网络,研究如何实现YOLOv5s网络模型检测更复杂的视觉任务,并进一步提高检测精度。
基金项目
国家自然科学基金资助项目(51405418);江苏省“青蓝工程”人才资助项目(2021);江苏省高校自然科学基金项目(22KJD460009)。