李 超,趙林海,2,劉偉寧
(1.北京交通大學 電子信息工程學院,北京 100044;2.北京交通大學 軌道交通控制與安全國家重點實驗室,北京 100044;3.中鐵通信信號勘測設計(北京)有限公司 信號所,北京 100036)
道岔作為車站聯鎖系統的重要組成部分,主要用于區分列車進路,而轉轍機作為道岔控制系統的執行機構,負責轉換并鎖閉道岔尖軌,表示和監督道岔尖軌的位置與密貼程度[1-2]。其中,道岔的密貼程度直接關系到列車的運行安全,若密貼程度不足,即出現“四開”情況,將會使列車出現“掉道”或“脫軌”等嚴重運行事故[2-4]。因此,對道岔尖軌密貼程度進行實時檢測具有十分重要的意義。
目前,鐵路現場主要根據轉轍機缺口的結構和工作原理,將對道岔尖軌密貼程度的檢測轉換為對轉轍機內部相應缺口大小的測量。其中,文獻[5-7]通過在轉轍機表示桿部件上加裝相應接觸式導電觸頭以實現對缺口大小的超限報警。文獻[8]使用基于滾珠彈簧的接觸式傳感器,利用彈簧的伸縮長度采集缺口的實時位置,在實現缺口大小超限報警的同時,進一步實現對缺口大小的實時檢測。由于上述方法都需要對缺口表示桿加裝檢測裝置,其設備誤報率相對較高,且報警后需要人工現場確認。
為克服上述不足,文獻[9]提出了一種利用Sobel邊緣檢測算子和Freeman鏈碼快速角點檢測法的缺口圖像處理算法,為缺口位置標定提供了參考。文獻[10]利用Canny邊緣檢測法和Hough直線檢測法直接處理道岔岔尖圖片,實現了對道岔尖軌是否密貼的粗略判斷。文獻[11]對轉轍機表示桿增加貼片式檢測標記,通過圖像采集標記的位移,推算缺口大小偏移量。文獻[12]通過改進LSD直線檢測算法提高了文獻[11]缺口檢測方法的檢測精度。文獻[13]基于CMOS面陣原理識別貼片標記,在保證精度的條件下,使算法更適用于片上系統。上述方法均通過采集轉轍機缺口或道岔岔尖圖片,利用數字圖像處理技術實現對道岔密貼程度的檢測。
其中,文獻[11-13]實現了對轉轍機缺口大小的自動檢測。其優點是,相關人員可以通過圖片直接確認監測結果,而無需去現場實地確認道岔的密貼情況,提高了工作效率,降低了勞動強度。缺點是需要事先對每個轉轍機的表示桿添加缺口標示物,而該標記物的粘貼和刻畫效果直接影響識別的準確性,且其也易受環境振動、明暗和部件油污等影響。
針對現有方法的不足,本文在現有轉轍機缺口監測系統采集的缺口圖像基礎上,提出了基于Canny算子的轉轍機缺口自動檢測算法。首先,利用Canny算子提取轉轍機表示桿缺口圖片的單像素邊緣,再采用圖像幀間差法獲得缺口的實時位置。實驗表明,本方法具有準確、快速和魯棒性強等優點,算法體積小,實現簡單,且不用在表示桿上增貼標示,可避免轉轍機維修和施工對缺口識別的影響。
轉轍機內部缺口由表示桿檢查塊和檢查柱構成。其與道岔密貼程度的關系和具體結構如圖1所示。

