铁路钢轨视觉识别检测方法

2014-04-01 00:59王前选梁习锋刘应龙鲁寨军彭灿
关键词:钢轨差分灰度

王前选 ,梁习锋 ,刘应龙,鲁寨军 ,彭灿

(1. 中南大学 轨道交通安全教育部重点实验室,湖南 长沙,410075;2. 中南大学 交通运输工程学院,湖南 长沙,410075;3. 轨道交通安全协同创新中心,湖南 长沙,410075;4. 湖南科创信息技术股份有限公司,湖南 长沙,410009)

确保列车运行安全是铁路运输永恒的主题,然而,我国地理环境复杂、气候变化多样,特别是新疆、内蒙古、青海、西藏等西北部地区铁路经常受到大风、风沙、暴雪的侵袭,引起的沙雪等异物入侵事件严重威胁着列车运行安全[1-3]。在新疆兰新(兰州—新疆)铁路了墩、十三间房等路段,由大风引起的沙雪等异物入侵事件曾多次造成列车脱轨翻车事故:因此,对沙雪等异物入侵事件监测是铁路安全监测的重要内容之一[4-5]。随着机器视觉技术的发展,视频监测在铁路安全监测中的应用越来越广泛[6],然而,国内外学者利用视频图像技术对沙雪等异物入侵事件监测的研究较少[7-9]。对沙雪等异物入侵事件监测的前提是对监测图像中铁路钢轨进行准确识别[10-11],其识别的正确率直接影响监测结果的有效性。利用数字图像处理的方法正确识别钢轨,首先要分析钢轨在监测图像中的特征。钢轨在监测图像中具有3 个特征[12]:(1) 材质一致、磨损基本均匀,在同一幅图像中,钢轨表面灰度基本一致;(2) 钢轨与路基、枕木等其他设施的光照反射率不一致,钢轨边缘具有很强的灰度边缘特征;(3) 钢轨在监测图像中表现为长且连续的线。基于钢轨在监测图像中的特征,采用数字图像处理对钢轨进行识别检测得到了广泛研究,然而,目前的钢轨识别检测方法在监测图像背景复杂的情况下仍然包含较多的非钢轨物体。为此,本文作者结合Radon 变换思想,推导出用于钢轨识别检测的Bresenham 直线算法,提出钢轨直线检测实现方法。在此基础上,得到一种基于图像处理的钢轨识别检测方法,兰新(甘肃兰州—新疆乌鲁木齐)铁路现场试验验证了钢轨识别检测方法的计算效果。

1 基于Radon 变换的钢轨检测流程

1.1 Radon 变换

1个n 维函数f (x1, x2, x3, …, xn)的Radon 变换[13-15]定义为n-1 维超平面上的积分值。当n=2 时,Radon变换是计算图像在某一指定角度射线方向上的投影变换,即图像在确定方向上的线积分,反映了图像在不同方向上的投影性质。二维平面函数 I (x , y)的Radon变换原理如图1 所示,变换公式如下:

式中:D 为整个图像平面;I(x,y)为图像上点的灰度;θ 为投影线与水平轴的夹角;δ 为Direact 函数;ρ 为函数f(x,y)上的点在投影线的投影点到中心点的距离。Radon 变换将图像从灰度平面映射到参数(ρ ,θ)平面,对图像函数求出各个θ 的投影,从而对图像进行全角度观察。若图像中存在直线,则直线在法线方向投影最大,在参数平面(ρ0,θ0)处该直线会形成1 个峰值,通过提取峰值对应的(ρ0,θ0),可以得到图像平面中直线的斜率和偏移量。

图1 Radon 变换原理Fig.1 Principle of Radon transform

图2 图像中心点和角θ 的选取Fig.2 Choice of image center point and θ

1.2 钢轨检测算法流程

