孫歡歡,程耀瑜,冀 鈺
(中北大學計算機與控制工程學院,山西太原030051)
無論是圖像處理、分析,還是圖像理解與識別,其基礎工作都是建立在圖像分割的基礎上的,即將圖像中有意義的特征或者應用所需的特征信息提取出來。圖像分割是由圖像處理過渡到圖像分析的關鍵步驟,在圖像技術(shù)中有著十分重要的作用[1]。圖像分割是根據(jù)圖像的組成結(jié)構(gòu)和應用需求將圖像劃分成為若干個互不相交的子區(qū)域的過程,這些子區(qū)域是某意義下具有共同屬性的像素的連通集合。
圖像分割技術(shù)在現(xiàn)實生活中有著廣泛的應用,只要對圖像目標進行提取測量等都離不開圖像分割。圖像分割質(zhì)量的好壞直接影響后續(xù)圖像處理的效果,因此圖像處理至關重要[2]。目前數(shù)以千計的文章已經(jīng)提出了許多的分割方法,但是對于不同種類的圖像、不同的應用要求并不存在一種所謂的普遍使用的最有效率的分割方法。幾年來有不少的學者提出了邊緣檢測與閾值分割相結(jié)合的分割方法。借鑒于此本文提出了一種基于最大類間方差法也即OTSU算法和邊緣檢測相結(jié)合的圖像分割方法。該算法能夠很好地保留圖像的邊緣信息,避免過度分割,分割效果比較理想。
最大類間方差法是由日本學者大津于1979年提出的,是一種自適應的閾值確定的方法,又叫大津法,簡稱OTSU。它是在判決分析最小二乘法原理的基礎上推導得到的,這種方法的依據(jù)是圖像中屬于同一目標內(nèi)的像素之間的方差應該較小,而不同區(qū)域之間的方差應該達到最大。
用最大類間方差法確定閾值的步驟如下所示[3]:
設待分割圖像為f(x),圖像的灰度變化范圍為0~L-1,ni為灰度為i的像素數(shù)目,N為圖像的總像素數(shù)pi為灰度級出現(xiàn)的概率,門限值t將圖像劃分為兩類C0={0,1....,t},C1={t+1,....,L -1},若f(x)≤t,則(x,y)∈ C0;若 f(x)> t,則(x,y)∈ C1。對圖像的直方圖進行歸一化得到灰度級的概率分布:
C0、C1類出現(xiàn)概率為:
均值分別為:
圖像總體灰度值為:
由公式(2)~(4)可求得C0、C1的方差為:
定義類間方差為:
定義類內(nèi)方差為:
定義總體方差為:
由OTSU方法選取閾值的公式可知,在目標和背景的臨界處,灰度變化較大,這時的灰度值為最佳閾值。由于方差是像素灰度分布均勻性的度量,方差越大,均勻性越好,圖像目標背景差別越大,越容易分割。
最大類間方差法簡單有效、適用范圍廣,是一種很好的閾值化方法,它對噪聲與目標大小十分敏感,對單峰圖像或者雙峰明顯的圖像能自動得到較好的分割效果。當目標和背景灰度差不明顯時,會出現(xiàn)無法忽視的大片的黑色區(qū)域,甚至會丟失整幅圖像的信息,產(chǎn)生比較嚴重的分割錯誤[4]。鑒于此,我們一般不直接使用OSTU算法,而是采用了一些改進的方法。
OTSU算法是從灰度均值角度出發(fā),基于灰度類間距最大的原則,獲得分割閾值,后來有人提出了它的擴展算法,從方差的角度出發(fā),利用方差類間距最大原則獲得圖像分割閾值。由于基于灰度均值和方差的角度出發(fā)都有很好的自適應性,我們希望分割的目標和背景均值和方差都遠離全圖總體的方差和均值,因此有OTSU與方差推廣方法的合并[5]:
滿足式(11)的最大閾值t就是改進的最大類間方差法的最佳閾值。
0≤α≤1,0≤β≤1,且 α +β=1,通過 β/α 的值即可分別取得α、β的值。
首先對β/α設置一個較大的區(qū)間[a,b],以此區(qū)間的兩個端點a、b來確定α、β,將其帶入式(11)以計算最佳閾值。但是由于所設置的區(qū)間為隨機的,所以第一次確定的分割情況可能有三種,最佳分割、過分分割及欠分割。若為最佳分割就不需要再計算,如果為過分分割或欠分割,則在期間一定存在最理想的分割情況。取β/α為區(qū)間的中點,計算最佳閾值并分割圖像,若結(jié)果為過分割(欠分割),則以該中點值取代同為過分割(欠分割)的一個端點,并與另外一個端點構(gòu)成新的區(qū)間,之后再取β/α為該新區(qū)間的中點值,計算最佳閾值后分割圖像。按照此步驟不斷以新區(qū)間的中點值作為β/α的值,如此反復計算直到β、α值對應的分割效果最滿意為止。
數(shù)字圖像的邊緣檢測是圖像分割、目標區(qū)域識別、區(qū)域形狀提取等圖像分析領域十分重要的基礎,也是圖像識別中提取圖像特征的一個重要屬性。邊緣檢測算子是通過檢查每個像素點的鄰域并對其灰度變化進行量化來達到邊界提取的目的,而且大多數(shù)的檢測算子還可以確定邊界變化的方向。常用的邊緣檢測算子為 roberts、sobel、prewitte、log、canny算子。
本文采用Sobel邊緣檢測算子進行邊緣檢測,下面對Sobel算子進行介紹。
Sobel算子是一組方向算子,從不同方向檢測邊緣。Sobel算子不是簡單求均值再方差,而是加強中心像素上下左右四個方向像素的權(quán)重,運算結(jié)果是一幅邊緣圖像[6]。該算子計算公式如下:
圖1 Sobel算子的模板
該模板是3×3算子,對灰度漸變或噪聲較多的圖像有較好的處理效果。
首先將圖像進行濾波處理,減小噪聲的影響,此處使用3×3模板進行中值濾波;再分別用最大類間方差法和改進的最大類間方差法確定圖像的最佳閾值;然后采用邊緣檢測算子(sobel)進行邊緣檢測,將差分算子與圖像進行卷積,確定圖像的邊緣位置,檢測邊緣特征;最后根據(jù)邊緣檢測的結(jié)果將灰度變化急劇的地方用局部閾值分割,其他部分采用最大類間方差法。
為驗證算法的有效性和可行性,本文選用大小為256×256,灰度級為256的兩幅圖像,在Matlab7.0平臺進行仿真比較。
圖2 各步驟圖像處理結(jié)果顯示
從圖像的實驗結(jié)果可以看到,此算法具有很好的適應性,受圖像亮度變化及目標背景比例大小的影響較小,將改進最大類間方差法與邊緣檢測相結(jié)合,改善了原有算法的檢測結(jié)果。但是改進的最大類間算法不僅考慮了目標和背景的方差也考慮了它們的均值,因此計算量有所增加,運行速度稍微減慢,之后還要在此方向進行研究改進。
本文所采用的圖像分割算法考慮了實際圖像直方圖目標、背景分布情況,在一定程度上減小了OTSU算法對目標背景大小比例敏感性,而且該算法能夠很好地保留圖像的邊緣特征,分割效果比較理想,具有一定的應用前景。
[1]岡薩雷斯.數(shù)字圖像處理[M].北京:電子工業(yè)出版社,2005.
[2]張德豐.MATLAB數(shù)字圖像處理[M].第2版.北京:機械工業(yè)出版社,2012.
[3]王璇,張帆,程京.基于改進最大類間方差法的灰度圖像分割[J].微計算機信息,2010(26):206-207.
[4]周鮮成.圖像分割算法及其應用研究綜述[J].信息技術(shù),2007(6):11-14.
[5]Otsu N.A Threshold Selectoion Method from gray level histogram[J].IEEE Trans Action on SMC,1979(9):652-655.
[6]Pal N R,Pal S K.A Review on Image Segmentation Techniques[J].Pattern Recognition,1993,26(9):1277 -1294.