圖1 道岔缺口示意
在圖1中,當轉轍機搬動道岔并完成鎖閉后,缺口檢查柱將會落入表示桿檢查塊對應的凹槽中。落下的缺口檢查柱和缺口表示塊凹槽的間隙構成了具有監測意義的缺口部分,間隙的大小等于缺口的大小。由于轉轍機表示桿與道岔岔尖連接,道岔與基本軌的密貼程度將會反映到轉轍機內部表示桿缺口的大小上。
考慮到轉轍機缺口檢查柱一般只在垂直方向上下運動,相對表示桿活動的水平面,其坐標相對固定。故如圖1所示,定義組成缺口部分的檢查柱邊緣為缺口固定端;表示桿檢查塊邊緣為缺口移動端。固定端與移動端之間間距即為缺口大小。
轉轍機缺口監測系統的結構組成如圖2所示。

圖2 轉轍機缺口監測系統的結構組成
轉轍機缺口監測系統結構組成主要分為室外和室內兩部分。室外部分由安裝在室外轉轍機機箱內的圖像采集處理器和網絡分機組成;室內部分主要由布置在機械室內的通信主機和缺口監測站機組成。
其中,圖像采集處理器又由圖像采集傳感器和轉轍機缺口自動檢測模塊構成。圖像采集傳感器定時采集轉轍機缺口圖像;缺口自動檢測模塊利用自身搭載的缺口檢測算法處理圖像采集傳感器采集的缺口圖像,實現缺口大小和位置的標定;網絡分機將缺口標定的結果轉換為網絡數據或載波信息,發送給遠方機械室內的通信主機;通信主機通過網線或CAN總線將數據發送給缺口監測站機,從而實現轉轍機缺口自動檢測結果與現場人員的互動。
如上所述,由于轉轍機完成鎖閉后,其內部缺口檢查柱的位置相對固定,當利用圖像采集裝置采集的缺口圖像區域與檢查柱的位置(缺口固定端)相對固定時,缺口大小的改變主要由缺口移動端位置決定。因此,只需識別并確定不同時刻缺口移動端的位置,就可以得到不同時刻缺口大小的相對變化,從而確定缺口大小,實現缺口檢測。根據這一思路,本文設計的缺口自動檢測算法框圖如圖3所示,主要包括標準參數設置和缺口標定兩部分。

圖3 缺口自動檢測算法
其中,標準參數設置主要用于設置并保存待測缺口標定部分需要的標準參數,包括采集并保存參考缺口圖像、設置焦點區域和設置缺口固定端位置幾部分。缺口標定主要通過Canny算子提取缺口圖像的單像素輪廓,再通過圖像幀間差法比較待測缺口與參考缺口圖像,獲得待測缺口移動端位置,從而實現缺口大小的標定。步驟主要包括圖像預處理、圖像幀間差和缺口位置標定幾部分。
考慮到不同轉轍機實際缺口狀態的不同、圖像采集器安裝時的細微人工誤差和不同轉轍機內部環境明暗的差異都會導致圖像采集器搜集到的缺口圖像存在明暗、噪聲和角度的差異,需要對不同轉轍機單獨存儲參考缺口圖像,并在參考缺口圖像基礎上設置焦點區域和缺口固定端位置。
設采集的參考缺口圖像為GS(x,y),在參考缺口圖像上設置焦點區域為A,缺口固定端位置為P0,參考缺口圖像的缺口大小為DS。
在采集參考缺口圖像時,可以人工使缺口移動端與固定端密貼,存儲該密貼狀態下的缺口圖像作為參考缺口圖像GS(x,y),并將缺口的密貼位置坐標設為缺口固定端位置P0。此時,參考缺口圖像的缺口大小DS等于0。
焦點區域的設置要求包括缺口移動端移動范圍即可。設置焦點區域一方面可以彌補不同轉轍機缺口圖像的角度和位置差異;另一方面可以減少圖像處理的面積,提高缺口識別速度。
需要強調的是,對于同一臺轉轍機,標準參數只需設置并保存一次即可。設置過程可在缺口監測站機上快速完成,此后除非轉轍機有較大的拆卸維修導致檢測設備被移動或轉轍機內部結構發生較大變化,否則不需要重新設置。
3.3.1 圖像預處理
設待測的目標缺口圖像為GT(x,y)。對參考缺口圖像GS(x,y)和待測缺口圖像GT(x,y)進行焦點區域截取,即有
GS(x,y)={GS(x,y)|(x,y)∈A}
(1)
GT(x,y)={GT(x,y)|(x,y)∈A}
(2)
式中:A為焦點區域內;(x,y)為圖像像素坐標。
考慮到轉轍機長期處于室外工作環境,其內部所積累的油污和灰塵會增加圖片的噪聲,而Canny算子對圖像邊緣的提取能有效抑制圖像噪聲,且對圖像明暗具有較好的魯棒性[14],故算法使用Canny算子對缺口圖像進行預處理。如圖4所示,Canny算子主要包括高斯濾波、局部梯度計算、非極大值抑制以及閾值法檢測邊緣與連接幾部分。

