掌桥专利:专业的专利平台
掌桥专利
首页

基于卷积神经网络的实时在线受电弓羊角检测方法

文献发布时间:2023-06-19 09:57:26


基于卷积神经网络的实时在线受电弓羊角检测方法

技术领域

本发明涉及列车受电弓检测技术领域,更具体地涉及一种基于卷积神经网络的实时在线受电弓羊角检测方法。

背景技术

在我国电气化铁路停电、停运事故中,弓网事故占总事故的80%左右,因此,保证受电弓的正常运行一直是当下研究的一大课题。消灭弓网事故被列为轨道交通的四大攻坚战之一。为了改进接触网的维护工作,除了增加零部件的使用寿命,提高设备管理水平外,增加对设备的监视和诊断技术非常有必要。受电弓和接触网是轨道交通中给电力机车供电的重要设备。羊角为受电弓弓头部分两端的铸铝件,其对于保障受电弓弓头的调整起着重要作用。一旦列车在运行过程中羊角发生缺损或变形等情况,将造成严重的弓网事故,因此为了保证机车的安全运行,对受电弓的羊角进行定期检测至关重要。

目前针对受电弓羊角的主要检测方式包括人工检测、接触式传感器检测、非接触式探测技术检测以及图像检测。其中,人工检测效率较低,接触式传感器检测需要对受电弓进行改造,非接触式探测技术检测难以伴随车辆运行在线监测,而图像检测则可以克服以上缺陷,及时发现受电弓羊角的损伤情况。但是,现有的图像检测算法主要采用模板匹配的方法在特定图像区域中进行查找和匹配,这类方法需预设模板,而由于预设的模板通常只能是固定尺寸,因此其无法应用羊角尺寸变化的场景,也无法做到实时检测。同时,这类方法的鲁棒性较差,很容易受背景干扰。

发明内容

为解决上述现有技术中无法实时检测和鲁棒性较差的问题,本发明提供一种基于卷积神经网络的实时在线受电弓羊角检测方法。

本发明提供的一种基于卷积神经网络的实时在线受电弓羊角检测方法,包括:

步骤S1,获取列车历史往返一次的全程视频,根据列车历史往返一次的全程视频制作训练集。

步骤S2,下载一预训练模型,采用所述训练集对该预训练模型进行再训练,得到羊角掩膜检测网络。

步骤S3,将所述步骤S1获取的全程视频输入所述羊角掩膜检测网络,获取每个羊角的掩膜信息。

步骤S4,对所述每个羊角的掩膜信息进行统计,获取每个羊角的损伤判别条件。

步骤S5,获取列车行驶的实时视频,将列车行驶的实时视频输入所述羊角掩膜检测网络,获取每个羊角的实时掩膜信息,并根据所述损伤判别条件检测每个羊角是否发生损伤。

进一步地,所述步骤S1包括:

步骤S11,对列车历史往返一次的全程视频进行分段保存,得到若干列车在不同类型场景下的视频。

步骤S12,对列车在不同类型场景下的视频进行采样,得到若干帧在不同类型场景下的图像样本。

步骤S13,对步骤S12采样得到的每帧图像进行羊角标注,并生成标注文件,标注文件以及步骤S12中的图像样本构成初始训练集。

步骤S14,增加不同羊角在缺失情况下的图像样本,对增加的每帧图像进行羊角标注,并生成对应的标注文件。

步骤S15,将步骤S14中增加的不同羊角在缺失情况下图像样本和对应的标注文件合并至初始训练集中,得到最终的训练集。

进一步地,所述步骤S13包括:对进行标注的图像块填充若干灰度值,以将不同的羊角标注为不同的类别。

优选地,所述步骤S2中的预训练模型采用掩膜RCNN,训练方法采用fine-tuning。

进一步地,所述步骤S3包括:

步骤S31,对所述步骤S1获取的全程视频进行剪切,对剪切后的视频进行采样,得到若干帧图像。

步骤S32,将所述步骤S31中的若干帧图像输入所述羊角掩膜检测网络,检测每帧图像中的羊角,得到每个羊角对应的掩膜。

步骤S33,对检测出的每个羊角对应的掩膜进行筛选,以使同一羊角对应唯一的掩膜。

