張永梅 王世偉 許靜
摘 要: 提出了Canny算子與小波變換相結合的道路邊緣特征提取算法。首先用Canny算子對原圖像提取邊緣,與原圖像進行疊加,再用小波變換對此圖像進行二次邊緣提取,有效地提取道路邊緣特征,避免了Canny算子提取道路邊緣不連續現象和小波變換提取邊緣時出現的虛假邊緣信息。
關鍵詞: 邊緣特征; 閾值; Canny算子; 小波變換
中圖分類號:TP751.1 文獻標志碼:A 文章編號:1006-8228(2015)08-44-03
Road edge feature extraction algorithm with Canny operator and wavelet transform
Zhang Yongmei1,2,3, Wang Shiwei1, Xu Jing1
(1. School of Computer Science, North China University of Technology, Beijing 100144; 2. Guangdong Key Laboratory of Popular High Performance Computers;
3. Shenzhen Key Laboratory of Service Computing and Applications)
Abstract: A road edge feature extraction algorithm based on Canny operator and wavelet transform is proposed in this paper, the edge of the original image is extracted by using Canny operator, overlay??it on the original image, and then extract edge of the overlaid image by using wavelet transform. This algorithm can effectively extract the edge features of the road , and avoid the road edge discontinuity phenomena of Canny operator and the false edge information of wavelet transform.
Key words: edge character; threshold; Canny operator; wavelet transform
0 引言
圖像的邊緣特征是圖像局部特性不連續性的反映,它是一個區域和另一個區域的分界線。由于噪聲和模糊的存在,檢測到的邊界可能會在某些邊緣處變寬或在某些點處發生間斷,因此邊緣提取的首要任務是檢出圖像局部特性的不連續性,然后剔出某些邊界點或填補一些邊界間斷點,并將這些邊緣像素連成完整的邊界[1]。在邊緣方向上,邊緣的像素變化比較模糊,但是與邊緣相垂直的方向,像素值變化很明顯。因此,某種意義上來說,提取邊緣的算法就是找出像素的一種微分算子。各種邊緣檢測技術的基本思想都是計算出局部的微分算子,然后根據微分算子檢測出邊緣[2]。
1 Canny邊緣特征提取方法
從定位的可靠性和檢測邊緣的有效性出發,John Canny對最優邊緣檢測器所需要的所有特性進行了研究,他在1986年寫的一篇論文中推導出了最優邊緣檢測的數學表達式。對于不同類型的圖像邊緣,Canny邊緣檢測的最優形式也不一樣,但是他推導的一維M-H邊緣檢測器與一維邊緣檢測器基本上是相同的,這是因為在一階導數算子中,其最大值和M-H 算子的零交叉點在理論上是一致的。但是在二維導數情況下,Canny算子在定位性方面和方向性質方面的邊緣檢測性能要比M-H 算子好,它能夠比較準確地估計邊緣的強度,在梯度方向上,也可以產生較好的效果。Canny算子邊緣檢測首先用高斯濾波器平滑圖像,再用一階偏導的有限差分來計算梯度的幅值和方向,對梯度的幅值進行非極大值抑制。對一般圖像來說,在梯度的圖像像素中,像素值越大,梯度值就越大。對于Canny算子,進行抑制非極大值也是關鍵的一步,一般來說,就是要尋找像素點的局部最大值,將非極大值點的灰度值設置為0,這樣就可以屏蔽掉很大一部分非邊緣的點。但是這并不一定就是圖像的邊緣,所以還可以保留局部的最大點,來確定圖像的邊緣點。Canny算法中為了減少虛假邊緣信息,采用雙閾值法。首先要選擇兩個閾值,從高閾值可以得到一個邊緣圖像,這樣一個圖像中含有假的邊緣信息就少,但是如果選取的閾值較高,產生的圖像邊緣可能就不是閉合的,為了解決這樣一個問題,又采用了另外一個低閾值。但在低閾值的選擇過程中,如果選擇不當,就會出現不閉合的可能[3-4]。所以,選取低閾值就很重要,一般比較難選擇,雖然Canny算子在邊緣提取方面能夠抑制虛假信息,但是若低閾值選擇不當,就會出現斷續的邊緣結果。
2 小波邊緣特征提取方法
對于一幅圖像來說,圖像的邊緣點通常就是急劇變化的地方,也是圖像信息中很重要的部分。在小波變換的應用中,很重要的一個方面就是信號的突變點檢測或者圖像的邊緣檢測,小波變換在邊緣點重建原始圖像上也有應用。在小波變換域中,小波變換的系數模的極值點或者是過零點與圖像信號的突變點相對應,而且信號奇異性的大小與小波系數的極值點隨尺度規律的變化而變化,所以,應用小波變換對圖像信號的瞬時特征進行描述也具有一定的意義[5]。
假設θ(t)為低通平滑函數,分別為的一階導數和二階導數,f(s)為L2(R)的實函數,θs=(1/s)θ(x/s),在尺度s下,它表示了θ(x)函數的伸縮度,為小波母函數,f(x)與伸縮函數進行卷積運算后的小波變換為:
⑴
將帶入后,得到式⑵。
⑵
從上面的推導過程可以看到,小波變換W1f(s,x)與f(x,y)平滑后的一階偏導數與W2f(s,x)和f(x,y)的二階偏導數對應成比例。即在某一固定尺度s下,沿著x變量的W1f(s,x)的局部極值與W2f(s,x)的過零點與f*θs(x)的拐點也是相互對應的。
利用θs(x)平滑f(s,x)后,將f(s,x)的局部突變點利用尺度為s的邊緣點來定義,從現實上來說,對圖像的邊緣檢測就是檢測f(x)θs(x)的拐點。當s較小時,f(x,y)被θs(x)平滑后的結果對f(s,x)的突變部分的位置和形態影響的結果不是很大。然而當s較大時,f(s,x)被θs(x)平滑后的結果會消除掉f(s,x)的一些比較細小的突變,圖像只留下了大尺寸的突變。因此,當小波函數被當作θs(x)函數的一階導數時,小波變換模的局部極值點就對應于這個突變點。小波函數被當作θs(x)函數的二階導數時,模的過零點與突變點也相對應。一般來說,當θ(t)為高斯函數時,過零點檢測就等效為M-H邊緣檢測方法,而極值點的檢測與Canny邊緣檢測相似。
采用檢測小波變換系數模的過零點與局部極值點的方法即可檢測圖像信號的邊緣位置。這兩種方法有其相似的地方,但是從實際應用來看,用局部極值點對邊緣進行檢測則更具有其優越性。因為函數f*θs(x)的拐點對應于一階導數模極值點,W1f(s,x)的極大值點對應于信號變化快的點,而W1f(s,x)極小值點又對應于變化慢的點,所以說,只是單單檢測二階導數的過零點,并不是很容易區分信號到底是突變點還是緩變點。另外,過零點檢測不出變化點變化快慢的信息,它只能給出拐點位置,然而對于局部極大值,它就一定為該點對應信號的快的變化點,此外,取出模極大值點在各尺度上的值,就能夠推測拐點處的導數值,得到信號變化程度。
從以上分析得出,以θs(t)函數的一階導數φ(1)(t)作為小波母函數來進行小波變換,小波變換多尺度系數的模極大值都對應于信號的突變點。一般來說,尺度分的越小,θs(t)平滑區域就會越小,小波系數模極大值點與突變點對應就會越準確。但是,在小尺度下,小波系數受到噪聲影響會比較大,它能夠產生許多的極值點,所以往往只在一個尺度下不能判定突變點位置。相反,在大尺度下,對噪聲有一定的抑制作用,極值點也相對來說比較穩定,但是因為平滑作用使它的定位又有了一定的偏差。只有在一定的尺度下,突變點的小波變換才能避免交疊干擾。因此,在利用小波變換的模極大值法定位突變點時,需要結合多尺度綜合觀察。現在定義一個平滑函數θ(x,y),它沿x方向和y方向的一階偏導數為:
⑶
設,對任意函數f(x,y)∈L2(R2)對應于φ1(x,y),φ2(x,y)的小波變換定義為:
⑷
f(x,y)在尺度為s時的邊緣定義為f*θs(x,y)梯度矢量的模與方向都是最大的點。當小波函數φ1(x,y),φ2(x,y)是方差為σ2的高斯平滑函數φ(x,y)的偏導數時,f(x,y)在尺度s的小波變換模定義為:
⑸
⑹
實際上,邊緣檢測就是檢測的模局部是否最大,同時在梯度矢量方向上也是最大的點。在各個尺度sj下,小波變換模的極值定義為沿梯度方向Af(sj,x,y)最大,同時模Mf(sj,x,y)局部也是最大的點(x,y)。
3 Canny與小波相結合的邊緣特征提取方法
在噪聲比較多的情況下,利用Canny算子提取圖像輪廓會有比較多的虛假信息,而在后期Canny算子在進行邊緣連接過程中,可能會出現邊緣點不連續的情況。對于小波變換,由于處理圖像求其模極值時,可能會出現局部的極值點,導致出現虛假信息。如果首先用Canny算子對原圖像進行處理,由于Canny算子本身就具有平滑作用,再與原圖像進行疊加,就可以得到一幅輪廓清晰的圖像,再用小波變換對此圖像進行二次邊緣提取,此時的邊緣檢測會更加清晰。Canny算子與小波變換相結合的邊緣特征提取算法具體步驟如下。
⑴ 使用Canny算子檢測圖像的邊緣信息,提取出一幅二值圖像的圖像邊緣。
⑵ 如果圖像含有噪聲,對原圖像進行圖像平滑處理,然后對二值圖像與原圖像根據一定的權值進行疊加。
⑶ 利用小波變換對步驟⑵得到的圖像再一次進行邊緣檢測,取模局部最大,同時梯度矢量方向也取最大的點,得到一幅效果較好的圖像邊緣輪廓。
4 實驗結果及分析
本文選取不同地形的多幅圖像進行了測試,圖1給出了一幅圖像的實驗結果。該幅圖像是城市立交橋的道路,有直路、彎路和交叉的復雜道路。從主觀上看,Canny算子提取的邊緣特征雖然在虛假邊緣上處理得比較好,但由于在預處理階段,圖像灰度的差別在邊緣上不是很明顯,Canny算子在最后連接邊緣過程中效果比較差。Canny算子存在邊緣沒有完全連接的缺陷,原因可能是對于邊緣點的像素值沒有處理好。對于小波變換,是通過取局部的模極大值點來提取其邊緣特征,所以可能產生比較多的虛假信息,雖然很少出現邊緣不連續的現象,但在邊緣與其他地方相連處出現了一些虛假信息。本文方法將Canny算子與小波變換相結合,利用Canny算子對圖像進行邊緣提取后,雖然邊緣有些不連續的地方,但又與原圖像進行疊加,使邊緣信息更明顯,然后再用小波變換進行邊緣特征提取,得到了明顯的邊緣特征,雖然也出現了一些虛假信息,但很少,而且連接效果比Canny算子要好些。
5 結論
本文提出了Canny算子與小波變換相結合的邊緣特征提取方法,該方法利用Canny算子提取邊緣的優點和小波變換在檢測圖像突變點中的優點,避免了Canny算子提取道路邊緣不連續現象和小波變換提取邊緣時出現的虛假邊緣信息,可以有效地對圖像進行邊緣檢測。
參考文獻:
[1] 王一鳴.基于紅外圖像的道路邊緣檢測算法研究[D].南京理工大學,
2006.
[2] 蘇紅軍,杜培軍.高光譜遙感數據光譜特征提取方法與分類研究[J].
計算機應用研究,2008.25(2):390-394
[3] 葉衍,張凌.基于特征分布的圖像信息抽取[J].中國圖像圖形學報,
1998.3:189-193.
[4] 陳芒.圖像中道路網絡自動識別的研究[D].上海交通大學,2006.
[5] 段淼.BP神經網絡在圖像信息提取中的應用研究[J].吉林建筑大學
學報,2013.30(4):65-67