圖4 Canny算子的檢測流程
3.3.1.1 高斯濾波
Canny算子首先使用標準差為σ的高斯濾波器來對圖像GT(x,y)進行去噪,即有
*GT(x,y)
(3)
式中:*為卷積運算符;GL(x,y)為GT(x,y)經高斯濾波后的圖像;標準差σ一般設為2[15-16]。
3.3.1.2 局部梯度計算
Canny算子認為邊緣是圖像灰度變化最劇烈的點,即梯度方向上局部梯度強度最大的點。因此算子需要計算圖像各點(x,y)處局部梯度的幅度g(x,y)和方向θg,即有
(4)
θg=arctan(gx/gy)
(5)
GL(x+1,y+1)-GL(x,y+1)]
(6)
GL(x+1,y+1)-GL(x+1,y)]
(7)
3.3.1.3 非極大值抑制
為獲得梯度方向上局部梯度強度最大點,算子利用上步求得的局部梯度幅度g(x,y)和梯度方向θg進行非極大值抑制。
實際數字圖像本質是一個離散數值構成的二維矩陣,對一個選定的坐標(x,y)其周圍只有8個像素點,所以該點梯度方向θg上的相鄰像素點是不一定存在的。將這種不存在的像素點定義為亞像素點。可能出現的亞像素點情況如圖5所示。

(a)梯度方向θg小于45°時的兩種亞像素分布情況

(b)梯度方向θg大于45°時的兩種亞像素分布情況圖5 不同梯度方向下的亞像素分布情況
定義坐標(x,y)處梯度方向上的兩個亞像素點梯度值為gt1和gt2,對于圖5(a)有
gt1=g2+tanθg×(g1-g2)
(8)
gt2=g4+tanθg×(g3-g4)
(9)
對于圖5(b)則有
gt1=g2+cotθg×(g1-g2)
(10)
gt2=g4+cotθg×(g3-g4)
(11)
式中:g1、g2、g3和g4分別為圖5中標注像素點處的梯度值;θg為坐標(x,y)處的梯度方向。
在確定坐標(x,y)處梯度方向上的兩個亞像素點梯度值gt1和gt2后,比較(x,y)處的梯度值g(x,y)與gt1、gt2的大小,若g(x,y)最大,則(x,y)處的像素值GL(x,y)等于1,否則抑制為0,即有
(12)
對圖像GL(x,y)內所有位置(x,y)重復上述步驟,完成對圖像GL(x,y)的非極大值抑制。從而圖像GL(x,y)被轉化為圖像GT(x,y)的二值邊緣輪廓圖像。
3.3.1.4 閾值法邊緣搜索與連接
為了保證消除噪聲的同時不遺漏邊緣像素信息,Canny算子對非極大值抑制的邊緣結果GL(x,y)使用閾值法邊緣搜索與連接。
設定閾值[Th1,Th2],將非極大值抑制得到的圖像GL(x,y)中梯度值大于Th2的像素點取為強邊緣像素,構成圖像GT2(x,y);將梯度值在Th1和Th2間的像素取為弱邊緣像素,構成圖像GT1(x,y),即有
(13)
(14)
式中:高閾值Th2一般遵從Otsu法自適應獲得;低閾值Th1設為0.5Th2[15-16]。根據實際缺口圖片質量的不同,可以適當調整閾值Th1和Th2。
圖像GT2(x,y)設置了較高的閾值,因此圖像去除了大部分噪聲的同時也丟失了許多正確的邊緣像素信息;而圖像GT1(x,y)設置的閾值較低,保留了正確邊緣像素信息的同時也包含了大量環境噪聲。于是,算子通過搜索閾值低、邊緣信息完全的圖像GT1(x,y)來修補噪聲小但邊緣信息不完全的圖像GT2(x,y),從而實現在獲得所有單像素邊緣的同時濾除絕大部分噪聲。即對圖像GT2(x,y)中的每一點都有
GT2(m(x,y))=