在Radon 变换中,选取图像的中心坐标(x,y)作为计算基点,角θ 的取值为经过中心点的直线与X 轴正方向之间的夹角,图像中心点与角θ 的选取如图2 所示。该角度的取值范围为-90°~90°,算法计算步长为1°。对每个角度,沿经过图像中心点、与X 轴呈该角度的直线ab 对灰度进行积分,并用参与积分的像素个数进行归一化,然后对积分进行差分。若该角度下存在差分的绝对值最大值大于10,即可认为该角度存在直线,差分最大值在差分向量中的位置反映了该直线在图像中的位置。由于直线方程y=mx+b 的斜率是角度θ 的正切值,而b 可由差分最大值在差分向量中的位置计算得到,所以,钢轨的直线方程可以由此确定。钢轨检测算法流程如图3 所示。

图3 钢轨检测算法流程Fig.3 Process of railway rail detection algorithm

2 坐标系定义与转换

在计算监测图像中的铁路钢轨直线方程y=mx+b过程中,涉及到欧几里得坐标系和图像坐标系。欧几里得坐标系的原点在图像的左下角,X 轴的正方向水平向右,Y 轴的正方向垂直向上,而图像坐标系的坐标原点在图像的左上角,X 轴的正方向水平向右,Y轴的正方向垂直向下,因此,欧几里得坐标系与图像坐标系的转换方程为:

其中:(xe, ye)为欧几里得坐标系坐标;(xp, yp)为图像坐标系坐标;nrow为监测图像的行数。

3 Bresenham 直线检测算法

3.1 Bresenham 算法推导

当选取1 个角度θ,确定直线ab 后(如图2 所示),为了沿ab 对像素灰度进行积分,采用Bresenham 算法计算出该直线y=mx+b 经过哪些像素。Bresenham 算法是计算机图形学中为“显示器(屏幕或打印机)系由像素构成”的这个特性而设计出来的算法,使得在求直线各点的过程中全部以整数来运算。其原理是:过各行、各列像素中心构造一组虚拟网格线,按直线从起点到终点的顺序计算直线各垂直网格线的交点,然后确定该列像素中与此交点最近的像素。直线ab 斜率0<m<1 时,Bresenham 算法推导过程如下(当直线ab斜率m>1,-1<m<0 和m<-1 时的推导过程类似)。直线ab 斜率在0<m<1 时的示意图见图4。

图4 中黑色圆点的y 为

其与像素yk+1的距离为

与像素yk的距离为

两者之差为

令m=Δy/Δx

令pk=ΔdΔx ,则

当 Δd >0 时,pk>0,黑色圆点离像素yk+1更近,yk+1取为yk+1,则

当 Δd <0 时,pk<0,黑色圆点离像素yk更近,pk<0,yk+1取为yk,则

递推关系式(13)和(14)与yk+1的取值直接关联,决定了直线下一个像素值的位置。 Δx 和 Δy 是直线2 个端点之间的坐标差值,将m=Δy/ Δx 代入Δd⋅Δx,可得

3.2 直线段端点的选取

为保证在Bresenham 算法中P1点在P2点左边,需根据图像的对角线角度对直线进行分类。首先判断直线是否为垂直线或水平线,若是,则按横坐标都相同或纵坐标都相同输出坐标点,其余的情况如图5 所示。图5 中,P1和P2的坐标均为图像坐标系下的坐标,ncol,nrow分别为点P1或点P2的x 坐标、y 坐标的值。

图5 直线与图像边缘交点情况Fig.5 Intersections situations between straight line and image edge