进一步地,所述步骤S32中每个羊角对应的掩膜包含若干掩膜信息,所述掩膜信息包括掩膜类别及该掩膜类别对应的置信率、掩膜外接矩信息、掩膜矩阵以及掩膜面积,其中,所述掩膜外接矩信息包括掩膜外接矩的坐标以及掩膜外接矩的大小。

进一步地,所述掩模面积的计算方法为:将掩模矩阵恢复到掩模外接矩的大小,并将恢复后的掩模矩阵中1的数量作为掩模面积的值。

进一步地,所述步骤S33包括:

步骤S331,针对检测出的每个羊角对应的掩膜,保留其中置信率高于设定阈值的掩膜,滤除其中置信率低于设定阈值的掩膜。

步骤S332,针对所述步骤S331中保留下来的掩膜,选取其中交并比高于设定阈值的掩膜。

步骤S333,针对所述步骤S332中交并比高于设定阈值的掩膜,判断这些掩膜的掩膜类别是否相同,若相同,则选取其中面积最大的掩膜,并读取出该面积最大的掩膜所对应的掩膜信息;若掩膜类别不相同,则选取其中置信率最高的掩膜,并读取出该置信率最高的掩膜所对应的掩膜信息。

进一步地,所述步骤S4包括:

步骤S41,提取所述掩膜信息中的掩膜外接矩坐标以及掩膜面积。

步骤S42,提取所述掩膜外接矩坐标中的纵坐标,对所述掩膜外接矩坐标中的纵坐标以及掩膜面积进行预处理。

步骤S43,采用最小二乘法对预处理后的纵坐标以及掩膜面积进行拟合。

步骤S44,根据所述步骤S43中的拟合结果,建立监测模型。

步骤S45,根据所述监测模型,计算每个羊角在每帧图像中的监测值。

步骤S46,计算每个羊角的监测值的均值和均方差,并根据所述均值和均方差设置每个羊角的损伤判别范围。

进一步地,所述步骤S5包括:

步骤S51,对列车行驶的实时视频进行采样,得到列车行驶的实时图像。

步骤S52,将所述列车行驶的实时图像输入所述羊角掩膜检测网络,获取每个羊角在实时图像中的掩膜信息。

步骤S53,根据所述步骤S52获取的掩膜信息以及所述步骤S44建立的监测模型,计算每个羊角在实时图像中的监测值。

步骤S54,判断每个羊角在实时图像中的监测值是否在所述步骤S46设置的损伤判别范围之外,若是,则判定羊角存在损伤,硬件系统将即时输出羊角异常信息;若否,则判定羊角不存在损伤。

进一步地,所述掩膜外接矩坐标中的纵坐标以及掩膜面积的预处理方法为:计算掩膜外接矩纵坐标的中位数绝对偏差,以计算出的中位数绝对偏差的3倍为阈值,去除掩膜外接矩纵坐标中的离群值以及对应的掩膜面积。

进一步地,所述步骤S45中的每个羊角在每帧图像中的监测值P

式中,i表示羊角对应的掩膜类别,j=1,2,3......,N,N为步骤S31中对全程视频采样得到的图像帧数,

