基于Hough变换和Catmull-Rom样条曲线的钢轨检测算法
2018-02-23姜泽,董昱
姜 泽,董 昱
基于Hough变换和Catmull-Rom样条曲线的钢轨检测算法
姜 泽,董 昱
(兰州交通大学自动化与电气工程学院,甘肃 兰州 730070)
针对现有的钢轨检测算法中对于钢轨识别准确性不高的问题,提出一种基于Hough变换和Catmull-Rom样条曲线的钢轨检测算法。首先对图像进行降噪预处理,利用Canny边缘检测算法进行边缘检测,然后利用Hough变换检测直轨,根据直轨消失点确定轨道模型,最后针对弯轨利用等分窗口搜索弯轨特征点,对选取的特征点进行Catmull-Rom样条曲线拟合弯轨。实验表明,该算法不仅能够准确拟合钢轨曲线,而且具有较好的准确性和鲁棒性。
钢轨检测;弯轨拟合;Catmull-Rom样条曲线
近年来,随着铁路快速发展,列车运行的安全问题日益突出,然而传统的静态异物侵限检测系统已经不能满足铁路系统高速发展的需求[1-3]。针对异物侵限,需要提取钢轨作为建立限界的依据[4],由于天气、光照等外界因素与铁路上轨枕、道砟、固定转辙机的角钢、应答器等一系列设备影响,导致钢轨提取算法的准确性与实时性有待提高。因此,精确且快速提取钢轨的算法显得十分必要。目前,针对基于视觉的钢轨检测算法主要分为基于特征的方法和基于模型的方法[5]。前者具有较好的准确性,但易受光照、阴影的影响。由于该类算法主要利用钢轨轨面的边缘梯度和纹理对比等特性,导致运算量较大,不利于钢轨提取的实时性[6-7],后者将钢轨在图像中的提取转换为钢轨模型的拟合,此方法选取钢轨模型简单,所需运算量较小,对于光照、阴影等有一定的抗干扰能力,具有较好的鲁棒性[8]。王前选等[9]采用的 Bresenham直线算法能有效拟合直线模型,但未给出描述弯轨的数学模型。既能准确拟合钢轨曲线的数学模型又能满足算法的鲁棒性是拟合图像中钢轨曲线的重中之重。本文提出了一种基于Hough变换和Catmull-Rom样条曲线的钢轨检测算法,设置等分窗口搜索算法,通过基于Hough变换和Catmull- Rom样条曲线模型以钢轨特征分直轨、弯轨进行描述,以提高算法的准确性和鲁棒性。
1 钢轨检测算法结构
本文采用的基于Hough变换和Catmull-Rom样条曲线的钢轨检测算法主要步骤及其理论支撑框架如图1所示。
图1 钢轨识别算法框架图
本文算法共包括5个步骤,其中本文的创新点是钢轨模型识别与弯轨模型拟合。在钢轨模型识别中采用Hough变换计算左右直轨消失点,通过左右直轨消失点与图像在坐标中轴坐标中值比较,判断钢轨为直轨或弯轨;在弯轨模型拟合中采用改进Catmull-Rom样条曲线,将远景区域等分,利用等分窗口在远景等分区域搜索选取弯轨特征点,并将弯轨特征点作为输入值输入Catmull-Rom样条函数中,通过Catmull-Rom样条函数拟合远景区域的弯轨,弯轨中的近景区域的直轨采用Hough变换直接提取,如此构成了钢轨弯轨模型中的近景与远景区域的弯轨曲线拟合。
2 轨道边缘特征提取
2.1 图像预处理
原始钢轨图像如图2(a),计算机视觉在针对原始钢轨图像处理过程中需要考虑机车抖动引起的钢轨在图像中位置的变换,且需要过滤大量的背景信息引入的干扰。将原始图像进行灰度化处理后采用谐波均值滤波器进行降噪处理,预处理如图 2(b)所示。
2.2 钢轨边缘检测
针对钢轨在数字图像中与背景信息在亮度与色彩上呈现明显对比,而且钢轨在数字图像中具有固定的方向性,算法采用基于Canny边缘检测器算法。如图2(c)所示,传统的Canny边缘检测器能够比较全面的提取原始图像中的各类边缘信息但非所需的钢轨边缘信息。本文针对这一现象在Canny算法中提出改进。
在Canny边缘检测过程中使用滞后阈值处理的方法对脊线像素进行阈值处理,使用阈值1和2,其中1<2。通过设置阈值1=0.47,阈值2=0.16来剔除水平边缘信息的同时保留倾斜边缘信息。如图2(d),经改进的Canny算法能够较好地提取钢轨边缘信息且过滤非目标边缘信息。
图2 钢轨边缘检测初始化过程
3 钢轨曲线模型及参数求解
3.1 近景远景区域划分
钢轨在数字图像中可分为直轨、弯轨,在近景区域直轨特征明显,由于直轨模型无法描述远景弯轨模型,因而将钢轨图像划分为近景和远景区域,采用基于Hough变换和Catmull-Rom样条曲线模型拟合钢轨曲线。
根据车载摄像头的安装角度与空间物理可知在图像中,直轨的直线模型为两条相交于一点的射线;弯轨分为近景区域的直线模型与远景区域的曲线模型。
如图3所示,以图像左上顶点为原点,以像素为基本单位,建立坐标体系。消隐点vanish通过Hough变换中的函数Houghlines进行计算,将在下文参数求解中进行详细说明。
图3 钢轨模型图
3.2 基于多约束条件Hough变换的直轨参数求解
如图4所示,对于任何一个边缘点,找到所有可能经过该点的直线,且每条都对应着参数空间中的一个点,而无穷多条之间对应于极坐标系下的点将形成一条极坐标系下的曲线,重复上面过程,每个边缘点都对应于极坐标系下的一条曲线,那么,极坐标系下(参数空间)所有这些曲线的交点一定是原图像中所有边缘点共同存在的直线。Hough变换对噪声、不均匀照明引起的边缘断裂和引入杂散灰度不连续具有较强的适应性。
图4 Hough变换原理图
图5 Hough变换结果图
在Hough变换中利用Houghlines函数通过对选取的所有特征点拟合成直轨[10-11],根据取钢轨直线拟合结束点的横坐标可得近景远景的边界值即V=311。根据Hough变换并结合标准直线模型可得左右直轨的直线模型,并根据左右直轨直线模型相交点可得消隐点为disappear=(208,231)。
结合式(1)、(2)可得图6近景区域直轨模型参数表达式
3.3 基于Catmull-Rom样条曲线的弯轨模型求解
3.3.1 Catmull-Rom样条函数
3.3.2 Catmull-Rom样条曲线控制点
通过对Catmull-Rom样条曲线分析可以发现,Catmull-Rom样条曲线除了首尾两点之外经过所有控制点;与其他数学模型相比所需控制点较少且能生成任意形状的曲线,更适合拟合弯轨。由于Catmull-Rom样条曲线至少需要4个控制点,而Catmull-Rom样条曲线不通过首尾两点,因此提出一种新的控制点选取方法。
如图7所示,有4个控制点、、、而Catmull-Rom样条曲线不会经过点和点,因此需要引入两个新的控制点′和′。其中′由计算所得,′有计算所得,其公式为
同理,′点计算类似,于是,通过′可以得到曲线,通过′可以得到曲线,经过3次计算,可以得到曲线。
图7 Catmull-Rom样条曲线拟合结果图
4 钢轨检测算法流程
如图8所示,基于Hough变换和Catmull-Rom样条曲线的钢轨检测算法主要包括初始化、近景直轨定位和远景曲线拟合3个部分。基于Hough变换和Catmull-Rom样条曲线的钢轨检测算法流程在顺序循环过程中模块之间相互切换根据各部分判断条件进行。钢轨识别过程中顺序读入图像帧,经过钢轨模型判断确定钢轨模型,根据相应钢轨模型拟合对应钢轨曲线,如果钢轨特征检测不成功,系统自动返回读取图像模块。
钢轨识别算法具体步骤如下:
步骤1. 读取视频图像帧作为待处理图片。
步骤2. 对图像进行降噪、灰度化以及Canny边缘检测。
步骤3. 利用3.2节中的算法进行Hough变换检测直轨并记录左右直轨消失点坐标(disappear,disappear)作为判断近景远景区分的依据。
步骤4.disappear-0.5<其中,为图像在坐标轴总长度,disappear为左右直轨消失点坐标值,为设定阈值令=5。将左右直轨消失点的坐标disappear与图像在坐标轴总长度的二分之一作比较,如果disappear–0.5>说明左右直轨消失点在图像轴总长度二分之一的下方,即钢轨模型为弯轨模型,算法进入拟合弯轨曲线模型流程;如果disappear–0.5<说明左右直轨消失点在图像轴总长度二分之一的上方,即钢轨为直轨模型,算法进入拟合直轨直线模型流程。
图8 钢轨识别算法流程图
步骤6.在起始边界点建立初始检测窗,提取窗口灰度、梯度、方向角和轨距特征,建立轨道边界点置信度函数,设置信范围,依据前一分区边界特征点位置设置本分区感兴趣区域,其中第一特征点窗口感兴趣区域为起始窗口上方1分区内×Δ的区域内,检测窗口移动步长小于等于Δ,移动窗口不允许重合,采用自中间向两边的搜索次序,分别记录检测窗口漂移过程中得到的置信度函数值。提取并记录置信度函数值最大2个的特征检测窗口坐标(u,v)[11]。
图9 钢轨特征点检测示意图
步骤7. 判断Catmull-Rom样条曲线拟合点是否提取成功。若不成功重新返回初始化部分,若成功则进入Catmull-Rom样条曲线拟合流程。
步骤8. 将左侧弯轨检到4个测特征点(v,u)分别作为输入参数分别赋值给Catmull-Rom样条函数中的点、、、,进行曲线拟合。
步骤9. 顺序读入下一帧图像重复上述过程。
5 验证与分析
本文选用宝鸡—兰州客运专线运行区间,CHR380型车载摄像头采集实时运行视频,包括轨道、桥梁、轨道阴影、隧道等实际现场运行情况,将视频拆解成图像序列从中选取验证图像。程序基于Matlab2013a,实验环境采用Windows7,CPU Inter CORETMi5 (2.5 GHz),RAM 4 GB。实验验证230幅图像,其中19幅图像未能准确提取钢轨曲线,5幅图像未能提取钢轨曲线,本文算法正确率为89.6%,而文献[6]中检测算法正确率为77%。文献[13]中算法检测正确率为89%,平均耗时为0.056 s。本文算法平均耗时为0.042 s,具有较好的实时性。验证结果比较见表1。
表1 验证结果比较
如图10(a)、(b)所示,在正常运行条件下本文提出的基于Hough变换和Catmull-Rom样条曲线的钢轨检测算法能够较为准确的拟合实际的钢轨曲线。如图10(c)、(f)所示,人为引入斑点噪声与人为增加亮度模拟光照变化,仍能够较为准确的提取钢轨曲线,具有较好的鲁棒性。如图10(d)所示,在隧道内由于光照不足的影响导致本文的钢轨检测算法在近景区域与实际的钢轨曲线产生了一定的偏差,但在远景区域影响减小仍能够提取出钢轨曲线。本文提出的基于Hough变换和Catmull-Rom样条曲线的钢轨检测算法在不同运行环境下仍能够较为准确地提取钢轨曲线,具有较好的鲁棒性。
图10 实验验证结果图
6 结 论
本文提出基于Hough变换和Catmull-Rom样条曲线的钢轨检测算法对钢轨曲线进行描述。实验结果证明,该算法能够较好适应不同环境场景,且能较为准确实现钢轨不同模型的拟合,具有一定的鲁棒性。本文提出的算法可进一步结合雷达、多目视觉等传感器监测技术提高铁路异物侵限的检测水平。
[1] TENG Z, LIU F, ZHANG B P. Visual railwaydetection by superpixel based intracellular decisions [J]. Multimedia Tools and Applications, 2016, 75(5): 2473-2486.
[2] CATALANO A, BRUNO F A, GALLIANOC, et al. An optical fiber intrusion detection system for railway security [J]. Sensors & Actuators: A Physical, 2017(253):91-100.
[3] POTEKHIN A I, BRANISHTOV S, KUZNETSOV S. Discrete-event models of a railway network [J]. Automation and Remote Control, 2016, 77(2):344-355.
[4] 王忠立, 蔡伯根. 一种基于几何约束的轨道提取方法研究[J]. 交通运输系统工程与信息, 2017(6): 56-62, 84.
[5] 刘丽瑶, 陈强, 李艳娜, 等. 应用二阶Harris算子的高铁轨道近景影像特征点提取[J]. 测绘科学, 2015, 40(5): 84-88.
[6] 李睿, 武晓春. 基于数字图像处理的直线型铁轨的自动识别[J]. 电视技术, 2014, 38(3): 167-169.
[7] 居耀勇, 陈黎. 基于主方向迭代校正的铁轨检测算法[J]. 武汉科技大学学报, 2012, 35(6): 473-477.
[8] 李阳腾龙, 岑敏仪, 白璇, 等. 高速铁路轨道检测的横向偏差算法研究[J]. 铁道学报, 2016, 38(8): 119-126.
[9] 王前选, 梁习锋, 刘应龙, 等. 铁路钢轨视觉识别检测方法[J]. 中南大学学报:自然科学版, 2014, 45(7): 2496-2502.
[10] HUANG Z P, HAN L, GONG GH. A local adaptive Catmull-Rom to reduce numerical dissipation of semi-Lagrangian advection [J]. Computer Animation and Virtual Worlds, 2015, 26(2): 141-146.
[11] 郭碧, 董昱. 基于分段曲线模型的铁路轨道检测算法[J]. 铁道科学与工程学报, 2017, 14(2): 355-363.
[12] GONZALEZ R C, WOODS R E, EDDINS S L. Digital image processing using MATLAB [M]. 3rd ed. Beijing: Publishing House of Electronics Industry, 2012: 296-302.
[13] GONZALEZ RC, WOODS RE. Digital image processing [M]. 3rd ed. Beijing: Publishing House of Electronics Industry, 2017: 476-493.
Rail Detection Algorithm Based on Hough Transform and Catmull-Rom Spline Curve
JIANG Ze, DONG Yu
(College of Automation and Electrical Engineering, Lanzhou Jiaotong University, Lanzhou Gansu 730070, China)
Focusing on the problem of low accuracy of the rail identification in the existing rail detection algorithm, this paper proposes an algorithm based on Hough transform and Catmull-Rom spline curve. Firstly, the image is denoised and pre-processed, and Canny edge detection algorithm is used for edge detection. Then Hough transform is used to detect the straight track, and the track model is determined according to the vanishing point of the straight track. Finally, the curved track is searched for the characteristic points of the curved track using the bifurcation window. The selected feature points are fitted with Catmull-Rom spline curve fitting curves. Experiments show that the algorithm not only can accurately fit the rail curve, but also displays good accuracy and robustness.
rail inspection; curved rail fitting; Catmull-Rom spline curve
U 284
10.11996/JG.j.2095-302X.2018061078
A
2095-302X(2018)06-1078-06
2018-03-22;
2018-05-07
国家自然科学基金项目(61763023)
姜 泽(1993-),男,山东胶州人,硕士研究生。主要研究方向为交通信息工程及控制。E-mail:978715987@qq.com