从图5(a)和图5(b)可见:当0<θ≤arctan(nrow/ncol),-arctan(nrow/ncol)≤θ<0 时,P1为直线ab 与图像第1列的交点,x 坐标为1,y 坐标为tan θ·1+b;P2为直线ab 与图像最后1 列的交点,x 坐标为ncol,y 坐标为tan θ·ncol+b(其中,ncol为图像的列数)。从图5(c)可见:当θ>arctan(nrow/ncol)时,P1为直线ab 与图像最下面1行的交点,y 坐标为nrow,x 坐标为(nrow-b)/tan θ;P2为直线ab 与图像最上面1 行的交点,y 坐标为1,x坐 标 为(1-b)/tan θ。从 图 5(d)可 见:当 θ <-arctan(nrow/ncol)时,P1为直线ab 与图像最上面1 行的交点,即y 坐标为1,x 坐标为(1-b)/tan θ;P2为直线ab 与图像最下面1 行的交点,y 坐标为nrow,x 坐标为(nrow-b)/tan θ。

3.3 Bresenham 算法实现

按上述直线段端点的选取方法选取直线ab 与图像相交的2 个端点P1和P2,其中点P1在点P2的左端。

第1 步:计算2 点之间的坐标值差异 Δx 和 Δy :

第2 步:计算初始值p0。

当直线ab 斜率0<m<1 和m>1 时,

当直线ab 斜率-1<m<0 和m<-1 时,

第3 步:对贯穿图像的每个x 或y,计算Pk+1。

(1) 当直线ab 斜率0<m<1 时,对贯穿图像的每个x,若 Pk<0,则

若 Pk>0,则

(2) 当直线ab 斜率m>1 时,对贯穿图像的每个y,若 Pk<0,则

若 Pk>0,则

(3) 当直线ab 斜率-1<m<0 时,对贯穿图像的每个x。若 Pk<0,则

若 Pk>0,则

(3) 当直线ab 斜率m<-1 时,对贯穿图像的每个y。若 Pk<0,则

若 Pk>0,则

4 直线检测算法实现

在执行完Bresenham 直线检测算法后,得到图像中每个角度对应的经过图像中心的直线,并得到该直线经过的所有像素点坐标值。将该直线对整幅图像偏移,同时沿该直线对像素值进行积分,如图6 所示。

图6 直线偏移的4 种情况Fig.6 Four cases of linear migration

如图6(a)和图6(b)所示,直线在图像中作垂直偏移。每次偏移后,像素点的x 坐标不变,y 坐标加1或减1,y 坐标的偏移量分别为[-y1,nrow-y2]和[nrow-y1,y2];如图6(c)和图6(d)所示,直线在图像中进行水平偏移,每次偏移后,像素点的y 坐标不变,x 坐标加1或减1,x 坐标的偏移量均为[-x2,ncol-x1]。图中直线每偏移1 次,则沿该直线进行像素值进行积分,同时计算参与积分的像素个数,并将积分值除以像素个数予以归一化。当直线偏移到图像的两端时,直线的一部分会超出图像界限,在计算中令此种点的像素值为0,仅有较少的图像像素参与计算,所得的归一化数据很大,这会对积分最大值的正常选取造成干扰,因此,对偏移到直线两端的n 个位置不予计算,n 的取值应根据实际情况合理选取。

对图像沿特定角度的直线进行积分,得到1 个像素值累加平均值的向量,对该向量进行差分,得到1个差分向量。当差分的绝对值大于一定值N 时,则在图像中检测到直线,N 的取值取决于所处理的图像。该最大值在向量中的位置对应检测到的直线在图像中的位置,该位置可用于计算直线相对于经过图像中心点直线的偏移量。直线的斜率是角度θ 的正切值,将直线上的任意一点代入直线方程可得出直线截距。

5 计算结果与分析

为了验证钢轨检测算法的检测效果,在兰新铁路进行现场试验,摄像机和照明光源云台安装在兰新铁路红层车站西约800 m上行线编号为0650的接触网立柱上,现场安装如图7 所示,由现场摄像机拍摄的监测图像如图8 所示。

图7 摄像机和照明光源现场安装Fig.7 Field installation of camera and lighting light source

图8 现场监测图像Fig.8 Field monitoring image

