李 超,趙林海,2,劉偉寧
(1.北京交通大學 電子信息工程學院,北京 100044;2.北京交通大學 軌道交通控制與安全國家重點實驗室,北京 100044;3.中鐵通信信號勘測設(shè)計(北京)有限公司 信號所,北京 100036)
道岔作為車站聯(lián)鎖系統(tǒng)的重要組成部分,主要用于區(qū)分列車進路,而轉(zhuǎn)轍機作為道岔控制系統(tǒng)的執(zhí)行機構(gòu),負責轉(zhuǎn)換并鎖閉道岔尖軌,表示和監(jiān)督道岔尖軌的位置與密貼程度[1-2]。其中,道岔的密貼程度直接關(guān)系到列車的運行安全,若密貼程度不足,即出現(xiàn)“四開”情況,將會使列車出現(xiàn)“掉道”或“脫軌”等嚴重運行事故[2-4]。因此,對道岔尖軌密貼程度進行實時檢測具有十分重要的意義。
目前,鐵路現(xiàn)場主要根據(jù)轉(zhuǎn)轍機缺口的結(jié)構(gòu)和工作原理,將對道岔尖軌密貼程度的檢測轉(zhuǎn)換為對轉(zhuǎn)轍機內(nèi)部相應(yīng)缺口大小的測量。其中,文獻[5-7]通過在轉(zhuǎn)轍機表示桿部件上加裝相應(yīng)接觸式導(dǎo)電觸頭以實現(xiàn)對缺口大小的超限報警。文獻[8]使用基于滾珠彈簧的接觸式傳感器,利用彈簧的伸縮長度采集缺口的實時位置,在實現(xiàn)缺口大小超限報警的同時,進一步實現(xiàn)對缺口大小的實時檢測。由于上述方法都需要對缺口表示桿加裝檢測裝置,其設(shè)備誤報率相對較高,且報警后需要人工現(xiàn)場確認。
為克服上述不足,文獻[9]提出了一種利用Sobel邊緣檢測算子和Freeman鏈碼快速角點檢測法的缺口圖像處理算法,為缺口位置標定提供了參考。文獻[10]利用Canny邊緣檢測法和Hough直線檢測法直接處理道岔岔尖圖片,實現(xiàn)了對道岔尖軌是否密貼的粗略判斷。文獻[11]對轉(zhuǎn)轍機表示桿增加貼片式檢測標記,通過圖像采集標記的位移,推算缺口大小偏移量。文獻[12]通過改進LSD直線檢測算法提高了文獻[11]缺口檢測方法的檢測精度。文獻[13]基于CMOS面陣原理識別貼片標記,在保證精度的條件下,使算法更適用于片上系統(tǒng)。上述方法均通過采集轉(zhuǎn)轍機缺口或道岔岔尖圖片,利用數(shù)字圖像處理技術(shù)實現(xiàn)對道岔密貼程度的檢測。
其中,文獻[11-13]實現(xiàn)了對轉(zhuǎn)轍機缺口大小的自動檢測。其優(yōu)點是,相關(guān)人員可以通過圖片直接確認監(jiān)測結(jié)果,而無需去現(xiàn)場實地確認道岔的密貼情況,提高了工作效率,降低了勞動強度。缺點是需要事先對每個轉(zhuǎn)轍機的表示桿添加缺口標示物,而該標記物的粘貼和刻畫效果直接影響識別的準確性,且其也易受環(huán)境振動、明暗和部件油污等影響。
針對現(xiàn)有方法的不足,本文在現(xiàn)有轉(zhuǎn)轍機缺口監(jiān)測系統(tǒng)采集的缺口圖像基礎(chǔ)上,提出了基于Canny算子的轉(zhuǎn)轍機缺口自動檢測算法。首先,利用Canny算子提取轉(zhuǎn)轍機表示桿缺口圖片的單像素邊緣,再采用圖像幀間差法獲得缺口的實時位置。實驗表明,本方法具有準確、快速和魯棒性強等優(yōu)點,算法體積小,實現(xiàn)簡單,且不用在表示桿上增貼標示,可避免轉(zhuǎn)轍機維修和施工對缺口識別的影響。
轉(zhuǎn)轍機內(nèi)部缺口由表示桿檢查塊和檢查柱構(gòu)成。其與道岔密貼程度的關(guān)系和具體結(jié)構(gòu)如圖1所示。
圖1 道岔缺口示意
在圖1中,當轉(zhuǎn)轍機搬動道岔并完成鎖閉后,缺口檢查柱將會落入表示桿檢查塊對應(yīng)的凹槽中。落下的缺口檢查柱和缺口表示塊凹槽的間隙構(gòu)成了具有監(jiān)測意義的缺口部分,間隙的大小等于缺口的大小。由于轉(zhuǎn)轍機表示桿與道岔岔尖連接,道岔與基本軌的密貼程度將會反映到轉(zhuǎn)轍機內(nèi)部表示桿缺口的大小上。
考慮到轉(zhuǎn)轍機缺口檢查柱一般只在垂直方向上下運動,相對表示桿活動的水平面,其坐標相對固定。故如圖1所示,定義組成缺口部分的檢查柱邊緣為缺口固定端;表示桿檢查塊邊緣為缺口移動端。固定端與移動端之間間距即為缺口大小。
轉(zhuǎn)轍機缺口監(jiān)測系統(tǒng)的結(jié)構(gòu)組成如圖2所示。
圖2 轉(zhuǎn)轍機缺口監(jiān)測系統(tǒng)的結(jié)構(gòu)組成
轉(zhuǎn)轍機缺口監(jiān)測系統(tǒng)結(jié)構(gòu)組成主要分為室外和室內(nèi)兩部分。室外部分由安裝在室外轉(zhuǎn)轍機機箱內(nèi)的圖像采集處理器和網(wǎng)絡(luò)分機組成;室內(nèi)部分主要由布置在機械室內(nèi)的通信主機和缺口監(jiān)測站機組成。
其中,圖像采集處理器又由圖像采集傳感器和轉(zhuǎn)轍機缺口自動檢測模塊構(gòu)成。圖像采集傳感器定時采集轉(zhuǎn)轍機缺口圖像;缺口自動檢測模塊利用自身搭載的缺口檢測算法處理圖像采集傳感器采集的缺口圖像,實現(xiàn)缺口大小和位置的標定;網(wǎng)絡(luò)分機將缺口標定的結(jié)果轉(zhuǎn)換為網(wǎng)絡(luò)數(shù)據(jù)或載波信息,發(fā)送給遠方機械室內(nèi)的通信主機;通信主機通過網(wǎng)線或CAN總線將數(shù)據(jù)發(fā)送給缺口監(jiān)測站機,從而實現(xiàn)轉(zhuǎn)轍機缺口自動檢測結(jié)果與現(xiàn)場人員的互動。
如上所述,由于轉(zhuǎn)轍機完成鎖閉后,其內(nèi)部缺口檢查柱的位置相對固定,當利用圖像采集裝置采集的缺口圖像區(qū)域與檢查柱的位置(缺口固定端)相對固定時,缺口大小的改變主要由缺口移動端位置決定。因此,只需識別并確定不同時刻缺口移動端的位置,就可以得到不同時刻缺口大小的相對變化,從而確定缺口大小,實現(xiàn)缺口檢測。根據(jù)這一思路,本文設(shè)計的缺口自動檢測算法框圖如圖3所示,主要包括標準參數(shù)設(shè)置和缺口標定兩部分。
圖3 缺口自動檢測算法
其中,標準參數(shù)設(shè)置主要用于設(shè)置并保存待測缺口標定部分需要的標準參數(shù),包括采集并保存參考缺口圖像、設(shè)置焦點區(qū)域和設(shè)置缺口固定端位置幾部分。缺口標定主要通過Canny算子提取缺口圖像的單像素輪廓,再通過圖像幀間差法比較待測缺口與參考缺口圖像,獲得待測缺口移動端位置,從而實現(xiàn)缺口大小的標定。步驟主要包括圖像預(yù)處理、圖像幀間差和缺口位置標定幾部分。
考慮到不同轉(zhuǎn)轍機實際缺口狀態(tài)的不同、圖像采集器安裝時的細微人工誤差和不同轉(zhuǎn)轍機內(nèi)部環(huán)境明暗的差異都會導(dǎo)致圖像采集器搜集到的缺口圖像存在明暗、噪聲和角度的差異,需要對不同轉(zhuǎn)轍機單獨存儲參考缺口圖像,并在參考缺口圖像基礎(chǔ)上設(shè)置焦點區(qū)域和缺口固定端位置。
設(shè)采集的參考缺口圖像為GS(x,y),在參考缺口圖像上設(shè)置焦點區(qū)域為A,缺口固定端位置為P0,參考缺口圖像的缺口大小為DS。
在采集參考缺口圖像時,可以人工使缺口移動端與固定端密貼,存儲該密貼狀態(tài)下的缺口圖像作為參考缺口圖像GS(x,y),并將缺口的密貼位置坐標設(shè)為缺口固定端位置P0。此時,參考缺口圖像的缺口大小DS等于0。
焦點區(qū)域的設(shè)置要求包括缺口移動端移動范圍即可。設(shè)置焦點區(qū)域一方面可以彌補不同轉(zhuǎn)轍機缺口圖像的角度和位置差異;另一方面可以減少圖像處理的面積,提高缺口識別速度。
需要強調(diào)的是,對于同一臺轉(zhuǎn)轍機,標準參數(shù)只需設(shè)置并保存一次即可。設(shè)置過程可在缺口監(jiān)測站機上快速完成,此后除非轉(zhuǎn)轍機有較大的拆卸維修導(dǎo)致檢測設(shè)備被移動或轉(zhuǎn)轍機內(nèi)部結(jié)構(gòu)發(fā)生較大變化,否則不需要重新設(shè)置。
3.3.1 圖像預(yù)處理
設(shè)待測的目標缺口圖像為GT(x,y)。對參考缺口圖像GS(x,y)和待測缺口圖像GT(x,y)進行焦點區(qū)域截取,即有
GS(x,y)={GS(x,y)|(x,y)∈A}
(1)
GT(x,y)={GT(x,y)|(x,y)∈A}
(2)
式中:A為焦點區(qū)域內(nèi);(x,y)為圖像像素坐標。
考慮到轉(zhuǎn)轍機長期處于室外工作環(huán)境,其內(nèi)部所積累的油污和灰塵會增加圖片的噪聲,而Canny算子對圖像邊緣的提取能有效抑制圖像噪聲,且對圖像明暗具有較好的魯棒性[14],故算法使用Canny算子對缺口圖像進行預(yù)處理。如圖4所示,Canny算子主要包括高斯濾波、局部梯度計算、非極大值抑制以及閾值法檢測邊緣與連接幾部分。
圖4 Canny算子的檢測流程
3.3.1.1 高斯濾波
Canny算子首先使用標準差為σ的高斯濾波器來對圖像GT(x,y)進行去噪,即有
*GT(x,y)
(3)
式中:*為卷積運算符;GL(x,y)為GT(x,y)經(jīng)高斯濾波后的圖像;標準差σ一般設(shè)為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進行非極大值抑制。
實際數(shù)字圖像本質(zhì)是一個離散數(shù)值構(gòu)成的二維矩陣,對一個選定的坐標(x,y)其周圍只有8個像素點,所以該點梯度方向θg上的相鄰像素點是不一定存在的。將這種不存在的像素點定義為亞像素點??赡艹霈F(xiàn)的亞像素點情況如圖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)內(nèi)所有位置(x,y)重復(fù)上述步驟,完成對圖像GL(x,y)的非極大值抑制。從而圖像GL(x,y)被轉(zhuǎn)化為圖像GT(x,y)的二值邊緣輪廓圖像。
3.3.1.4 閾值法邊緣搜索與連接
為了保證消除噪聲的同時不遺漏邊緣像素信息,Canny算子對非極大值抑制的邊緣結(jié)果GL(x,y)使用閾值法邊緣搜索與連接。
設(shè)定閾值[Th1,Th2],將非極大值抑制得到的圖像GL(x,y)中梯度值大于Th2的像素點取為強邊緣像素,構(gòu)成圖像GT2(x,y);將梯度值在Th1和Th2間的像素取為弱邊緣像素,構(gòu)成圖像GT1(x,y),即有
(13)
(14)
式中:高閾值Th2一般遵從Otsu法自適應(yīng)獲得;低閾值Th1設(shè)為0.5Th2[15-16]。根據(jù)實際缺口圖片質(zhì)量的不同,可以適當調(diào)整閾值Th1和Th2。
圖像GT2(x,y)設(shè)置了較高的閾值,因此圖像去除了大部分噪聲的同時也丟失了許多正確的邊緣像素信息;而圖像GT1(x,y)設(shè)置的閾值較低,保留了正確邊緣像素信息的同時也包含了大量環(huán)境噪聲。于是,算子通過搜索閾值低、邊緣信息完全的圖像GT1(x,y)來修補噪聲小但邊緣信息不完全的圖像GT2(x,y),從而實現(xiàn)在獲得所有單像素邊緣的同時濾除絕大部分噪聲。即對圖像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)鄰域內(nèi)8個像素坐標的集合。
經(jīng)過閾值法邊緣搜索和邊緣連接的圖像GT2(x,y)即為待測缺口圖像GT(x,y)的預(yù)處理結(jié)果。
參考缺口圖像預(yù)處理步驟相同,設(shè)參考缺口圖像GS(x,y)預(yù)處理的結(jié)果為GT0(x,y)。
3.3.2 圖像幀間差
本文所提算法利用Canny算子提取缺口圖像焦點區(qū)域內(nèi)的單像素二值邊緣圖像,消除了明暗噪聲對圖像幀間差法捕捉結(jié)果的影響,解決了圖像幀間差法的粗輪廓問題。算法利用圖像幀間差法獲得待測缺口移動部分的像素圖像Gm(x,y),即有
(17)
3.3.3 缺口位置標定
由于二值圖像Gm(x,y)包含了焦點區(qū)域內(nèi)所有缺口動作部分的信息,為從中提取真實缺口的移動端位置,需對缺口位置進行標定以確定其大小,其過程包括兩步:一是通過像素捕捉獲得缺口移動端待定位置;二是利用缺口移動端待定位置確定移動端真實位置并在圖像上表示。
對于第一步,算法對Gm(x,y)進行移動端位置像素捕捉。即對Gm(x,y)每行像素由缺口固定端方向向缺口移動端方向遍歷圖像,并保存每行第一個像素值為1的像素點橫坐標,以此作為待定的缺口移動端位置。
設(shè)xmax、ymax、xmin和ymin分別為坐標(x,y)在焦點區(qū)域A內(nèi)的最大值和最小值。假設(shè)移動端位置像素捕捉過程由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為捕捉到的像素個數(shù)。
算法取缺口移動端待定位置集合P的中值為缺口移動端真實位置,記為P1。此時,缺口大小即為移動端位置P1與固定端位置P0之差的絕對值。設(shè)缺口的大小為D,即有
D=|P1-P0|
(18)
如果待測缺口位置與參考缺口位置重合,則捕捉到的像素個數(shù)N為0,此時待測缺口大小D等于參考缺口大小DS。但是考慮到目標缺口圖像和參考缺口圖像之間可能存在明暗和噪聲差異,使得最終捕捉到的像素個數(shù)N大于0且集合P中都是噪聲像素的位置信息,從而導(dǎo)致算法錯誤識別缺口的大小。因此,為了避免這類錯誤的發(fā)生,經(jīng)實驗確定,當捕捉像素數(shù)量N小于15%×(ymax-ymin)時,缺口位置與參考缺口位置重合;當捕捉像素數(shù)量N大于60%×(ymax-ymin)時,缺口移動到了新的位置;否則算法拒絕識別該缺口,需要人工確認,即有
(19)
式中:DS為參考缺口圖像的缺口大小。
最后,為了方便觀察缺口識別結(jié)果,算法在缺口兩端處標記白色豎線,即有
GT(x,y)=1x=P1或x=P0
(20)
為驗證算法功能,本文選取ZQJ-01道岔缺口監(jiān)測系統(tǒng)[17]監(jiān)測的現(xiàn)場實際轉(zhuǎn)轍機缺口圖片作為例子,其定位狀態(tài)缺口圖片如圖6所示。
圖6 實際轉(zhuǎn)轍機缺口圖片
可以看出該轉(zhuǎn)轍機內(nèi)部缺口環(huán)境相對昏暗,工件磨損和油污較重,整體圖像水平較低??梢杂行z測算法功能對環(huán)境明暗和工件本身噪聲的魯棒性。圖7展示了利用本算法識別該轉(zhuǎn)轍機缺口的各步驟結(jié)果。
(a)標準參數(shù)設(shè)置結(jié)果 (b)圖像預(yù)處理結(jié)果
(c)圖像幀間差結(jié)果 (d)移動端像素捕捉結(jié)果 (e)缺口位置標定結(jié)果 圖7 缺口檢測算法各步驟結(jié)果
其中,圖7(a)為圖6的灰度圖像,圖中白線顯示了標準參數(shù)的設(shè)置結(jié)果;圖7(b)顯示了圖像預(yù)處理的結(jié)果;圖7(c)顯示了圖像幀間差步驟的結(jié)果;圖7(d)顯示了移動端像素捕捉的結(jié)果;圖7(e)中白線顯示了缺口位置標定的結(jié)果。算法識別該圖像中缺口大小為107像素,人工手動核實缺口大小為106像素??紤]到ZQJ-01設(shè)備采用130萬高清像素攝像頭[17],因此二者實際相差十分微小,可見缺口位置標定正確。
為了進一步驗證不同缺口位置情況下算法的功能,分別對缺口大小大于參考缺口、缺口大小小于參考缺口和缺口大小等于參考缺口3種狀態(tài)的實際缺口圖片進行識別。
通過比較算法識別結(jié)果與人工校驗結(jié)果,算法對這3種狀態(tài)的缺口圖片都準確識別了缺口的大小,并給出缺口位置的自動標定,驗證了缺口監(jiān)測算法功能的有效性。
為了進一步驗證算法的性能,本文對北京某站缺口監(jiān)測站機所監(jiān)測的三類不同工作環(huán)境下道岔轉(zhuǎn)轍機不同狀態(tài)的缺口圖片(共614張)進行了識別。
其中,第一類轉(zhuǎn)轍機存在頻繁的道岔搬動作業(yè),并且過車頻繁;第二類轉(zhuǎn)轍機很少搬動,也不存在頻繁的列車通過;第三類轉(zhuǎn)轍機很少有搬動作業(yè),但是存在頻繁的高速過車。三類轉(zhuǎn)轍機分別代表了現(xiàn)場工作環(huán)境中轉(zhuǎn)轍機的幾種常見狀態(tài)。
通過人工校驗,本文算法的識別性能見表1。
表1 算法性能驗證實驗結(jié)果
通過比較算法識別結(jié)果與人工校驗結(jié)果,范圍在2到3像素的缺口偏移都能被成功識別;實驗中7張拒識圖片都是當缺口大小與參考缺口大小一致時,由于過車震動使得圖像采集器震動導(dǎo)致的。算法平均識別準確率為98.9%。
綜上所述,本文算法對轉(zhuǎn)轍機缺口具有較好的識別性能,滿足鐵路現(xiàn)場實際運用的需要。
轉(zhuǎn)轍機缺口的監(jiān)測和維護一直是鐵路現(xiàn)場電務(wù)人員面對的主要難題。為了減輕傳統(tǒng)道岔監(jiān)測方式下電務(wù)工作者的工作負擔,本文在詳細分析轉(zhuǎn)轍機缺口結(jié)構(gòu)和工作原理的基礎(chǔ)上,以ZD6轉(zhuǎn)轍機內(nèi)部缺口為例,設(shè)計了一套基于Canny算子的道岔缺口自動檢測方法。方法結(jié)合Canny算子和圖像幀間差法的優(yōu)勢,算法體積小,實現(xiàn)簡單,識別準確快速,可以對現(xiàn)場采集的真實缺口圖像進行直接分析,得到缺口的實時位置,具有對環(huán)境明暗和噪聲良好的魯棒性。
該方法可以推廣到不同型號的轉(zhuǎn)轍機缺口檢測中去。與已有的粘貼或刻劃標記物形式的機器視覺缺口檢測方式相比,本文方法避免了二次改造轉(zhuǎn)轍機表示桿的復(fù)雜操作,防止了標記脫落、污染、移位以及本身精度對缺口檢測算法的影響。