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