进一步地,所述每个羊角的损伤判别范围为(μ

进一步地,所述步骤S53中每个羊角在实时图像中的监测值P

式中,i'表示实时图像中羊角对应的掩膜类别,A

本发明的实时在线受电弓羊角检测方法,基于列车行驶的图像,能够在不影响列车运行的情况下实现实时在线检测。本发明基于卷积神经网络构建羊角掩膜检测网络,在复杂背景环境中具有更高的鲁棒性。同时,本发明根据羊角掩膜信息进行数据统计,构建羊角损伤判别条件,能够有效增加检测精度。

附图说明

图1是按照本发明的基于卷积神经网络的实时在线受电弓羊角检测方法的流程图。

图2是羊角的掩膜面积和掩膜外接矩纵坐标的拟合结果图。

图3是羊角在每帧图像中的监测值的统计示意图。

具体实施方式

下面结合附图,给出本发明的较佳实施例,并予以详细描述。

对于固定的相机视角,羊角在固定的图像坐标位置时,其掩模面积可以近似认为时定值。当羊角发生一定形变或者缺损时,检测算法所能检测到的羊角掩模面积会减小。可通过检测到的羊角掩模面积结合羊角所在的图像坐标位置,来判别羊角是否发生损伤。基于上述原理,本发明的基于卷积神经网络的实时在线受电弓羊角检测方法,在预先搭载的具有双目相机的硬件系统中进行,如图1所示,其包括以下步骤:

步骤S1,获取列车历史往返一次的全程视频,根据列车历史往返一次的全程视频制作训练集。具体包括:

步骤S11,搭载的硬件系统对列车历史往返一次的全程视频进行分段保存,得到若干列车在不同类型场景下的视频。具体来说,假设列车往返一次的完整视频为6个小时,本发明使用的硬件系统大约每5min保存一段视频,6小时一共保存72段视频。这72段视频分为三类场景:列车在室内行驶,列车在室外行驶以及列车在室内和室外进行切换,其中,这三类场景包括了下雨和过曝场景。由于列车在下雨和过曝场景中行驶时,受电弓羊角会存在少量模糊的情况,因此需要将下雨和过曝场景下的视频提取出来,单独分为一类,以便进行后续处理。如此,列车历史往返一次的全程视频最终分为了四类场景。

步骤S12,对列车在不同类型场景下的视频进行采样,得到若干帧在不同类型场景下的图像样本。采样采用完全随机的离散采样方法,采样频率可以根据不同场景的复杂程度适当提高或者降低,即对于上述72段视频中的每段视频截取的帧数可以不是固定的。

步骤S13,对步骤S12采样得到的每帧图像进行羊角标注,并生成标注文件,标注文件以及步骤S12中的图像样本构成初始训练集。具体地,通过硬件系统中的标注软件或其内置的标注程序对图像中的每个羊角进行标注,对于每个羊角,标注后会得到一系列有序的坐标,将这些坐标顺序相连后(最后一个坐标与第一个坐标相连)可得到该羊角的轮廓。特别地,对于在下雨和过曝场景下的图像样本,由于其中的羊角存在少量模糊,因而需对这类图像中的羊角进行适量的人为补充,使得标注尽可能完整,从而使训练后的网络对于背景波动具有更加稳定的结果。

由于每帧图像中包括多个不同的羊角,例如四羊角受电弓中包括4个不同的羊角,而这4个羊角位于同一个图像像素坐标位置时的掩模面积并不相同,因此,为了将不同的羊角区分出来,需要对羊角进行精细化分类,以将不同的羊角标注为不同的类别。同时,由于卷积神经网络(CNN)能够基于边界填充(padding)学习绝对位置,因而在进行羊角标注时需对图像块填充若干灰度值,图像块指的是根据羊角轮廓截取的图像块。例如,对于分辨率为590×590的图像,上下左右分别填充五个255值(灰度图的最大值),可得到分辨率为600×600的图像。需要说明的是,对图像块填充的灰度值也可以为0(灰度图的最小值)或其他合适的值。通过填充,不仅可以识别出不同类别的羊角,还可以在训练网络的过程中加快收敛速度。

若采用步骤S13中的标注文件以及步骤S12中的图像样本所构成的初始训练集直接进行掩膜RCNN的训练,在后续的检测中会产生一些错误结果,且难以通过置信率处理。错误结果包括:1)将周围非羊角检测为羊角;2)将同一个羊角判别为两种羊角;3)对于同一个羊角生成多个羊角掩模。产生这些错误结果的原因是步骤S12得到的图像样本不充分,导致卷积神经网络学习到的相对位置影响较大。

因此,步骤S14,增加不同羊角在缺失情况下的图像样本,对增加的每帧图像进行羊角标注,并生成对应的标注文件。以四受电弓羊角为例,假设第一、第二、第三、第四羊角分别记为a、b、c、d,第一羊角缺失时的图像样本记为bcd,第二羊角缺失时的图像样本记为acd,第一、第二羊角缺失时的图像样本记为cd,第一、第二、第三羊角缺失时的图像样本记为d,……,依次类推,则增加的不同羊角在缺失情况下的图像样本为a、b、c、d、bcd、acd、abd、abc、ab、ac、ad、bc、bd、cd。获取这些图像样本的方法为PS、现场模拟或其他合适的方法,并且也可以适当修改缺失的程度进一步增加该类样本,比如通过PS将第一羊角的某一部分去除,去除后标注第一羊角的剩下部分以及第二、第三、第四羊角。