(15)
m(x,y)={(x+1,y),(x+1,y+1),(x,y+1),
(x-1,y+1),(x-1,y),(x-1,y-1),
(x,y-1),(x+1,y-1)}
(16)
式中:m(x,y)為坐標(x,y)鄰域內8個像素坐標的集合。
經過閾值法邊緣搜索和邊緣連接的圖像GT2(x,y)即為待測缺口圖像GT(x,y)的預處理結果。
參考缺口圖像預處理步驟相同,設參考缺口圖像GS(x,y)預處理的結果為GT0(x,y)。
3.3.2 圖像幀間差
本文所提算法利用Canny算子提取缺口圖像焦點區域內的單像素二值邊緣圖像,消除了明暗噪聲對圖像幀間差法捕捉結果的影響,解決了圖像幀間差法的粗輪廓問題。算法利用圖像幀間差法獲得待測缺口移動部分的像素圖像Gm(x,y),即有
(17)
3.3.3 缺口位置標定
由于二值圖像Gm(x,y)包含了焦點區域內所有缺口動作部分的信息,為從中提取真實缺口的移動端位置,需對缺口位置進行標定以確定其大小,其過程包括兩步:一是通過像素捕捉獲得缺口移動端待定位置;二是利用缺口移動端待定位置確定移動端真實位置并在圖像上表示。
對于第一步,算法對Gm(x,y)進行移動端位置像素捕捉。即對Gm(x,y)每行像素由缺口固定端方向向缺口移動端方向遍歷圖像,并保存每行第一個像素值為1的像素點橫坐標,以此作為待定的缺口移動端位置。
設xmax、ymax、xmin和ymin分別為坐標(x,y)在焦點區域A內的最大值和最小值。假設移動端位置像素捕捉過程由xmax向xmin方向遍歷,則該過程的偽代碼描述如下:
N=0
for (y=ymaxtoymin)
for (x=xmaxtoxmin)
if (Gm(x,y)=1)
thenP(N)=x
N=N+1
break
end if
x=x-1
end for
y=y-1
end for
其中,P為缺口移動端待定位置集合;N為捕捉到的像素個數。
算法取缺口移動端待定位置集合P的中值為缺口移動端真實位置,記為P1。此時,缺口大小即為移動端位置P1與固定端位置P0之差的絕對值。設缺口的大小為D,即有
D=|P1-P0|
(18)
如果待測缺口位置與參考缺口位置重合,則捕捉到的像素個數N為0,此時待測缺口大小D等于參考缺口大小DS。但是考慮到目標缺口圖像和參考缺口圖像之間可能存在明暗和噪聲差異,使得最終捕捉到的像素個數N大于0且集合P中都是噪聲像素的位置信息,從而導致算法錯誤識別缺口的大小。因此,為了避免這類錯誤的發生,經實驗確定,當捕捉像素數量N小于15%×(ymax-ymin)時,缺口位置與參考缺口位置重合;當捕捉像素數量N大于60%×(ymax-ymin)時,缺口移動到了新的位置;否則算法拒絕識別該缺口,需要人工確認,即有
(19)
式中:DS為參考缺口圖像的缺口大小。
最后,為了方便觀察缺口識別結果,算法在缺口兩端處標記白色豎線,即有
GT(x,y)=1x=P1或x=P0
(20)
為驗證算法功能,本文選取ZQJ-01道岔缺口監測系統[17]監測的現場實際轉轍機缺口圖片作為例子,其定位狀態缺口圖片如圖6所示。

