文永革, 何紅洲, 李海洋
(綿陽師范學院數(shù)學與計算機科學學院,四川 綿陽 621000)
邊緣檢測一直是圖像處理中的研究熱點,在模式識別、機器視覺等領(lǐng)域具有廣泛應用。常用的邊緣檢測方法是利用檢測模板或算子,如Sobel、Prewitt、Robert、Laplacian等[1-2]進行計算。王智文[3]對Sobel、Prewitt、Robert、Laplacian、Canny、Gaussian和Zero-Cross等算子算法的性能進行了比較研究,用實驗證明了不存在占絕對優(yōu)勢的檢測算法。姜慶玲[4]將細胞神經(jīng)網(wǎng)絡(luò)(cellular neural network,CNN)數(shù)學模型應用到圖像邊緣檢測中,可直接檢測彩色圖像邊緣。朱曉臨等[5]提出一種多閾值選取與改進的邊緣連接相結(jié)合的方法,使邊緣檢測能保持弱邊緣和連接性。針對一些特殊應用,文獻[6-8]分別把遺傳算法、復合導數(shù)、數(shù)學形態(tài)學等理論運用到圖像邊緣檢測中,并取得了較好效果。針對Roberts算法對噪聲比較敏感且需要人為指定閾值問題,康牧等[9]提出了一種Roberts自適應邊緣檢測方法,能夠自適應地生成動態(tài)閾值,提高了圖像邊緣細節(jié)信息的提取性能。
灰色系統(tǒng)理論是鄧聚龍[10]提出的一種研究少數(shù)據(jù)、貧信息、不確定性或不完全確定系統(tǒng)問題的新方法,主要解決一些包含未知因素的特殊領(lǐng)域問題,并得到了廣泛應用。文獻[11-13]將灰色關(guān)聯(lián)度與圖像的邊緣檢測相結(jié)合,提出了一種利用Sobel算子作為參考序列,通過計算灰色關(guān)聯(lián)度來檢測圖像邊緣的算法(簡稱為Sobel灰關(guān)聯(lián)算法),并獲得了初步成果。
但以上算法在權(quán)衡邊緣檢測精度、定位精度和抗噪性的問題上還存在不足。
本文結(jié)合灰色關(guān)聯(lián)分析方法,提出一種改進的Roberts邊緣檢測算法。首先對Roberts算子進行了改進,以提高其檢測精度和抗噪性。然后將改進后的Roberts算子和灰色關(guān)聯(lián)分析相結(jié)合,以改進后的Roberts算子作為參考序列,通過計算灰色關(guān)聯(lián)度來檢測圖像邊緣,從而有效地提高了邊緣檢測效果。
Roberts算子是一種簡單高效的算子,它采用對角線方向相鄰像素之差近似梯度幅值檢測邊緣,在處理圖像像素時,可看成梯度幅值的近似計算方法。故其梯度幅值運用差分方法[14-15]計算如下:
fx卷積算子為:
fy卷積算子為:
其梯度幅值為:
Roberts邊緣檢測算子采用對角線方向相鄰像素之差進行梯度檢測。算法只考慮對角線方向4個像素信息,忽略了水平相鄰像素和垂直相鄰像素信息。如果水平相鄰像素或垂直相鄰像素是灰度值變化緩慢的局部邊緣,算法則無法檢測到。并且,由于像素點本身直接參與運算,導致算法不能有效抑制噪聲干擾。
針對Roberts算子的不足,充分考慮像素8個鄰域的信息。在梯度幅值計算時,在原Roberts算子基礎(chǔ)上,增加了水平和垂直方向信息,如圖1所示。
圖1 Roberts算子梯度幅值計算改進
其梯度幅值計算方法如下:
水平差分:fx=f(i,j+1)-f(i,j-1)
垂直差分:fy=f(i-1,j)-f(i+1,j)
45°差分:f45=f(i-1,j+1)-f(i+1,j-1)
135°差分:f135=f(i-1,j-1)-f(i+1,j+1)
它們對應的卷積算子為:
Roberts邊緣檢測算子采用對角線方向相鄰兩像素之差進行梯度幅值檢測,檢測定位精度比較高。但由于像素點本身直接參與運算,導致算法對噪聲敏感。改進算子充分考慮了像素點8個鄰域信息,避免了像素點本身直接參與運算,這樣不僅可以保持原Roberts算子定位精度高的優(yōu)點,而且可以有效抑制噪聲,獲得更優(yōu)的檢測效果。
改進后Roberts算子4方向差分幅值計算式為:
根據(jù)灰色系統(tǒng)理論[10],灰關(guān)聯(lián)分析法是通過對系統(tǒng)特征行為序列和系統(tǒng)因素行為序列曲線間幾何形狀的分析比較,在因素序列中找出和特征序列曲線形狀變化最近似的序列,即可認為兩條曲線幾何形狀相似,則關(guān)聯(lián)度較大。其灰色關(guān)聯(lián)度計算方法如下:
設(shè)X0={x0(t),t=1,2,…,n}為參考序列,Xi={xi(t),t=1,2,…,n;i=1,2,…,m}為被比較的行為序列,那么Xi和X0在t時刻的關(guān)聯(lián)系數(shù)為:
ξ為分辨系數(shù),一般取ξ=0.5。則參考序列X0與行為序列Xi之間的灰色關(guān)聯(lián)度R(x0,xi)為:
基于數(shù)理統(tǒng)計的分析方法往往需要大量數(shù)據(jù)樣本且服從典型分布,而數(shù)字圖像的數(shù)據(jù),其分布往往是隨機的而不服從典型分布。所以用數(shù)理統(tǒng)計分析方法來檢測圖像邊緣不太恰當?;疑P(guān)聯(lián)分析法可把一切隨機過程看做是一定范圍內(nèi)變化的灰色過程,對數(shù)據(jù)分布類型和樣本量無特殊要求。因此,根據(jù)數(shù)字圖像的數(shù)據(jù)分布特性,可以將一幅圖像作為一個灰色系統(tǒng)進行優(yōu)化處理[17]。處理方法如下:把圖像的每個像素點及其8個鄰域作為行為序列,以Roberts改進算子作為參考序列,計算出兩個序列的灰色關(guān)聯(lián)度,然后根據(jù)閾值作判定:如果關(guān)聯(lián)度大,則判定該像素點為邊緣點;如果關(guān)聯(lián)度小,則不是邊緣點。具體步驟如下:
設(shè)一幅m×n像素的圖像,其評價數(shù)據(jù)可以分為n個數(shù)據(jù)序列:其中,像素點X(i,j)及其8鄰域空間位置關(guān)系如圖2所示。
則各像素點及其鄰域灰度構(gòu)成的行為序列為:
其中,i=1,2,···,m;j=1,2,···,n。在圖像外邊框部分像素鄰域數(shù)目少于8個,可作補零操作,本文在此不作詳細討論。
圖2 像素點Xi,j及其鄰域
以改進后的Roberts卷積算子為模板對空間域濾波就可以得到圖像邊緣,所以Roberts改進算子反映了圖像邊緣像素的分布特性。因此,在計算圖像中各點的關(guān)聯(lián)度時,可以使用Roberts改進算子作為參考序列。根據(jù)1.2節(jié)中改進的卷積算子,形成參考序列如下:
如果目標數(shù)據(jù)序列的單位不同,會對關(guān)聯(lián)分析產(chǎn)生影響,因此需要對目標數(shù)據(jù)序列進行無量綱化處理。
設(shè)Xi=(xi(1),xi(2),…,xi(n))為一個行為序列,
對目標數(shù)據(jù)序列的無量綱方法可采用均值化像法:
其中,i=1,2,···,n ;k=1,2,···,m。
經(jīng)過目標數(shù)據(jù)序列的無量綱化處理,在灰色關(guān)聯(lián)度計算中式(3)和式(4),就可以使用參考序列X0與行為序列Xi的初值像x0′和xi′進行計算。
根據(jù)差序列計算公式:
得差值矩陣:
其中,Δi(k)是參考序列和行為序列對應元素的絕對差值,其中,i=1,2,···,n ;k=1,2,···,m。
最大絕對差值為:
最小絕對差值為:
每個行為序列與參考序列對應元素的關(guān)聯(lián)系數(shù)為:
其中,k=1,2,···,m。ξ為分辨系數(shù),它的取值決定灰色關(guān)聯(lián)系數(shù)的分布狀況。對Sobel灰度關(guān)聯(lián)算法,分辨系數(shù)值取0.5。根據(jù)文獻[18]的分析,分辨系數(shù)取值與分辨率成反比,分辨系數(shù)小,則分辨率大,反之,分辨率小。若分辨系數(shù)取0.05,則適用于分辨率更大的范圍,更方便查看關(guān)聯(lián)度變化,比分辨系數(shù)取0.5更合理。因此,本研究取分辨系數(shù)ξ=0.05。
參考序列X0與行為序列Xi之間的灰色關(guān)聯(lián)度
由前可知改進的Roberts算子形成的參考序列有4個,因此,對于任何一點Xi,j及其8鄰域形成的四個灰色關(guān)聯(lián)度分別為:設(shè):
Wij代表像素點Xi,j及其8鄰域的最大灰色關(guān)聯(lián)度,計算出Wij后,像素點Xi,j是否為邊緣的判定依據(jù)如下:選取閾值τ,若Wij>τ時,表示像素點Xi,j在其鄰域方向存在邊緣特性,則像素點Xi,j為邊緣點;否則,像素點Xi,j就不是邊緣點。
本研究在Intel Core2 P8600 @ 2.40 GHz,4 GB內(nèi)存的環(huán)境下,采用Matlab7.0和Microsoft Visual Studio 2005在多幅圖像上交叉驗證了Roberts算子算法、Sobel灰關(guān)聯(lián)算法和GRA-Roberts算法。下面以其中兩幅實驗圖像為例給出實驗結(jié)果。實驗圖像1為lenna(圖像大小為756 KB;尺寸500×500像素);實驗圖像2為dog(圖像大小為150 KB;尺寸237×195像素)。
在無噪聲情況下,對兩幅圖像使用Roberts算子算法、Sobel灰關(guān)聯(lián)算法和GRA-Roberts算法進行檢測,檢測結(jié)果如圖3和圖4所示。
從圖3和圖4可以看出,Roberts算子算法相對于Sobel灰關(guān)聯(lián)算法和GRA-Roberts算法,漏檢情況較嚴重。GRA-Roberts算法較Sobel灰關(guān)聯(lián)算法檢測效果表現(xiàn)更好。
為驗證算法抗噪性能,給dog圖像加入高斯噪聲和椒鹽噪聲,分別對Roberts算子算法,Sobel灰關(guān)聯(lián)算法和GRA-Roberts算法進行了抗噪實驗。其中,高斯噪聲均值為零,標準差為25,實驗結(jié)果如圖5所示。椒鹽噪聲的椒、鹽含量均為0.03,實驗結(jié)果如圖6所示。
圖3 lenna圖像實驗結(jié)果
從圖5、圖6中可以看出,Roberts算子算法相對于Sobel灰關(guān)聯(lián)算法和GRA-Roberts算法,抗噪性較差,GRA-Roberts算法較Sobel灰關(guān)聯(lián)算法抗噪性表現(xiàn)更好。
在對兩幅圖像進行邊緣檢測和抗噪實驗同時,對Roberts算子算法、Sobel灰關(guān)聯(lián)算法和GRA-Roberts算法算法運行時間進行了比較。比較結(jié)果如表1所示。
圖5 含高斯噪聲dog圖像實驗結(jié)果
圖6 含椒鹽噪聲dog圖像實驗結(jié)果
表1 不同算法的運行時間比較(ms)
從表1可以看出,在不同情況下,Roberts算子算法運行時間均遠低于Sobel灰關(guān)聯(lián)算法和GRA-Roberts算法,說明Roberts算子具有簡單、快速,定位精度高的優(yōu)點。相對于Sobel灰關(guān)聯(lián)算法,GRA-Roberts算法平均運行時間減少約5%,從一定程度上降低了算法時間復雜度。
Roberts算子算法漏檢在于算法只考慮對角線方向4個像素信息,忽略了水平相鄰像素和垂直相鄰像素信息。如果水平相鄰像素或垂直相鄰像素是灰度值變化緩慢的局部邊緣,因算法無法檢測而導致目標物體的輪廓邊緣的漏檢。Roberts算子算法中,待測像素點直接參與了差分幅值的計算,如果像素點具有噪聲干擾,會導致幅值計算結(jié)果偏大,所以Roberts算子抗噪性差。GRA-Roberts算法邊緣檢測效果和抗噪性表現(xiàn)相對較好,原因在于GRA-Roberts算法對Roberts算子進行了改進。對待檢像素點,GRA-Roberts算法通過求其8鄰域的四方向差分幅值來計算的,并較為充分地考慮了其水平和垂直方向的鄰域信息及其對角線鄰域的權(quán)值,所以檢測效果較好。并且,GRA-Roberts中待檢像素點本身不直接參與運算,可以使噪聲得到有效抑制,故對噪聲敏感度降低。此外,GRA-Roberts算法在計算灰色關(guān)聯(lián)度時充分考慮了參考序列與行為序列的分辨率,使灰色關(guān)聯(lián)度取值更加合理,所以具有更好的檢測效果。
針對Roberts算子在圖像邊緣檢測中存在的不足,采用優(yōu)化后的Roberts算子,結(jié)合灰色關(guān)聯(lián)分析,提出了一種基于灰色關(guān)聯(lián)分析的圖像邊緣檢測方法Roberts算子算法。該算法既保留了Roberts算子簡單、定位精度高的優(yōu)點,又對Roberts算子易產(chǎn)生漏檢、抗噪性低的缺點進行了改進。實驗結(jié)果表明,GRA-Roberts算法比Roberts算子算法具有更好的檢測精度和抗噪性,比Sobel灰關(guān)聯(lián)算法降低了時間復雜度。
[1]Singh H,Kaur T.Empirical study of various edge detection techniques for gray scale images [J].International Journal of Advanced Research in Computer Science and Software Engineering,2013,3(8): 76-80.
[2]Bansal B,Saini J S,Bansal V,Bansal B,Saini J S,Bansal V,Kaur G.Comparison of various edge detection techniques [J].Journal of Information and Operations Management,2012,3(1): 103-106.
[3]王智文.幾種邊緣檢測算子的性能比較研究[J].制造業(yè)自動化,2012,34(6): 14-16.
[4]姜慶玲.基于細胞神經(jīng)網(wǎng)絡(luò)魯棒性的彩色圖像邊緣檢測[J].圖學學報,2013,34(1): 22-30.
[5]朱曉臨,鄧祥龍,胡德敏.多閾值選取與邊緣連接的邊緣檢測算法[J].圖學學報,2012,33(2): 72-76.
[6]王金鳳,焦斌亮.基于數(shù)學形態(tài)學的彩色圖像邊緣檢測[J].工程圖學學報,2011,32(6): 43-46.
[7]程金梅,葉永強,姜 斌.利用復合導數(shù)的邊緣檢測新算法[J].中國圖象圖形學報,2012,17(3): 393-401.
[8]李 杰,彭月英,元昌安,林 墨,王仁民.基于數(shù)學形態(tài)學細化算法的圖像邊緣細化[J].計算機應用,2012,32(2): 514-516,520.
[9]康 牧,許慶功,王寶樹.一種Roberts自適應邊緣檢測方法[J].西安交通大學學報,2008,42(10): 1240-1244.
[10]鄧聚龍.灰色系統(tǒng)基本方法[M].武漢: 華中科技大學出版社,2005: 76-105.
[11]王康泰,戴文戰(zhàn).一種基于Sobel算子和灰色關(guān)聯(lián)度的圖像邊緣檢測方法[J].計算機應用,2006,26(5):1035-1036,1047.
[12]蘭 麗,胡曉輝,孫苗強.一種基于灰關(guān)聯(lián)和Sobel算子的完全非結(jié)構(gòu)化道路邊緣檢測方法[J].湖南工程學院學報(自然科學版),2013,23(1): 42-44.
[13]周 龍,陳綿云.基于灰關(guān)聯(lián)分析的儲糧害蟲圖像邊緣檢測算法[J].華中科技大學學報(自然科學版),2005,33(4): 61-63.
[14]孫士保,段建輝.一種基于邊緣梯度的圖像插值算法[J].計算機工程,2013,39(8): 239-242.
[15]Zhang Junying.Edge detection in glass fragmentation images based on one order differential operator [C]//2010 Second International Conference on Computer Engineering and Applications.Bali Island,Indonesia,2010,2: 591-594.
[16]李弼程,彭天強,彭 波.智能圖像處理技術(shù)[M].北京: 電子工業(yè)出版社,2004: 149-172.
[17]鐘都都,閆 杰.基于灰色關(guān)聯(lián)分析和Canny算子的圖像邊緣提取算法[J].計算機工程與應用,2006,42(28): 68-71.
[18]申卯興,薛西鋒,張小水.灰色關(guān)聯(lián)分析中分辨系數(shù)的選取[J].空軍工程大學學報(自然科學版),2003,4(1): 68-70.