基于YOLOv5的机车车顶智能识别技术研究
2024-12-06郭佑民米奡蔚谷云龙何际华李祯
摘 要:铁路系统智能化建设不仅可以提高铁路的自动化和智能化水平,而且是铁路现代化发展中的重要环节。机车在正常行驶过程中,如果车顶存在异物,就可能会产生严重不良后果。目前,通常由工人检修车顶,效率较低,本文针对这个情况提出了一种基于YOLOv5深度学习模型的异物检测算法,将CIoU损失函数更换为SIoU损失函数,改进原有的YOLOv5模型,能够有效识别车顶是否存在异物,准确分类异物,提高车顶检测精度和检修效率,保障铁路行车安全。
关键词:异物检测;图像处理;列车运行安全;损失函数
中图分类号:TP 393" " " " " " 文献标志码:A
在列车车顶上存在车顶异物,其是由不明原因产生的并且可能导致列车无法正常运行的外来异物,以及关键部件脱落或松动导致的异物。当列车运行或停车时,这些异物可能与车顶上的受电弓等固有设备碰撞或者缠绕,导致设备受到损害,引发故障。因此,准确识别机车车顶异物并采取有效的预防措施十分重要。
车顶异物检测方法主要有2种,一种是使用雷达作为传感器获取点云数据监测异物,另一种是用图像监测技术识别异物。林萍[1]提取图像闭合区域边缘的矩不变特征,利用欧式距离判断是否有异物,朱韵琳[2]提出了一种基于激光扫描结合点云处理的异物检测方法,这种方法使用三维激光扫描仪扫描车顶,重建为三维点云,能够准确检测异物。
笔者自行制作了适用于评估列车车顶异物检测的数据集,对YOLOv5算法模型进行了改进和训练,改进后的模型在车顶异物检测方面效果良好。对列车车顶异物进行自动化检测,减少了人工作业量,保证车辆检修质量。
1 YOLOv5算法的改进
由于YOLOv5算法具有精度高、效率高的优点,因此深度学习已经广泛应用于计算机视觉的各领域,在特征匹配方面也取得了显著进展。
2020年,BOCHKOVSKIY A等[3]提出了YOLOv4算法,该算法在YOLOv3的基础上融合并改进了许多先进的学习算法。2020 年 6月,ALEXEY B等提出YOLOv5 [4],其核心是将目标检测任务转化为单一的神经网络问题,进一步改进了YOLO模型。
改进后的YOLOv5 提高了YOLO模型的速度和准确度,在YOLOv4的基础上优化网络结构,采用新的训练策略,使模型设计更高效。
1.1 YOLOv5的网络结构
研究表明,YOLOv5网络结构主要包括3个组件,其特点如下。
1.1.1 Backbone(骨干网络)
该组件是一个卷积神经网络,其作用为在不同图像细粒度上聚合并形成图像特征。利用卷积运算提取不同层次的特征图,并跨阶段连接来融合这些特征。采用这种策略有助于减少参数冗余,提高模型精度。
1.1.2 Neck(颈部网络)
这个组件由一系列具有混合和组合图像特征的网络层组成,其作用为进一步融合和提取特征,以便更好地检测目标。YOLOv5采用路径闭合网络(Path Aggregation Network,PANet ),PANet的主要目标是通过在不同的分辨率上聚合特征来扩大感受野,并提升不同尺度目标的检测精度。
1.1.3 Output(输出层)
该组件的作用是预测图像特征、生成边界框并预测类别。这个阶段的设计直接影响模型最终的目标检测性能。由于模型的深度和宽度存在差异,YOLOv5模型的精度较低、体积较小并且便于移植,因此采用YOLOv5网络结构。
1.2 YOLOv5损失函数
损失函数[4]在训练模型过程中十分重要,它能够量化模型对结果预测的准确度,进而判定模型与实际数据之间的差距。YOLOv5采用IoU指标来衡量模型预测的边界框和实际目标边界框之间的重叠程度。当评估目标框和预测框的类别损失以及置信度损失时采用nn.BCEWithLogitsLoss函数或FocalLoss函数。YOLOv5代码通过选择宽高比匹配其预测框与相应真实框,每个真实框对应3个预测框。位置损失详细描述如下。
1.2.1 位置损失
为了更准确地反映位置匹配情况,YOLO使用IoU损失函数代替均方误差损失函数,IoU为预测框与真实框的比值,IoU为预测框与真实框的比值,其可以衡量预测框与真实框之间的位置损失。IoU的Loss损失函数如公式(1)、公式(2)所示。
(1)
(2)
式中:B为预测框的面积;Bi为真实框的面积;IoU为预测框和真实框的交并比,即两者交集与并集的比值,具有非负性、同一性和对称性等优点。其输出范围一直保持在0~1,有效地反映了预测框与真实框之间的检测性能。
1.2.2 置信度损失与类损失
在YOLOv5中,采用损失函数nn.BCEWithLogitsLoss和FocalLoss,它们是2种常用于二分类问题的损失函数,当处理类别不平衡问题时,它们表现良好。nn.BCEWithLogitsLoss损失函数结合了二元交叉熵损失(Binary Cross Entropy,BCE)和 Sigmoid 激活函数。它通常用于解决二分类问题。Focal Loss是一种解决类别不平衡问题的损失函数,它引入1个调制因子,降低容易分类的样本的权重,从而提高该模型在少数类别中的性能。
在实际应用中,使用哪种损失函数通常取决于具体问题的性质。如果问题是二分类并且类别平衡,那么nn.BCEWith-
LogitsLoss 函数更合适;如果存在类别不平衡问题并且其中一个类别的样本相对较少,那么使用 Focal Loss 函数更合适。
1.3 损失函数改进
本文将YOLOv5原有的损失函数CIoU改进为EIoU损失函数和SIoU损失函数,进行对比试验,分别验证其性能。
1.3.1 EIoU损失函数
YOLOv5原函数采用CIoU[5]损失函数计算边框回归定位损失,计算过程如公式(3)~公式(5)所示。
(3)
(4)
(5)
式中:LCIoU为CIoU的Loss损失函数;ρ2(b,bgt)为2个框中心点的欧式距离;α为调整形状相似度来影响损失函数的权重系数;c为能同时覆盖2个框的最小闭包区域的对角线距离;v为1个关于长宽比和中心点距离的参数;w、h 和 wgt、hgt分别为预测框的高度、宽度和真实框的高度、宽度。
在某些情况下,CIoU对宽高比不平衡的边界框可能表现不佳。对极端宽高比的目标来说,当预测框的宽度和高度分别等于真实框的宽度和高度(w=wgt、h=hgt)时,CIoU损失函数中对长宽比的惩罚项会降至0,CIoU损失函数的表现可能不如预期。对公式(5)求偏导,如公式(6)、公式(7)所示。
(6)
(7)
根据公式(6)、公式(7)可知,在回归过程中,h和w的变化是相反的,难以同时减少。因此,引入了EIoU损失函数以改进定位回归损失。与CIoU损失函数相比,EIoU损失函数对高度和宽度的差异分别进行惩罚,由于改进了EIoU损失函数,并且改变了宽高比的惩罚机制,因此它可以更好地处理形状相似、宽高比不同的边界框,这种改进有助于提高目标检测模型在边界框回归任务中的精度和准确性。EloU函数计算过程如公式(8)所示。
(8)
式中:LEIoU为EIOU的LOSS损失函数;ρ为2个中心点之间的欧式距离;ρ2(w,wgt)为预测框与目标框宽度的差值;ρ2(h,hgt)为预测框与目标框高度的差值;cw、ch分别为可以同时覆盖2个框的最小闭包区域的高度和宽度最小的差异。EIoU预测目标边界框和真实边界框的高度和宽度最小的差异,关注预测框和真实框的高宽比,有助于模型更好地适应不同形状的目标并定位目标,提高目标检测的准确性。
1.3.2 SIoU损失函数
CIoU Loss函数侧重于框的位置与形状的匹配,并没有直接考虑方向信息,因此收敛速度较慢。针对以上问题,SIoU考虑期望回归之间向量的角度,重新定义角度惩罚度量,有效降低回归的自由度,从而加速网络收敛,因此本文采用SIoU Loss损失函数[6]替换CIoU Loss损失函数。SIoU函数计算方法如公式(9)所示。
(9)
式中:Ω为形状成本;Δ为考虑角度成本后重新定义的距离成本,Ω、Δ定义如公式(10)、公式(11)所示。
(10)
(11)
式中:θ为对Ω的关注程度;x为预测的边界框的角度;y为真实的边界框的角度。γ为敏感性指数,调整损失函数对不同尺寸目标的敏感性,如公式(12)所示。
(12)
式中:bgt cx、bgt cy、bcx和bcy分别为地面真值框与预测框的中心点坐标。SIoU减少了预测框边界效应,对部分目标的重叠区域更敏感,更准确地反映了检测结果的质量,进一步提升了回归精度。
2 试验与结果分析
2.1 数据集构建
目前,国内外没有公开的列车车顶异物数据集,为了验证车顶异物检测算法精度,笔者自制适用于车顶异物检测的数据集,通过现场采集,制成训练集图片1 278张,验证集图片670张,包括工人手套、扳手、风筝、树枝和塑料瓶等。
本文采用的标注工具为labelimg,使用labelimg在数据集图片中找到车顶会存在的异物并标注分类,自动生成文件信息。
2.2 试验环境与评估指标
本试验在Linux系统中进行模型训练与测试,模型训练均是在PyTorch框架上进行的,采用YOLOv5模型,计算机使用的CPU为Intel(R) Xeon(R) CPU E5-2683 v4,GPU为4070-12G,显存12 GB,为提高网络训练速度,使用GPU进行加速,CUDA版本为11.8,软件为Python3.8,所有对比试验均在相同环境下运行。试验迭代时期(epoch)为200,批量处理大小 (batch size)为16,初始学习率为0.001,梯度优化器为Adam,其动量设为0.937。
本文的模型性能评价指标为均值平均精度(mAP)、平均精度(Average Precision,P)和召回率(Recall,R),模型检测速度的计算过程如公式(13)~公式(15)所示。
(13)
(14)
(15)
式中:TP为模型正确地将正类别样本预测为正类别的数量,FP为模型错误地将负类别样本预测为正类别的数量,FN 为模型错误地将正类别样本预测为负类别的数量;AP(i)为类别i的平均精度;mAP为所有类别的平均精度。
2.3 试验结果
为了验证3种不同改进方法的有效性,分别验证YOLOv5原始算法以及改进方法的性能,试验对比原始网络模型和更改损失函数网络模型的性能,利用本文收集的测试数据集进行综合评估,结果见表1。
从试验结果来看,使用SIoU损失函数,mAP从77.3.%提升至77.8%,提升了0.5%,说明替换为SIoU损失函数使模型更关注小目标,试验结果也表明检测精度提升。使用EIoU损失函数总体性能均有下降,因此选择SIoU损失函数识别车顶异物。
改进模型使用SIoU损失函数评估车顶异物测试数据集,部分结果如图1所示,较为良好。
3 结论
高效的目标检测算法对防止异物入侵来说十分重要,本文结合深度学习网络模型,考虑了在检修过程中识别准确率和模型运行时长的影响,选择了适用于列车车顶异物识别的YOLOv5算法模型,并对其进行改进。采用SIoU损失函数替代原有损失函数,以计算预测框的回归损失,提高定位精度。与人工检测相比,这个改进不仅提高了目标识别的精确度,还显著缩短了处理时间。未来将继续研究当面对不确定形状时模型的泛化能力,以进一步提高模型的鲁棒性。
参考文献
[1]林萍.机车车顶异物检测方法研究[D].重庆:西南交通大学,2014.
[2]朱韵琳,徐晓.基于激光扫描系统的机车车顶异物检测[J].激光杂志,2016,37(5):60-63.
[3]谢俊章,彭辉,唐健峰,等.改进YOLOv4的密集遥感目标检测[J].计算机工程与应用,2021,57(22):247-256.
[4]李庆党,李铁林.基于改进YoLOv3算法的钢板缺陷检测[J].电子测量技术,2021,44(2):104-108.
[5]LIN T Y,GOYAL P,GIRSHICK R,et al. Focal loss for dense"object detection[J].IEEE transactions on pattern analysis and machine intelligence,2020,42(2):318-327.
[6]ZHENG ZHAOHUI,WANG PING,REN DONGWEI,et al."Enhancing geometric factors in model learning and inference for object"detection and instance segmentation[J].IEEE Transactions on Cybernetics,2021,26(8):1-13.
通信作者:谷云龙(2000-),男,山东潍坊人,硕士研究生,研究方向为机器视觉与深度学习等。
电子邮箱:1594487127@qq.com。