姜 澤,董 昱
?
基于Hough變換和Catmull-Rom樣條曲線的鋼軌檢測算法
姜 澤,董 昱
(蘭州交通大學自動化與電氣工程學院,甘肅 蘭州 730070)
針對現(xiàn)有的鋼軌檢測算法中對于鋼軌識別準確性不高的問題,提出一種基于Hough變換和Catmull-Rom樣條曲線的鋼軌檢測算法。首先對圖像進行降噪預處理,利用Canny邊緣檢測算法進行邊緣檢測,然后利用Hough變換檢測直軌,根據直軌消失點確定軌道模型,最后針對彎軌利用等分窗口搜索彎軌特征點,對選取的特征點進行Catmull-Rom樣條曲線擬合彎軌。實驗表明,該算法不僅能夠準確擬合鋼軌曲線,而且具有較好的準確性和魯棒性。
鋼軌檢測;彎軌擬合;Catmull-Rom樣條曲線
近年來,隨著鐵路快速發(fā)展,列車運行的安全問題日益突出,然而傳統(tǒng)的靜態(tài)異物侵限檢測系統(tǒng)已經不能滿足鐵路系統(tǒng)高速發(fā)展的需求[1-3]。針對異物侵限,需要提取鋼軌作為建立限界的依據[4],由于天氣、光照等外界因素與鐵路上軌枕、道砟、固定轉轍機的角鋼、應答器等一系列設備影響,導致鋼軌提取算法的準確性與實時性有待提高。因此,精確且快速提取鋼軌的算法顯得十分必要。目前,針對基于視覺的鋼軌檢測算法主要分為基于特征的方法和基于模型的方法[5]。前者具有較好的準確性,但易受光照、陰影的影響。由于該類算法主要利用鋼軌軌面的邊緣梯度和紋理對比等特性,導致運算量較大,不利于鋼軌提取的實時性[6-7],后者將鋼軌在圖像中的提取轉換為鋼軌模型的擬合,此方法選取鋼軌模型簡單,所需運算量較小,對于光照、陰影等有一定的抗干擾能力,具有較好的魯棒性[8]。王前選等[9]采用的 Bresenham直線算法能有效擬合直線模型,但未給出描述彎軌的數(shù)學模型。既能準確擬合鋼軌曲線的數(shù)學模型又能滿足算法的魯棒性是擬合圖像中鋼軌曲線的重中之重。本文提出了一種基于Hough變換和Catmull-Rom樣條曲線的鋼軌檢測算法,設置等分窗口搜索算法,通過基于Hough變換和Catmull- Rom樣條曲線模型以鋼軌特征分直軌、彎軌進行描述,以提高算法的準確性和魯棒性。
本文采用的基于Hough變換和Catmull-Rom樣條曲線的鋼軌檢測算法主要步驟及其理論支撐框架如圖1所示。
圖1 鋼軌識別算法框架圖
本文算法共包括5個步驟,其中本文的創(chuàng)新點是鋼軌模型識別與彎軌模型擬合。在鋼軌模型識別中采用Hough變換計算左右直軌消失點,通過左右直軌消失點與圖像在坐標中軸坐標中值比較,判斷鋼軌為直軌或彎軌;在彎軌模型擬合中采用改進Catmull-Rom樣條曲線,將遠景區(qū)域等分,利用等分窗口在遠景等分區(qū)域搜索選取彎軌特征點,并將彎軌特征點作為輸入值輸入Catmull-Rom樣條函數(shù)中,通過Catmull-Rom樣條函數(shù)擬合遠景區(qū)域的彎軌,彎軌中的近景區(qū)域的直軌采用Hough變換直接提取,如此構成了鋼軌彎軌模型中的近景與遠景區(qū)域的彎軌曲線擬合。
原始鋼軌圖像如圖2(a),計算機視覺在針對原始鋼軌圖像處理過程中需要考慮機車抖動引起的鋼軌在圖像中位置的變換,且需要過濾大量的背景信息引入的干擾。將原始圖像進行灰度化處理后采用諧波均值濾波器進行降噪處理,預處理如圖 2(b)所示。
針對鋼軌在數(shù)字圖像中與背景信息在亮度與色彩上呈現(xiàn)明顯對比,而且鋼軌在數(shù)字圖像中具有固定的方向性,算法采用基于Canny邊緣檢測器算法。如圖2(c)所示,傳統(tǒng)的Canny邊緣檢測器能夠比較全面的提取原始圖像中的各類邊緣信息但非所需的鋼軌邊緣信息。本文針對這一現(xiàn)象在Canny算法中提出改進。
在Canny邊緣檢測過程中使用滯后閾值處理的方法對脊線像素進行閾值處理,使用閾值1和2,其中1<2。通過設置閾值1=0.47,閾值2=0.16來剔除水平邊緣信息的同時保留傾斜邊緣信息。如圖2(d),經改進的Canny算法能夠較好地提取鋼軌邊緣信息且過濾非目標邊緣信息。
圖2 鋼軌邊緣檢測初始化過程
鋼軌在數(shù)字圖像中可分為直軌、彎軌,在近景區(qū)域直軌特征明顯,由于直軌模型無法描述遠景彎軌模型,因而將鋼軌圖像劃分為近景和遠景區(qū)域,采用基于Hough變換和Catmull-Rom樣條曲線模型擬合鋼軌曲線。
根據車載攝像頭的安裝角度與空間物理可知在圖像中,直軌的直線模型為兩條相交于一點的射線;彎軌分為近景區(qū)域的直線模型與遠景區(qū)域的曲線模型。
如圖3所示,以圖像左上頂點為原點,以像素為基本單位,建立坐標體系。消隱點vanish通過Hough變換中的函數(shù)Houghlines進行計算,將在下文參數(shù)求解中進行詳細說明。
圖3 鋼軌模型圖
如圖4所示,對于任何一個邊緣點,找到所有可能經過該點的直線,且每條都對應著參數(shù)空間中的一個點,而無窮多條之間對應于極坐標系下的點將形成一條極坐標系下的曲線,重復上面過程,每個邊緣點都對應于極坐標系下的一條曲線,那么,極坐標系下(參數(shù)空間)所有這些曲線的交點一定是原圖像中所有邊緣點共同存在的直線。Hough變換對噪聲、不均勻照明引起的邊緣斷裂和引入雜散灰度不連續(xù)具有較強的適應性。
圖4 Hough變換原理圖
圖5 Hough變換結果圖
在Hough變換中利用Houghlines函數(shù)通過對選取的所有特征點擬合成直軌[10-11],根據取鋼軌直線擬合結束點的橫坐標可得近景遠景的邊界值即V=311。根據Hough變換并結合標準直線模型可得左右直軌的直線模型,并根據左右直軌直線模型相交點可得消隱點為disappear=(208,231)。
結合式(1)、(2)可得圖6近景區(qū)域直軌模型參數(shù)表達式
3.3.1 Catmull-Rom樣條函數(shù)
3.3.2 Catmull-Rom樣條曲線控制點
通過對Catmull-Rom樣條曲線分析可以發(fā)現(xiàn),Catmull-Rom樣條曲線除了首尾兩點之外經過所有控制點;與其他數(shù)學模型相比所需控制點較少且能生成任意形狀的曲線,更適合擬合彎軌。由于Catmull-Rom樣條曲線至少需要4個控制點,而Catmull-Rom樣條曲線不通過首尾兩點,因此提出一種新的控制點選取方法。
如圖7所示,有4個控制點、、、而Catmull-Rom樣條曲線不會經過點和點,因此需要引入兩個新的控制點′和′。其中′由計算所得,′有計算所得,其公式為
同理,′點計算類似,于是,通過′可以得到曲線,通過′可以得到曲線,經過3次計算,可以得到曲線。
圖7 Catmull-Rom樣條曲線擬合結果圖
如圖8所示,基于Hough變換和Catmull-Rom樣條曲線的鋼軌檢測算法主要包括初始化、近景直軌定位和遠景曲線擬合3個部分?;贖ough變換和Catmull-Rom樣條曲線的鋼軌檢測算法流程在順序循環(huán)過程中模塊之間相互切換根據各部分判斷條件進行。鋼軌識別過程中順序讀入圖像幀,經過鋼軌模型判斷確定鋼軌模型,根據相應鋼軌模型擬合對應鋼軌曲線,如果鋼軌特征檢測不成功,系統(tǒng)自動返回讀取圖像模塊。
鋼軌識別算法具體步驟如下:
步驟1. 讀取視頻圖像幀作為待處理圖片。
步驟2. 對圖像進行降噪、灰度化以及Canny邊緣檢測。
步驟3. 利用3.2節(jié)中的算法進行Hough變換檢測直軌并記錄左右直軌消失點坐標(disappear,disappear)作為判斷近景遠景區(qū)分的依據。
步驟4.disappear-0.5<其中,為圖像在坐標軸總長度,disappear為左右直軌消失點坐標值,為設定閾值令=5。將左右直軌消失點的坐標disappear與圖像在坐標軸總長度的二分之一作比較,如果disappear–0.5>說明左右直軌消失點在圖像軸總長度二分之一的下方,即鋼軌模型為彎軌模型,算法進入擬合彎軌曲線模型流程;如果disappear–0.5<說明左右直軌消失點在圖像軸總長度二分之一的上方,即鋼軌為直軌模型,算法進入擬合直軌直線模型流程。
圖8 鋼軌識別算法流程圖
步驟6.在起始邊界點建立初始檢測窗,提取窗口灰度、梯度、方向角和軌距特征,建立軌道邊界點置信度函數(shù),設置信范圍,依據前一分區(qū)邊界特征點位置設置本分區(qū)感興趣區(qū)域,其中第一特征點窗口感興趣區(qū)域為起始窗口上方1分區(qū)內×Δ的區(qū)域內,檢測窗口移動步長小于等于Δ,移動窗口不允許重合,采用自中間向兩邊的搜索次序,分別記錄檢測窗口漂移過程中得到的置信度函數(shù)值。提取并記錄置信度函數(shù)值最大2個的特征檢測窗口坐標(u,v)[11]。
圖9 鋼軌特征點檢測示意圖
步驟7. 判斷Catmull-Rom樣條曲線擬合點是否提取成功。若不成功重新返回初始化部分,若成功則進入Catmull-Rom樣條曲線擬合流程。
步驟8. 將左側彎軌檢到4個測特征點(v,u)分別作為輸入參數(shù)分別賦值給Catmull-Rom樣條函數(shù)中的點、、、,進行曲線擬合。
步驟9. 順序讀入下一幀圖像重復上述過程。
本文選用寶雞—蘭州客運專線運行區(qū)間,CHR380型車載攝像頭采集實時運行視頻,包括軌道、橋梁、軌道陰影、隧道等實際現(xiàn)場運行情況,將視頻拆解成圖像序列從中選取驗證圖像。程序基于Matlab2013a,實驗環(huán)境采用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)所示,在隧道內由于光照不足的影響導致本文的鋼軌檢測算法在近景區(qū)域與實際的鋼軌曲線產生了一定的偏差,但在遠景區(qū)域影響減小仍能夠提取出鋼軌曲線。本文提出的基于Hough變換和Catmull-Rom樣條曲線的鋼軌檢測算法在不同運行環(huán)境下仍能夠較為準確地提取鋼軌曲線,具有較好的魯棒性。
圖10 實驗驗證結果圖
本文提出基于Hough變換和Catmull-Rom樣條曲線的鋼軌檢測算法對鋼軌曲線進行描述。實驗結果證明,該算法能夠較好適應不同環(huán)境場景,且能較為準確實現(xiàn)鋼軌不同模型的擬合,具有一定的魯棒性。本文提出的算法可進一步結合雷達、多目視覺等傳感器監(jiān)測技術提高鐵路異物侵限的檢測水平。
[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]. 交通運輸系統(tǒng)工程與信息, 2017(6): 56-62, 84.
[5] 劉麗瑤, 陳強, 李艷娜, 等. 應用二階Harris算子的高鐵軌道近景影像特征點提取[J]. 測繪科學, 2015, 40(5): 84-88.
[6] 李睿, 武曉春. 基于數(shù)字圖像處理的直線型鐵軌的自動識別[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