張博 劉秀波
中國鐵道科學研究院集團有限公司基礎設施檢測研究所,北京 100081
列車行駛在軌道上,由于車輪輪緣在鋼軌軌面上的碾壓以及輪緣與鋼軌的相互摩擦作用,會在鋼軌表面形成沿著列車運行方向延伸的亮痕,稱為鋼軌光帶[1]。正常的輪軌作用會在鋼軌表面產生寬度均勻的光帶,而當輪軌間作用力或作用位置異常時,光帶的寬度和位置發生改變。因此,光帶的狀態可以反映輪軌相互作用關系,而輪軌關系對列車運行的安全性和舒適性有著重要影響。
傳統的光帶檢測采用人工巡檢的方式,利用刻度尺在鋼軌上進行測量。該方法人工成本高,檢測速度慢,數據保存缺乏系統性。文獻[2]提出使用激光位移傳感器,在鋼軌光帶異常波動區段布置測點測量輪對動態橫向位移,進而分析光帶異常原因。但是該方法只能針對特定區段安裝設備進行布點測量,不能實現自動、快速的光帶檢測。
隨著圖像處理和計算機技術的快速發展,基于機器視覺的檢測技術已經運用到了軌道狀態檢測中,利用采集的圖像對扣件缺失、鋼軌表面傷損等進行識別[3-6],但對鋼軌光帶檢測的關注較少。文獻[7]中的軌道狀態巡檢系統通過安裝在車輛底部的相機成像系統在車輛行進時采集軌道圖像,然后采用圖像識別技術分析扣件缺失、鋼軌表面擦傷等缺陷。但是目前該系統檢測對象主要是包括軌枕、扣件和鋼軌在內的整個軌道表面,并沒有針對鋼軌光帶的檢測。文獻[8]設計了算法,根據灰度特征識別光帶在鋼軌表面的位置。但是該算法在定位光帶時需要先確定光帶存在的大致區域,再在該區域內尋找光帶的準確位置,計算較為復雜;此外,該算法為了識別光帶需要設定低灰度閾值,再利用閾值比較的方法確定所述鋼軌圖像中的光帶圖像,在受到光照等客觀環境的影響導致獲取的鋼軌圖像中光帶區域和非光帶區域對比度降低的情況下,光帶圖像識別的準確性很難保證。
現場采集的圖片還包含非鋼軌區域。非鋼軌區域的圖像信息對后續的缺陷檢測會產生干擾,需要將鋼軌和非鋼軌區域區分開,提取出鋼軌的軌面區域[9]。水平投影法[10-12]是軌面區域定位的常用方法,其主要思想是繪制圖像列方向上的水平投影曲線,利用軌面區域和非鋼軌區域的亮度差異將軌面區域分割出來。但是文獻[13]指出,當有強烈外界光源影響時采用水平投影法進行軌面區域定位就會出現錯誤,并提出了改進的鋼軌定位算法。該算法首先計算軌道圖像每一列的灰度均值與灰度方差的比值并乘以1個位置權重,得到該列的特征值,然后搜索特征值之和最大的定長區間即為軌面區域。然而,該方法為了準確提取軌面區域,需要預知軌道圖像中鋼軌所在縱向區域的位置并為該縱向區域的灰度設置較大的權重。當采集的軌道圖像中鋼軌所在的位置發生變化時,需要重新計算軌道圖像中每一列的位置權重。
針對上述方法存在的不足,本文提出基于機器視覺的鋼軌光帶檢測方法。首先,設計基于軌道圖像頻域特征的軌面區域提取方法,對軌道圖像每一列做傅里葉變換,根據定義的占優的頻率域采樣值來定位軌面區域。然后,在提取的軌面區域圖像上利用灰度變換突出光帶的邊緣,通過計算梯度識別出鋼軌光帶。
讀取采集到的單幅鋼軌圖像后,光帶檢測的算法流程如下。
1)軌面區域提取:根據軌道圖像的頻域特征提取軌面區域。
2)圖像灰度變換:在軌面區域利用伽馬變換突出光帶的邊緣。
3)光帶檢測:基于梯度從軌面區域中逐行識別出光帶的邊界。
本文設計了基于軌道圖像頻域特征提取軌面區域的方法,包括2個步驟:首先對采集的軌道圖像每一列做傅里葉變換,然后根據定義的占優的頻率域采樣值定位軌面區域。
1.2.1 軌道圖像的傅里葉變換
將單幅軌道圖像記作I,其寬度為W,高度為H。對圖像I的第x列做傅里葉變換,其傅里葉變換系數F x(m)為

