湯旻安,王晨雨
(蘭州交通大學自動化與電氣工程學院,蘭州 730070)
隨著我國鐵路快速發展,列車時速不斷提高,鐵路運營安全越發重要。近年來,因地質災害、人為疏忽等因素影響,鐵路上的傷亡事故越來越多。因而,依托固定監控等方式的異物入侵檢測系統的建立就尤為必要。建立異物入侵檢測系統首先需對監控獲取的圖像進行預處理,提取軌道邊緣,從而獲取異物檢測區域。
Canny算法是目前最常用的邊緣檢測算法之一,它的優異性能主要是能夠通過控制邊緣檢測參數和閾值來調整輸出圖像質量,但其仍然存在抗噪能力弱、精度不高的問題[1]。數字圖像獲取途中容易受到各種干擾。椒鹽噪聲是一種較常見的噪聲,其表現為會在圖像中隨機使一些像素取圖像灰度值的最大值與最小值[2]。圖像中的噪聲會造成原始圖像質量下降,影響圖像中原有信息的準確傳遞[3]。因為高斯濾波器濾波效果較差且濾波后圖像邊緣信息易丟失,所以需對傳統Canny算法進行改進。文獻[4]采用了雙邊濾波器對噪聲進行處理,但因強噪聲點也符合雙邊濾波器的邊緣判斷準則,所以無法濾除強噪聲。文獻[5]采用了改進的雙邊濾波器進行濾波,可對強噪聲進行單獨判斷處理,但存在漏判情況,影響濾波效果。文獻[6]依據噪聲點特性,采用中值與雙邊濾波相結合的混合濾波器處理圖像,但混合濾波器在濾除噪聲的同時存在平滑過渡問題,使得圖像更加模糊。
在圖像處理過程中,閾值的選擇也會直接影響邊緣質量。圖像分割需將目標從背景中分割出來,以便正確地讀取圖像并準確識別圖像的內容[7]。文獻[8-11]采用Otsu算法求出圖像的最佳閾值代替人為設定閾值,圖像分割效果較好。但在處理圖像直方圖為單峰或接近單峰時,Otsu方法容易得到錯誤的閾值[12]。
在實際環境中相機采集到的原始圖像往往存在大量的混合噪聲,其主要是脈沖和高斯噪聲[13]。針對Canny算法對混合噪聲濾波的效果較差問題,選用雙邊濾波器進行濾波,但因雙邊濾波器濾除椒鹽噪聲效果較差,故使用自適應中值濾波器組合濾波;針對算法需人為設置閾值等問題,使用改進Otsu算法得到圖像分割閾值,改進Otsu算法閾值選擇則偏向波谷。
傳統Canny邊緣檢測算法的流程包括5個步驟,分別為圖像去噪、計算梯度幅值和方向、非極大值抑制(NMS)雙閾值檢測和邊緣連接[14]。本文主要在去噪、閾值選取方面進行改進,梯度幅值計算方法則選用了較常見的四方向梯度模板。
Canny算法利用高斯濾波器對圖像進行預處理,可消除噪聲,但將部分邊緣信號作為噪聲被濾掉,丟失一些細節信息[15]。與高斯濾波不同,雙邊濾波既考慮了像素的歐氏距離,又考慮到圖像灰度值信息,在濾除噪聲的同時也保留了邊緣信息。雙邊濾波器模型如式(1)所示。

(1)

(2)

(3)

