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