一种基于视觉的轨道道岔识别方法与流程

文档序号:22738016发布日期:2020-10-31 09:18阅读:390来源:国知局
一种基于视觉的轨道道岔识别方法与流程

本发明属于自动驾驶及计算机视觉领域,特别涉及一种基于视觉的轨道道岔识别方法。



背景技术:

近年来,在列车行驶场景下的安全感知逐渐受到人们的重视,列车轨道在道岔处与列车的位置关系是其中的一项必要的场景信息理解。在列车行驶过程中,由调度中心联系铁路工控制叉道,不需要由列车对分岔口进行方向的控制。目前基于轨道道岔识别技术,可以提前对可能发生的安全风险进行评估,或是对列车的行驶轨迹进行记录,这对列车的安全行驶具有极大的价值。然而列车行驶的轨道环境中,光照差异变化大、轨道交叉复杂、结合方式多等种种问题使得采用传统轨道道岔识别技术对轨道道岔识别具有一定的困难。

随着深度学习的发展,道岔检测中的一些子问题可以与深度学习相结合,用以提高鲁棒性和检测精度,同时针对列车的高速场景,高精度、实时性是进行场景信息理解的目标,对于轨道道岔识别方法同样必不可少。由于列车行驶环境复杂,基于摄像头的感知是列车行驶过程中受到最小干扰的传感方法,因此研究基于视觉的轨道道岔识别方法至关重要。



技术实现要素:

针对列车场景中的轨道道岔识别问题,本发明提出一种基于视觉的轨道道岔识别方法,旨在通过摄像头传感器,实现高准确率、高实时性的道岔及岔心点识别。

本发明提供了一种基于视觉的轨道道岔识别方法,包括如下步骤:

s1:读取相机图像构建样本集,对所述样本集中的轨道场景按是否存在轨道道岔进行分类标注,并将标注后的样本集划分为训练集和测试集,以构建道岔分类网络模型;

s2:对所述样本集中的轨道场景以像素为单位进行标注,每个像素划分为轨道和背景两个类别,并将标注后的样本集划分为训练集和测试集,以构建单轨分割网络模型;

s3:持续读取相机图像,获取实时轨道场景;

s4:利用步骤s1中构建的道岔分类网络模型对获取的当前帧轨道场景进行分类,若当前帧轨道场景不为道岔场景,则返回步骤s3读取下一帧轨道场景,若为道岔场景,则继续步骤s5;

s5:利用步骤s2中构建的单轨分割网络模型对道岔场景进行分割,得到具有分叉点的单轨区域图像;

s6:利用岔心点检测算法对步骤s5中得到的单轨区域图像进行轨道岔心点识别,并输出岔心点坐标;

s7:当前帧轨道场景的轨道道岔识别结束,返回步骤s3读取下一帧轨道场景。

进一步,步骤s5具体过程为:对道岔场景进行预处理后输入到步骤s2中构建的单轨分割网络模型中,输出道岔场景原始图像大小的单轨掩码图,所述单轨掩码图是二通道的灰度图像,对道岔场景图像的每个像素的两个通道取较大概率数的通道作为像素的类别,得到单轨区域图像。

进一步,步骤s6包括如下子步骤:

s61:图像数据预处理

将步骤s5中得到的单轨区域图像的单轨掩码图缩放到道岔场景原始图像大小,并利用高斯滤波去除噪点;

s62:搜索岔心点

1)对预处理后的单轨区域图像的连通域进行层级分析,根据连通域的位置关系划分出三种场景:

场景1:单轨出现道岔并延伸出两条不同的轨道;

场景2:单轨出现道岔但延伸出的两条轨道在一段距离后合并;

场景3:存在两个非连通并且成并列关系的轨道;

2)保留所述场景1和所述场景2,并对两种场景进行角点检测以提取连通域中所有角点;

3)对于场景1,对连通域中所有角点进行缺陷点检测,并利用邻域快速判断法判断某一缺陷点是否为岔心点,并将所有检测的岔心点加入到候选集中;

对于场景2,对外层连通域中所有角点进行缺陷点检测,并利用邻域快速判断法判断某一缺陷点是否为岔心点,并将所有检测的岔心点加入到候选集中;然后选取嵌套的内层连通域中的最低角点并将其加入到候选集中;

所述邻域快速判断法具体过程为:以每个缺陷点像素的小块邻域作为检测单元,将每个小块邻域划分四个子区域,统计每个子区域的背景占比得分,通过比较每个子区域的背景占比得分,判断该缺陷点是否为岔心点;

s63:确定最近岔心点

将候选集中的岔心点按纵坐标从低到高排序,提取纵坐标最低的点作为距离当前列车最近的岔心点坐标。

进一步,步骤s62中,进行缺陷点检测后,基于缺陷点的深度对检测到的岔心点进行噪声过滤。

进一步,步骤s1具体过程为:从相机视频中截取图片,组成样本集;采用人工标注的方式将样本集中存在道岔的场景与不存在道岔的场景划分为两个类别,并设置相应的训练参数,所述训练参数包括学习率和梯度下降方式;将标注的图片按8:2的比例划分为训练集和测试集并进行训练、测试,最终构建道岔分类网络模型。