步骤S15,将步骤S14中增加的不同羊角在缺失情况下图像样本和对应的标注文件合并至初始训练集中,得到最终的训练集。

步骤S2,下载已有的预训练好的模型,预训练模型本身具有一定检测能力,因而采用上述步骤S15得到的训练集对该预训练模型进行再训练,可以使模型网络快速收敛,进而可以快速得到羊角掩膜检测网络。

具体地,本发明采用的预训练模型为经典的掩膜RCNN,框架基于tensorflow、pytorch、caffe、keras或其他合适的框架,训练方法采用fine-tuning(微调)或其他合适的梯度更新方法。在本实施例中,采用TODA(Tensorflow Object DetectionApi,开源的基于tensorflow的深度学习框架)提供的预训练的掩膜RCNN进行fine-tuning,同时考虑到精度、运行速度以及显存占用,采用模型的主干网为resnet 50。另外,在训练过程中,不同标记程序的输出格式和不同框架要求输入的数据格式不同,不同框架训练完成的网络数据格式和项目程序的调用格式不同,因而需要将数据格式进行转换,包括1)将json格式的标注文件转化为tfrecord格式;2)tfrecord格式的文件经训练后生成checkpoint文件;3)将训练好的checkpoint文件转化为pb文件;4)基于pb文件生成pbtxt文件供工程接口调用。

步骤S3,将步骤S1获取的全程视频输入步骤S2得到的羊角掩膜检测网络,获取每个羊角的掩膜信息。步骤S3具体包括:

步骤S31,对步骤S1获取的全程视频进行剪切,去除其中下雨和过曝场景的视频,对剪切后的视频进行采样,得到若干帧图像。举例来说,对于6小时的全程视频,若以采样率1帧/秒进行处理,则去除下雨和过曝场景后可得到大约1.5万帧图像。

步骤S32,将步骤S31中的若干帧图像输入羊角掩膜检测网络,检测每帧图像中的羊角,得到每个羊角对应的掩膜,检测出的掩膜携带多个掩膜信息,包括:掩膜类别i(即掩膜对应于第几羊角)及该掩膜类别对应的置信率c、掩膜外接矩信息和掩膜矩阵(由0和1组成的m×m大小的二维矩阵),掩膜外接矩信息包括矩形坐标(x,y)(该坐标为掩膜外接矩矩形左上角显示的坐标)以及矩形的宽w和高h。并且,可根据掩膜外接矩和掩膜矩阵计算出掩模面积A:掩模矩阵m×m恢复到掩模外接矩大小w×h后,掩模矩阵中1的个数即为掩模面积A的值。

尽管步骤S14中增加了不同羊角在缺失情况下的图像样本,但增加的图像样本与真实的羊角在缺失情况下的样本之间存在差异,且增加的图像样本在整个训练集中的占比较小,因而采用羊角掩膜检测网络进行检测时,仍然会产生误检:对同一的羊角生成多个掩模,这多个掩膜可能掩膜类别及对应的置信率相同,而其他掩膜信息不同;或者掩膜类别及对应的置信率不同,其他掩膜信息也不同。

因此,步骤S33,对检测出的每个羊角对应的掩膜进行筛选,以使同一羊角对应唯一的掩膜。具体包括:

步骤S331,针对检测出的某个羊角对应的掩膜,保留其中置信率c高于设定阈值的掩膜,而滤除其中置信率c低于设定阈值的掩膜,该阈值根据网络结构、真实场景复杂程度进行设置,使得检测结果尽量少漏检、少误检即可。

步骤S332,针对步骤S331中保留下来的掩膜,即置信率c高于设定阈值的掩膜,选取其中交并比(IOU,Intersection overUnion)高于设定阈值的掩膜。其中,设定的IOU阈值取决于受电弓羊角在双目相机的视角中的情况。

步骤S333,针对步骤S332中交并比高于设定阈值的掩膜,判断这些掩膜的掩膜类别是否相同,若相同,则选取其中面积最大的掩膜,并读取出该面积最大的掩膜所对应的掩膜信息;若掩膜类别不相同,则选取其中置信率最高的掩膜,并读取出该置信率最高的掩膜所对应的掩膜信息。如此,可以减少由于光照等因素导致的误检测。

对每帧图像中的每个羊角均进行步骤S331-S333,即可得到每个羊角在每帧图像中唯一对应的掩膜信息。