圖6 實際轉轍機缺口圖片
可以看出該轉轍機內部缺口環境相對昏暗,工件磨損和油污較重,整體圖像水平較低。可以有效檢測算法功能對環境明暗和工件本身噪聲的魯棒性。圖7展示了利用本算法識別該轉轍機缺口的各步驟結果。

(a)標準參數設置結果 (b)圖像預處理結果

(c)圖像幀間差結果 (d)移動端像素捕捉結果 (e)缺口位置標定結果 圖7 缺口檢測算法各步驟結果
其中,圖7(a)為圖6的灰度圖像,圖中白線顯示了標準參數的設置結果;圖7(b)顯示了圖像預處理的結果;圖7(c)顯示了圖像幀間差步驟的結果;圖7(d)顯示了移動端像素捕捉的結果;圖7(e)中白線顯示了缺口位置標定的結果。算法識別該圖像中缺口大小為107像素,人工手動核實缺口大小為106像素。考慮到ZQJ-01設備采用130萬高清像素攝像頭[17],因此二者實際相差十分微小,可見缺口位置標定正確。
為了進一步驗證不同缺口位置情況下算法的功能,分別對缺口大小大于參考缺口、缺口大小小于參考缺口和缺口大小等于參考缺口3種狀態的實際缺口圖片進行識別。
通過比較算法識別結果與人工校驗結果,算法對這3種狀態的缺口圖片都準確識別了缺口的大小,并給出缺口位置的自動標定,驗證了缺口監測算法功能的有效性。
為了進一步驗證算法的性能,本文對北京某站缺口監測站機所監測的三類不同工作環境下道岔轉轍機不同狀態的缺口圖片(共614張)進行了識別。
其中,第一類轉轍機存在頻繁的道岔搬動作業,并且過車頻繁;第二類轉轍機很少搬動,也不存在頻繁的列車通過;第三類轉轍機很少有搬動作業,但是存在頻繁的高速過車。三類轉轍機分別代表了現場工作環境中轉轍機的幾種常見狀態。
通過人工校驗,本文算法的識別性能見表1。

表1 算法性能驗證實驗結果
通過比較算法識別結果與人工校驗結果,范圍在2到3像素的缺口偏移都能被成功識別;實驗中7張拒識圖片都是當缺口大小與參考缺口大小一致時,由于過車震動使得圖像采集器震動導致的。算法平均識別準確率為98.9%。
綜上所述,本文算法對轉轍機缺口具有較好的識別性能,滿足鐵路現場實際運用的需要。
轉轍機缺口的監測和維護一直是鐵路現場電務人員面對的主要難題。為了減輕傳統道岔監測方式下電務工作者的工作負擔,本文在詳細分析轉轍機缺口結構和工作原理的基礎上,以ZD6轉轍機內部缺口為例,設計了一套基于Canny算子的道岔缺口自動檢測方法。方法結合Canny算子和圖像幀間差法的優勢,算法體積小,實現簡單,識別準確快速,可以對現場采集的真實缺口圖像進行直接分析,得到缺口的實時位置,具有對環境明暗和噪聲良好的魯棒性。
該方法可以推廣到不同型號的轉轍機缺口檢測中去。與已有的粘貼或刻劃標記物形式的機器視覺缺口檢測方式相比,本文方法避免了二次改造轉轍機表示桿的復雜操作,防止了標記脫落、污染、移位以及本身精度對缺口檢測算法的影響。