鐵路安全監測是列車安全運行的保障,采用視頻監測技術的自動識別也是今后發展的趨勢。而鐵軌的自動識別是安全監測的關鍵.
在監測到的鐵路圖像,軌道表面亮度與相鄰區域呈階躍性變化,適合于邊緣檢測的分割技術。在提取到的邊緣圖像中,鐵軌邊緣和其他物體的邊緣混淆在一起,利用直型鐵軌的直線型特征,通過 Hough 變換提取到鐵軌連續的直線邊緣。
1 Hough 變換原理及實現方式
Hough 變換的思想是點-線的對偶性.在直角坐標系中的直線,映射到極坐標戲中就是一個點,這一點對應的角度和距離映射到直角坐標系中為直線的垂線與 X軸的角度 θ 和它的長度 ρ。其映射關系表達式為ρ = xcosθ + ysinθ ( 1)在算法實現過程中,圖1 所示在同一條直線上的離散點,在對應的極坐標系中為連續的多條曲線,它們的交點對應的就是直線的參數。所以,程序設計的思想就是統計參數空間相交點的曲線個數?!緢D1】
2 邊緣提取
直線檢測的前提就是對圖像進行邊緣提取。圖像邊緣檢測的實質是采用某種算法求出圖像中對象與背景間的交界線,圖像灰度變化的情況可以用圖像灰度分布的梯度來反映,因此可以用局部圖像微分技術來獲得邊緣檢測算子,經典的邊緣檢測算子有 Roberts 邊緣檢測算子、Sobel邊緣檢測算子、Prewitt邊緣檢測算子及 Canny邊緣檢測算子等,上面幾種算子的邊緣提取效果如圖2 所示?!緢D2】
通過圖 2 的比較分析可以得出邊緣檢測算子的特點:
1) Roberts 算子的邊緣定位精度較高,但是很容易出現部分邊緣的丟失。
2) Sobel 算子和 Prewitt 算子邊緣定位較準確且比較連續,但是邊緣容易出現多像素值的寬度。
3) Canny 算子效果最好,不僅邊緣定位準確度高,而且邊緣較細。
比較分析得出選取 Canny 算子作為鐵軌邊緣的提取算子效果會好些。
3 鐵軌識別的 MATLAB 程序設計
1) 圖像分割: 為了提高程序運算速度,將圖片劃分為幾個塊。本文將圖像劃分為大小基本相同的兩塊。雖然Hough 變換有多種改進算法,其識別時間和圖像分塊處理后的識別時間相差不大.
2) 圖像灰度化處理: 提取到的現場圖像為 RGB 圖,為了降低圖像的運算點數,所以圖像必須對圖像灰度化處理。
3) 圖像邊緣化提?。?由于 Canny 算子具有邊緣定位準確度高、且邊緣較細的特點,本文選取 Canny 算子為邊緣提取算子。
4) 直線點提?。?這一步是算法的核心部分。圖像邊緣化處理后提取到的圖片內的離散像素點之間能構成無數條在同一直線上的點,例如,每兩個像素點之間就是一條直線。那么如何有效地提取到主直線的像素點就是程序設計的核心。
將參數空間劃分為 m × n 個單元,設置累加器矩陣Zm ×n( i ,j) 和存儲器矩陣Q( i ,j) ,其中m 和n 分別為參數空間長度 ρ 和角度 θ 的等分數,給累加器置初值0.掃描邊緣提取到的二值圖像,將其坐標( Xi,Yi) 代入 Hough 變換表達式中,求出相應的ρ值和θ值,在其對應的累加器中加1,即 Zm ×n( i ,j) = Zm ×n( i ,j) + 1,在遍歷整個圖像后,累加器中值較大空間對應在 Q 中的圖像坐標點就是直線點集合的坐標點。
5) 直線方程構建: 上一步提取到構成直線的像素點的坐標集合是不連續的,運用最小二乘法將構成直線的像素點的集合擬合出直線方程,再根據直線方程構建出坐標連續的直線。
6) 直線的濾除: 鐵路圖像中,包括大量的直線信息,其中有枕木邊緣構成的直線。但是枕木邊緣直線和鐵軌邊緣直線斜率相差較大,通過直線斜率的選取能夠有效提取到鐵軌邊緣。
7) 鐵軌的提?。?每條鐵軌都有 2 個邊緣,鐵軌就夾在2 個邊緣直線之間。通過檢測到的直線提取得到鐵軌。
8) 圖像的合成: 將分塊處理的圖像檢測到的鋼軌融合在一起。
4 實驗結果及分析
本文以 Pentium IV 2. 0 GHz 計算機為硬件,以 MAT-LAB7. 0 作為軟件開發工具按照上面步驟設計算法程序。以677 ×538 像素的鐵路 RGB 圖為例,對算法進行測試驗證。
由圖3 可以看出將邊緣提取到的不連續的鐵軌邊緣變為連續的鐵軌邊緣,同時濾除了其他物體的邊緣,隨著圖像深度的加大,鐵軌之間的像素點數目也進一步縮小,直至最后相交。圖4 是提取到的鐵軌和原來圖像中鐵軌位置的比較,可以看出鐵軌軌面上幾乎所有的像素點都提取到了,且識別的鐵軌和原來鐵軌位置很好地吻合,圖中紅色區域為識別到的鐵軌。圖 5、圖 6 為圖像加噪和遮擋后的識別效果圖,表明圖像加噪、遮擋后依然能夠準確地識別。表1 為算法程序處理不同像素值圖像的時間,在像素不高的情況下,識別時間比較快,但當像素成倍增加時,時間卻以更高倍數增加,這也是為什么要對圖像分塊處理的原因?!緢D3-6.表1】
5.結論
本文創新點是在充分結合邊緣檢測算法和 Hough 直線提取算法特點的基礎上,對提取到的離散點進行直線方程的擬合構建,提出一個適合鐵路直軌識別的算法,通過以上仿真實驗,驗證了本文算法對直線型鐵軌識別準確度高,提取到的鐵軌能和原來圖中的鐵軌完全對應。同時,本文算法對掩埋在噪聲圖像中的鐵軌以及部分鐵軌的部分遮擋同樣能夠正確識別。本文雖然對圖像進行分割處理,但是自動識別時間還是相對較長,而進一步的分割會影響提取鐵軌的準確度。以后的工作研究對鐵路彎軌的自動識別,從而真正實現基于圖像的鐵軌識別。
參考文獻:
[1] 任重。 基于先驗知識的鐵軌識別[D]. 武漢: 武漢理工大學,2007.
[2] DUDA R O,HART P E. Use of the Hough transformation to detect lines andcurves in pictures[J]. Communications of the ACM,1972,15( 1) : 11-15.
[3] 賀新華,周媛媛。 MATLAB7. X[M]. 北京: 人民郵電出版社,2006.
[4] ASSIDIQ A,OKHALIFA O,ISLAM R,et al. Real time lane detection forautonomous vehicles[C]/ / Proc. International Conference on Computerand Communication Engineering. [S. l. ]: IEEE Press,2008: 82-88.
[5] 謝昭莉,王壬。 基于圖像識別的井下機車軌道檢測方法[J]. 計算機工程,2012,38( 14) :147-149.
[6] 蘭培強,陳維榮。 鐵路道口智能視頻監控系統軟件設計[J]. 計算機應用與軟件,2008,25( 5) :191-192.
[7] 陳彥燕,王元慶。 常用邊緣檢測算法的定量比較[J]. 計算機工程,2008,34( 17) : 202-204.
[8] 陳仁杰,劉利剛。 圖像主特征直線的檢測算法[J]. 中國圖象圖形學報,2010,15( 3) :403-408.