式中:m為頻率域采樣值。
而后計算歸一化能量值EN()m,表達式[13]為

式中:E(m)為F x(m)的模;EN(m)∈[0,1]。
因為實數序列的傅里葉變換的系數是對稱的,所以為了便于計算只考慮F x(m)的前半部分;同時支流分量E(0)等于平均灰度,受光照影響較大,因此在歸一化時并未考慮該分量。
將軌道圖像沿縱向劃分為不同區域,如圖1所示。其中,區域a為背景區域,區域b為擋肩所在區域,區域c為扣件所在區域,區域d為軌面區域。

圖1 軌道圖像
圖2、圖3展示了軌道圖像不同縱向區域中典型的列灰度曲線及對應的能量譜曲線。可以看出:區域b和區域c的列灰度曲線存在周期性,其能量譜曲線在中低頻區間存在多處明顯峰值;區域a和區域d的列灰度曲線無明顯周期性,其能量譜曲線無明顯波峰。因此,用能量譜的波峰信息可以判定軌道圖像中不同縱向區域的位置。

圖2 軌道圖像不同縱向區域中典型的列灰度曲線

圖3 軌道圖像不同縱向區域中典型的能量譜曲線
1.2.2 軌面區域提取
為了提取軌面區域,定義軌道圖像第x列能量譜占優的頻率域采樣值f x為

式中:Et為能量譜閾值。
觀察到能量譜曲線的大部分峰值都在0.03以上,因而取Et=0.03。
對手工標注的880條區域a—區域d中的列灰度曲線計算能量譜的f x并進行統計,結果見圖4。可知:在區域a和區域d中,f x主要集中于低頻區間,絕大部分小于6;區域b中,f x絕大部分在17~28;區域c中,f x集中在6~33。

圖4 不同縱向區域中占優的頻率域采樣值統計結果
進而提出基于占優的頻率域采樣值的軌面區域提取方法。對于軌道圖像I,首先計算每一列的f x。接著引入判定函數p(x)來判定鋼軌圖像的第x列是否在區域b或區域c中。p(x)表達式為

式中:f為頻率域采樣值限值。
由f x的分布可知,在區域a和區域d中f x絕大多數小于6,而在區域b和區域c中f x大于6,因而取f=6。組合所有使得判定函數p(x)=1的列參考位置,得到向量P,表達式為

式中:n為使p(x)=1的總列數。
搜索向量P中最長的兩個連續區間,即為軌面左側的區域b和區域c組成的縱向區域及軌面右側的區域b和區域c組成的縱向區域,這兩個縱向區域之間即為鋼軌軌面。
定位軌面區域后,將軌道圖像中的軌面區域提取出來,然后在提取的軌面區域圖像上進行鋼軌光帶的檢測。軌面區域圖像中光帶部分較其他部分的灰度值高,通過搜索光帶區域和非光帶區域的邊界,就能定位出光帶的位置。
為了突出光帶區域的邊緣,首先對軌面區域進行圖像灰度變換。采用伽馬變換將高光部分動態范圍壓縮,使圖像整體變暗。針對一幅輸入圖像,伽馬變換的表達式為

