(西安培華學(xué)院 智能科學(xué)與信息工程學(xué)院,西安 710125)
圖像分割是像素分類的過程,旨在從背景中提取或分割對(duì)象或區(qū)域。它是圖像識(shí)別,圖像壓縮,圖像可視化和圖像檢索成功的關(guān)鍵預(yù)處理步驟[1]。使用圖像分割的主要原因是我們可以使用它來簡(jiǎn)化或?qū)D像的表示更改為更有意義且更易于分析的內(nèi)容。當(dāng)我們想要在圖像中定位對(duì)象和邊界時(shí),我們使用圖像分割。它基于灰度圖像的兩個(gè)屬性,一是不連續(xù)性,二是相似性。
邊緣檢測(cè)是一種可以嘗試從圖像中提取關(guān)鍵部分的方法。圖像邊緣是一幅圖像最基本的特征。它由圖像的局部不連續(xù)特征所引起,比如灰度或者紋理上的突變等[2]。圖像邊緣檢測(cè)是圖像處理領(lǐng)域的重要研究?jī)?nèi)容。邊緣檢測(cè)是迄今為止檢測(cè)灰度圖像中有意義的不連續(xù)性的最常用方法。圖像邊緣含有一幅圖像中豐富的內(nèi)部信息,比如目標(biāo)物體的方向和形狀,它往往位于目標(biāo)區(qū)域和背景區(qū)域之間。邊緣檢測(cè)是進(jìn)行數(shù)字圖像處理的關(guān)鍵步驟之一,通過檢測(cè)不同區(qū)域之間的邊緣,數(shù)字圖像解決其物體分割問題[3]。
在本文中,首先介紹了傳統(tǒng)的LOG檢測(cè)算法和常規(guī)形態(tài)學(xué)濾波算法進(jìn)行邊緣檢測(cè),之后采用聯(lián)合LOG算法和多結(jié)構(gòu)形態(tài)學(xué)濾波來檢測(cè)灰度圖像上的邊緣,從噪聲中提高圖像質(zhì)量。最后,分析了不同邊緣檢測(cè)方法的結(jié)果以及形態(tài)濾波的影響。
拉普拉斯算子是二維函數(shù)的標(biāo)量二階導(dǎo)數(shù)算子。這種算法能夠?qū)ふ业綀D像灰度值中的二階微分的過零點(diǎn),通過描述這些點(diǎn)來檢測(cè)圖像的邊緣。拉普拉斯算子可以如下表示:
由于它是二階導(dǎo)數(shù),拉普拉斯算子將在邊緣處產(chǎn)生突然的過零點(diǎn)現(xiàn)象。 拉普拉斯算子是一個(gè)線性、移位不變的算子,它的傳遞函數(shù)在頻率空間的原點(diǎn)是零。 因此,拉普拉斯濾波圖像將具有零平均灰度級(jí)。它通常由以下所示的卷積核實(shí)現(xiàn)。
如果圖像具有劇烈變化的邊緣并且不含噪聲,拉普拉斯算法可以較有效地檢測(cè)到邊緣。在零灰度級(jí)對(duì)拉普拉斯濾波圖像進(jìn)行閾值處理所產(chǎn)生的二值圖像將在消除內(nèi)部點(diǎn)時(shí)產(chǎn)生閉合的連通輪廓。然而,圖像中往往包含較多噪聲,由于拉普拉斯算子對(duì)噪聲較為敏感,因此在使用拉普拉斯算法之前需要進(jìn)行濾波處理[4]。因?yàn)榫矸e是關(guān)聯(lián)的,因此可以將拉普拉斯和高斯脈沖響應(yīng)組合成單個(gè)拉普拉斯高斯核,這種方法可以有效提高算子的性能。
該脈沖響應(yīng)在x和y中是可分離的,因此可以有效地實(shí)現(xiàn)。從上式中可以看出,它具有一般帶通濾波器脈沖響應(yīng)的形狀,在與圖像進(jìn)行卷積時(shí)不會(huì)改變?cè)紙D像的動(dòng)態(tài)范圍??臻g尺度α可以控制中心峰的寬度,從而控制高斯平滑量,進(jìn)而實(shí)現(xiàn)對(duì)高斯平滑的控制[5]。
圖1 Lena灰度加椒鹽噪聲圖像
圖1為L(zhǎng)ena圖像添加椒鹽噪聲后的效果,可以看出添加噪聲后圖像中出現(xiàn)了黑白噪點(diǎn),這些早點(diǎn)對(duì)于圖像的提取會(huì)產(chǎn)生極大的干擾,導(dǎo)致直接進(jìn)行常規(guī)的邊緣提取會(huì)產(chǎn)生較差的結(jié)果,因此可以采用LOG算法對(duì)圖像進(jìn)行預(yù)處理實(shí)現(xiàn)對(duì)噪聲的濾除。
以二階拉普拉斯微分算子為基礎(chǔ)的零交叉算法在實(shí)際應(yīng)用中對(duì)圖像邊緣的變化是非常敏感的,具有較高的邊緣定位精度,因此檢測(cè)出的圖像邊緣大多是單像素寬,但同時(shí)也會(huì)存在偽邊緣化[6]。
由于二階微分算子的各向同性,LOG算法對(duì)于包含噪聲的圖像進(jìn)行檢測(cè)時(shí)會(huì)產(chǎn)生較差的效果,會(huì)丟失圖像的邊緣信息,具體表現(xiàn)為處理后的圖像具有較多的斷點(diǎn);由于拉普拉斯算子處理后的圖像邊緣信息和噪聲都屬于高頻信號(hào),因此這種處理從效果上看時(shí)加強(qiáng)了圖像中的噪聲信息[7]。如果圖像包含噪聲,LOG算法相較于其他算法的處理效果較差,若不含噪聲,該算法會(huì)取得較好的結(jié)果,但同時(shí)也會(huì)出現(xiàn)偽檢測(cè)的后果。
數(shù)學(xué)形態(tài)學(xué)是以集合論來進(jìn)行描述,建立在數(shù)學(xué)應(yīng)用理論之上,目前主要應(yīng)用于模式識(shí)別和數(shù)字圖像處理的方法[8]。利用數(shù)學(xué)形態(tài)學(xué)的方法進(jìn)行數(shù)字圖像處理可以有效地保留圖像的原始信息和簡(jiǎn)化圖像的信息存儲(chǔ)結(jié)構(gòu),充分利用圖像的相干特性。
數(shù)學(xué)形態(tài)學(xué)首先利用其相關(guān)的基本算子如膨脹和腐蝕以及多種組合進(jìn)行處理,然后采用邊緣檢測(cè)的方法實(shí)現(xiàn)對(duì)圖像邊緣信息的提取。該方法主要使用一定形狀的結(jié)構(gòu)元素在目標(biāo)圖像區(qū)域中的填充的有效性和可放性獲取圖像中形態(tài)結(jié)構(gòu)的信息,進(jìn)而實(shí)現(xiàn)對(duì)圖像的細(xì)節(jié)分析和目標(biāo)識(shí)別。
腐蝕和膨脹時(shí)形態(tài)學(xué)濾波中的兩種運(yùn)算。
結(jié)構(gòu)化元素B對(duì)數(shù)字圖像進(jìn)行腐蝕,可以用如下公式進(jìn)行表示:
A?B= {z∈E|Bz?A}
其中:Bz時(shí)矢量z對(duì)B的平移,可以如下表示:
Bz={b+z|b∈B}, ?z∈E
當(dāng)結(jié)構(gòu)元素B是一種具有中心的規(guī)則圖形,如方形或圓盤,并且圖形的中心位于E上時(shí),圖像A對(duì)于結(jié)構(gòu)元素B的腐蝕可以理解為B在A中進(jìn)行移動(dòng)時(shí),由B的中心所到達(dá)的點(diǎn)的軌跡[9]。例如,以半徑為2的圓盤對(duì)以原點(diǎn)為中心的邊長(zhǎng)為10的正方形的寢室,得到的結(jié)果也是以原點(diǎn)為中心的變長(zhǎng)為6的正方形。
結(jié)構(gòu)元素B對(duì)A進(jìn)行腐蝕,也可以用下式進(jìn)行表示:
A?B=∩b∈BA-b
圖像的腐蝕運(yùn)算能夠消除圖像中的小成分,對(duì)于圖像內(nèi)部具有較好的濾波作用。腐蝕可以使得目標(biāo)縮小的同時(shí)增大目標(biāo)的內(nèi)部空間,從而達(dá)到消除外部孤立的噪聲點(diǎn)的效果,但是對(duì)于椒噪聲,這種操作會(huì)加大其對(duì)圖像的影響。
圖2 形態(tài)學(xué)腐蝕操作
與腐蝕操作相對(duì)應(yīng)的是膨脹操作,結(jié)構(gòu)化元素B對(duì)于A的膨脹由如下表示:
A?B=∪b∈BAb
由于膨脹操作是可交換的,因此也可以用下式進(jìn)行表示:
A?B=B?A=∪a∈ABa
如果結(jié)構(gòu)元素的中心在原點(diǎn)上,那么圖像在結(jié)構(gòu)元素下的膨脹可以理解為當(dāng)結(jié)構(gòu)元素的中心在圖像中進(jìn)行滾動(dòng)時(shí),結(jié)構(gòu)元素所覆蓋的整個(gè)區(qū)域。例如同樣用半徑為2的圓盤對(duì)變長(zhǎng)為10的正方形進(jìn)行膨脹操作,則會(huì)得到邊長(zhǎng)為14并且具有半徑為2的圓角的圖形。
膨脹可以通過腐蝕操作來獲得:
A?B= {z∈E|(Bs)z∩A≠}
Bs= {x∈E|-x∈B}
通過上式可以看出, 結(jié)構(gòu)元素B對(duì)A的處理,可以看作B相對(duì)于原點(diǎn)進(jìn)行180度旋轉(zhuǎn)后對(duì)A進(jìn)行一次腐蝕操作。膨脹操作能夠?qū)D像中與目標(biāo)區(qū)域相接觸的像素點(diǎn)合并到原始圖像中,因此該過程使得目標(biāo)區(qū)域進(jìn)行擴(kuò)展,圖像中的孔洞也會(huì)相應(yīng)縮小,盡可能地形成連通區(qū)域。
圖3 形態(tài)學(xué)膨脹操作
利用形態(tài)學(xué)進(jìn)行噪聲的濾除,可以用以下操作進(jìn)行描述:設(shè)存在一個(gè)圖像A,B是相應(yīng)操作的結(jié)構(gòu)化元素,利用結(jié)構(gòu)元素對(duì)圖像先進(jìn)行膨脹操作,之后進(jìn)行腐蝕操作,處理后,圖像的周圍噪聲可以被盡可能地消除,但是此時(shí)圖像內(nèi)部仍會(huì)存在部分噪聲,因此再對(duì)圖像進(jìn)行逆操作,首先進(jìn)行腐蝕操作,之后進(jìn)行膨脹操作,其目的是充分消除圖像內(nèi)部目標(biāo)區(qū)域的噪聲[10]。
對(duì)圖像先進(jìn)行腐蝕再膨脹即為開操作,而先膨脹再腐蝕成為閉操作。開操作是閉操作的對(duì)偶運(yùn)算。開操作能夠在一定程度上平滑圖像的輪廓、消除小的斷層和切斷狹窄區(qū)域;閉操作能夠平滑圖像的邊緣、將小的間斷進(jìn)行相互融合,同時(shí)消除小的空洞區(qū)域[11]。
經(jīng)過上述處理后,可以同時(shí)消除圖像中目標(biāo)區(qū)域周圍和內(nèi)部的噪聲,上述過程用公式可以表示為:
C1={[(A?B)?B]?B}?B=(A·B)°B
C2={[(A?B)?B]?B}?B=(A°B)·B
若利用形態(tài)學(xué)進(jìn)行邊緣檢測(cè),則先將圖像用結(jié)構(gòu)元素腐蝕,之后求得腐蝕后圖像與原始圖像的差值,若設(shè)D為圖像的邊緣信息,則可以表示為:
D1=A-(A?B)
上式可以對(duì)圖像的內(nèi)邊界進(jìn)行邊緣檢測(cè),獲得圖像的內(nèi)邊界邊緣信息。如果要對(duì)圖像的外邊緣進(jìn)行檢測(cè),則可以用如下操作:
D2=A-(A?B)-A
將兩者進(jìn)行結(jié)合后,可以得到梯度邊緣檢測(cè)器:
D3=A-(A?B)-(A?B)
在圖像處理前,首先應(yīng)該將灰度圖像進(jìn)行二值化處理,進(jìn)行閾值處理后可以有效將灰度圖像進(jìn)行二值分解。設(shè)圖像I為原始灰度級(jí)為L(zhǎng)、大小為M×N的圖像,其中每個(gè)像素點(diǎn)可以用I(m,n)來表示,則有以下約束:
1≤m≤M,1≤n≤N,0≤I(m,n)≤L-1
則對(duì)于圖像I(m,n)的閾值分解可以如下表示:
1≤t≤L-1
其中對(duì)于每個(gè)閾值,都會(huì)得到對(duì)原始圖像的一個(gè)分解,同時(shí)可以得到所有分解圖像的總和為原始圖像。
之后對(duì)每個(gè)圖像都進(jìn)行基于二階梯度算子的LOG算法的濾波,該過程包括先對(duì)原始圖像進(jìn)行高斯平滑,之后用拉普拉斯算子與圖像進(jìn)行卷積處理,由于這個(gè)過程對(duì)每個(gè)閾值分解后的圖像都有效,因此對(duì)于單幅圖像上的噪聲來說,可以進(jìn)行更有效地濾除。
經(jīng)過LOG算法濾波后,可以得到圖像的大致輪廓,但此時(shí)仍會(huì)出現(xiàn)許多斷點(diǎn)和狹窄的溝渠,同時(shí)在圖像的內(nèi)部會(huì)出現(xiàn)較多空洞。因此后續(xù)采用形態(tài)學(xué)濾波對(duì)圖像處理,此時(shí)對(duì)圖像進(jìn)行開閉操作可以極大消除噪聲的影響,同時(shí)能夠有效地保留圖像的邊緣信息。
采用傳統(tǒng)的形態(tài)學(xué)濾波方法進(jìn)行濾波時(shí),能夠?qū)崿F(xiàn)對(duì)圖像的平滑作用,但是常常效果并不理想,此時(shí)可以選擇使用復(fù)合形態(tài)學(xué)濾波算子的方法,進(jìn)行濾波效果的改善。綜合C1和C2的公式可以得到:
C3=1/2{[(A·B)°B]+[(A°B)·B]}
以上公式將兩種不同的傳統(tǒng)形態(tài)學(xué)濾波器相結(jié)合, 得到了一種復(fù)合的形態(tài)學(xué)濾波器,能夠有效地提高濾波效果。同時(shí),可以考慮將復(fù)合濾波器與開閉操作相結(jié)合,可以得到:
D4=((A°B)A?B)-((A·B)?B)
上式不僅將膨脹和腐蝕相結(jié)合,同時(shí)將腐蝕與開操作結(jié)合形成峰值噪聲濾波器,將膨脹與比操作結(jié)合,得到低谷噪聲濾波器,因此綜合起來可以同時(shí)抑制圖像中高峰和低谷的噪聲。
對(duì)于形態(tài)學(xué)濾波,其優(yōu)勢(shì)不僅體現(xiàn)在其靈活的數(shù)學(xué)變換方式,而且結(jié)構(gòu)元素的變化同樣會(huì)對(duì)圖像邊緣提取具有不同的效果,適合的結(jié)構(gòu)元素能夠更好地保留圖像的邊緣信息和消除噪聲,從而同時(shí)提高圖像的信噪比和定位精度[12]。
當(dāng)不斷在圖像中對(duì)結(jié)構(gòu)元素進(jìn)行移動(dòng)時(shí),能夠得到不同部分之間的聯(lián)系,進(jìn)而提取更為關(guān)鍵的信息作為整個(gè)結(jié)構(gòu)的分析依據(jù)。對(duì)于同樣的形態(tài)學(xué)濾波過程,若采用不同的結(jié)構(gòu)元素,圖像將會(huì)得到不同的濾波效果[13]。
結(jié)構(gòu)元素應(yīng)依據(jù)噪聲的類型以及圖像本身的大小和尺寸進(jìn)行選取。由于需要將結(jié)構(gòu)元素在圖像中進(jìn)行移動(dòng),因此結(jié)構(gòu)元素的大小需要盡可能小于原始圖像的尺寸,而當(dāng)結(jié)構(gòu)元素的形狀與圖像中噪聲的分布形狀相近似時(shí),會(huì)取得更好的濾波效果。本次實(shí)驗(yàn)中,選擇給原始圖像加入椒鹽噪聲。在二值化圖像中,椒鹽噪聲表示隨機(jī)出現(xiàn)的黑點(diǎn)和白點(diǎn),依據(jù)這個(gè)特性,選擇結(jié)構(gòu)元素為圓形進(jìn)行實(shí)驗(yàn)。
實(shí)驗(yàn)在Matlab環(huán)境下進(jìn)行,原始圖像使用尺寸為256×256的彩色Lena圖像進(jìn)行處理,將原始Lena圖像進(jìn)行灰度級(jí)為256的灰度處理,疊加背景噪聲為椒鹽噪聲進(jìn)行干擾測(cè)試。在實(shí)驗(yàn)過程中,采用5×5、方差為10的正方形模板對(duì)原始圖像進(jìn)行高斯平滑,從而實(shí)現(xiàn)對(duì)圖像的預(yù)處理。
為了進(jìn)行對(duì)比,在實(shí)驗(yàn)中同時(shí)設(shè)置一對(duì)對(duì)照組,對(duì)照組采用了傳統(tǒng)的LOG算法以及常規(guī)的形態(tài)學(xué)濾波算法,其輸入圖像以及濾波參數(shù)與改進(jìn)算法相同。首先采用傳統(tǒng)的邊緣提取操作模型對(duì)原始圖像進(jìn)行處理,在得到常規(guī)圖像處理結(jié)果后與改進(jìn)后的多閾值算法模型進(jìn)行對(duì)比,分析得到更優(yōu)的處理方案。
在實(shí)驗(yàn)過程中,由于在本方法中的色彩信息對(duì)于邊緣檢測(cè)的貢獻(xiàn)有限,并且處理成本會(huì)大大提高,因此首先將Lena圖像轉(zhuǎn)換為灰度圖像,之后再進(jìn)行后續(xù)邊緣檢測(cè)。
首先將灰度圖像采用不同的閾值進(jìn)行處理實(shí)現(xiàn)圖像的閾值分解,得到不同閾值下的二值圖像,之后將所有得到的閾值分解后的圖像進(jìn)行高斯平滑濾波,然后使用LOG算法提取平滑后的圖像的邊緣信息。
將提取到的圖像邊緣進(jìn)行圓形結(jié)構(gòu)元素的形態(tài)學(xué)濾波,以此來進(jìn)一步消除噪聲,最終將圖像疊加得到最終的處理結(jié)果,并進(jìn)行后續(xù)分析,該算法的整個(gè)處理流程如圖4所示。
圖4 處理流程圖
原始灰度圖像中沒有噪聲干擾圖像的輪廓信息,在疊加椒鹽噪聲后,噪聲的存在會(huì)降低圖像的信噪比,并對(duì)圖像的邊緣檢測(cè)產(chǎn)生影響。
將傳統(tǒng)的LOG算法和改進(jìn)后的LOG算法進(jìn)行比較,可以看到傳統(tǒng)算法處理后的效果如圖5左圖所示,右圖為改進(jìn)算法的效果圖。
圖5 傳統(tǒng)LOG算法(左)和改進(jìn)后(右)的邊緣檢測(cè)結(jié)果
通過對(duì)比左圖和右圖可以看出,傳統(tǒng)算法的處理結(jié)果中幾乎難以分辨出圖像中的目標(biāo),僅僅能大致描述出人物的輪廓,并且輪廓幾乎是不連續(xù)的,如果不仔細(xì)觀察難以分辨出圖像中的物體,并且對(duì)于一些細(xì)節(jié)沒有進(jìn)行詳細(xì)的描述,如人物的面部信息等。而在右圖中,改進(jìn)后邊緣檢測(cè)的輸出結(jié)果保留了更多的邊緣信息,能夠較為清晰地分辨出圖像中存在一個(gè)人物,并且人物的面部表情和帽子都可以分辨得到,實(shí)現(xiàn)了較好的邊緣提取效果。后續(xù)對(duì)兩者進(jìn)行形態(tài)學(xué)濾波操作,得到圖6的處理結(jié)果。
圖6 傳統(tǒng)算法結(jié)合形態(tài)學(xué)濾波(左)和改進(jìn)算法結(jié)合復(fù)合形態(tài)學(xué)濾波(右)
由于圖像的形態(tài)學(xué)濾波操作會(huì)將圖像中的孔洞打破,并且消除部分椒鹽噪聲,通過圖4可以看出,經(jīng)過形態(tài)學(xué)濾波后的圖像已經(jīng)無法辨認(rèn)出目標(biāo)物體,即使原來圖像中存在的僅有的一點(diǎn)輪廓也被LOG算子認(rèn)作噪聲進(jìn)行了消除,很難分辨出圖像中的物體。而在圖5中,復(fù)合形態(tài)學(xué)操作對(duì)輸出圖像進(jìn)行了進(jìn)一步的濾波處理,有效地保留了圖像的邊緣信息,使得圖像的高頻信息得以恢復(fù),加重刻畫了某些細(xì)節(jié)部分,更好地提取出了圖像的邊緣。
針對(duì)在傳統(tǒng)圖像邊緣檢測(cè)中,二階拉普拉斯算子對(duì)疊加噪聲異常敏感而產(chǎn)生的較差的邊緣檢測(cè)結(jié)果,本文研究了一種首先采用多閾值處理,結(jié)合LOG算法與復(fù)合形態(tài)濾波的改進(jìn)算法。在椒鹽噪聲的背景條件下分析了結(jié)構(gòu)元素的選取方式,最終采用了相應(yīng)的結(jié)構(gòu)化元素。
利用多閾值處理后的分層處理,可以有效地弱化背景噪聲的影響,并且具有較高的定位精度,可以準(zhǔn)確地提取出圖像中目標(biāo)區(qū)域的邊緣信息,對(duì)每一個(gè)二值化圖像進(jìn)行后續(xù)的復(fù)合形態(tài)學(xué)濾波能夠進(jìn)一步濾除圖像中的噪聲,保留更多的圖像邊緣信息,較好地解決了圖像的信噪比和定位精度之間的矛盾。
由于圖像的形態(tài)學(xué)濾波操作能夠有效地簡(jiǎn)化數(shù)字圖像的數(shù)據(jù)存取方式、維持圖像的結(jié)構(gòu)特征和消除不相干的數(shù)字結(jié)構(gòu),因此再對(duì)包含椒鹽噪聲的圖像進(jìn)行圖像的邊緣提取時(shí),同時(shí)利用形態(tài)學(xué)的濾波優(yōu)勢(shì)與LOG算法的高頻提取特性,在不影響LOG算法檢測(cè)性能的同時(shí),較好地實(shí)現(xiàn)了圖像中噪聲的濾除和邊緣的提取,具有良好的應(yīng)用前景。