对图8 中2 条钢轨进行灰度积分,等同于将图中2 条钢轨沿顺时针旋转至与X 轴垂直,然后,将整幅图像对X 轴进行投影再进行积分。旋转后的图像如图9 所示,图像平均灰度曲线如图10 所示,积分得到的灰度向量和差分向量分别如图12 和图13 所示。

由图10 可以看出:图像平均灰度曲线在中间部分有2 个明显峰值,该2 个峰值即对应图中1 号和2 号钢轨位置的平均灰度。在图像边缘部分,由于参与积分的像素较少,平均后的像素值波动将较大,为了不发生钢轨直线位置误判,在图像处理过程中将差分的最初n 个点和最后n 个点去掉(本次计算n=30),则可得出理想的积分向量的差分向量曲线。钢轨所在直线检测结果如图12 和图13 所示。

图9 旋转后的监测图像Fig.9 Monitoring images after rotation

图10 图像平均灰度Fig.10 Average gray value of image

图11 计算结果Fig.11 Calculation result

由图12 可以看出:图12(a)中的曲线峰值是1 号钢轨所在直线的积分值,图12(b)中曲线峰值即差分最大值则对应着1 号钢轨直线所在位置。

由图13 可以看出:图13(a)中的曲线峰值是2 号钢轨所在直线的积分值,图13(b)中曲线峰值即差分最大值则对应着2 号钢轨直线所在位置。从图10 可以看出:由本文提出的铁路钢轨视觉检测算法计算得出的2 条直线准确落在监测图像中的2 条钢轨上。在图像坐标系下,1号和2号钢轨所在直线的检测结果见表1。

图12 1 号钢轨检测结果Fig.12 No.1 rail test results

图13 2 号钢轨检测结果Fig.13 No.2 rail test results

表1 钢轨直线检测结果Table 1 Test results of rail lines

据表1,在图像坐标系下,由两点式可求出2 条钢轨所在的直线方程。两钢轨直线方程分别为:

6 结论

(1) 基于钢轨在监测图像中的特征,提出了一种基于Radon 变换思想和Bresenham 直线检测算法的铁路钢轨识别检测方法。

(2) 在兰新铁路现场试验计算得出的2 条直线准确落在监测图像中的两钢轨上,并计算得出了在图像坐标系下的2 条钢轨直线方程。

(3) 该方法可准确检测出监测图像中钢轨所在的直线,即可准确识别检测出监测图像中的铁路钢轨,为准确监测沙雪等异物入侵事件提供了必要支撑。

[1] Maneesha S, Sameer S, Jay J, et al. Autonomous rail track inspection using vision based system[C]// IEEE International Conference on Computational Intelligence for Homeland Security and Personal Safety. Alexandria, USA, 2006: 56-59.

[2] Bogdan S, Andrzej C. Fast detection and impulsive noise removal in color images[J]. Real Time Imaging, 2005, 11(5/6):389-402.

[3] 何茜. 基于双目立体视觉的高速铁路异物侵限检测系统研究[D]. 北京: 北京交通大学机械与电子控制工程学院, 2012:1-6.HE Xi. Research on clearance intrusion detection system for high-speed railway based on binocular stereo vision[D]. Beijing:Beijing Jiaotong University. School of Mechanical and Electronic Control Engineering, 2012: 1-6.

[4] 胡庆武, 陈智勇, 吴莎. 基于移动双目视觉的铁路建筑物限界快速自动检测方法[J]. 铁道学报, 2012, 34(1): 66-71.HU Qingwu, CHEN Zhiyong, WU Sha. Fast and automatic railway building structure clearance detection technique based on mobile binocular stereo vision[J]. Journal of the China Railway Society, 2012, 34(1): 66-71.

[5] Davey J, Wallace A, Stenson N, et al. The experiences and perceptions of heavy vehicle drivers and train drivers of dangers at railway level crossings[J]. Accident Analysis and Prevention,2008, 40(2): 1217-1222.