进一步,步骤s2具体过程为:采用人工标注的方式将当前列车所在的轨道以像素为单位进行标注,每个像素划分为轨道和背景两个类别,并设置相应的训练参数,所述训练参数包括学习率和梯度下降方式;将标注的图片按8:2的比例划分为训练集和测试集并进行训练、测试,最终构建单轨分割网络模型。

进一步,采用模糊、随机明暗变化等数据增强方式提高所构建的道岔分类网络模型和道岔分类网络模型的泛化性,使模型在各种不同场景都能起到较好的检测效果。

进一步,步骤s3与后续步骤在不同的线程中并行处理,保证算法的实时性。

本发明的有益效果:

1)本发明提出利用纯视觉来进行轨道道岔识别,视觉的优势在于可以获取到颜色信息和图像分布情况,易于直观的场景理解,可以提前对轨道分岔口在图像上进行定位;传统视觉算法易受光照影响,而本发明提出的方法通过模糊、随机明暗变化数据图像增强,可以降低对光照敏感度,具有较高的鲁棒性;

2)本发明提出有效的算法逻辑设计,共分为3个模块:分类、分割和岔心点检测,前两个模块通过深度学习方法实现,这样保证了算法的精度和鲁棒性,对于轨道的复杂场景可以很好的学习和识别;岔心点检测采用数字图像处理的方法,这样不用占用额外的资源和计算时间,同时可以保持高准确率;

3)本发明在岔心点检测部分提出邻域快速判断确定岔心点的方法,这是一种类似于加权模板匹配的方法,这种方法首先以每个像素点的小块邻域作为检测单元,极大的降低了算法的检测用时和复杂性,对每个邻域继续划分四个区域,统计每个区域的背景占比得分,针对道岔场景设计了岔心邻域图像分布的比较方法,具有较高的准确率;

4)本发明通过分析道岔多种场景,总结归为4种场景类型:分岔后合并、刚驶离分岔口、前方有分岔口和前方无分岔口,并对每种类型进行相应的识别和特殊处理,对当前轨道的4种分岔方式都能产生正确的检测。

附图说明

图1为本发明的基于视觉的轨道道岔识别方法流程图;

图2为本发明的岔心点检测算法流程图;

图3为本发明实施例的轨道道岔识别流程图;

图4为本发明实施例的对岔心点邻域和非岔心点邻域的分布对比图;

图5为本发明实施例的邻域快速判断的区域划分方法示意图;

图6为本发明实施例在标注图像上的岔心点检测算法验证结果图;

图7为本发明实施例在预测的分割掩码图像上的岔心点检测算法验证结果图。

具体实施方式

下面结合附图和实施例进一步描述本发明,应该理解,以下所述实施例旨在便于对本发明的理解,而对其不起任何限定作用。

本发明提供了一种基于视觉的轨道道岔识别方法,如图1所示,包括如下步骤:

s1:从相机视频中截取图片,组成样本集;采用人工标注的方式将样本集中存在道岔的场景与不存在道岔的场景划分为两个类别,并设置相应的训练参数,所述训练参数包括学习率和梯度下降等方式;将标注的图片按8:2的比例划分为训练集和测试集并进行训练、测试,最终构建道岔分类网络模型。

s2:采用人工标注的方式将当前列车所在的轨道以像素为单位进行标注,每个像素划分为轨道和背景两个类别,并设置相应的训练参数,所述训练参数包括学习率和梯度下降等方式;将标注的图片按8:2的比例划分为训练集和测试集并进行训练、测试,最终构建单轨分割网络模型。

s3:持续读取相机图像,获取实时轨道场景图像。

s4:对获取的实时轨道场景图像进行预处理后,输入道岔分类网络模型中,输出当前帧轨道场景图像的类别,由于是二分类问题,选择最大的概率类别作为图像的类别即可,若当前帧轨道场景不为道岔场景,则返回步骤s3读取下一帧轨道场景,若为道岔场景,则继续步骤s5。其中,该步骤的数据预处理目的是将图像缩放到网络输入大小并归一化处理,保证待识别图像分布与训练的分布一致。

s5:对道岔场景进行预处理后输入单轨分割网络模型中,输出道岔场景原始图像大小的单轨掩码图。单轨掩码图是二通道的灰度图像,对道岔场景图像的每个像素的两个通道取较大概率数的通道作为像素的类别,得到单轨区域图像。

s6:利用岔心点检测算法对得到的单轨区域图像进行轨道岔心点识别,并输出岔心点坐标。如图2所示,具体包括如下子步骤:

s61:图像数据预处理

将得到的单轨区域图像的单轨掩码图缩放到道岔场景原始图像大小,并利用高斯滤波去除噪点,以避免产生多余的连通域进而造成误检。

s62:搜索岔心点

岔心点的搜索分为角点检测和缺陷点检测两个步骤,角点检测是为了提取可能是岔心位置的点;得到角点后,再进行缺陷点检测,缺陷点检测是指对于连通域生成一个凸包,然后比较每条边与每个点的凹陷程度,在岔心点检测任务中,岔心的位置一定是往内部凹陷的,所以通过缺陷点搜索可以确定包含这些岔心点的集合同时降低搜索范围。具体过程如下:

1)对预处理后的单轨区域图像的连通域进行层级分析,根据连通域的位置关系划分出三种场景:

场景1:单轨出现道岔并延伸出两条不同的轨道,这种情况占据可能出现的场景中的大部分;

场景2:单轨出现道岔但延伸出的两条轨道在一段距离后合并,这种情况存在两个嵌套关系的区域;

场景3:存在两个非连通并且成并列关系的轨道,这种情况产生的原因是刚刚经过一个分岔点,网络的输出了两条轨道。

2)场景筛选

基于上面三种场景,本发明的设计思路是对前两种场景进行保留并提取角点,并将第三种场景视作无岔心点的情况放弃。

3)角点检测

对保留的两种场景进行角点检测以提取场景连通域中所有角点。

4)缺陷点检测

对场景1(无嵌套关系)是对整个单轨分割结果进行搜索,对连通域中所有角点进行缺陷点检测;对于场景2(即存在嵌套关系)是对外层连通域中所有角点进行缺陷点检测。

5)图像四区域分布统计确定岔心点并将所有岔心点加入到候选集

基于列车场景特征,本发明设计一种邻域快速判断法判断某一缺陷点是否为岔心点,并将所有检测的岔心点加入到候选集中等待最后的筛选。该邻域快速判断的思想是统计每个子区域背景站的比例,在每个子区域中岔心点占比具有相同分布,非岔心点与岔心点分布相差较远,根据这一特点来判断某一点是否为分岔点。对于场景2(即存在嵌套关系),之后还需要选取嵌套的内层连通域中的最低角点并将其加入到候选集中等待最后筛选。

s63:确定最近岔心点

将候选集中的岔心点按纵坐标从低到高排序,提取纵坐标最低的点作为距离当前列车最近的岔心点坐标,并将该坐标输出。

s7:当前帧轨道场景的轨道道岔识别结束,返回步骤s3读取下一帧轨道场景。

下面以某一张轨道场景图片为例说明本发明检测道岔及岔心点的过程,在构建好道岔分类网络模型和单轨分割网络模型的基础上,具体过程如下:

步骤1:利用道岔分类网络模型对轨道场景图片进行分类

将轨道场景图片缩放到480x360的分辨率,采用基于mobilenetv2训练的网络,输出当前场景是否存在道岔口,对于图3的输入图像,返回结果为存在道岔。

步骤2:利用单轨分割网络模型得到单轨区域

单轨分割网络模型的输入分辨率同样为480x360,采用基于erfnet的基础网络训练的模型,输出每个像素的类别。

步骤3:数据预处理

数据预处理的目的是缩放单轨区域图像到固定尺寸并采用高斯滤波去除噪点,避免产生多余的连通域进而造成误检。

步骤4:对预处理后的单轨区域图像的连通域进行层级分析,得到本单轨区域图像为场景2,即存在嵌套关系。

步骤5:外层区域岔心点检测

对场景的外层连通域进行角点检测以提取场景外连通域中所有角点;之后对所有角点进行缺陷点检测,图3-3.2展示了轨道区域中缺陷点的位置,特别地,由于识别出的缺陷点包含了较多的噪声,因此可以基于缺陷点的深度进行过滤,图3-3.3展示了深度阈值大于10的情况的筛选结果,此时只剩下两个候选岔心点。

步骤6:判断外层区域岔心点

对于岔心点来说,岔心点缺陷的位置可能更多存在于上侧,而非岔心点的缺陷位置更多存在于左侧、右侧和下方,如图4所示。基于这一特征,本分发明设计的邻域快速判断方法可以高效的发挥作用,判断某一个缺陷点是否为岔心点,如图5所示,首先以缺陷点为中心,构建宽和高为m的邻域区间,并根据区域位于缺陷点的左上、左下、右上、右下划分为四个区域,对每个区域根据其颜色分布计算统计量t,统计量表示为每个区域像素的总计背景个数。这种区域统计量反映了这个区域背景占据的个数,如果区域1和3背景占据要多于区域2和4,则表明该缺陷点是岔心点,否则为非岔心点。对于外层所有检测为岔心位置的点加入到候选集中等待最终的筛选。

步骤7:内层区域提取角点

由于内层区域与外层区域属于嵌套关系,因此内层区域的某一个角点必然是分岔点,因此对内层区域采用角点检测算法,将检测的角点加入候选集。

步骤8:确定最近岔心点

在这一步中候选集中的点是场景图像中外层检测出的所有岔心点和内层检测的角点,目标是获取距离列车最近的岔心点,因此对候选集根据纵坐标排序,提取纵坐标距离底部最近的作为检测到的最终输出的岔心点,得到岔心点后,显示在图片上,如图6和图7所示。

优选地,在本实施例中,邻域范围设置为20x20时,能更好的了解缺陷点的分布且不会引入过多的噪声区域,通过实际测试检测效果最好。

对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以对本发明的实施例作出若干变型和改进,这些都属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1