田國(guó)富,宋江波
(沈陽(yáng)工業(yè)大學(xué) 機(jī)械工程學(xué)院,遼寧 沈陽(yáng) 110870)
?
基于多尺度多結(jié)構(gòu)元的數(shù)學(xué)形態(tài)學(xué)邊緣檢測(cè)*
田國(guó)富,宋江波
(沈陽(yáng)工業(yè)大學(xué) 機(jī)械工程學(xué)院,遼寧 沈陽(yáng) 110870)
針對(duì)傳統(tǒng)的邊緣檢測(cè)算子對(duì)噪聲敏感問(wèn)題,提出了一種基于多尺度多結(jié)構(gòu)元素形態(tài)學(xué)邊緣檢測(cè)算子。該算子在傳統(tǒng)形態(tài)學(xué)邊緣檢測(cè)的基礎(chǔ)上,通過(guò)改變結(jié)構(gòu)元素的形狀和尺度,在很好抑制噪聲的前提下,實(shí)現(xiàn)圖像精細(xì)邊緣提取。MATLAB仿真結(jié)果表明,該邊緣檢測(cè)算子具有更強(qiáng)的去噪能力,定位準(zhǔn)確,保留了更多的圖像細(xì)節(jié),優(yōu)于傳統(tǒng)的邊緣檢測(cè)算子。
數(shù)學(xué)形態(tài)學(xué);多尺度多結(jié)構(gòu)元素;邊緣檢測(cè)
圖像最基本的特征是邊緣,它包含著大量的圖像信息,因此對(duì)圖像邊緣進(jìn)行完整、精準(zhǔn)的檢測(cè)在圖像處理過(guò)程中有著非常重要的意義。圖像邊緣檢測(cè)就是定位和提取邊緣信息,為圖像分析、目標(biāo)識(shí)別和機(jī)器視覺(jué)等做前期準(zhǔn)備[1]。由于噪聲對(duì)圖像邊緣檢測(cè)帶來(lái)的不利影響,在邊緣檢測(cè)過(guò)程中會(huì)丟失大量的圖像細(xì)節(jié)信息,因此圖像處理的基本問(wèn)題就是在盡可能降低噪聲干擾的同時(shí)提高檢測(cè)精度。
傳統(tǒng)的邊緣檢測(cè)算子起步比較早,如Roberts算子、Sobel算子、Canny算子等一階微分算子,以及Laplacian算子、LOG(高斯—拉普拉斯)算子等二階微分算子。這些算法大多是在以要處理像素為中心的鄰域中進(jìn)行灰度分析,實(shí)現(xiàn)對(duì)圖像邊緣的提取[2],計(jì)算簡(jiǎn)單,實(shí)時(shí)性好,有良好的邊緣檢測(cè)性。但由于微分運(yùn)算的性質(zhì),對(duì)噪聲比較敏感,抗噪聲性能差,提取的邊緣不夠精細(xì),因此在實(shí)際應(yīng)用中受到限制[3]。近年來(lái),很多學(xué)者提出了基于數(shù)學(xué)形態(tài)學(xué)的邊緣檢測(cè)算法,在此基礎(chǔ)上,本文針對(duì)單一尺度的結(jié)構(gòu)元素容易導(dǎo)致在對(duì)目標(biāo)圖像進(jìn)行邊緣提取時(shí)定位不夠準(zhǔn)確、邊緣信息丟失、去噪效果達(dá)不到預(yù)期要求等問(wèn)題,提出了一種基于多尺度多結(jié)構(gòu)元素的形態(tài)學(xué)邊緣檢測(cè)算法。
數(shù)學(xué)形態(tài)學(xué)是建立在數(shù)學(xué)理論之上的新興學(xué)科,理論基礎(chǔ)是集合論,基本運(yùn)算是像素間的邏輯關(guān)系而非代數(shù)關(guān)系。其基本思想是:用一個(gè)具有一定形狀的結(jié)構(gòu)元素去度量和提取圖像中的對(duì)應(yīng)形狀以達(dá)到對(duì)圖像進(jìn)行分析和識(shí)別的目的[4]。
數(shù)學(xué)形態(tài)學(xué)可以去除目標(biāo)圖像中不相關(guān)的形態(tài)結(jié)構(gòu)屬性,而保留本質(zhì)的結(jié)構(gòu)屬性,達(dá)到簡(jiǎn)化圖像數(shù)據(jù)的目的。目前,數(shù)學(xué)形態(tài)學(xué)已廣泛應(yīng)用于機(jī)器視覺(jué)、顯微圖像分析、醫(yī)學(xué)處理等領(lǐng)域[5]。
1.1 數(shù)學(xué)形態(tài)學(xué)的基本運(yùn)算
數(shù)學(xué)形態(tài)學(xué)基本運(yùn)算主要有膨脹、腐蝕、開(kāi)、閉運(yùn)算,開(kāi)運(yùn)算和閉運(yùn)算都是由膨脹和腐蝕運(yùn)算組合而成。
設(shè)b(m,n)是結(jié)構(gòu)元素,f(x,y)為輸入的灰度圖像,b的定義域?yàn)镈b,f的定義域?yàn)镈f,則結(jié)構(gòu)元素b對(duì)灰度圖像f的形態(tài)學(xué)運(yùn)算如下:
(1)形態(tài)學(xué)膨脹運(yùn)算
圖像f被b膨脹,記作f⊕b,定義為:
f⊕b=max{f(x-m,y-n)+b(m,n)
|(x-m,y-n)∈Df;(m,n)∈Db}
(1)
(2)形態(tài)學(xué)腐蝕運(yùn)算
圖像f被b腐蝕,記作fΘb,定義為:
fΘb=min{f(x+m,y+n)-b(m,n)
|(x+m,y+n)∈Df;(m,n)∈Db}
(2)
(3)形態(tài)學(xué)開(kāi)運(yùn)算
圖像f被b腐蝕后再用b來(lái)膨脹腐蝕結(jié)果,記作f°b,定義為:
f°b=f(x,y)Θb(m,n)⊕b(m,n)
(3)
(4)形態(tài)學(xué)閉運(yùn)算
圖像f被b膨脹后再用b來(lái)腐蝕膨脹結(jié)果,記作f·b,定義為:
f·b=f(x,y)⊕b(m,n)Θb(m,n)
(4)
1.2 形態(tài)學(xué)濾波
數(shù)字圖像的噪聲主要來(lái)源于圖像的獲取和傳輸過(guò)程,對(duì)圖像邊緣檢測(cè)產(chǎn)生不利的影響。因此在對(duì)圖像進(jìn)行邊緣檢測(cè)之前必須對(duì)其進(jìn)行平滑處理,去除噪聲的影響[6]。常用的圖像去噪方法有中值濾波、小波去噪、數(shù)學(xué)形態(tài)學(xué)濾波等。
數(shù)學(xué)形態(tài)學(xué)中,由于開(kāi)運(yùn)算可以去除比結(jié)構(gòu)元素更小的明亮細(xì)節(jié),閉運(yùn)算可以去除比結(jié)構(gòu)元素更小的暗細(xì)節(jié),所以它們經(jīng)常組合在一起用來(lái)平滑圖像并去除噪聲[7]。但由于閉運(yùn)算的擴(kuò)展性和開(kāi)運(yùn)算的反擴(kuò)展性使得兩者單獨(dú)使用時(shí)并不能獲得良好的濾波效果,因此本文采用兩者的均值來(lái)實(shí)現(xiàn)噪聲圖像的平滑處理。假設(shè)經(jīng)過(guò)去噪之后的圖像用Filter來(lái)表示,則公式表示如下:
Filter1={[(f⊕b)Θb]Θb}⊕b=(f·b)°b
(5)
Filter2={[(fΘb)⊕b]⊕b}Θb=(f°b)·b
(6)
(7)
2.1 數(shù)學(xué)形態(tài)學(xué)邊緣檢測(cè)算法
對(duì)上文介紹的形態(tài)學(xué)的基本運(yùn)算進(jìn)行組合,便可得到基本的形態(tài)學(xué)邊緣檢測(cè)算子的數(shù)學(xué)表達(dá)式,設(shè)E為邊緣圖像。
若采用膨脹運(yùn)算,則邊緣檢測(cè)算子為:
E1(x,y)=f(x,y)⊕b(m,n)-f(x,y)
(8)
若采用腐蝕運(yùn)算,則邊緣檢測(cè)算子為:
E2(x,y)=f(x,y)-f(x,y)Θb(m,n)
(9)
若采用膨脹腐蝕復(fù)合運(yùn)算,則邊緣檢測(cè)算子為:
E3(x,y)=f(x,y)⊕b(m,n)-f(x,y)Θb(m,n)
(10)
由于形態(tài)邊緣檢測(cè)算子都屬于非線性差分算子,因此對(duì)噪聲都比較敏感,而且檢測(cè)出的邊緣與結(jié)構(gòu)元素b緊密相關(guān)。利用數(shù)學(xué)形態(tài)學(xué)腐蝕和開(kāi)運(yùn)算組成的邊緣檢測(cè)器可以抑制圖像中的峰值噪聲,而利用數(shù)學(xué)形態(tài)學(xué)膨脹和閉運(yùn)算可以抑制圖像中的低谷噪聲。因此對(duì)上述形態(tài)學(xué)邊緣檢測(cè)算子改進(jìn)后得到抗噪型邊緣檢測(cè)算子。
(1)抗噪膨脹型:
E4(x,y)=[f(x,y)°b(m,n)]⊕b(m,n)-
[f(x,y)°b(m,n)]·b(m,n)
(11)
(2)抗噪腐蝕型:
E5(x,y)=[f(x,y)·b(m,n)]°b(m,n)-
[f(x,y)·b(m,n)]Θb(m,n)
(12)
(3)抗噪膨脹腐蝕型:
E6(x,y)=[f(x,y)°b(m,n)]⊕b(m,n)-
[f(x,y)·b(m,n)]Θb(m,n)
(13)
2.2 多結(jié)構(gòu)元素邊緣檢測(cè)算法
上述式(11)~(13)介紹的改進(jìn)的數(shù)學(xué)形態(tài)學(xué)邊緣檢測(cè)算子可以很好地去除噪聲和保持邊緣細(xì)節(jié),很大程度上減少了對(duì)噪聲的敏感程度,但各算子均使用單一結(jié)構(gòu)元素,因此檢測(cè)到的邊緣比較弱、不連續(xù),而且很難檢測(cè)出復(fù)雜形狀的邊緣。文獻(xiàn)[8]針對(duì)以上問(wèn)題提出了基于多結(jié)構(gòu)元素的邊緣檢測(cè)算法,公式如下:
E7(x,y)=[f(x,y)Θb1(m,n)⊕b2(m,n)]⊕
b3(m,n)-[f(x,y)⊕b1(m,n)Θb2(m,n)]Θb3(m,n)
(14)
結(jié)構(gòu)元素b1、b2、b3均采用單一尺度3×3的方形結(jié)構(gòu)元素,分別對(duì)原圖像和噪聲圖像采用文獻(xiàn)[8]算法進(jìn)行邊緣檢測(cè)。仿真試驗(yàn)結(jié)果如圖1所示。
圖1 文獻(xiàn)[8]檢測(cè)算法分別對(duì)原圖像、噪聲圖像提取邊緣結(jié)果
上圖中,(a)為原圖像,(b)、(c)、(d)分別為采用文獻(xiàn)[8]的檢測(cè)算法對(duì)原圖像、密度0.02的噪聲圖像、密度為0.05的噪聲圖像提取邊緣的結(jié)果。對(duì)于文獻(xiàn)[8]提出的多結(jié)構(gòu)元素的邊緣檢測(cè)算法,b1、b2、b3均采用單一尺度的結(jié)構(gòu)元素。由仿真結(jié)果可以看出,圖像沒(méi)有添加椒鹽噪聲時(shí),檢測(cè)到的圖像邊緣清晰,保留了圖像的邊緣細(xì)節(jié),當(dāng)添加噪聲之后,雖檢測(cè)出的圖像邊緣較平滑,但圖像中混有噪聲點(diǎn),并且通過(guò)仿真試驗(yàn)可知隨著噪聲密度的增大,邊緣圖像中的噪聲點(diǎn)將越來(lái)越多,當(dāng)噪聲點(diǎn)多到一定程度之后,就會(huì)與圖像邊緣粘黏在一起,形成偽邊緣,導(dǎo)致不能準(zhǔn)確地檢測(cè)圖像的輪廓邊緣。
2.3 多尺度多結(jié)構(gòu)元素邊緣檢測(cè)算法
本文結(jié)合式(13)提出另一種抗噪膨脹腐蝕型邊緣檢測(cè)算子:
圖2 各算法邊緣檢測(cè)結(jié)果對(duì)比
E8(x,y)=[f(x,y)·b(m,n)]⊕b(m,n)-
[f(x,y)°b(m,n)]Θb(m,n)
(15)
對(duì)其改進(jìn)得到多結(jié)構(gòu)元素的邊緣檢測(cè)算子:
E9(x,y)=[f(x,y)⊕b1(m,n)Θ
b2(m,m)]⊕b3(m,n)-[f(x,y)Θ
b1(m,n)⊕b2(m,n)]Θb3(m,m)
(16)
由于用較小尺寸的結(jié)構(gòu)元素對(duì)圖像進(jìn)行處理,能較好地保護(hù)圖像的細(xì)節(jié),也可以濾除一定尺寸的噪聲;反之,用較大尺寸的結(jié)構(gòu)元素對(duì)圖像進(jìn)行處理時(shí),能濾除較大尺寸的噪聲,但也會(huì)損失更多的圖像細(xì)節(jié)。針對(duì)不同尺度結(jié)構(gòu)元素的優(yōu)缺點(diǎn),本文結(jié)合式(14)、(16)對(duì)文獻(xiàn)[8]的多結(jié)構(gòu)元素邊緣檢測(cè)算子進(jìn)行改進(jìn),提出先用較大結(jié)構(gòu)元素b1和b2對(duì)圖像進(jìn)行開(kāi)、閉運(yùn)算處理,然后用小尺度結(jié)構(gòu)元素b3對(duì)圖像做膨脹和腐蝕操作。取結(jié)構(gòu)元素b1、b2為不同尺度平坦的圓形結(jié)構(gòu)元素,半徑分別為2和3,b3為R=1的菱形結(jié)構(gòu)元素,得到一種多尺度多結(jié)構(gòu)元素形態(tài)學(xué)邊緣檢測(cè)算子為:
⊕b3(m,n)-[f(x,y)⊕b1(m,n)Θb2(m,n)]
Θb3(m,n)+[f(x,y)⊕b1(m,n)Θb2(m,n)]
⊕b3(m,n)-[f(x,y)Θb1(m,n)⊕b2(m,n)]
Θb3(m,n)}
(17)
為驗(yàn)證本文提出的基于多尺度多結(jié)構(gòu)元素算法的有效性,將其與Canny邊緣檢測(cè)算法、Sobel邊緣檢測(cè)算法和一般抗噪型邊緣檢測(cè)算法(式(13))進(jìn)行對(duì)比,用MATLAB對(duì)Lenna圖像和添加噪聲的Lenna圖像、Rice圖像進(jìn)行仿真。
本文圖像邊緣檢測(cè)算法步驟如下:
(1)輸入Lenna、Rice灰度圖像,添加噪聲(密度為0.05的椒鹽噪聲)。
(2)用本文式(7)的方法對(duì)加入噪聲的圖像進(jìn)行開(kāi)—閉濾波運(yùn)算,開(kāi)、閉運(yùn)算均采用3×3的方形結(jié)構(gòu)元素。
(3)利用公式(17)對(duì)經(jīng)過(guò)濾波處理后的圖像進(jìn)行邊緣提取。其中,b1和b2分別是半徑為2和3的平坦的圓形結(jié)構(gòu)元素,b3為R=1的菱形結(jié)構(gòu)元素[9]。
實(shí)驗(yàn)結(jié)果如圖2所示。
由以上檢測(cè)結(jié)果可以看出,對(duì)于Lenna圖像,無(wú)噪聲情況下,傳統(tǒng)的Sobel算子出現(xiàn)了很多的邊緣斷裂現(xiàn)象,Canny算子檢測(cè)出過(guò)多的邊緣細(xì)節(jié),而一般的抗噪型邊緣檢測(cè)算子(式(13))和本文的算法檢測(cè)的輪廓邊緣清晰,連貫性較好。對(duì)于添加噪聲之后的Lenna圖像,傳統(tǒng)的Sobel與Canny算子檢測(cè)結(jié)果出現(xiàn)很大的噪聲,不能清楚地觀察到圖像邊緣。一般的抗噪型邊緣檢測(cè)算子雖然抵抗噪聲能力比較強(qiáng),但邊緣出現(xiàn)了很多缺口,平滑度達(dá)不到要求。對(duì)于Rice圖像,由于其邊緣輪廓比較簡(jiǎn)單,無(wú)噪聲情況下,幾種檢測(cè)算子都顯示出不錯(cuò)的邊緣檢測(cè)結(jié)果。但添加噪聲之后,Sobel算子已經(jīng)完全不能識(shí)別圖像的邊緣,Canny算子不能準(zhǔn)確地定位圖像輪廓邊緣,產(chǎn)生很多偽邊緣。一般的抗噪型算子邊緣不連貫,出現(xiàn)很多的缺口,平滑度也不夠好。本文提出的算法,不管是對(duì)原圖像還是添加噪聲的圖像,都顯示出很好的邊緣檢測(cè)性能,邊緣定位準(zhǔn)確,輪廓清晰完整,邊緣細(xì)節(jié)更加豐富。分別對(duì)Lenna圖像和Rice圖像的檢測(cè),也充分說(shuō)明了本文檢測(cè)算法的普遍性和實(shí)用性。
本文針對(duì)傳統(tǒng)的邊緣檢測(cè)算子抗噪能力差的特點(diǎn),從數(shù)學(xué)形態(tài)學(xué)的基本思想出發(fā),通過(guò)對(duì)單一尺寸或形狀結(jié)構(gòu)元素的邊緣檢測(cè)算法分析與改進(jìn),提出了多尺度多結(jié)構(gòu)元素邊緣提取算法,通過(guò)仿真結(jié)果驗(yàn)證,本文算法可在抑制噪聲的同時(shí),有效地提取圖像的邊緣,且提取的邊緣定位精度高,平滑度好,邊緣細(xì)節(jié)保持也比較完整,充分驗(yàn)證了本文算法的優(yōu)越性。
[1] 范立南,韓曉微,王忠石,等. 基于多結(jié)構(gòu)元的噪聲污染灰度圖像邊緣檢測(cè)研究[J]. 武漢大學(xué)學(xué)報(bào)(工學(xué)版),2003,36(3):86-90.
[2] 劉國(guó)棟,范九倫.一種改進(jìn)的Canny邊緣檢測(cè)算法[J].微型機(jī)與應(yīng)用,2013,32(22):32-34,37.
[3] 黃金土. 幾種邊緣檢測(cè)算子的比較研究[J]. 機(jī)電技術(shù),2014(5):155-157.
[4] 李杰,苗長(zhǎng)云,武志剛,等. 基于數(shù)學(xué)形態(tài)學(xué)的圖像邊緣檢測(cè)算法的研究[J]. 計(jì)算機(jī)科學(xué),2012,39(6A):546-548.
[5] 王芳,錢(qián)煒,李文超. 基于數(shù)學(xué)形態(tài)學(xué)的圖像邊緣提取方法[J]. 機(jī)械工程與自動(dòng)化,2015(1):46-48.
[6] 王英,曾光宇. 圖像去噪算法研究[J]. 電腦與信息技術(shù),2011,19(4):8-12.
[7] GONZALEZ R C,WOOD R E,EDDINS S L. 數(shù)字圖像處理(MATLAB版)[M]. 阮秋琦,譯. 北京:電子工業(yè)出版社,2005.
[8] 王益艷.基于多結(jié)構(gòu)元素的數(shù)學(xué)形態(tài)學(xué)邊緣檢算法[J].四川文理學(xué)院學(xué)報(bào),2009,19(5):21-24.
[9] 唐曉強(qiáng),賴(lài)惠成. 形態(tài)學(xué)結(jié)構(gòu)元素選取算法的研究[J].通信技術(shù),2010,43(7):161-162,203.
Morphological edge detection based on multi-scale and multi-structuring elements
Tian Guofu,Song Jiangbo
(School of Mechanical Engineering, Shenyang University of Technology, Shenyang 110870, China)
The detection results of traditional edge detection methods are sensitive to noise. Aiming at this problem, a morphological edge detection algorithm based on multi-scale and multi-structuring elements is proposed. The algorithm can extract fine edge of the image in the premise of good suppression of noise by changing the scale and shape of the structure elements based on the traditional morphological edge detection. The MATLAB simulation results show that the edge detection operator has a stronger ability to remove noise and a more accurate orientation, more image details are retained. The method is better than the traditional edge detection operators.
mathematical morphological; multi-scale and multi-structuring elements; edge detection
沈陽(yáng)市科技創(chuàng)新專(zhuān)項(xiàng)資金-工業(yè)科技攻關(guān)專(zhuān)項(xiàng)(F15040200)
TP391.41
A
1674-7720(2016)07-0041-03
田國(guó)富,宋江波. 基于多尺度多結(jié)構(gòu)元的數(shù)學(xué)形態(tài)學(xué)邊緣檢測(cè)[J].微型機(jī)與應(yīng)用,2016,35(7):41-43,47.
2015-12-14)
田國(guó)富(1968-),男,博士后,副教授,主要研究方向:機(jī)械系統(tǒng)的CAD/CAE技術(shù)、工程車(chē)輛設(shè)計(jì)與試驗(yàn)等。
宋江波(1990-),通信作者,男,碩士研究生,主要研究方向:機(jī)械設(shè)計(jì)及理論。E-mail:362378526@qq.com。