[6] Susumu K, Tsuyoshi N, Yasukazu O. A global optimization algorithm for real-time onboard stereo obstacle detection systems[C]// Proceedings of the 2007 IEEE Intelligent Vehicles Symposium Istanbul. Turkey, 2007: 13-15.

[7] 同磊. 基于机器视觉的轨道交通线路异物检测技术研究[D].北京: 北京交通大学机械与电子控制工程学院, 2012: 23-40.TONG Lei. A study on railway obstacle detection using machine vision[D]. Beijing: Beijing Jiaotong University. School of Mechanical Electronic and Control Engineering, 2012: 23-40.

[8] 同磊, 朱力强, 余祖俊, 等. 基于车载前视摄像机的轨道异物检测[J]. 交通运输系统工程与信息, 2012, 12(4): 79-84.TONG Lei, ZHU Liqiang, YU Zujun, et al. Railway obstacle detection using onboard forward-viewing camera[J]. Journal of Transportation Systems Engineering and Information Technology,2012, 12(4): 79-84.

[9] 王志斌. 哈大铁路客运专线雪深监测系统研究[J]. 铁道标准设计, 2012(5): 165-168.WANG Zhibin. Approach to snow depth detecting system on Harbin-Dalian passenger dedicated line[J]. Railway Standard Design, 2012(5): 165-168.

[10] 柴世红. 基于边缘检测的铁轨识别[J]. 铁路计算机应用, 2009,18(4): 1-3.CHAI Shihong. Railway recognition based on edge detection[J].Railway Computer Application, 2009, 18(4): 1-3.

[11] 关鹏, 顾晓东, 张立明. 一种基于图像处理的铁轨自动检测方法[J]. 计算机工程, 2007, 33(19): 207-210.GUAN Peng, GU Xiaodong, ZHANG Liming. Automatic railroad detection approach based on image processing[J].Computer Engineering, 2007, 33(19): 207-210.

[12] 郑河荣, 熊丽荣, 王天舟. 基于HOUGH 变换的二维条码图像矫正[J]. 浙江工业大学学报, 2003, 31(2): 169-172.ZHENG Herong, XIONG Lirong, WANG Tianzhou. Study on 2D-Barcode image slant correction based on HOUGH transform[J]. Journal of Zhejiang University of Technology,2003, 31(2): 169-172.

[13] 胡东红, 谭辉, 陈莘萌. Radon 变换在二维条码图像识别中的应用[J]. 武汉大学学报(理学版), 2005, 51(5): 84-88.HU Donghong, TAN Hui, CHEN Xinmeng. The application of Radon transform in the 2D-Barcode image recognition[J].Journal of Wuhan University (Natural Science Edition), 2005,51(5): 84-88.

[14] 马婧, 徐守时, 陈克. 基于Radon 变换的图像角点角度提取算法[J]. 光电工程, 2009, 36(2): 126-131.MA Jing, XU Shoushi, CHEN Ke. Method of angles picked-up of corners in images based on radon transform[J].Opto-Electronic Engineering, 2009, 36(2): 126-131.

[15] 林萌, 李翠华, 黄剑航. 基于Radon 变换的运动模糊图像参数估计[J]. 计算机技术与发展, 2008, 18(1): 33-36.LIN Meng, LI Cuihua, HUANG Jianhang. Parameters estimation of motion blurred images based on radon transform[J]. Computer Technology and Development, 2008, 18(1): 33-36.

猜你喜欢
钢轨差分灰度
RLW-KdV方程的紧致有限差分格式
符合差分隐私的流数据统计直方图发布
采用改进导重法的拓扑结构灰度单元过滤技术
我国钢轨轨型及定尺长度的百年发展历程
数列与差分
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
钢轨焊后双中频感应加热工艺研究
基于最大加权投影求解的彩色图像灰度化对比度保留算法
火车道上为什么铺碎石
基于像素重排比对的灰度图彩色化算法研究