基于YOLOv3-tiny 检测和KCF 追踪算法的受电弓故障检测
2020-11-10邵丽丽牛慧敏巩秀钢
杨 晨, 邵丽丽, 牛慧敏, 李 婷, 王 涛, 巩秀钢
(1 山东理工大学 计算机科学与技术学院, 山东 淄博255049; 2 山东万腾电子科技有限公司, 济南250101)
0 引 言
随着我国经济的快速发展,国民生产总值不断增长,铁路作为国家经济的动脉,其发展牵动着经济增长,所以各大城市大规模建设铁路网以此带动经济发展[1]。 当前,我国高铁以平均300km/h 的速度稳定运行在纵横交错的铁路网上。 列车以如此之快的速度稳定运行,动力获取是关键,而动力是由电力牵引机车从接触网取得电能的设备得到的,把这种传送电能的电气设备称之为受电弓[2]。 列车行驶中受电弓和羊角的正常状态如图1、图2 所示。
受电弓是城市轨道车辆从电网中获取电能的关键设备,其质量决定着列车的电能传输和运行安全[3]。 由国家运输局公布的资料显示,在列车运行中由供电系统造成的故障是当年铁路故障的三分之一甚至更高[4],由此可见,对受电弓进行实时的故障检测是至关重要的。 对受电弓进行快速而准确的故障检测,以此来减少铁路事故的发生[5]。 受电弓故障的类型如图3、图4 所示,图3 为受电弓因电弧打火而脱离高压线使火车失去动力,图4 为受电弓羊角缺失。
图1 受电弓正常运行图Fig. 1 Normal operation diagram of pantograph
图2 羊角正常示意图Fig. 2 Schematic diagram of normal ram horn
图3 受电弓脱落Fig. 3 The pantograph falls off
图4 羊角缺失Fig. 4 Ram horns are missing
目前,受电弓检测技术主要有接触式和非接触式两种检测方式[6]。 人工检测受电弓故障是接触式传统的检测方式,见图5。 该方法不但效率低,精度差, 检测时还要占用线路,干扰正常行车,而且属于高空作业,存在着误判和安全问题。 随着科技的不断发展,非接触式检测技术也越来越成熟,针对列车的检测也逐渐向自动化、智能化的在线检测方向发展,即通过相关设备以及图像对受电弓进行故障检测。 近几年,受电弓故障检测技术也在不断提升,各种针对受电弓故障检测的方法中,基于图像边缘检测方法应用最为普遍。 采用边缘检测来检测受电弓图像,并对图片进行霍夫变换分析的方法,分析判断受电弓是否存在故障[7],但该方法的精确度不够高,对于复杂背景只通过图像来检测会造成疏漏;采用紫外光的方法对受电弓进行故障检测[8],但该方法需要改造装置并额外配备专业的设备去进行检测,这样不仅耗费人力物力,还使成本的增加;采用图像预处理和图像边缘提取的方法对受电弓进行检测[9],利用传统算法对图片中受电弓上下边缘的距离进行比较,从而来判断受电弓的磨损程度,但传统图像算法精度低,会出现误判的情况;利用小波变换的基于边缘检测方法来对受电弓进行检测,实验表明利用小波变换的边缘检测方法相对于传统图像的边缘检测算法更不容易受外界干扰,但是该方法针对复杂的图像,处理效果不如深度学习[10]。
深度学习相关算法由于其较高的精确度以及较好的鲁棒性被广泛的应用在各个领域。 基于深度学习的追踪算法在追踪算法的基础上加入一种检测机制,在精确的追踪到目标的同时保证了追踪的实时性。 目标追踪保证了实时性,其网络结构较浅,追踪目标丢失不易找回是该类算法的一大缺点。 为了既能精确追踪目标又能保证实时性,本文选择KCF 追踪算法,并在KCF 算法的基础上引入了YOLOv3-tiny检测算法,对获取的受电弓图像进行处理,对受电弓故障进行实时的检测和故障报警。
1 受追踪追踪检测受电弓法介绍
本文所提出的基于YOLOv3-tiny 检测和KCF追踪算法的受电弓故障检测主要包括目标追踪和目标检测两个部分,目标追踪完成对受电弓和羊角的追踪检测,当追踪目标丢失时,目标检测会通过对当前帧的检测,完成对目标的找回。
1.1 目标追踪
目标追踪是机器视觉的一个重要研究方向,有着广泛的应用,比如:无人驾驶,视频监控等。 从粒子滤波算法[11-12],均值漂移算法[13-14],光流法[15]等经典追踪方法,到相关滤波的算法,再到最近三几年来出现的深度学习的相关算法,方法越来越多。 由于经典方法无法处理和适应复杂的跟踪变化,其鲁棒性和准确度都不能满足现在的要求,所以深度学习和相关滤波追踪算法得到越来越多的应用。
相关滤波器算法,简称KCF 算法,该算法是一种基于循环矩阵的核跟踪算法,解决了密集采样的问题,利用傅里叶变换快速实现检测的过程,从而降低了运算量,提高了运算速度。 在训练分类器的时,一般以离目标较近的为正样本,离目标较远的为负样本,这样就能够学习到一个区域内所有的图像块特征。 KCF 算法针对线性不可分的情况,引入核技巧映射到高维之后线性可分,其中高斯核函数表达式[16]为
式中:σ 为函数的宽度参数,即标准差; u 和v表示两个样本;和是指样本在第c 个通道的傅里叶变换形式;F-1为逆傅里叶变换;是的复数共轭矩阵;“· ”为点乘操作[16]。
KCF 算法将目标区域进行循环位移采集正负样本,目的是为了训练一个判别函数f(t) = wTt, 即岭回归判别函数,这样就最小化了样本xi和回归目标yi的平方误差权值wi。 最小代价函数表示为
其中,λ 是正则化参数,目的是防止过度拟合。
引入高斯核函k(u,v)=〈φ(u),φ(v)〉 ,将解w映射到高维空间后表示样本的线性组合为w =aiφ(ui),a 是对偶空间, w 是原始空间,变量优化在a,所以(2)式中需要将优化的变量由w 转变为a,表示为
正负样本对分类器进行训练,通过训练分类器会得到一个响应结果,即为
其中,z 为输入的图像,响应矩阵的最大值即为该图像的目标位置。
1.2 目标检测
近年来,在计算机视觉领域中,目标检测算法有着广泛的应用,比如:人脸识别、面部检测等。 YOLO系列算法是目前目标检测领域中的经典算法,算法的思想为:特性图中的每个元素也是对应原始图片的一个小方块,利用每个元素预测中心点在该小方格内的目标。
YOLOv3 是目前YOLO 系列应用最广泛的算法,其性能和鲁棒性较YOLOv1 和YOLOv2 都有较好的提升,很多工程项目都会用到YOLO v3。 YOLO v3 的算法原理也很简单,引入了Darknet-53 残差模型和FPN 架构,YOLOv3 有三个输出,维度分别是:(52*52*75)、(26*26*75)和(13*13*75)。 其中,最后一个维度75 代表3*(20+5),20 表示VOC数据集的类别数,5 表示每个目标预测框的tx,ty,tw,th,to,3 表示某一特征图的先验框的数目,因为YOLO v3 只有针对每一个特征层存在3 个先验框,这也使得YOLO v3 可以实现多尺度检测。
YOLOv3-tiny 是YOLO 系列中轻量级的目标检测算法,相对于YOLO 系列,轻量级的速度有了很大的提升。 对于速度要求比较高的,YOLOv3-tiny 是首要选择,具体的结构如图6 所示。
图6 YOLOv3-tiny 的网络结构Fig. 6 YOLOv3-tiny network structure
YOLOv3-tiny 作为YOLO 系列目标检测算法的轻量级算法,在YOLOv3 算法的基础上去掉一些特征层,保留了2 个独立预测分支。 主干网络具有7个3*3 的卷积层[18],6 个池化层,前5 个池化层步长为2,最后一个池化层步长为1。 模型输入图片尺寸为416*416,经过前5 个池化层后,得到特征图的大小为13*13。
卷积神经网络包括浅层网络和深层网络[19]。 目标追踪对于实时性的要求较高,为了达到实时性的需求,浅层网络更加适合本文算法的要求,所以本文选择YOLOv3-tiny 检测算法对KCF 算法进行矫正。
2 受电弓故障追踪检测
本文所研究的基于YOLOv3-tiny 和KCF 算法的火车受电弓故障检测,利用安装在火车顶部的工业摄像机采集的视频图像作为输入,用边框标注要追踪检测的受电弓易出现故障的部分,利用KCF 算法对受电弓进行实时追踪,采用帧差法对追踪目标丢失现象进行检测。 对于追踪过程中出现的目标丢失现象,利用YOLOv3-tiny 进行检测找回,并判断是否因出现故障而导致追踪失败,受电弓故障检测流程如图7 所示。
图7 受电弓故障检测流程图Fig. 7 Flowchart of pantograph fault detection
2.1 羊角缺失追踪检测
采用KCF 和YOLOv3-tiny 结合的算法模型进行羊角缺失检测。 首先利用KCF 算法对视频图像进行追踪,并利用帧差法对每两帧图像进行比较,检测是否追踪目标丢失,若目标丢失,则用YOLOv3-tiny 检测算法对当前帧的视频图像进行检测,检测到目标后则继续追踪,检测失败则表示目标发生形变,即出现了故障现象,立即启动预警装置并报警。对视频图像采取每隔若干帧(如50 帧)检测一次,若未检测到目标则立即启动预警装置。
2.2 受电弓脱落追踪检测
在受电弓脱落故障检测时,首先利用KCF 追踪算法实时追踪火车受电弓,记录受电弓标注框初始四个关键点坐标,在跟踪受电弓的过程中,更新受电弓标注框的坐标,设定一个阈值(本文设置为15,可以调整),当跟踪的帧数大于设定的阈值,计算当前受电弓四个关键点的坐标与其初始坐标所产生的位移,判断总位移是否超过设定的阈值,若超过则启动YOLOv3-tiny 检测算法对当前帧进行目标检测,目标是否因发生形变或者发生故障而导致追踪失败,检测失败则启动预警装置。
3 结果分析
为了检测本文提出的受电弓追踪检测故障方法的性能,选取了不同环境下的列车运行时受电弓状态的500 张图片作为测试集。
3.1 评价指标
平均精度均值(mAP)是预测目标位置以及类别的相关算法的性能评价标准。 针对受电弓追踪检测故障方法的性能评价,本文采用平均精度均值(mAP),来检测算法的性能。 mAP 对于评估目标定位模型、目标检测模型非常适用,反映了算法的查准率(Precision)、召回率(Recall)的平均性能。 查准率是识别正确的结果在所识别的结果中所占的比率,即分对正样本的概率;召回率是识别正确的结果占数据集中所有要识别出的总数的比率,即能将负样本错分为正样本的概率。 其查准率和召回率的计算公式(5)如下:
其中:tp表示正确预测包含该类别的数量,即将正样本识别为正样本的数量;fp表示错误预测的不包含该类别目标数量,即将负样本识别为正样本的数量; tp+fp表示识别出该类别目标图像数量; fn表示错误预测该类别目标的数量,即将正样本识别为负样本的数量; tp+fp表示含有该类别目标的图像数量。利用IOU 来分辨检测结果是否正确,通常阈值选为0.5。 对所有类别的平均精度值计算其均值,即平均精度均值mAP,计算公式(6),用平均精度值来表示模型的性能。
其中,Precision 表示查准率, N 为全部图像数量,即测试集的数量。
3.2 算法性能分析
表1 中给出了本文算法、YOLO-tiny 检测算法和YOLOv2-tiny 检测算法在同一数据集中的检测性能对比。。
表1 数据集上的测试结果Tab. 1 Test results on the dataset
通过表1 可以看到,在同一数据集上,本文算法得到的mAP 是0.91,召回率是0.93,优于YOLO-tiny和YOLOv2-tiny,具有较高的检测精度和召回率。
3.3 结果展示
本文所提出的算法对羊角的检测画面如图8 所示。 在各种电线交错的复杂背景下,本算法可以对羊角进行准确识别。
图8 羊角检测结果展示Fig. 8 Display of horn detection results
本算法对受电弓的检测画面如图9 所示。 不论是在电线交错的复杂背景下,还是在光线较暗的隧道里,还是在光照强度较大的情况下,本算法都能够对受电弓进行准确识别。
图9 受电弓检测结果展示Fig. 9 Display results of pantograph detection
当发生受电弓断裂和脱落以及羊角缺失的故障时,算法能够检测到故障并及时预警,如图10 所示,以此来保障行车的安全。
图10 异常情况预警Fig.10 Early warning of abnormal conditions
4 结束语
本文利用YOLOv3-tiny 检测算法和KCF 追踪算法来检测列车行驶中受电弓的状态,对监控视频进行实时的追踪检测。 当发现受电弓出现故障时系统会自动预警,以便工作人员做出相应的解决措施。该算法在数据集上进行实验验证后发现,受电弓追踪检测的精确达到了91%,召回率达到了93%,保障了受电弓追踪检测实时性。