黃金國,戴志明,周培源
(華中科技大學,湖北 武漢 430074)
一種改進的基于梯度的圖像邊緣檢測算法
黃金國,戴志明,周培源*
(華中科技大學,湖北 武漢 430074)
針對經典基于梯度的邊緣檢測算法對方向的敏感性,從梯度的定義出發,本文提出了一種能夠根據實際精度需求任意調整方向的多方向邊緣檢測的算法。該算法操作簡單,具有圖像邊緣定位準確,抗噪能力強的特點。
灰度梯度;邊緣檢測;中值濾波;Sobel算子
邊緣是指其周圍像素灰度變化不連續的那些像素的集合,邊緣廣泛存在于物體與背景之間、物體與物體之間。圖像的邊緣對人類視覺系統具有重要意義,是人類判別物體的重要依據,是圖像的最基本特征,是圖像信息最集中的地方,包含著圖像的豐富信息,圖像邊緣的確定與提取對于整個圖像場景的識別與理解是非常重要的,其結果的正確性和可靠性將直接影響到機器視覺系統對客觀世界的理解[1,2]。因此,圖像邊緣檢測是圖像處理系統的關鍵技術,也是圖像分析中的經典問題,一直是圖像處理中的研究熱點。
好的邊緣檢測算法應該有一下3個指標:第一是低失誤概率,即真正的邊緣點盡可能少的丟失,同時又要盡可能避免將非邊緣點檢測為邊緣點;第二是高位置精度,檢測的邊緣應盡可能接近真實的邊緣;第三是對每一個邊緣點有唯一的響應,得到單像素寬度的邊緣[3,4]。分析已有的基于灰度特征的邊緣檢測算法可以發現,這些算法都是基于對圖像求簡單一階或二階導數運算的算法。由于數字圖像的特點,處理圖像過程中常采用差分來代替導數運算,而實際處理時,都是利用基于方向的模板對圖像求卷積運算的方法[5],不同的是各算法的算子使用不同區域大小、不同系數的模板進行操作。這種基于方向模板的算法只對檢測特定方向的邊緣敏感,對其它方向的邊緣檢測較弱,也不準備普遍性。本文將討論一種適應任意方向的邊緣檢測方法。
邊緣信息主要表現為圖像局部特征的不連續性,是圖像中灰度變化比較劇烈的地方,即是圖像中灰度變化最顯著的部分。垂直邊緣的方向上的導數值非常大,而沿著邊緣的方向上的導數值則較小。這樣只要能找到圖像上各點最大的方向導數,即可檢測出邊緣點灰度值不連續性效果[6]。
基于梯度的邊緣檢測方法的基本思想是:
1)對圖像中的每個像素點求導數,找出該點灰度變化最劇烈的方向θ及幅值g;
2)設定一個合適的閥值τ,可初步認為幅值g大于τ的像素點是邊緣點。
對于連續圖像f( x, y)在θ方向沿r→的導數的定義如式(1)所示。

圖像f( x, y)在θ方向沿r→的導數的最大值如式(2)

這里最大值g稱為圖像在這一點的梯度,θ稱為這點的梯度方向。當且僅當θ方向與邊緣方向垂直時才能得到最大值g。
由于數字圖像的特點,在處理過程中,一般用求差分來來替代求導運算。下圖表示數字圖像中的一個3×3領域。

1,1 x?y? x, y?1 1,1 x+y?x?y x, y x+1,y 1, x?y+ x, y+1 1,1 1,1x+y+
計算點(x,y)水平方向上的灰度變化Px如下式(4)

計算點(x,y)垂直方向上的灰度變化Py如下式(5)

在實際中常用小區域模板與數字圖像卷積來計算差分。基本思想是水平和垂直方向各用一個模板,對圖像進行處理時,用這兩個小區域模板在圖像中移動,完成圖像中每個像素點與這兩個模板的卷積運算,求得水平和垂直方向的差分[7,8]。

水平模板

垂直模板
為了避免(2)式中的平方和開方運算,經典的梯度邊緣檢測算法采用取Px與Py中絕對值較大者來近似梯度值g[9,10]。這樣一來對檢測結果的準確性就會造成較大的影響。如用水平模板檢測45°方向的邊緣。利用上述水平模板得到g=Px=10,而實際該值應為g=10≈14,誤差近30%,這樣的誤差會嚴重影響后續的處理結果。
在實際圖像采集中,不可避免地會引入噪聲,尤其是干擾脈沖和椒鹽類噪聲,噪聲的存在會嚴重影響對邊緣檢測的結果。中值濾波法是一種非線性平滑技術,在平滑脈沖噪聲方面非常效,同時能避免采用平均濾波時帶來的目標物邊緣模糊的問題[11,12]。
2.1 中值濾波原理
中值濾波原理:對一個窗口(記為W)內的所有像素灰度值按照灰度值大小按升序或者降序進行排序,取排序結果的中間值作為W中心點處像素的灰度值。用公式表示為:

以一維序列{6,7,5,4,9}為例,按升序排列的結果為{4,5,6,7,9},則原序列中間元素(原序列中的5)位置,應取升序排列后的中間值6為相應的濾波結果。通常W內像素個數選為奇數,以保證有一個中間值。中值濾波的關鍵是選擇合適的窗口形狀和大小,不同的形狀和大小的濾波窗口會帶來不同的濾波效果[13]。
2.2 改進的梯度算法
為了既能滿足實際處理圖像精度的需求,又能避免直接使用公式(2)帶來的平方和開方運算所需的計算
開銷,本文提出下面的近似計算梯度的方法。
1)設φi=10(2i?1),i=0,1,2,3,……,9,并算出其正切值tanφi;
3)求圖像中每個像素點的水平方向差分xP和垂直方向差分Py以及梯度方向θ的正切tanθ;
為了減小噪聲的影響,提高檢測的準確性,采用Sobel梯度檢測算子來計算水平和垂直方向的差分[14,15],其相應的檢測模板如下圖:

