吴 捷
(上海地铁维护保障有限公司供电分公司,上海 201106)
作为轨道交通列车主要的供电方式之一,接触轨是弓网系统的重要组成设备,用于将电能传输到轨道交通系统电力牵引车辆。处于服役状态的接触轨长期与集电靴摩擦接触,容易产生轨面擦伤、腐蚀、疤痕等表面缺陷。这些表面缺陷的产生会对供电的稳定性产生严重影响,而稳定的电源供应是保证列车运行的必要条件之一,因此如何及时、准确的发现接触轨表面缺陷是一个亟须解决的问题[1]。目前全国使用接触轨供电的地铁线路中,接触轨的缺陷检测主要依靠相关工作人员在线路上使用照明工具和反光镜通过目视检查的方法进行,该方法存在效率低、劳动强度大、方便性差、检测周期长等问题[2]。
近年来,基于机器视觉的缺陷检测技术在工业中得到广泛的应用,文献[3-6]利用利用深度学习网络实现钢轨表面缺陷检测、螺钉定位、扣件检测等。接触轨表面缺陷具有类型多、尺寸跨度大等特点,为了实现接触轨表面缺陷的高效自动化检测,本文在经典目标检测模型YOLOv3 的基础上对特征提取网络和损失函数进行了改进,设计了一个基于改进YOLOv3 模型的接触轨表面缺陷检测方法。该方法使用Ghost 组件代替Darknet-53 中的残差模块来减少模型尺寸、提高参数利用率、方便模型在低性能的设备上进行部署,采用GIoU 作为边界框回归的损失函数对YOLOv3 的损失函数进行优化,提高模型的收敛速度。
YOLOv3 模型的主要使用Darknet-53 作为新的主干网络以及采用了特征金字塔网络FPN[7,8]。YOLOv3 模型将输入图像划分为S×S 网格,在主干网络中使用残差模块来增加网络深度并执行全卷积操作提取图像特征,同时使用类似FPN 的上采样和融合方式以实现多尺度检测,提高了对小目标物体的检测能力(图1)。
YOLOv3 模型使用Darknet-53 作为特征提取网络。该网络由53 个1×1 和3×3 的卷积层组成,每个卷积层之后是一个BN层和一个LeakyReLU 层,这3 个层组成了1 个CBL 模块。从图1 中可以看出,CBL 模块是YOLOv3 模型的重要组成部分,模型在原始Darknet-53 的基础上添加了连接层和下采样层使得一共由75 个卷积层。为了解决网络深度加深带来的梯度发散问题,Darknet-53 使用了残差模块。每个残差模块中包括两个卷积层,第一个卷积层卷积核的大小为1×1,第二个卷积层卷积核大小为3×3,在输入和第二个卷积层之后添加了一个短连接路径,使用ReLU 函数作为模块输出的激活函数。这样的结构设计可以保证在网络层数增加的时候模型可以继续保持收敛和训练。随着网络深度的增加,可以提取到接触轨表面更深层次的语义特征,使得识别精度可以提高。同时,在残差模块中使用1×1 卷积减少了卷积层的通道数,这可以大大减少模型的参数数量。此外,残差模块的使用使得网络的计算量在一定程度上得到了减少,加快了模型的收敛速度。
图1 原始的YOLOv3 模型结构
选用轻量化的Ghost 组件来代替原始网络中的残差模块,可以减少模型的大小并且增加网络的推理速度。Ghost 组件包含两个Ghost 模块,网络首先经过一个Ghost 模块来增加通道数量,然后通过深度可分离卷积对输入图像的特征进行重新整合,最后再经过一个Ghost 模块使得通道数量与短连接路径进行匹配,两者相加得到最后的输出。改进后的特征提取网络如图2 所示。
图2 改进后的特征提取网络
模型采用均方误差作为边界框回归的损失函数,使用物体真值框和模型预测框的交并比(IoU)作为距离度量。为解决IoU梯度为零无法利用反向传播进行优化[9,10]的缺陷,提高接触轨表面缺陷检测的精度,本文使用广义交并比GIoU 损失作为边界框回归损失:
式(1)中,C 表示同时包含A 和B 的最小矩形框。使用GIoU损失代替均方误差来对参数进行调整,模型的总损失函数为:
其中,Lcls和Lconf分别为接触轨表面缺陷分类损失和缺陷判断置信度损失,均使用交叉熵误差作为损失函数。
本文实验用到的接触轨表面图像数据集来源于上海地铁16 号线。对采集到的接触轨表面图像进行筛选选出536 张图像作为实验数据集,每张图像中至少包含1 个缺陷。接触轨表面缺陷检测实验在Windows10 环境下使用Pycharm 程序进行,深度学习模型搭建使用PyTorch 框架。硬件设备包括:Intel Xeon Silver 4214 处理器,RTX2080Ti 显卡,32G 运行内存。挑选375张作为训练数据集,剩下的161 张作为测试集。训练时将输入图像调整到416×416 pixels,初始学习率设置为0.01,batch-size为6,最大迭代次数为300 次。
改进后的模型对接触轨表面缺陷的检测结果如图3 所示。可以看出,模型对3 种不同类型的接触轨表面缺陷均能有效识别。
图3 不同类型接触轨表面缺陷检测结果
为了进一步定量验证模型的有效性,选用3 种目标检测模型进行比较,包括原始的YOLOv3、Tiny-YOLOv3 和SSD。其中,SSD 模型的特征提取网络选择VGG16。本实验从模型的精确率(Precision)、召回率(Recall)、检测速度(f/s)和尺寸方面进行比较。
其中,TP 表示人工标注为缺陷的样本被正确识别的个数,FP 表示被模型错误识别为缺陷的样本个数,FN 表示未被检测出来的缺陷个数;TP+FP 为被正确识别的样本总数,TP+FN 为样本总数。
实验结果如表1 所示,Tiny-YOLOv3 在模型大小和检测速度上有明显优势,但精确率和召回率较低,只有72.52%和68.29%,难以达到满意的检测结果。本文方法对YOLOv3 的特征提取网络和损失函数进行了优化,使精确率和召回率提升了1.74%和0.47%。另外,使用了更轻量级的Ghost 组件代替残差模块将模型大小压缩到了59.5 MB,同时检测速度提升了16.7%。因此,比较3 种方法,本文方法最适合用于接触轨表面的缺陷检测。
表1 不同接触轨表面缺陷检测方法性能对比
针对接触轨表面缺陷类型繁多、尺寸跨度大等问题,提出了一种基于改进YOLOv3 模型的接触轨表面缺陷检测算法:一方面,采用轻量化的Ghost 组件代替原始YOLOv3 模型特征提取网络中的残差模块,来减少模型的尺寸以及提高参数利用率;另一方面,使用GIoU 解决IoU 在检测框和真值框不相交时损失函数无法反向传播的问题,并使用GIoU 损失作为边界框损失加快模型收敛速度。在自制的接触轨表面图像数据集上进行实验,精确率和召回率达到90.21%和89.64%,检测速度达到每张图片0.015 s。与其他YOLOv3 系列模型进行对比,实验结果表明,本文方法在维持高准确率和召回率的同时,大幅减小模型尺寸,提高检测速率。因此,本文设计的检测模型有较强的实用价值,未来可灵活部署在性能较弱的轨检车等检测设备。