铁路钢轨视觉识别检测方法
王前选1, 2, 3,梁习锋1, 2, 3,刘应龙4,鲁寨军1, 2, 3,彭灿4
(1. 中南大学 轨道交通安全教育部重点实验室,湖南 长沙,410075;
2. 中南大学 交通运输工程学院,湖南 长沙,410075;
3. 轨道交通安全协同创新中心,湖南 长沙,410075;
4. 湖南科创信息技术股份有限公司,湖南 长沙,410009)
摘要:基于钢轨在监测图像中的特征,结合Radon变换思想,推导出用于钢轨识别检测的Bresenham直线算法,提出钢轨直线检测实现方法。在此基础上,得到一种基于图像处理的钢轨识别检测方法,现场试验验证了该检测方法的计算效果。研究结果表明:由该方法计算得出的2条直线准确地落在监测图像中的2条钢轨上,并得出在图像坐标系下的2条钢轨直线方程,说明该方法可准确识别检测出监测图像中的钢轨,为准确监测沙雪等异物入侵事件提供了必要支撑。
关键词:钢轨识别;Radon变换;Bresenham算法;直线检测;异物入侵
中图分类号:U298.12 文献标志码:A 文章编号:1672-7207(2014)07-2496-07
Railway rail identification detection method using machine vision
WANG Qianxuan1, 2, 3, LIANG Xifeng1, 2, 3, LIU Yinglong4, LU Zhaijun1, 2, 3, PENG Can4
(1. Key Laboratory of Traffic Safety on Track, Ministry of Education, Central South University,
Changsha 410075, China;
2. School of Traffic & Transportation Engineering, Central South University, Changsha 410075, China;
3. Collaborative Innovation Center of Traffic Safety on Track, Changsha 410075, China;
4. Hunan Creator Information Technologies Co. Ltd., Changsha 410009, China)
Abstract: Based on the railway rail feature in the monitoring image, combined with the Radon transform idea, the Bresenham line detection algorithm was derived for the railway rail recognition detection, and the railway rail line detection implementation method was proposed. A recognition method for the railway rail based on the image processing was obtained. The field test verified the numeration effectiveness of the method. The results show that the two straight lines calculated by the railway rail recognition detection method accurately fall on the two railway rails in the monitor image, and the two railway rails equations are obtained in the image coordinates, which shows that the method can accurately identify and detect the railway rail in the monitoring image, and can provide the necessary support for accurately monitoring the sand, snow and other foreign matter invasion.
Key words: railway rail recognition; Radon transform; Bresenham algorithms; straight line detection; foreign matter invasion
确保列车运行安全是铁路运输永恒的主题,然而,我国地理环境复杂、气候变化多样,特别是新疆、内蒙古、青海、西藏等西北部地区铁路经常受到大风、风沙、暴雪的侵袭,引起的沙雪等异物入侵事件严重威胁着列车运行安全[1-3]。在新疆兰新(兰州—新疆)铁路了墩、十三间房等路段,由大风引起的沙雪等异物入侵事件曾多次造成列车脱轨翻车事故:因此,对沙雪等异物入侵事件监测是铁路安全监测的重要内容之一[4-5]。随着机器视觉技术的发展,视频监测在铁路安全监测中的应用越来越广泛[6],然而,国内外学者利用视频图像技术对沙雪等异物入侵事件监测的研究较少[7-9]。对沙雪等异物入侵事件监测的前提是对监测图像中铁路钢轨进行准确识别[10-11],其识别的正确率直接影响监测结果的有效性。利用数字图像处理的方法正确识别钢轨,首先要分析钢轨在监测图像中的特征。钢轨在监测图像中具有3个特征[12]:(1) 材质一致、磨损基本均匀,在同一幅图像中,钢轨表面灰度基本一致;(2) 钢轨与路基、枕木等其他设施的光照反射率不一致,钢轨边缘具有很强的灰度边缘特征;(3) 钢轨在监测图像中表现为长且连续的线。基于钢轨在监测图像中的特征,采用数字图像处理对钢轨进行识别检测得到了广泛研究,然而,目前的钢轨识别检测方法在监测图像背景复杂的情况下仍然包含较多的非钢轨物体。为此,本文作者结合Radon变换思想,推导出用于钢轨识别检测的Bresenham直线算法,提出钢轨直线检测实现方法。在此基础上,得到一种基于图像处理的钢轨识别检测方法,兰新(甘肃兰州—新疆乌鲁木齐)铁路现场试验验证了钢轨识别检测方法的计算效果。
1 基于Radon变换的钢轨检测流程
1.1 Radon变换
1个n维函数的Radon变换[13-15]定义为n-1维超平面上的积分值。当n=2时,Radon变换是计算图像在某一指定角度射线方向上的投影变换,即图像在确定方向上的线积分,反映了图像在不同方向上的投影性质。二维平面函数的Radon变换原理如图1所示,变换公式如下:
(1)
(2)
(3)
式中:D为整个图像平面;为图像上点的灰度;为投影线与水平轴的夹角;为Direact函数;为函数上的点在投影线的投影点到中心点的距离。Radon变换将图像从灰度平面映射到参数平面,对图像函数求出各个的投影,从而对图像进行全角度观察。若图像中存在直线,则直线在法线方向投影最大,在参数平面处该直线会形成1个峰值,通过提取峰值对应的,可以得到图像平面中直线的斜率和偏移量。
图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轴的正方向垂直向下,因此,欧几里得坐标系与图像坐标系的转换方程为:
(4)
(5)
其中:(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 直线ab斜率在0<m<1时的示意图
Fig. 4 Schematic diagram of ab line slope when 0<m<1
图4中黑色圆点的y为
(6)
其与像素yk+1的距离为
(7)
与像素yk的距离为
(8)
两者之差为
(9)
令
(10)
令,则
(11)
即
(12)
当>0时,pk>0,黑色圆点离像素更近,取为,则
(13)
当<0时,pk<0,黑色圆点离像素yk更近,pk<0,取为yk,则
(14)
递推关系式(13)和(14)与的取值直接关联,决定了直线下一个像素值的位置。和是直线2个端点之间的坐标差值,将代入,可得
(15)
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点之间的坐标值差异和:
(16)
(17)
第2步:计算初始值p0。
当直线ab斜率0<m<1和m>1时,
(18)
当直线ab斜率-1<m<0和m<-1时,
(19)
第3步:对贯穿图像的每个x或y,计算。
(1) 当直线ab斜率0<m<1时,对贯穿图像的每个x,若<0,则
; (20)
若>0,则
; (21)
(2) 当直线ab斜率m>1时,对贯穿图像的每个y,若<0,则
; (22)
若>0,则
; (23)
(3) 当直线ab斜率-1<m<0时,对贯穿图像的每个x。若<0,则
; (24)
若>0,则
; (25)
(3) 当直线ab斜率m<-1时,对贯穿图像的每个y。若<0,则
; (26)
若>0,则
; (27)
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条钢轨所在的直线方程。两钢轨直线方程分别为:
(28)
(29)
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]. JournalofWuhanUniversity (NaturalScienceEdition), 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.
(编辑 陈灿华)
收稿日期:2013-09-10;修回日期:2013-12-02
基金项目:湖南省科技计划重点项目(2013SK2006);中国铁路总公司科技研究开发计划项目(2013T002-A-1-1)
通信作者:王前选(1982-),男,江苏宿迁人,博士研究生,从事列车空气动力学、行车环境与安全的研究;电话:13974837485;E-mail: wqxzndx@163.com