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