曹 珩,楊述斌,羅 帆,賀 璽
(武漢工程大學電氣信息學院,湖北 武漢 430074)
邊緣是圖像目標與背景之間的分界線,它是圖像的基本特征之一,邊緣的確定與提取對于整個圖像場景的識別與理解非常重要.邊緣檢測是目標特征提取、識別和跟蹤的基礎[1],故而是自動目標識別技術(ATR)的核心內容之一,在計算機視覺、圖像處理與分析、模式識別等方面發(fā)揮巨大作用,廣泛應用于遙感、醫(yī)學圖像識別、圖像編碼、文檔處理等諸多圖像處理領域.
邊緣檢測主要利用目標與背景之間存在某種圖像特征上的差異(例如灰度、顏色或者紋理結構等)來實現(xiàn)的,實質上就是檢測圖像特征發(fā)生變化的區(qū)域.利用邊緣處灰度的不連續(xù)性,可以采用經典的空域微分算子[2](如sobel、LOG或Canny算子等)做卷積來進行邊緣檢測.經典的邊緣檢測算子算法簡單快捷,但這些算法對于噪聲敏感,而且效果不甚理想.隨著人工智能的迅猛發(fā)展,諸如基于數(shù)學形態(tài)學、基于神經網絡、基于小波分析等邊緣檢測算法不斷涌現(xiàn).相對經典的邊緣檢測算子而言,基于數(shù)學形態(tài)學的檢測算法獲得的邊緣更為光滑連續(xù)、抗噪性能更好,從而得到廣泛的應用.利用數(shù)學形態(tài)學檢測時結構元素的選取決定了邊緣檢測的性能,鑒于基本的邊緣檢測算子采用單一的結構元素難以滿足圖像處理的要求,本文提出一種基于多尺度全方位的復合廣義形態(tài)邊緣檢測算法,在抗噪性能與檢測效果方面都能滿足要求.
數(shù)學形態(tài)學誕生于1964年,是一門建立在數(shù)學基礎上用集合論方法定量描述幾何結構的新興學科,可用于分析幾何形狀與結構,在圖像處理領域中作用巨大.數(shù)學形態(tài)學用于幾何結構分析的基本思想是運用一定形狀的結構元素對圖像做出度量和提取,從而分析和識別圖像[3-4].
設一幅灰度圖像為F(x,y),結構元素為B(i,j),則灰度形態(tài)學最基礎的兩種運算(膨脹和腐蝕)定義為膨脹運算
(F⊕B)(x,y)=
max{F(x-i,y-j)+B(i,j)}
(1)
腐蝕運算
(FΘB)(x,y)=
min{F(x+i,y+j)-B(i,j)}
(2)
將膨脹運算和腐蝕運算進行不同次序的組合運算,可以分別定義為開運算
F°B=(FΘB)⊕B
(3)
以及閉運算
F·B=(F⊕B)ΘB
(4)
可以知道膨脹運算是局部極大值濾波,可以去除比結構元素小的暗點;腐蝕運算是局部極小值濾波,可以去除比結構元素小的亮點;開運算會消除邊緣毛刺與孤立斑點,同時平滑較大物體的邊界;閉運算可以填充較小的空洞與裂縫,同時平滑邊界.由于膨脹會擴張圖像,腐蝕會縮小圖像,從形狀上來說有
F⊕B≥F·B≥F≥F°B≥FΘB
(5)
數(shù)學形態(tài)學在圖像邊緣檢測中的基本思想是運用一定的結構元素對圖像進行膨脹或腐蝕運算,膨脹的結果和原圖像相減可以得到邊緣圖像,或是用原圖像減去腐蝕的圖像以得到邊緣.由上述基本思想以及式(5)可以得到三種形態(tài)學梯度(即最基本的邊緣檢測算子[4])如下所示:膨脹型算子
Ed=F⊕B-F
(6)
得到的邊緣為圖像的外邊緣;腐蝕型算子
Ee=F-FΘB
(7)
得到的邊緣為圖像的內邊緣;膨脹腐蝕型算子
Edec=F⊕B-FΘB
(8)
得到的邊緣為圖像位于實際歐氏邊界上的邊緣.這些基本的檢測算子結構簡單,執(zhí)行速度快,實質上是傳統(tǒng)的差分算子在一定意義上的推廣.但由于采用單一的結構元素,故而抗噪性能有限,只能適用于沒有噪聲的圖像處理,難以達到邊緣檢測的性能要求.
同時對于這些基本的檢測算子提取的邊緣,其中膨脹型算子會使圖像邊緣變模糊;而腐蝕型算子會使圖像邊緣丟失一些細節(jié);膨脹腐蝕型算子又會出現(xiàn)寬邊緣現(xiàn)象,對于邊緣的檢測造成不利影響[5].為了解決這些問題,得到理想的圖像邊緣,可以采用復合型形態(tài)學梯度算法,對于基本的檢測算子取
(9)
式(9)中α為一個適當?shù)南禂?shù),取值范圍為(0,1)之間的一個常數(shù).由于Emn對于邊緣細節(jié)具有一定的補償作用,通過調節(jié)α的取值,可以疊加一部分圖像細節(jié)[5],得到理想的圖像邊緣Eo,在減小圖像邊緣的模糊性并保留更多的邊緣細節(jié),同時還能抑制寬邊緣現(xiàn)象.
針對單一結構元素的基本檢測算子抗噪性能有限,利用開運算可以抑制正脈沖(峰值)噪聲,閉運算可以抑制負脈沖(波谷)噪聲,并且采用不同的結構元素來提取邊緣,在式(6)~(8)的基本檢測算子基礎上加以改進,最終可以得到廣義抗噪形態(tài)學算子[6]如下所示:
廣義抗噪膨脹型算子
[(FΘB1)⊕B2]·B3
(10)
廣義抗噪腐蝕型算子
[(F⊕B1)ΘB2]ΘB3
(11)
廣義抗噪膨脹腐蝕型算子
[(F⊕B1)ΘB2]ΘB3
(12)
廣義抗噪型算子最大的優(yōu)點是濾除噪聲能力極強,但同時也存在模糊了圖像邊界的缺點.
廣義抗噪型算子實質上是改進的抗噪型算子在一定程度上的推廣.以廣義抗噪膨脹型算子為例,如果取B1=B2=B,則退化為改進的抗噪膨脹型算子
和抗噪膨脹型算子
EAD=F⊕B3-F·B3
相比較,可以看出改進的抗噪膨脹型算子中結構元素B主要起到濾波的作用,故而廣義抗噪型算子中結構元素B1和B2主要起到濾波的作用,而B3主要起到提取相應的邊緣的作用.查閱相關文獻[3]可以知道形態(tài)學運算可以用于去除比結構元素小的噪聲,故而檢測算子選取較大的結構元素尺度會有很強的抗噪能力,有利于去除比結構元素尺寸小的噪聲,但是邊緣的細節(jié)會很粗略;選用較小的結構元素尺度會得到非常詳細的邊緣細節(jié),但是因為只能去除比結構元素尺寸小的噪聲,故而去除噪聲的能力遠遠小于大尺度的結構.對于廣義抗噪型算子在處理圖像的過程中,可令起到濾波作用的結構元素B1、B2采用兩種不同尺度交替濾波,則濾波時既能有效濾除噪聲又有利于保持圖像細節(jié)信息,這就是多尺度的思想.對于主要起到提取相應的邊緣的結構元素B3,只是采用單一類型的結構元素對于與結構元素走向類似的邊緣效果很好,但對于其余走向的邊緣不敏感;故而難以處理復雜邊緣的圖形.如果B3分解為采用不同走向的結構元素例如B3i(i=1~4),其中B3=B31∪B32∪B33∪B34,由B3i所得的檢測算子Ei就能對應檢測不同方向上的邊緣,有利于檢測復雜的圖像時得到相應方向上更詳盡的邊緣信息.隨后對應的算子Ei進行相應的加權求和就能夠對復雜的邊緣獲得較好的檢測效果,這就是全方位檢測的思想[7].結合多尺度與全方位的思想,就可以構造基于多尺度全方位的廣義形態(tài)邊緣檢測算子如后文的式(13)~(15)所示.
然而基于多尺度全方位的廣義形態(tài)邊緣檢測算子在濾除噪聲時采用了多個不同的結構元素,很容易模糊圖像的邊緣.為了加強邊緣信息,可以綜合上一節(jié)提及的復合型形態(tài)學梯度算法的思想對多尺度全方位的廣義形態(tài)邊緣檢測算法中的膨脹型、腐蝕型和膨脹腐蝕型算子進行復合處理,利用它們最大值與最小值之間的差值來補償部分細節(jié),用以解決邊緣模糊的問題.
因而多尺度全方位復合形態(tài)邊緣檢測算法具體思路是結合上一節(jié)兩種算法的優(yōu)點,采用廣義抗噪型算子并使用多尺度多結構元素[8]來提取邊緣,最后結合復合型形態(tài)學梯度算法進行復合處理,從而得到一種檢測效果較好的改進算法,不僅能夠有效去除噪聲,并且能夠提取復雜的邊緣,而且邊緣不會出現(xiàn)模糊現(xiàn)象.該算法的具體步驟如下所示:
(1) 在廣義抗噪型檢測算子運算中,選取兩種不同結構尺度的結構元素分別為十字結構B1=[0 1 0;1 1 1;0 1 0]及鉆石結構B2=[0 0 1 0 0; 0 1 1 1 0;1 1 1 1 1;0 1 1 1 0;0 0 1 0 0](其中結構元素B1為3×3的矩陣,尺度較小故而邊緣的細節(jié)會很詳細,但是去除噪聲的能力不佳;結構元素B2為5×5的矩陣,尺度較大故而有很強的去除噪聲的能力,但是邊緣的細節(jié)會很粗略),利用這兩個不同尺度的結構元素在濾波時交替運算可以結合兩者的優(yōu)點,既能濾除噪聲又能保持圖像細節(jié)信息.選取方形結構B3=[1 1 1;1 1 1;1 1 1],分解為4個不同方向上的結構元素為B31=[1 0 0;0 1 0;0 0 1](矩陣里頭元素‘1’與水平方向夾角為135度,有利于檢測圖像與水平方向夾角135度邊緣),B32=[0 1 0;0 1 0;0 1 0](檢測圖像垂直方向的邊緣),B33=[0 0 1;0 1 0;1 0 0](檢測圖像與水平方向夾角45度的邊緣),B34=[0 0 0;1 1 1;0 0 0](檢測圖像水平方向的邊緣);可以知道B3=B31∪B32∪B33∪B34,則分別利用這4個不同方向上的結構元素B3i(i=1~4)作為結構元素,有利于檢測各個不同方向的邊緣,同時結合兩種不同尺度的結構B1及B2在去除噪聲的同時保留圖像細節(jié),可以分別得到檢測不同走向的多尺度全方位的廣義形態(tài)邊緣檢測算子如下所示:
廣義抗噪膨脹型算子:
EDi=[(FΘB1)⊕B2]⊕B3i-
[(FΘB1)⊕B2]·B3i
(13)
廣義抗噪腐蝕型算子:
EEi=[(F⊕B1)ΘB2]°B3i-
[(F⊕B1)ΘB2]ΘB3i
(14)
廣義抗噪膨脹腐蝕型算子:
EDECi=[(FΘB1)⊕B2]⊕B3i-
[(F⊕B1)ΘB2]ΘB3i
(15)
(2)利用不同走向的廣義形態(tài)邊緣檢測算子EDi(i=1~4)對提取的邊緣進行加權求和得
同理可得腐蝕型算子
膨脹腐蝕型算子
(3)采用復合型形態(tài)學梯度算法的思想,對于上述邊緣算子,求得
(16)
式(16)中α為一個適當?shù)南禂?shù),取值范圍為(0,1)之間的一個常數(shù).利用EMN對于邊緣細節(jié)有一定的補償作用,對于α進行適當調節(jié),最終可以得到對應的邊緣算子E,這樣可以在加強邊緣細節(jié)的同時又兼顧了邊緣的清晰度.最后進行后期處理,將得到的邊緣E二值化后再細化邊緣,可以得到最終的邊緣結果.
對算法進行分析可以知道,算法主體上采用廣義抗噪型檢測算子,故而對干擾噪聲可以有效的進行濾除;由于算子采用了多尺度元素,可以在過濾噪聲的同時保留了圖像的主要細節(jié);同時采用全方位的思想,因而對于具有復雜邊緣的圖像可以很好的進行邊緣提取;最后通過復合型形態(tài)學梯度算法進行復合處理,減小了圖像邊緣的模糊程度,可以得到接近理想的單像素邊緣的圖像.故而該算法無論是在抗噪性能還是提取邊緣的效果上都比基本的形態(tài)學算子有了很大程度上的提高,能夠滿足邊緣檢測的要求.
選取MATLAB軟件進行仿真,分別以200×200大小的Lena及cameraman圖像作為原始圖像,再轉化為灰度圖像并增加了2%的椒鹽噪聲作為檢測圖像,隨后采用各種不同的算子對圖像進行邊緣檢測如圖1~12所示.其中最基本的膨脹腐蝕型算子采用式(8);廣義抗噪膨脹腐蝕型算子采用式(11);多尺度全方位復合廣義形態(tài)邊緣檢測算子的選取參看上一節(jié)的內容,在仿真試驗中通過試探發(fā)現(xiàn)α取0.3較為適宜.
圖1 原始圖像
圖2 噪聲圖像
圖3 sobel 算子
圖4 基本的膨脹蝕型算子
圖5 廣義抗噪膨脹腐蝕算子
圖6 本文提出的算子
圖7 原始圖像
圖8 噪聲圖像
圖9 sobel 算子
圖11 廣義抗噪膨脹腐蝕算子
圖12 本文提出的算子
由仿真結果可以看出面對噪聲的干擾時,經典的檢測算子對于噪聲非常敏感,不僅邊緣不連續(xù)而且有很多漏檢,難以分辨出邊緣的輪廓;最基本的膨脹腐蝕型算子能夠勉強得出大體上的邊緣輪廓,但無法濾除噪聲;廣義抗噪膨脹腐蝕型算子雖然濾除了噪聲干擾,但是邊緣非常模糊并具有重影現(xiàn)象,對于部分細節(jié)沒有清晰的表達;而本文提出的抗噪算子不僅對于噪聲有著很好的抑制效果,并且所得的邊緣接近理想的單像素寬,圖像較為平滑,邊緣的細節(jié)如面孔的描繪也較為清晰,效果較為理想.
以上提出了一種基于廣義抗噪形態(tài)學算子的復合型檢測算法,通過仿真可以看出,它不僅具有很強的抗噪性能而且能夠有效地檢測出較為復雜的邊緣,所得的邊緣更為完整連續(xù),細節(jié)清晰度也更高,滿足了邊緣檢測的各項基本要求,檢測效果較為滿意.故而所得算法是一種切實有效的邊緣檢測算法.
參考文獻:
[1]龔聲溶,劉純平,王強.數(shù)字圖像處理與分析[M].北京:清華大學出版社,2006.
[2]張小琳.圖像邊緣檢測技術綜述[J].高能量密度物理,2007,3(1):36-40.
[3]龔煒,石青云,程民德.數(shù)字空間中的數(shù)學形態(tài)學理論及應用[M].北京:科學出版社,1997.
[4]Haralick R M, Stemberg S R, Zhuang X.Image Analysis Using Mathematical Morphology[J].IEEE Trans Comput,1987,9(3):532-550.
[5]王芬芬,白秋果,王彪,等.基于多結構元素的形態(tài)學抗噪邊緣檢測算法[J].電子測量技術,2008,31(4):36-37.
[6]楊述斌,彭復員.噪聲污染圖象中的廣義形態(tài)邊緣檢測器[J].計算機工程與應用,2002,38(17):91-92.
[7]楊述斌,陳艷菲,程莉.交替濾波的加權形態(tài)邊緣檢測算法[J].武漢工程大學學報,2009,31(7):88-90.
[8]劉清,林土勝.基于數(shù)學形態(tài)學的圖像邊緣檢測算法[J].華南理工大學學報自然科學版,2008,36(9):113-116.