雙邊濾波時,因為強噪聲與中心像素灰度值相差較大,所以獲得的灰度相似度權重也較大,從而被當作邊緣保留下來[16]。因此,本文使用去除強噪聲本領較強,且保留圖像信息的自適應中值濾波器進行組合濾波。自適應中值濾波器可以針對不同噪聲密度自適應改變濾波窗口的大小,對噪聲點進行中值濾波,對信號點保持灰度值不變,更好的保留了圖像信息。自適應中值濾波步驟如下。
(1)如果fmin (2)若fmin 式中,Sxy為以坐標(x,y)為中心的窗口;Smax為窗口允許的最大尺寸;fij為坐標(x,y)的灰度值;fmin、fmed、fmax分別為Sxy中最小灰度值、灰度值中值、最大灰度值。 算法在進行濾波時,首先采用自適應中值濾波對圖像中的椒鹽噪聲進行處理,再通過雙邊濾波平滑圖像,濾除軌道圖像中其他噪聲。 根據文獻[17],在3×3鄰域內引入45°與135°方向梯度幅值,先通過Sobel梯度模板求取四方向梯度幅值[18],再對四方向梯度幅值進行處理,各方向梯度模板如下。 垂直(x)方向模板 水平(y)方向模板 45°方向模板 135°方向模板 梯度幅值計算公式如式(4)所示。 (4) (5) (6) (7) 式中,P1、P2分別為像素分到前景、背景區域的概率;m1、m2、mG分別為前景、背景與全局平均灰度值。 為評價閾值k處理圖像的質量,定義 (8) Otsu算法分割直方圖為明顯雙峰的圖像效果較好,但對于目標像素點過少的標記點圖像,分割閾值嚴重偏向了像素占比大、類內方差大的背景區域,導致圖像分割失敗[19]。Otsu算法主要依據最大類間方差來選擇閾值,依據這一特性,通過引入閾值鄰域灰度值的高度與區域平均灰度差,使得低灰度值的波谷更加突出,區域間區分度更高,圖像分割出的前景與背景質量更好。改進后的類間方差公式為 P2(m2-mG)2+|m1-m2|) (9) 如圖1所示,改進算法可以較好區分前景與背景,減少了背景區域對前景的影響。如圖2所示,原始圖像A與原始圖像B的背景區域波峰較為明顯,背景像素占比較大,分割閾值難以選取。兩種算法在原始圖像直方圖選取的閾值有較大差異,傳統的Otsu算法得到的閾值總是偏向像素占比較大的背景區域,本算法則更趨于區域中間的波谷。 圖1 閾值分割 圖2 原始圖像灰度信息 Hough 變換是一種常見的直線檢測方法,它將原始圖像空間中的每一個點映射為參數空間上的一條正弦曲線[20]。對于圖像平面(xy平面)上任意一點(xi,yi),總是有形如yi=axi+b的無數條直線經過該點。然而,在參數平面(ab平面)中將該等式寫為b=-xia+yi,這時a、b取不同值時,將得到點(xi,yi)不同的單條直線方程。但當直線接近垂直方向時,斜率會趨于無窮大。這時可使用一條直線的法線來表示。法線公式為 xcosθ+ysinθ=ρ (10) 如圖3所示,圖像平面xy坐標系中一條直線,映射到ρθ參數平面便變成一個點。圖像平面坐標系中的一個點則對應參數平面一條曲線。由于二維空間的共線性對應于參數空間的共點性,因此,可通過對參數空間某個點對應的計數提取二維空間中的直線參數[21]。每個累加單元上都有1個初始值為 0的累加器,當參數平面中的曲線經過累加單元一次,則對應累加單元的累加器數值會加 1。因需要提取直線型軌道邊緣,故選取參數空間中高計數的累加單元。 圖3 映射關系 為驗證改進Canny邊緣檢測算法的有效性,選取了兩幅鐵路軌道圖像(原始圖像C與原始圖像D)進行處理。實驗仿真平臺采用配置為Inteli5-8265UCPU,運行內存8GB,Windows10系統的個人電腦,編程環境為Matlab 2018b。 此外,將文中算法與傳統Canny算法、文獻[6]中基于中值雙邊混合濾波與Otsu閾值處理的改進Canny算法和文獻[15]中基于雙邊濾波與極值點鄰域結構的改進Canny算法的檢測結果進行對比和Hough變換。不同方法的邊緣檢測及邊緣提取仿真結果如圖4所示,其中,每幅圖像的Hough變換選取了前6個較大峰值點中2個與目標邊緣直線最為接近的峰值點。 圖4 目標邊緣提取 為評價各算法邊緣檢測效果,采用IED(Image Edge Definition,圖像邊緣清晰度)進行比較。IED值計算方法如下 IED= (11) 式中,p(i,j)為圖像在坐標(i,j)處的灰度值,N、M分別為圖像矩陣的行數和列數。IED值越高,表示圖像邊緣清晰度越高;IED值越低,表示圖像邊緣清晰度越低。圖像C、D邊緣檢測后的IED值與Hough變換時間分別如表1、表2所示。 表1 圖像C檢測后IED與邊緣提取時間對比 表2 圖像D檢測結果IED與邊緣提取時間對比 從目標邊緣提取圖中可以看到,由于原始圖像背景較為復雜,故算法處理后的圖像會生成較多無用信息。與原始圖像坐標系中鐵路軌道所在直線相比較,各算法提取出的直線大部分與目標重合,但Hough變換時難免受到背景邊緣像素點的影響,選取多峰值點可以提高各算法準確度。對比4種方法邊緣檢測效果,傳統Canny算法檢測到大量不相關信息,且目標邊緣信息有缺失,所以檢測到的直線不連續;文獻[6]與本文算法檢測的結果較為接近,但因為濾波效果不佳和閾值選取偏向等問題,目標邊緣信息缺失較多,提取效果不好;文獻[15]算法提取出的圖像C中的直線明顯偏移,在選取6個峰值點情況下,無法提取出目標邊緣,背景像素對邊緣提取有較大干擾。本文算法減少了大量不相關信息,軌道特征較為明顯,Hough變換時參數平面曲線相交的峰值點主要對應圖像平面中軌道邊緣所在直線,所以Hough變換可以較準確提取目標邊緣。但因圖像中背景信息影響,提取邊緣并非選取最大的2個峰值點。 從處理后圖像的IED與邊緣提取時間對比可以看出,傳統Canny算法與文獻[15]中算法因背景區域影響,邊緣清晰度值低,邊緣提取時間長;文獻[6]圖像邊緣清晰度值較低,圖像邊緣提取時間有所縮短;本文算法檢測效果較好,圖像邊緣清晰度值比表1、表2中其余算法提高了約10%,且縮短了Hough變換時間。通過對比,本文算法可較好保留圖像邊緣信息,提高邊緣提取效率。 本次實驗仿真對4種方法邊緣檢測后的圖像進行邊緣提取,結果表明本文算法邊緣檢測效果最好,且提取時間最短。 提出的改進Canny算法可較好的檢測圖像邊緣,去除圖像噪聲,改進Otsu算法計算出的閾值分割前景效果較好,有利于軌道邊緣提取。在本文算法邊緣檢測后,Hough變換提取出的目標邊緣“質量”較好,運行時間較短。但Hough變換并不能在選取最大的2個峰值點時提取出軌道邊緣,故本文算法在背景處理方面還有所欠缺。1.2 梯度幅值計算







1.3 改進Otsu算法的閾值分割







2 Hough變換

3 實驗評估
3.1 實驗設置




3.2 實驗分析
4 結語