冯庆胜,牛学慧
(大连交通大学 电气信息工程学院,大连116028)
在高速列车运行中,受电弓拉弧存在会增大受电弓滑板和接触网的损耗,影响列车稳定运行,最终可能会影响整个列车安全运行状态。因此,对受电弓拉弧的监测是列车安全状态监测的重要部分。受电弓拉弧产生和消失的时机具有很大的随机性,而且周围的干扰环境比较复杂,所以弓网监控数据图像是否有拉弧比较困难。随着高速铁路供电安全检测监测(6C 系统)系统的提出,越来越多学者开始关注受电弓拉弧检测方面的研究。文献[1]运用边缘检测、图像自适应阈值分割等方法对弓网拉弧强度检测进行研究;文献[2]结合图像处理技术等算法,检测出拉弧的位置;文献[3]利用紫外辐射能来检测受电弓拉弧的强度;文献[4]以Haar 特征为基础设计了一套受电弓视频智能监控算法;文献[5-6]利用SSD 算法分别对航空发动机内部缺陷和道路目标进行检测与识别。现有方法大多只采用传统的图像处理算法判断运行状态是否存在拉弧,弓网状态检测流程复杂,检测速度慢,难以满足高速列车受电弓拉弧实时检测分析。近两年卷积神经网络在目标检测中取得的成绩显著,越来越多目标检测算法应用到高速铁路系统故障检测领域。针对现有弓网拉弧检测存在的问题,本文将通过图像处理算法与SSD目标检测算法相结合,运用轻量级的MobileNet-SSD模型对受电弓拉弧图像进行目标检测,检测精度高,硬件资源消耗低,检测速度快,便于加载到列车车载设备中,能满足现场受电弓拉弧在线检测要求,受电弓拉弧检测结构如图1所示。
图1 SSD 受电弓拉弧检测结构图Fig.1 SSD pantograph arc detection structure diagram
SSD(single shot multibox detector)目标检测框架[7]是在ECCV2016 会议上提出的,通过把Faster R-CNN 的候选区域anchor 机制和YOLO 的回归思想结合在一起得到的模型,其网络模型检测在目标检测速度上比Faster R-CNN 快,在检测精度上比YOLO 高,把两者的优点进行了比较好的结合。SSD把原始输入图像缩放为固定大小作为卷积神经网络模型的输入,300×300 网络结构如图2所示,其基础网络使用了VGG16 网络结构。SSD 把VGG16 全连接方式的2 个网络层的FC6 层、FC7 层改为卷积层,然后继续添加若干卷积层直到Conv10_2 层,最后接一个Pooling 层。当定义完网络结构后,SSD 网络采用了特征金字塔结构对物体进行回归检测,及检测时会利用多个不同卷积层产生的特征图,提取特征层作为Detection 层的输入。在不同尺寸的特征图上产生多个Prior box,假设特征图大小为m×m,一张特征图上产生了k 个Prior box,一个Prior box对应产生c 个分类和4 个边框信息。
图2 SSD 网络结构图Fig.2 SSD network structure diagram
当SSD 网络模型对数据集进行回归训练,是同时对目标的种类和目标位置进行训练的。在整个训练过程中也会产生损失量,其网络模型的总目标损失函数是由置信损失函数(conf)和位置损失函数(loc)组成,其两者的加权求和得到式(1)为
式中:x 参数表示实际检测框和默认框是否匹配成功;参数α 用来平衡置信损失和位置损失;c 是分类置信度;l 代表预测框;g 代表真实标签框;N 是与该类别的校准框匹配的默认框数量。
MobileNet 网络[8]是一个典型的轻量级网络,它将传统的标准卷积分解为两部分,包括深度卷积和点向卷积。深度卷积对输入的特征图产生单一的输出,然后使用点向卷积大小为1×1 的卷积核与输入的特征图进行卷积运算,最后产生深度层的输出,卷积网络结构如图3所示。
图3 卷积网络结构图Fig.3 Convolutional network structure diagram
传统标准卷积被分解为深度卷积和点向卷积,计算量如公式(2)所示,如果按照3×3 的卷积核进行计算量的计算,通过公式计算可得MobileNet 网络计算量减小了8~9 倍。由于网络计算量小,模型的尺寸小,所以检测模型网络对硬件系统要求比较低,方便在移动设备上应用。
当前卷积神经网络计算量大,越来越复杂,把卷积神经网络加载到移动车载设备中去,则对硬件设备有很高的要求。结合受电弓拉弧检测模型应用场景,选择一个比较轻量化的模型,便于加载到列车上是很有必要的。MobileNet-SSD[9]模型如图4所示,将MobileNet 网络与SSD 基本模型组合,通过卷积分解操作计算输出,模型计算量和参数量大大减少,模型的尺寸也缩小了。本网络模型包含了MobileNet 占用空间小的优势,又包含了SSD 速度快的优点。
图4 MobileNet-SSD 网络模型Fig.4 MobileNet-SSD network model
本文受电弓拉弧检测所用的图片数据集全部提取于摄像头监控的视频,该摄像头安装在受电弓的前方。共提取了受电弓图片6000 张,其中包含没有受电弓拉弧5000 张和存在受电弓拉弧1000 张。弓网图像随机抽取测试图像1200 张,训练图像4800 张。为了保证在不同的环境下都能对受电弓拉弧准确的检测,提高模型的鲁棒性和检测精度,对检测模型训练集和测试集都做了图像预处理[10]操作。图像处理后手动运用LabelImg 标注工具对样本进行标注,标注是框出受电弓拉弧所产生的位置,并制作成数据集。在对弓网数据进行训练模型时,如果受电弓没有产生拉弧,则标为normal 正常;如果存在拉弧,则标为abnormal 异常。
由于天气、机器抖动、隧道灯光、电磁干扰等原因容易产生干扰噪声,影响目标检测的检测精度。因此,在训练集中加入强光、旋转、暗光、模糊噪声、椒盐噪声等,来模拟列车受电弓运行在不同环境中和受到的各种干扰如图5所示。通过使用图像处理后扩充的数据集训练模型,可增强受电弓拉弧检测模型的鲁棒性。
图5 图像处理后结果Fig.5 Results of image processing
目前大部分图像在滤波之前,都需要先将图像灰度化,然后再运用各种滤波算法进行图像滤波分析。但是弓网灰度化之后会导致部分颜色信息丢失,影响后续的受电弓拉弧目标检测。本文为了保留图像的彩色信息,采用彩色图像空间平滑滤波和锐化方法对待测数集集进行预处理,以此来减小图像噪声,增强检测图像目标的特征信息,提高受电弓拉弧检测平均精度。
本文处理弓网彩色图像时用空间掩模平滑,图像处理时用处理灰度图像的相同方法来表达,只是替代单个像素。令Sxy表示彩色图像中以(x,y)为中心的邻域中的一组坐标。在该邻域中,向量的平均值为
式中:K 是邻域中像素的数量,附加的向量特性为
当平滑弓网彩色图像时,线性空间滤波一般包括3 个步骤,首先是抽取3 个分量图像;然后分别过滤每个分量图像;最后重建滤波过的弓网图像。本文弓网图像使用的是拉普拉斯算子。通过向量分析,1 个向量Laplace 算子定义为1 个向量,其分量等于输入向量的标量分量的Laplace 算子。
在RGB 彩色制式中,向量c 的Laplace 算子为
式(5)可以看出,彩色图像的拉普拉斯算子可以由每个分量图像的拉普拉斯算子计算得出。拉普拉斯锐化原理是某像素与它所在的领域内的像素的平均灰度作比较,当区域内中心像素灰度高于或低于其他像素平均灰度时,其区域内的中心像素灰度会提高或降低处理,这就是图像的锐化处理。数据图像平滑滤波、锐化后的结果如图6所示。
图6 平滑滤波和锐化后结果Fig.6 Smoothing filtering and sharpening results
本文受电弓拉弧检测实验的仿真环境参数如表1所示。
表1 仿真设备环境参数Tab.1 Simulation equipment environmental parameters
本文使用平均精度均值mAP(mean average precision)作为受电弓拉弧目标检测中衡量检测性能的指标。平均精度均值是多个类别平均精度的均值,Precision、Recall、AP 计算公式如下:
受电弓拉弧检测性能的评价,不仅需要较高的检测精度,还需要较高的检测速度,这样才能在大量的数据集中快速检测出弓网状态是否存在拉弧。本实验采用FPS(每秒帧率)用于评价受电弓拉弧的检测速度。
SSD 算法模型对受电弓拉弧检测性能无论是检测精度还是检测速度都有一定的改善,尤其是检测速度得到了很大的提升。通过测试可以看出改进SSD 算法模型可以准确地定位出目标的位置。本文实验的结果分为正常无拉弧和异常有拉弧2 类。每次实验网络模型训练将迭代100000 次,设置初始学习率为0.0002。本文做了2 个对比实验,一是在测试图像没有进行预处理的情况下,不同目标检测算法之间的检测性能对比;二是用本文SSD 目标检测模型分析对比测试图像预处理和预处理的目标检测性能。
本次实验在只对训练集图像进行加噪等预处理,扩充了数据集,对测试目标图像集未使用图像预处理的情况下,Faster R-CNN、SSD、YOLO 和本文改进SSD 对受电弓拉弧检测性能对比如表2所示。
表2 不同算法检测性能的对比Tab.2 Comparison of detection performance of different algorithms
在相同的数据集和训练迭代次数下运用不同的网络模型进行比较。从表2 中可以看出,Faster R-CNN 平均精度均值mAP 为81.14%,高于SSD、YOLO 及本文算法的检测精度,但FPS 太低。相比于其他3 种检测算法,YOLO 算法检测精度mAP 最低。本文改进SSD 算法的mAP 为81.29%,相比于原始SSD 和YOLO 的检测精度mAP 相差不大,但是相比较其他3 种算法图像传输速率FPS 方面有了很大的提升,FPS 提升为45 帧/s,该算法在拉弧实时检测方面具有很大的速度优势。通过运用本文SSD 算法对受电弓拉弧进行检测,当检测结果正常受电弓没有拉弧时,检测结果为normal。当检测异常受电弓有拉弧时,检测结果为abnormal,图像检测结果如图7所示。
图7 图像检测结果Fig.7 Image inspection result
本次实验通过彩色图像平滑和锐化相结合,对待检测的受电弓拉弧数据集进行预处理,并且使用了上节本文改进的SSD 算法。图像处理后的检测结果如表3所示,可以看出当弓网数据集结合图像预处理的方法,确实能够提高改进SSD 算法的检测精度,当测试集通过平滑加锐化处理后经过训练,平均检测精度mAP 提高了2.46%。由此可知,数据集中由于各种原因确实存在许多噪声,这些噪声干扰目标检测的结果,将图像预处理适当的结合可以提高算法的检测效果。从而验证了数据集通过彩色图像平滑加锐化的方法,保留了原图彩色信息,增强了特征信息,可以提高受电弓拉弧的检测精度。
表3 图像处理后检测结果对比Tab.3 Comparison of test results after image processing
实验结果表明,SSD 算法模型通过将基础网络替换为MobileNet 网络,提高了对受电弓拉弧图像检测速度和精度,再结合彩色图像平滑滤波和拉普拉斯锐化,进一步提高了目标图像的检测精度,并且提高了对复杂环境不同光照干扰下的鲁棒性和泛化能力。
本文针对复杂环境下受电弓拉弧在线检测难的问题,首先通过采用几种深度学习检测算法模型对受电弓拉弧检测比较分析,得出利用改进SSD 算法对受电弓拉弧的检测精度高,计算量小,并且检测速度快;然后通过对测试数据图像进行平滑滤波加锐化预处理,结果显示对待检测数据预处理可以提高检测精度。本文实验结果验证了图像处理与深度学习相结合的受电弓拉弧检测模型有效性,检测速度快,计算量小,便于加载到列车中应用,同时具有一定的鲁棒性和实用性,为今后高速列车弓网拉弧状态弧检测提供了新思路。