然后,进行步骤S4,对每个羊角的掩膜信息进行统计,获取每个羊角的损伤判别条件。具体包括:

步骤S41,提取掩膜信息中的掩膜外接矩左上角坐标(x,y)以及掩膜面积A;

步骤S42,提取掩膜外接矩坐标中的纵坐标y,对纵坐标y以及掩膜面积A进行预处理,得到统计数据。具体地,预处理方法包括:计算纵坐标y的中位数绝对偏差,以计算出的中位数绝对偏差的3倍为阈值,去除纵坐标y中的离群值,以及这些离群值所对应的掩膜面积。由此,得到的统计数据包括去除离群值后的纵坐标y以及掩膜面积A。

步骤S43,采用最小二乘法对预处理后的纵坐标y以及掩膜面积A进行拟合,拟合结果可表示为:

A=k×y+b

式中,k和b为拟合得到的系数。

拟合可采用一次直线拟合或二次曲线拟合,当掩膜面积A和纵坐标y的关系符合直线时用一次直线拟合,符合二次曲线时用二次曲线拟合。一次拟合相对二次拟合对于每个羊角可以略微减少一点计算量,但随着受电弓的下降,羊角会发生遮挡,此时采用二次曲线拟合可使得结果更加精确。

以四羊角受电弓为例,4个羊角由高至低依次为第一、第二、第三和第四羊角,其中,第一和第二羊角的掩模面积A随着掩模外接矩y值的增加近似直线增加,因而采用一次直线拟合。而第三和第四羊角会随着受电弓下降发生遮挡,掩模面积A随着掩模外接矩y的增加呈现先增加后减小的二次变化,因而需要采用二次曲线拟合。拟合结果如图2所示,图中的横坐标表示预处理后的掩膜外接矩的纵坐标y,单位同像素坐标,为pixel;图中的纵坐标表示掩膜面积A,单位为像素或pixel。在其他示例中,具体拟合方式可根据真实情况进行选择。

步骤S44,根据步骤S43中的拟合结果,建立监测模型:

该监测模型P的值理论上为1,通过建立该监测模型,可使得后续的数据便于记录、统计和分析。应当理解,在其他实施例中,也可建立其他便于记录、统计和分析的监测模型。

步骤S45,根据建立的监测模型,计算每个羊角在前述大约1.5万帧图像中的监测值

式中,i表示羊角对应的掩膜类别(即第i羊角),j=1,2,3......,N,N为步骤S31中对全程视频采样得到的图像帧数,

步骤S46,计算每个羊角的N个监测值的均值μ

通过上述对列车历史往返一次的全程视频进行处理,可得到该列车的羊角掩膜检测网络和该列车中每个羊角的损伤判别条件,因而对于正在行驶的列车,通过将其行驶时的图像输入羊角掩膜检测网络得到羊角的掩膜信息,同时根据损伤判别条件,就可判断其羊角是否发生损伤。

即,进行步骤S5,获取列车行驶的实时视频,将列车行驶的实时视频输入步骤S2得到的羊角掩膜检测网络,获取每个羊角的实时掩膜信息,并根据步骤S4中的损伤判别条件检测每个羊角是否发生损伤。具体包括:

步骤S51,硬件系统的双目相机对列车行驶的实时视频进行采样,得到列车行驶的实时图像。

步骤S52,将列车行驶的实时图像输入羊角掩膜检测网络,获取每个羊角在实时图像中的掩膜类别i'、掩膜类别对应的置信率、掩膜外接矩坐标(x

步骤S53,根据步骤S44建立的监测模型,计算每个羊角在实时图像中的监测值P

式中,i'表示实时图像中的羊角类别,A

步骤S54,判断每个羊角在实时图像中的监测值P

以上所述的,仅为本发明的较佳实施例,并非用以限定本发明的范围,本发明的上述实施例还可以做出各种变化。即凡是依据本发明申请的权利要求书及说明书内容所作的简单、等效变化与修饰,皆落入本发明专利的权利要求保护范围。本发明未详尽描述的均为常规技术内容。

相关技术
  • 基于卷积神经网络的实时在线受电弓羊角检测方法
  • 一种基于图像处理的受电弓羊角在线检测装置与方法
技术分类

06120112360376