張?zhí)忑?,許貴陽
(1.北京建筑大學機電與車輛工程學院,北京100044;2.北京建筑大學城市軌道交通車輛服役性能保障北京市重點實驗室,北京100044)
軌枕的工作狀態(tài)對鐵路行車安全有著重要影響。對于軌枕的日常檢查工作主要采用傳統(tǒng)的人工巡檢方式[1],該方式效率低、危險系數(shù)高,不能滿足我國軌道交通的發(fā)展需求[2]。為了提高鐵路基礎設施日常檢測效率,基于計算機與人工智能技術的發(fā)展背景,采用鐵路軌枕狀態(tài)的自動檢測方式代替人工巡檢方式,在鐵路安全巡檢自動化檢測中具有重要的應用價值。
國內(nèi)外學者針對鐵路軌枕定位進行了大量研究,目前通過計算機視覺技術和圖像處理技術來實現(xiàn)。朱洪濤等[3]利用電渦流式接近開關的方法來實現(xiàn)軌枕定位,但該方法可能因軌道扣件的缺失或斷裂無法識別出軌枕,且軌道上任何金屬雜物超過一定范圍,傳感器都會產(chǎn)生開關信號,從而誤識別為軌枕,識別效果不佳。雷華堂[4]利用粗糙神經(jīng)網(wǎng)絡對軌枕狀態(tài)進行檢測,但在實際情況中鐵路環(huán)境復雜多變,對紋理特征的精確選取較為困難,檢測效果不佳。譚偉[5]采用一維方波卷積的方法,對圖像的垂直邊緣進行檢測來確定軌枕的位置,但該方法會因為梯度不明顯而造成定位不精確。
針對目前鐵路軌枕定位方法的不足,為了快速、準確地定位鐵路軌枕,為鐵路軌枕狀態(tài)檢測提供可靠的、高精度的軌枕圖像,本文提出基于改進Sobel 算子的鐵路軌枕自動定位方法。
Sobel 算子是一種基于圖像強度的一階導數(shù)的離散型差分算子,用來計算圖像亮度函數(shù)的灰度近似值,通常用于邊緣檢測。傳統(tǒng)的Sobel 算子是利用0°(水平方向)和90°(垂直方向)2 個方向的邊緣檢測模板與圖像作平面卷積,通過計算圖像的一階導數(shù)得到圖像的邊緣點像素值。傳統(tǒng)Sobel 算子0°和90°的邊緣檢測卷積模板S0°和S90°[6]分別為
假設連續(xù)的圖像函數(shù)為U(x,y),其在(x,y)處的梯度是一個具有方向和大小的矢量,即
式中:i,j分別是x,y方向的單位矢量。
U(x,y)在(x,y)處的梯度幅值和方向分別為
傳統(tǒng) Sobel 算法流程為[7]:①將 2 個方向的模板分別與軌道圖像矩陣作離散卷積;②選取卷積較大的值取代圖像中模板中心位置的像素值,作為該像素新的灰度值;③取合適的閾值T,若新灰度值大于等于T,則認為該像素點為邊緣點。
傳統(tǒng)的Sobel 邊緣檢測算法原理易懂、計算簡便、運行時間短,但該方法可能因像素間隔較大而誤判其差分值為邊界點,且沒有對噪聲數(shù)據(jù)進行過濾和判斷,此外該算法只能檢測0°(水平)和90°(垂直)2個方向上的邊緣,對軌枕其他方向的邊緣檢測不敏感,邊緣檢測效果欠佳。
1.2.1 Sobel算子模板的改進
為了獲得較完整的圖像邊緣,改進的Sobel 算子重新構造出一種8方向邊緣檢測模板[8],分別是0°,45°,90°,135°,180°,225°,270°,315°方向模板,即
模板中每一點到中心點的距離和該點在模板中所在的方向決定著該點的權重,距離相等的點具有相同的權重。改進Sobel算子邊緣檢測的8個方向如圖1所示。
圖1 改進Sobel算子邊緣檢測的8個方向
改進的Sobel 算子重新調(diào)整了原有水平和垂直方向梯度的權重,并提高了對角線方向梯度的權重,使得該算法對邊緣特征的提取更加準確。
1.2.2 改進Sobel算子最佳閾值的選取
改進的Sobel 算子由原來的水平和垂直2 個方向模板增加到8 個方向模板,從而可以獲得更加完整的邊緣信息。但是與傳統(tǒng)Sobel 算子一樣,對于一些疊加了噪聲圖像的邊緣檢測信息,改進的Sobel 算子效果欠佳,即抗噪能力仍然較差。針對以上不足,本文通過設定閾值的方法來改善。Sobel 算子檢測的邊緣值與設定的閾值T進行比較,若幅值大于閾值T,則將該點定義為邊緣,若幅值小于閾值T,則為0,即該點函數(shù)g(j,k)為
式中:A為邊緣點的像素值,0<A≤255;fi(j,k)為經(jīng)過模板卷積法邊緣檢測的輸出結果。
道砟和軌枕的灰度值相近,且容易受到噪聲的干擾,因此,閾值T的選取在軌枕的邊緣檢測中尤為重要。若選取的閾值偏低,將會保留較多的噪聲點,邊緣檢測效果欠佳;若選取的閾值偏高,則會丟失部分灰度值較小的邊緣,導致圖像邊緣不完整。針對鐵路軌枕圖像,采用8 方向Sobel 算子邊緣檢測后,利用最大后驗概率估計的方法,對檢測后的圖像進行最佳閾值分割處理,增強算法的抗噪聲能力。
用zl(m,n)來表示經(jīng)過Sobel 算子檢測后的圖像,假設
式中:xl(m,n)為原始圖像的邊緣部分;yl(m,n)為高斯白噪聲,其均值為0,方差為
檢測出的邊緣圖像xl(m,n)是服從拉普拉斯分布的高頻分量,其概率密度函數(shù)p(a)為
式中:a為經(jīng)過改進Sobel 邊緣檢測后圖像的高頻分量;σx為xl(m,n)的標準差。
基于式(5)得出的信號模型,可以推導出xl(m,n)的最大后驗概率估計為
其中,T0為最佳閾值,表達式為
可以看出,式(7)和式(8)給出的邊緣估計的特點是:當圖像邊緣的幅值大于閾值時,將二者的差值作為邊緣估計值,因此,具有更強的去噪功能。
為了由式(7)獲得邊緣信號的最佳估計值,需要確定T0的值,因此要分別估計出σx和σyl的值。
假定圖像大小為N×N,用中值法估計σyl的值為
其中median[·]表示取中值的運算。定義
將式(9)、式(12)給出的和σyl的估計值代入式(7),可得閾值T0,即最佳閾值。
相比于傳統(tǒng)Sobel 算法,上述方法的最大優(yōu)點是能有效地去除噪聲,盡可能地保留了圖像的真實邊緣,達到了一種更好的邊緣檢測效果。
基于改進Sobel 算子的邊緣檢測方法主要步驟為[7]:①將改進的8 個方向模板分別與軌道圖像矩陣作離散卷積;②采用卷積運算結果最大值作為新的灰度值來代替原像素點的灰度值;③利用邊緣的最大后驗概率估計法,選取最佳閾值T0,對新的灰度圖像進行二值化處理,得到一幅二值化圖像。
針對軌道圖像,分別用傳統(tǒng)的Sobel 算子、8 方向Sobel 算子和采用最佳閾值的Sobel 算子3 種方法,在實際的環(huán)境下進行邊緣檢測,效果見圖2??芍疚牟捎酶倪M的Sobel 算子在檢測軌道圖像邊緣信息時較其他算子效果更好。
圖2 不同方法邊緣檢測效果
投影法是將圖像的像素沿著水平和垂直方向進行灰度投影,統(tǒng)計出在所有點上的數(shù)值大小,并以線性圖的方式顯示的一種方法。將經(jīng)過改進Sobel 算子邊緣檢測后的圖像進行灰度值投影,從而確定軌枕的上下和左右邊界的具體位置,然后根據(jù)先驗信息即可確定軌枕的位置。具體方法如下。
首先將經(jīng)過改進Sobel 算子邊緣檢測后的圖像進行水平灰度投影,有階躍性的灰度值變化的位置即為軌枕的邊界區(qū)域,可知圖3 中位于20~62 像素之間的即為軌枕的上下邊界位置。然后將圖像順時針旋轉(zhuǎn)90°,同樣對旋轉(zhuǎn)后的圖像作水平灰度投影,可知圖4中位于60~518 像素之間的即為軌枕的左右邊界位置。根據(jù)灰度圖像投影,即可獲得軌枕寬度的像素寬度為42,軌枕長度的像素寬度為458。為了準確定位軌枕,根據(jù)灰度圖像的邊緣檢測結果,將軌枕圖像統(tǒng)一設置為45×460像素,然后進行區(qū)域截取。根據(jù)先驗信息即可精確定位軌枕[9]。定位結果如圖5所示。
圖3 水平灰度投影
圖4 旋轉(zhuǎn)90°水平灰度投影
圖5 定位軌枕
為了檢驗上述方法對軌枕定位的準確性,對采集的多張圖像進行試驗檢測。采用MATLAB2014b 軟件編程,將采集的50 張圖像通過改進的Sobel 算子進行定位檢測,具體流程如圖6所示,最后均檢測成功。軌枕定位結果對后續(xù)的軌枕和扣件狀態(tài)檢測工作起到重要作用,準確的定位結果可減輕后續(xù)工作量。
圖6 具體試驗流程
針對傳統(tǒng)Sobel 算子在鐵路軌枕邊緣檢測中存在的缺陷與不足,本文提出一種基于改進Sobel 算子的軌枕精確定位方法。在傳統(tǒng)Sobel 算子具有水平和垂直2 個方向模板的基礎上增加至8 個方向模板,提高邊緣的檢測精度,并且采用最大后驗概率估計的方法選取最佳閾值,進行二值化處理,增強算法的抗噪聲能力,然后將處理后的圖像進行灰度投影,實現(xiàn)軌枕精確定位。試驗結果表明,該方法能快速、準確地定位軌枕,為鐵路軌枕狀態(tài)檢測提供可靠的、高精度的軌枕圖像。