Sobel水平模板

Sobel垂直模板
1)對圖像中任意一像素(m, n),如果tanφk<tanθ<tan φk+1,則利用公式(1),可認為該點的梯度值g( m, n)=Px·cos?k+Py·sin?k。
若tanθ>20或者tanθ<?20,則令θ=90°
這種求梯度的算法,將邊緣方向細分到每10°的區間內,比經典的求梯度的方法計算量稍大,但是在實時性上依然能滿足一般的要求,得到的梯度值卻更為精確,還能根據所處理對象的精度要求,適當的減小iφ和φi+1之間的距離,可使檢測的方向更多,結果更精確。下表1列出了幾種梯度算法在PC上運行的時間比較。

表1 幾種梯度算法在PC上運行時間
2.3 邊緣檢測和提取
選擇合適的閥值T,如果像素(m, n)對應的梯度值g>T則認為該像素為邊緣點,將其像素值設置為255,若像素(m, n)對應的梯度值g<T則認為該像素為非邊緣點,將非邊緣點的像素值設置為0[16]。這樣就得到了待檢測圖像的二值化的邊緣圖像。
對Lena圖像分別用經典的Sobel算法、和本文算法進行實驗比較,同時比較采用中值濾波和不采用中值濾波的差別。

圖1 Lena原圖

圖2 經典Soble算

圖3 本文梯度算法未采用中值濾波

圖4 本文邊緣檢測算法
由實驗結果對比圖3和圖4可以看出,中值濾波對最忌噪聲效果顯著,但同時也可看出,其對濾除高密度的鹽椒噪聲能力不足。相比經典Soble方法得到的邊緣,本文方法得到的邊緣更準確清晰,很明顯圖4檢測到了圖2中沒有檢測到的邊緣點,同時也排除了一些非邊緣點,檢測效果得到了一定的提升。
[1] 谷口慶治. 數字圖像處理(應用篇)[M].北京:科學出版社,2002.
[2] 趙芳,欒曉明,孫越.數字圖像幾種邊緣檢測算子檢測比較分析[J].自動化技術與應用,2009, 28(3):68-70.
[3] 龔聲榮,劉純平,王強,等.數字圖像處理與分析[M].北京:清華大學出版社,2006.
[4] John Canny,Member,IEEE.A Computational Approach to Edge Detection[J]. IEEE Trans.Pattern Analysis and Machine Intelligence, 1986, PAMI-8(1): 679-697.
[5] 張斌,宋 吻,賀安之.基于任意方向圖像導數算法的邊緣檢測技術[J].光電工程,2009,36(10):124-128.
[6] R.Deriche.Using Canny’s Criteria to Derive a Recursively Implemented Optimal Edge Detector[J].Int.J.Computing Vision.1987,1(2):167-187.
[7] Theo Gevers,Arnold W.M.Smeulders.Content-based Image Retrieval by Viewpoint Invariant Color Indexing[J].Image and Vision Computing,1999(17):475-488.
[8] Chen W.A new algorithm of edge detection for color image:generalized fuzzy operator[J]. Science in China (A),1995,38(10):1272-1273.
[9] 黃劍玲,鄒輝.一種精確的自適應圖像邊緣提取方法[J]. 計算機工程與科學, 2009, 31(9): 53-55.
[10] 余洪山,王耀南.一種改進型canny邊緣檢測算法[J].計算機工程與應用, 2004, 40(20) 27-29.
[11] Ataman E,Aatre V K,Wong K M.Some statistical Properties of median filtrs[J].IEEE Transactions on Acoustics Speech,Signal Processing, 1980, 28(4):415-421.
[12] 聶漢軍,沈永增. 基于小波變換和模糊中值濾波的圖像邊緣檢測[J].計算機工程與應用, 2002: 38(13): 91-92.
[13] Trahanias P E,Pitas I,Venetsanopoulos A N.Directional processing of color image:theory and experimental results[J].IEEE Trans.on Image Processing,1996, 5(6): 868-880.
[14] 袁春蘭,熊宗龍,周雪花,等. 基于Soble算子的圖像邊緣檢測研究[J].激光與紅外, 2009, 39(1): 85-87.
[15] Sobel L.Camera Models and Machine Perception[D].PhD thesis,Standford University,Standford, CA,1970.
[16] MALLAT S,ZHANG S.Characterization of signals from muhiseale edges[J].IEEE Trans PAM I 1992,14(7):710-732.
An Improved Edge Detection Algorithm Based on Grad
HUANG Jin-guo, DAI Zhi-ming, ZHOU Pei-yuan
(Huazhong University of Science and Technology, Wuhan Hubei 430074, China)
This paper proposes an improved edge detection algorithm based on grad, which aims at the sensitivity of classic edge detection algorithm against directions. This new algorithm can be adjusted to any directions in accordance with the actual requirements of precision, characterized by its easy operation, perfect performance on locating the edge of image and resisting noise.
grey-level gradient;edge detection;median filter;Sobel Operator
TP309
A
1009-5160(2010)03-0033-03
*通訊作者:周培源(1965-),男,副教授,研究方向:嵌入式系統與信息安全.
國家科技支撐計劃“虛擬實驗教學環境關鍵技術研究與應用示范”(2008BAH29B00).