式中:s為輸出圖像的像素;r為輸入圖像的像素,其取值范圍歸一化為[0,1];γ為變換系數,取2。
灰度變換后,軌面區域圖像的光帶和非光帶區域的灰度值差異進一步加大,形成更為銳利的光帶邊緣,從而能夠更加準確地定位光帶位置。
在灰度變換后的軌面圖像上,計算圖像中每一點水平方向上的梯度差異。根據圖形邊緣處存在較大梯度這一特點,逐行尋找光帶邊緣,即可確定光帶位置。為此,引入兩個卷積核(圖5)。其中,卷積核1用來檢測由暗到亮的邊緣,卷積核2用來檢測由亮到暗的邊緣。將圖像中每一點分別與兩個卷積核卷積,得到對應的水平方向梯度。圖像每一點與卷積核1卷積得到了該點由暗到亮方向的梯度,而光帶的左側邊緣為由暗到亮的邊緣,因此圖像每一行的卷積結果的最大值所在的點即為該行光帶左側邊緣位置。同理,光帶的右側邊緣為由亮到暗的邊緣,通過尋找每一行中圖像與卷積核2卷積結果的最大值,就可以確定光帶右側邊緣位置。

圖5 卷積核示意
為了驗證該光帶檢測方法的有效性,進行了測試試驗。選取200張軌道狀態巡檢系統[7]采集的某高速鐵路線路的軌道圖像,并且人工標注了圖像中的軌面區域和光帶區域。
對于一幅軌道圖像,提取軌面區域的準確性通過交并比[14]來評價,交并比記作Jt,其表達式為

式中:At為人工標注的軌面區域;Bt為用本文方法從軌道圖像中提取的軌面區域。
交并比計算的是人工標注軌面區域和算法提取軌面區域的交疊率,即兩個區域的交集和并集的比值,衡量人工標注軌面區域和算法提取軌面區域的重合度。然后對于所有測試樣本計算交并比的平均值mt,表達式為

式中:Nt為測試的軌道圖像數量;Jt,i為第i張圖像的交并比。
計算結果顯示測試樣本的mt=97.57%,這表明本文方法可以有效地從采集的軌道圖像中提取出軌面區域。
本文提出的軌面區域提取方法利用了軌道圖像的頻域特征,與文獻[12]中基于圖像列方向灰度分析的水平投影法相比,對由光照等客觀環境因素造成的軌道圖像亮度變化具有更強的魯棒性。采用兩種方法對高亮度軌道圖像的軌面區域進行提取,效果對比見圖6(紅框區域即提取的軌面區域)。可知:由于軌道圖像的整體亮度高,水平投影法錯誤地定位在軌面以外的區域,而本文方法準確地提取了軌面區域。

圖6 軌面區域提取效果對比
對于軌面區域圖像,光帶檢測的準確性通過交并比Jr來評價,其表達式為

式中:Ar為圖像中人工標注的光帶區域;Br為利用本文算法檢測出的光帶區域。
然后對所有測試樣本計算交并比的平均值mr,表達式為

式中:Nt為測試圖像樣本的數量;Jr,i為對第i張圖像計算得到的交并比。
測試顯示本文方法得到的mr=88.81%,而采用文獻[8]中的方法得到的mr=77.23%。這表明本文方法可以有效地檢測鋼軌光帶,其交并比平均值比文獻[8]中的方法提高了11.58%。本文方法得益于利用圖像灰度變換加大了光帶和非光帶區域的灰度差異,突出了光帶邊緣,從而能夠降低光照、圖像噪聲等因素的影響,更加準確地定位光帶位置。
為了從軌道圖像中準確地提取軌面區域并檢測光帶位置,為鋼軌光帶分析提供可靠依據,本文提出了一種基于機器視覺的鋼軌光帶檢測方法。首先根據軌道圖像的頻域特征提取軌面區域,然后利用灰度變換突出光帶的邊緣,逐行計算梯度識別光帶位置。通過采集的某高鐵線路的軌道圖像對該方法的檢測效果進行驗證,結果顯示該方法能有效地檢測鋼軌光帶,光帶檢測的交并比平均值達到了88.81%,比現有方法提升了11.58%。下一步工作將會把該算法部署到軌道巡檢系統上,大規模測試和驗證算法性能。