《武汉工程大学学报》  2020年04期 462-466   出版日期:2021-01-28   ISSN:1674-2869   CN:42-1779/TQ
基于改进YOLO V3的接触网绝缘子检测方法


随着科技的发展,我国铁路里程数已经一跃成为世界第一,高铁营业里程已达2.9×104 km,超过世界高铁总里程的2/3,成为世界上高铁里程最长、运输密度最高、成网运营场景最复杂的国家。在这种情况下,铁路的安全维护便成为了一个难题。现阶段,我国对于铁路接触网的维护和检修,是依靠接触网悬挂状态检测监测装置(4C)车[1]对支柱杆进行拍摄,然后通过大量人工对每张图像进行查看,进行故障的排查。4C系统采集的图像均为高分辨率图像,需要人工对图像进行多次缩放操作查看,这样的检测方式受限于技术人员的个人经验水平、注意力的集中程度等诸多不可控因素,且存在故障筛查时间长、漏检风险高等问题。对于我国铁路的里程数来说,人工的方式是无法及时发现故障,保证铁路安全的。随着深度学习技术的不断发展[2],各种基于深度学习的目标检测[3-4]和目标跟踪算法[5]被提出。深度卷积神经网络可以通过收集大量目标物体的图像样本,进行训练,得到目标物体的检测模型,所以神经网络被运用在各个领域中,如:人脸识别[6]、视网膜血管分割[7]等。而目前广泛使用的目标检测算法分为双步目标检测算法和单步目标检测算法两种。双步目标检测算法常用的有:快速的区域卷积神经网络(fast region-based convolutional neural networks, Fast R-CNN)[8],加速的区域卷积神经网络(faster region-based convolutional neural networks,Faster R-CNN)[9],分割掩模的区域卷积神经网络(mask region-based convolutional neural networks, Mask R-CNN)[10]等,该类算法是先生成一系列样本的候选框,再通过卷积神经网络在这些候选框中进行样本分类,以此完成对目标的检测和识别。而单步目标检测算法则不用产生候选框,直接将目标边框定位的问题转化为回归问题处理,因此检测速度较快。该类算法常用的有:单点多盒探测(single shot multi box detector,SSD)[11],统一的实时目标检测(you only look once: unified, real-time object detection,YOLO)[12],第三代统一的实时目标检测算法(you only look once: unified, real-time object detection V3,YOLO V3)[13]等。考虑到我国铁路接触网的里程长度,所需要检测的样本数量巨大,选用更加迅速的单步目标检测算法。YOLO是最先使用回归的方法,直接从一张图像中检测物体的边界框坐标与类别,采用视觉几何组16(visual geometry group 16,VGG16)作为基础网络的,其速度是Faster R-CNN的3倍,但由于YOLO[14]采用网格划分的思想,对每个单元格都预测其中包含物体的置信度及其类别分数,造成YOLO的检测精度偏低,对小物体及较密集的物体检测效果较差。YOLO V3具有较快的检测速度和较高的检测精度,所以本文选择YOLO V3对接触网绝缘子进行检测。目前,对于绝缘子的研究集中在输电线上的绝缘子,对于铁路接触网的绝缘子研究较少。可以借鉴输电线路中绝缘子的研究方法,对铁路接触网中绝缘子检测作指导。由于输电线路上没有4C巡检车,所以输电线路的方法多是基于航拍的图像中的绝缘子进行研究,文献[15-16]为解决绝缘子的错检、漏检等问题,将绝缘子分解成多个存在交集的可变型部件,并对其进行检测。在保证子目标检测精度与速度的前提下,利用各部件之间相交区域的特征及含义,对其进行聚合并重新定义,使检测到的目标区域更准确。由于铁路上有4C车对接触网进行拍摄,相较于无人机拍摄图像距离更近,设备更稳定,成像更清晰,获取更方便。所以在已有4C图像的情况下,直接以4C图像作为数据集进行训练是一种更好的选择。1 改进YOLO V3模型1.1 YOLO V3网络结构改进由于目前对接触网绝缘子研究较少,没有公共数据集,需自己制作数据集。4C车拍摄铁路接触网图像如图1所示,从图1可以看到铁路接触网分为单杆和双杆,单杆较为简单,而双杆相对来说较为复杂。接触网上面比较重要的部件,有双耳套筒、抱箍、绝缘子和底座等。使用LABELIMG程序,对图像中的重要部件进行框选、分类、制作,用 5 258张铁路接触网图像作为训练数据集,另外选取500张图像作为测试数据集。[ a ][ b ]图1 接触网图像:(a)单杆,(b)双杆Fig. 1 Catenary image:(a)single rod ,(b)double rods为了能清楚的表现各个部件的状态细节,4C拍摄的单张图像大小一般为6 576像素×4 384像素。而双耳套筒和绝缘子底座在图像中的像素只有不到500像素×500像素的大小,只占整个图像的0.9%不到。YOLO V3是以回归思想作为算法的基础,好处是计算速度快,但对小目标的检测准确率不够高。同时,YOLO V3在检测时,会出现重定位现象,如图2所示,接触网底座位置出现了多个检测框。图2 YOLO V3检测结果图Fig. 2 Detection?result image of YOLO V3YOLO V3采用的是53层的特征提取(Darknet-53)[14]网络结构,该网络主要是由一系列的1×1和3×3的卷积层(convolutional layers,CL)组成,因为此网络中有53个CL,所以叫做Darknet-53(53层网络不包括Residual层)。Darknet-53借鉴了残差网络(residual network, RN)的想法,由5个残差块(residual block, RB)组成,每个残差块又是由多个残差单元(resnet unit, RU)组成。而上述结构是以输入图像为256像素×256像素进行检测的,更为常用的图像为416像素×416像素,均为32的倍数。输入416像素×416像素的结构检测的3个特征层大小分别为52×52,26×26,13×13。其中13×13层负责检测大型目标,26×26层负责检测中型目标,52×52层负责检测小型目标。因此,需要针对小目标检测,对网络的结构进行修改。在Darknet-53的第2个残差块到第3个残差块之间增加一层残差块,利用这个4倍降采样的特征融合目标检测层对小目标进行训练,提高对小目标检测的准确率。增加残差块的网络结构如图3所示。[\&类型\&卷积数量\&卷积大小\&特征图大小\&\&卷积\&32\&3×3\&416×416\&\&卷积\&14\&3×3/2\&208×208\&\&卷积\&32\&1×1\&\&1×\&卷积\&64\&3×3\&\&\&残差\&\&\&208×208\&\&卷积\&128\&3×3/2\&\&\&卷积\&64\&1×1\&\&2×\&卷积\&128\&3×3\&\&\&残差\&\&\&104×104\&\&卷积\&256\&3×3/2\&52×52\&\&卷积\&128\&1×1\&\&4×\&卷积\&256\&3×3\&\&\&残差\&\&\&52×52\&\&卷积\&256\&3×3/2\&\&\&卷积\&128\&1×1\&\&8×\&卷积\&256\&3×3\&\&\&残差\&\&\&52×52\&\&卷积\&512\&3×3/2\&26×26\&\&卷积\&256\&1×1\&\&8×\&卷积\&512\&3×3\&\&\&残差\&\&\&26×26\&\&卷积\&1024\&3×3/2\&13×13\&\&卷积\&512\&1×1\&\&4×\&卷积\&1024\&3×3\&\&\&残差\&\&\&13×13\&]图3 增加残差块的网络结构Fig. 3 Network structure of added rsidual block图3中,前面的数字4表示4倍降采样,128,256表示卷积过虑器的数量,1×1和3×3表示卷积的大小,52×52表示输出特征图的大小。1.2 定位框去重与算法加速针对重定位现象,采用定位框去重算法。即在检测时对定位框进行判断,如果该定位框与其他定位框的标签一样,且重叠区域超过一定的阈值,便寻找两个定位框的最大外接矩形,让最大外接矩形作为新的定位框,代替原本的两个定位框,使得两个定位框进行融合。实验时,阈值取自身区域的80%,由于拍摄角度原因,在拍双杆的时候,可能存在同一部件相互遮挡的问题,故阈值不能设置过低。因同一路段的铁路接触网具有同质性,所以在同一路段下拍摄的4C的图像就具有相似性,绝缘子部件的位置大体相同。所以对于相似图像,可以用上一张图像的检测结果,作为下一张图像的检测候选区域,只需要在候选区域附近搜索,而不需要全图搜索,可以极大的提高检测速度。判断两张图像的相似性,采用感知哈希算法。该算法给每张图像生成一个“指纹”,两张“指纹”字符串汉明距离越小,说明两张图像越相似。通过指纹的相似度,可对图像进行分类。当判断两张图像属于同一类时,将第一张图像定位区域作为后一张图像的检测候选区域,只在候选区域扫描,避免了全图大范围扫描,从而实现对检测算法的加速。1.3 算法流程YOLO V3算法对输入的图像,都会被放缩为416像素×416像素大小,然后进行训练。在416像素×416像素的训练之后,采用多尺度检测,检测结果显示,与训练大小保持一致,即在416像素×416像素的尺度下,检测效果最好。改进后的算法流程如图4所示:首先用LABELIMG程序制作训练所需的数据集,另选取500张图像用作测试;然后用改进后的算法对制作的数据集进行训练,得到训练后的模型;之后检测图像,检测前计算图像的哈希码,通过哈希码判断该图像的相似性。如果相似则采用候选区域扫描策略进行检测,否则采用全图扫描策略进行检测;初步检测完成后,进行检测框的去重;最后完成检测,输出检测后的图像。[开始][数据集的制作][计算图像哈希值][按照改进YOLO V3算法训练][是否为同类图?][是][否][全图扫描][候选区扫描][定位框去重][完成检测][结束]                    图4 绝缘子检测流程图Fig. 4 Flow chart of insulator detection2 结果与讨论使用5 258张4C接触网图像进行训练,并在416像素×416像素的尺度下检测。然后与YOLO V3,FAST R-CNN的检测结果进行对比。测试结果如表1所示,由于3种方法都不存在误识别,故不进行统计。通过表1可以看出,对比FAST R-CNN,无论是YOLO V3还是改进后的算法,准确率都有很大提升,耗时也有大幅度的下降。改进后YOLO V3的漏检数有明显下降,准确率有较大的提升,绝缘子检测的准确率从93.6%提升至99.2%,证明增加一个对小目标友好的4倍降采样的残差块,提高了算法对于小目标检测的准确率。表1 绝缘子检测结果统计表Tab. 1 Statistical table of insulator detection results[方法\&测试图像数\&正确检测数\&漏检数\&准确率/ %\&耗时 / s\&YOLO V3\&500\&468\&32\&93.6\&537\&改进的YOLO V3\&500\&496\&4\&99.2\&384\&FAST R-CNN\&500\&416\&84\&83.2\&2 143\&]使用感知哈希的加速效果依赖于图像中待检区域的个数,当待检区域数量较少时,其候选区域少,加速效果更加明显。单杆图像平均耗时由1.32 s减少到0.53 s,双杆图像平均耗时由1.32 s减少到0.9 s。使用同一相机在同一条线路中连续拍摄的200张图像作为测试样本,测试结果如表2所示,使用全图扫描策略约耗时264 s,使用候选区域扫描约耗时143 s,其中146张利用了候选区域扫描。通过感知哈希算法分类图像,对同类图像采用候选区域扫描策略加速,速度提升46%,如果连续处理的图像数量越多其速度提升越明显。表2 加速效果统计表Tab. 2 Statistical table of time efficiency analysis[扫描策略\&图像数量\&耗时 / s\&全图扫描\&200\&264\&候选区域扫描\&200\&143\&]改进YOLO算法检测结果如图5所示。从图5可以看出,改进后的算法不仅对小目标的检出率很高,而且置信度保持在很高的分数。在图5(a)中,接触网的上方,有一个与绝缘子一样的部件,但此部件并不在检测范围内,为干扰项。由于与绝缘子的角度不同,因此被算法排除;图5(b)中,有许多杆间支撑装置,与双耳套筒使用了相同的零件,该零件并不在检测范围内,为干扰项。由于此部件有弯折,因此被算法排除;图5(c)为双杆接触网图像,外部的支撑杆对内部杆上的抱箍造成了遮挡,使其像素信息不全,但该算法依然将其检出。通过这些例子可以看出,在复杂情况下,算法取得了较好的检测结果,表明改进后的算法有良好的检测能力与抗干扰能力。[ a ][ b ][ c ]图5 检测结果图:(a)绝缘子干扰图,(b)双耳套筒干扰图,(c)抱箍遮挡图Fig. 5 Test results of images: (a) insulator blocked image, (b) clevis end holder for tuble blocked image, (c)holt hoop iron blocked image3 结 论综上所述,本文提出了一种基于改进YOLO V3的绝缘子检测方法,实验结果表明,该方法可以检测出铁路接触网上的绝缘子部件,不仅检出率高,而且速度快,抗干扰能力强,适用于大多数环境,基本满足铁路接触网检测要求的准确性和快速性。下一步工作将在绝缘子检测定位的基础上,对绝缘子的缺陷检测展开研究。