一种用于货运铁路无人驾驶的轨道限界识别方法
文献发布时间:2023-06-19 16:12:48
技术领域
本发明属于轨道交通、无人驾驶、人工智能以及图像处理等技术领域,尤其涉及一种用于货运铁路无人驾驶的轨道限界识别方法。
背景技术
轨道限界识别技术是基于传感器图像进行轨道线识别的技术,在改善铁路安全、无人驾驶等方面具有重要意义。
现有技术存在的不足在于:机车中无法配备高算力的大体积设备,同时设备工作环境恶劣,需要轻便的算法;货运列车行进时整个机车振动幅度大,图像容易出现一定程度的抖动;货运铁路的轨道相比于高速铁路轨道、有轨电车轨道及地铁轨道,碎石路面、不规则枕木、道路交汇以及沟壑栅栏的出现使得其周边环境更为复杂,并且存在着较大曲率的弯道及复杂的岔道情况,一些基于边缘检测算子的轨道识别适应不了复杂的路况环境。
发明内容
为了解决上述问题,本发明提供一种用于货运铁路无人驾驶的轨道限界识别方法,其可提高轨道限界识别的准确度,同时对于算力要求低。
为实现上述目的,本发明采用如下的技术方案:
1.一种用于货运铁路无人驾驶的轨道限界识别方法,包括:
S1.获取轨道图像,对所述轨道图像进行预处理;
S2.对预处理后的所述轨道图像,使用改进的ZS细化算法进行细化处理;
S3.对经过细化处理后的所述轨道图像,进行去噪处理,获得完整轨道线,完成轨道限界识别。
可选地,对所述轨道图像进行预处理包括:对所述轨道图像进行直方图均衡化与图像阈值分割。
可选地,所述直方图均衡化为:对所述轨道图像中像素分配不均匀的图像进行非线性拉伸,重新分配图像的像素值,获得像素值均匀分配在整个灰度范围内的所述轨道图像。
可选地,所述图像阈值分割为对像素值均匀分配在整个灰度范围内的所述轨道图像进行自适应阈值化处理,以及二值化操作,获得二值图像。
可选地,所述改进的ZS细化算法的步骤包括:
S21.对所述二值图像中的边界点进行标记并获取冗余点;
S22.对所述冗余点进行提取。
可选地,所述S21包括:
S211.获取所述二值图像中以边界点为中心的8邻域,标记中心点为P1,顺时针方向的相邻点分序列别为P2,P3,…P9,其中P2位于P1正上方;
S212.获取中心点P1的8邻域中非零邻点的个数Num(P1);
S213.获取序列P2,P3,…,P9中从0到1的变化次数S(P1);
S214.获取中心点P1四邻域内非零邻点的个数N
当N
可选地,所述S22包括:
S221.对P1的8邻域点按照顺时针顺序进行二进制编码B(P1),获得P2,P3,…P9每点对应的二进制,并获取B(P1)中所有二进制的值的集合Σ;
S222.设置约束条件,对满足约束条件的点进行标记;
所述约束条件的表达式为:
其中,a、b、c、d分别为约束条件a、约束条件b、约束条件c、约束条件d;
S223.将所述约束条件c改为P2*P4*P8=0,所述约束条件d改为P2*P6*P8=0,对满足约束条件的点进行标记;
S224.将S222与S223中标记的点进行去除;
S225.重复操作S222至S224,直到没有满足约束条件的点被标记,完成冗余点的提取。
可选地,所述S3中进行去噪处理的步骤包括:
S31.定义经过改进的ZS细化算法后的所述轨道图像为I
T=W/H
L=Max{W,H}
S=W*H
其中,W∈(0,imgW),H∈(0,imgH);
S32.获取I
S33.基于3*3结构元,对I
S33.基于I
可选地,所述S33中,通过筛选规则对I
所述筛选规则为:当某个轮廓的最小外接矩形的高度和宽度以及区域面积不满足筛选规则表达式时,排除该轮廓;
所述筛选规则表达式为:
其中,λ为I
与现有技术相比,本发明具有如下优点和技术效果:
(1)本发明的算法对算力要求不高,不需要体积较大的GPU设备,一般的带有CPU的小型嵌入式工控机即可满足要求;
(2)本发明针对可能出现的抖动图像,采用了两种图像预处理相结合,便于后续的识别;
(3)本发明针对复杂的周边环境加入了去噪处理,以排除障碍物对轨道线提取的干扰。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本发明实施例的一种用于货运铁路无人驾驶的轨道限界识别方法流程示意图;
图2为本发明实施例的直方图均衡化前后对比示意图;
图3为本发明实施例的ZS细化算法与改进的ZS细化算法的结果对比示意图;
图4为本发明实施例的轨道限界识别方法每个阶段的效果示意图;
图5为本发明实施例的冗余点示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例
如图1所示,本发明提供了一种用于货运铁路无人驾驶的轨道限界识别方法,包括:
S1.获取轨道图像,对轨道图像进行预处理;
更进一步地,S1中,对轨道图像进行预处理包括:对轨道图像进行直方图均衡化与图像阈值分割。
直方图均衡化为:对轨道图像中像素分配不均匀的图像进行非线性拉伸,重新分配图像的像素值,获得像素值均匀分配在整个灰度范围内的轨道图像。
图像阈值分割为对像素值均匀分配在整个灰度范围内的轨道图像进行自适应阈值化处理,以及二值化操作,获得二值图像。
在本实施例中,图像预处理包括直方图均衡化与图像阈值分割两部分。由摄像机等传感器在获取图像时,光照不均匀和环境噪声等因素往往会影响最终的图像质量。如图2所示,直方图均衡化对像素分配不均匀的图像进行非线性拉伸,重新分配图像的像素值,最终使像素值均匀的分配在整个灰度范围内,能够显著提高图像质量。
图像阈值分割利用图像中要提取的目标区域与其背景在灰度特性上的差异,把图像看作具有不同灰度级的两类区域的组合,选取一个比较合理的阈值,以确定图像中每个像素点应该属于目标区域还是背景区域,从而产生相应的二值图像。
在不同的轨道限界检测场合,检测的目标和背景有较大的改变,因此图像阈值分割的阈值也应该是不同的。本发明利用OpenCV中提供的AdaptiveThreshold()函数做自适应阈值化处理,自适应阈值选取图像里面的某一块邻域,通过计算这块邻域的均值或者高斯加权平均数减去一个人工干预的常数C作为阈值,对这块领域进行二值化操作,不断循环,从而对整张图像进行二值化。
S2.对预处理后的轨道图像,使用改进的ZS细化算法进行细化处理;
改进的ZS细化算法包括:
S21.对二值图像中的边界点进行标记并获取冗余点;
S22.对冗余点进行提取。
S21包括:
S211.获取所述二值图像中以边界点为中心的8邻域,标记中心点为P1,顺时针方向的相邻点分序列别为P2,P3,…P9,其中P2位于P1正上方;
S212.获取中心点P1的8邻域中非零邻点的个数Num(P1);
S213.获取序列P2,P3,…,P9中从0到1的变化次数S(P1);
S214.获取中心点P1四邻域内非零邻点的个数N
当N
S22包括:
S221.对P1的8邻域点按照顺时针顺序进行二进制编码B(P1),获得P2,P3,…P9每点对应的二进制,并获取B(P1)中所有二进制的值的集合Σ;
S222.设置约束条件,对满足约束条件的点进行标记;
所述约束条件的表达式为:
其中,a、b、c、d分别为约束条件a、约束条件b、约束条件c、约束条件d;
S223.将所述约束条件c改为P2*P4*P8=0,所述约束条件d改为P2*P6*P8=0,对满足约束条件的点进行标记;
S224.将S222与S223中标记的点进行去除;
S225.重复操作S222至S224,直到没有满足约束条件的点被标记,完成冗余点的提取。
S3.对经过细化处理后的轨道图像,进行去噪处理,获得完整轨道线,完成轨道限界识别。
更进一步地,S3中进行去噪处理的步骤包括:
S31.定义经过改进的ZS细化算法后的轨道图像为I
T=W/H
L=Max{W,H}
S=W*H
其中,W∈(0,imgW),H∈(0,imgH);
S32.获取I
S33.基于3*3结构元,对I
S33.基于I
S33中,通过筛选规则对I
筛选规则为:当某个轮廓的最小外接矩形的高度和宽度以及区域面积不满足筛选规则表达式时,排除该轮廓;
筛选规则表达式为:
其中,λ为I
在本实施例中,ZS细化算法在3*3邻域上对整幅二值图进行两次迭代运算搜索需要删除的边界点。该算法具有速度快、连通性好、原理简单等优点,但它的细化结果不能保证为单一像素,同时也会出现不同程度的噪点,对轨道线的识别产生较大的影响。改进的ZS细化算法继承了原版的优点,同时对冗余像素点进行了提取和去除,余下的点组成了细化后的单像素骨架,减少了轨道限界识别的误差。
根据轨道线轮廓的拓扑结构和分布情况,去噪算法采用最小外接矩形的方式计算轮廓的宽度、高度以及面积,从大到小保留轮廓,从而剔除相对较小的噪点。然后进行形态学膨胀以消除去噪引起的间断,最后排除不符合筛选规则的轮廓完成去噪。
本发明的核心部分为改进的ZS算法和去噪算法。
(1)改进的ZS算法
步骤1:对边界点的标记与冗余点的产生:
步骤1.1:设目标点标记为1,背景点标记为0,在预处理后得到的二值图像中寻找以边界点为中心的8邻域,记中心点为P1,顺时针方向的相邻点分别为P2,P3,…P9,其中P2在P1正上方,如下表1所示:
表1
步骤1.2:设Num(P1)是P1的8邻域中非零邻点的个数,即:
步骤1.3:S(P1)为序列P2,P3,…,P9中从0到1的变化次数,其取值范围为0—4,用下列形式来表示:
步骤1.4:ZS并行细化算法处理结果为非单一像素宽度的原因是其存在夹角为90°的像素点,即存在一些点由于不满足被删除的条件而未被删除,这里定义这些点为冗余点。冗余点主要有四个方向,如图5中虚线框所示:
结合产生冗余点的四个方向,在四邻域内分析其产生的具体原因,中心点P1四邻域内非零邻点的个数N
如果存在冗余点,即有N
将其用邻域模板的形式表示,如下表2所示:
表2
其中*的取值范围为0或1。
步骤2:冗余点的提取:
步骤2.1:为了方便提取冗余点,将P1的8邻域点按照步骤1中的顺时针顺序进行二进制编码,即从P2,P3,…P9共八个点,每个点对应一位二进制位。若邻域点值为1则相对应的二进制位也为1,若邻域点值为0则相对应二进制位为0。P1的8邻域相对应的二进制编码如下表3所示:
表3
P1的八邻域所对应的二进制编码如下表4所示:
表4
步骤2.2:计算P1的八邻域二进制编码的数学表达形式为:
记B(P1)所有值的集合为Σ。
步骤2.2:对满足以下所有条件的点进行标记:
步骤2.3:同步骤2.2,仅将条件c改为P2*P4*P8=0;条件d改为P2*P6*P8=0,同样当对所有边界点都检验完毕后,将所有标记了点除去。
步骤2.4:步骤2.2和步骤2.3共同构成一次迭代,直至没有再满足标记条件的边界点,余下点组成的区域即为细化后的单像素骨架。
本发明实施例中的ZS细化算法与改进的ZS细化算法的结果对比如图3所示。
(2)去噪算法
步骤1:定义细化后的图像为I
T=W/H
L=Max{W,H}
S=W*H
其中,W∈(0,imgW),H∈(0,imgH);
步骤2:根据轨道轮廓及旁边干扰的长度和面积差异,寻找I
I
步骤3:采用3*3结构元,对I
步骤4:记λ为最小外接矩形的长度筛选系数,δ为最小外接矩形的面积筛选系数。根据图像I
当λ∈(400,500),δ∈(1400,1600)时整体去噪效果显著。
本发明实施例的轨道限界识别方法每个阶段的效果如图4所示。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
- 一种用于货运铁路无人驾驶的轨道限界识别方法
- 一种铁路货运列车限界自动检测装置