(浙江工業大學 信息工程學院, 杭州 310014)
摘 要:針對傳統二維灰度直方圖的閾值分割方法中區域劃分像素易丟失、運算速度慢等不足,通過深入分析圖像中鄰域灰度偏離的情況,并充分考慮像素的空間灰度信息,提出一種利用像素鄰域灰度差值的新方法構建二維直方圖;基于二維類間方差法實現了圖像二維Otsu分割方法,并給出了相應算法的實現步驟。以生物圖像中的魚體分割為實例對方法進行了實驗驗證,結果表明算法分割效果良好,運算速度提高較明顯。
關鍵詞:二維直方圖;閾值;鄰域灰度差值;Otsu分割
中圖分類號:TP391文獻標志碼:A
文章編號:1001-3695(2009)04-1544-02
2D Otsu method based on difference of gray-level histogram
XIAO Gang,YING Xiao-fang,GAO Fei,CHEN Jiu-jun,ZHOU Hong-bin
(College of Information Engineer, Zhejiang University of Technology, Hangzhou 310014, China)
Abstract:According to the analysis of the threshold method for image segmentation based on the traditional 2D gray-level histogram which partitioned the areas with some wrong pixels and processes slowly,this paper brought forword a new method which built the 2D histogram using the difference of the gray-level in the neighborhood.Implemented 2D Otsu method based on between-cluster variance.This method well considered the departure of the gray-level and the information of area gray-level. The experiment shows that the segmentation result of this method is better especial in biological image segmentation and its computation time is reduced much which can apply in the real-time segmentation.
Key words:2D histogram;threshold;difference of the gray-level;Otsu
圖像分割是將圖像分成各具特性的區域并提取出感興趣目標的技術和過程,是圖像分析的關鍵步驟[1,2]。閾值法是傳統的圖像分割方法之一,因其實現簡單、計算量小、性能較穩定而成為圖像分割中最基本和應用最廣泛的分割技術。尤其是在形體簡單的生物圖像分割領域[3],由于目標相對形體簡單、輪廓清晰、顏色明顯,閾值法的應用最為廣泛。
一種簡單常用的閾值分割算法是基于圖像一維灰度直方圖來求得分割閾值一維最大類間方差法(也稱做Otsu法)[4]。其基本思路是基于一種判別式測度準則,最佳閾值在該測度函數取最大時得到。Otsu方法在圖像質量較好和背景穩定變化的情況下可以取得較好的分割效果。但是,當圖像的信噪比較低時,由于這些閾值分割法僅基于一維灰度信息,并沒有考慮圖像的空間信息,噪聲的存在極大地影響了圖像的分割效果。改善的方法是采用圖像的二維灰度直方圖技術。劉健莊等人[5]把一維Otsu閾值選擇方法推廣到二維直方圖的情況,同時考慮像素的灰度分布和鄰域像素的平均灰度分布,在二維測度準則取得最大時得到最佳的二維矢量閾值。楊恬等人[6]進一步改善了二維Otsu閾值分割方法的分割判決門限函數,增加抗噪性。基于二維灰度直方圖閾值分割方法[7]從建立圖像的二維直方圖入手,二維直方圖可用矩陣表示,再將這個矩陣按閾值劃分為四個象限,選擇包含目標的邊緣和背景的邊緣所在的象限創建二維測度準則,當圖像的二維測度準則達到最大值時,實現圖像的自動分割。因此,許多研究者尋找構造二維直方圖的不同方法來實現圖像自動分割。Abutaleb等人[8]把4鄰域中心像素的灰度值與同鄰域的其余灰度均值構成二維直方圖,運用二維熵達到最大值時的性質實現圖像的自動分割;Sahoo等人[9]使用鄰域中心像素的灰度值和鄰域全部像素灰度均值來構成二維直方圖,再進行分割。
上述方法在建立直方圖的時候重點關心的是鄰域中心像素點的灰度值和與其水平或垂直相鄰像素點的灰度平均值,沒有考慮鄰域像素灰度值偏離中心像素灰度值的情況,同時算法解空間維數增加,導致計算時間延長,影響了這一類方法的應用。針對以上兩點不足,本文提出利用4鄰域中心像素點灰度值和其余四個像素灰度的最大(小)值的差值創建二維直方圖,并以此為基礎實現圖像分割。
1 傳統二維直方圖分割方法分析
傳統的二維灰度直方圖閾值分割方法是利用鄰域中心像素點和它的鄰域灰度均值來構建二維灰度直方圖。由于很多圖像目標區域內部與背景內部的像素點之間相關性很強,像素點的鄰域中心像素點和它的鄰域灰度均值比較接近,而目標和背景的邊界附近像素點以及噪聲的灰度值和鄰域灰度值之間的差異明顯,通常選定一組閾值(S,T)將二維灰度圖像分割為如圖1所示的四個區域。圖1中, f(m,n)為待處理圖像的像素(m,n)的灰度值,g(m,n)為像素(m,n)的鄰域灰度均值。其中,0≤f(m,n)≤L-1,0≤g(m,n)≤L-1。區域0與目標(或背景)對應,區域1與背景(或目標)對應,區域2和3表示邊界點和噪聲點。多數情況下,區域邊界附近的像素數與整幅圖像的像素數比很小,所以很多算法都將這兩個區域忽略。而在求出最優閾值(S,T)后,將區域2和3歸到區域1或0中,這是導致這類方法存在誤差的根源。同時,這類方法也忽略了鄰域像素灰度值的偏離情況,沒有充分利用像素的空間灰度信息,導致分割效果出現偏差。尤其是對一些生物圖像的處理上,如魚體圖像分割,由于魚體表面一些細節(尾鰭)呈現透明狀,魚體腹部顏色與背景水的顏色比較接近,需要充分利用圖像的空間灰度信息進行有效分割。
綜上所述,在充分考慮像素空間灰度信息的基礎上,得到了良好的分割效果,并降低了解的維數,從而快速獲得分割閾值,是本文的出發點和所要解決的問題。
2 二維Otsu分割策略與算法
2.1 二維直方圖的改進
二維直方圖的橫坐標仍然是中心像素點的灰度值,縱坐標不同于傳統直方圖的鄰域灰度均值,采用的是2×2鄰域中心像素點灰度值與鄰域的灰度最大值(或灰度最小值)之差的絕對值,即|f(m,n)-g(m,n)|。選一組閾值(S,T),S表示中心像素點的灰度值,T對應于灰度值與其鄰域最大灰度值(最小灰度值)的差值,即|f(m,n)-g(m,n)|=T。該二維直方圖的創建充分考慮了空間灰度信息,不同于傳統的方法只將注意點放在中心像素點和鄰域均值上,忽略了鄰域像素的灰度偏離情況。新方法的劃分盡可能包含了所有的目標內部和背景內部像素信息,進一步降低了噪聲的影響。另一方面,區別于傳統的二維灰度直方圖,這樣的劃分滿足像素灰度f(m,n)≤S,并且0≤|f(m,n)-g(m,n)|≤T的像素屬于區域0;滿足像素灰度S<f(m,n),且T<|f(m,n)-g(m,n)|≤L-1的像素屬于區域1;其他的像素點分別屬于區域2和3,如圖2所示。由于這里T代表差值,對于一般圖像來說,中心灰度像素點的值與鄰域最大值(或最小值)非常接近,T相對很小,即0≤T≤L-1,并且T遠遠小于L-1。這樣就大幅度地降低了解空間,求解不需要再遍歷整個[0,L-1]×[0,L-1],提高了運算速度。
2.2 二維 Otsu改進策略
基于上述改進的二維直方圖,利用以下二維類間方差法對二維Otsu算法進行改進。
當閾值為(S,T)時,區域0和1的發生概率為
w0=Si=0Tj=0pij=w0(S,T)(1)
w1=L-1i=S+1Tj=0pij=w1(S,T)(2)
上述表達式中,pij中i=f(m,n),j=|f(m,n)-g(m,n)|,表示像素在所有像素中所占的比率。相應的均值為
μ0=(μ0i μ0j)T=|Si=0
Tj=0ipij/w0(S,T)Si=0
Tj=0jpij/w0(S,T)|(3)
μ1=(μ1i μ1j)T=|L-1i=S+1
Tj=0ipij/w1(S,T)L-1i=S+1Tj=0jpij/w1(S,T)|(4)
總均值μ=(μiμj)T=w0μ0+w1μ1(5)
區域0和1的距離測度為
d(S,T)=w0[(μ0i-μi)2+(μ0j-μj)2]+
0w1[(μ1i-μi)2+(μ1j-μj)2](6)
根據Otsu的思想,選取使d(S,T)最大的(S,T)為閾值進行圖像分割。針對傳統二維灰度直方圖的閾值方法的快速算法[10]也同樣適用。
2.3 分割算法實現步驟
遍歷所有的(S,T),求得最大d(S,T)情況下的(S,T)為閾值。利用該閾值進行分割,步驟如下:
a)設置一個與原圖像一樣大小,但各元素值全為-1的矩陣K。
b)將原圖像區域0中的像素規劃為背景(或目標)點,將區域1中的像素規劃為目標(或背景)點,然后將對應的矩陣K中的相應數值由-1改為背景值(0)和目標值(1)。
c)對區域2、3中的像素進行處理。對矩陣K中所有-1值的點在原圖像中找到相應的位置,對原圖像像素點進行判斷:(a)如果該像素值f(m,n)≤S,并且在以該像素為中心像素點的3×3模板窗口中統計區域0的像素和區域1的像素個數,按照服從多數原則,將該像素歸類到個數多的區域0或1中,即對矩陣K相應的數值改變,由-1改為相應的0或1;若區域0和1的像素相等則規定該像素為目標區域;若兩者都沒有,說明該像素的周圍也都是沒有經過判斷的區域2和3的像素點,先不處理,矩陣K的相應位置值不變。(b)如果該像素值S<f(m,n),利用方法(a)對每個像素點進行判斷,并對相應的矩陣K進行值變換。(c)在完成前面一輪判斷后,再對矩陣K中剩余的所有值為-1的點進行前一輪的判斷,直到矩陣K中沒有-1的值,即原圖像中所有的像素點都被歸類為目標或背景。
d)對矩陣K進行顯示,就可以得到分割后的二值圖像。
3 應用實例:魚體圖像分割
分別用兩種傳統的閾值分割方法和本文提出的分割方法對目標圖像進行分割對比實驗。實驗中選取的圖片為水面有光照陰影影響下的活動魚體,其圖片尺寸為320×240,各種分割效果如圖3所示。
從圖3的分割效果來看,利用一維Otsu分割法不能將水面的陰影與魚體區分開來,噪聲干擾比較明顯;利用Abutaleb二維熵分割方法,雖然能將陰影背景分割開,但是在魚體細節上面產生了過分割,丟掉了魚體的部分信息,使得魚體形狀不完整;本文方法不僅能將背景與目標較好地區分開,同時也較好地保留了目標細節,使魚體分割保留比較完整甚至保留了魚體的尾鰭。另一方面,在分割時間上,如表1所示,對于同一圖像,Abutaleb方法在求最佳閾值時需要遍歷整個解空間的[0,L-1]×[0,L-1],時間上消耗比較大,一般處理圖片需要40 s;而本文方法大大地降低了解的維數,不需要遍歷整個解空間,使得算法速度提高明顯,所需時間只要60 ms左右,是常規算法時間的1/1 000左右。因此該方法易滿足實時需求。
表1 閾值和時間對比
方 法
圖3(a1)
閾值(S,T)時間(t)
圖3(a2)
閾值(S,T)時間(t)
Abutaleb算法(116,170)42 s(126,174)30 s
本文算法(112,168)78 ms(129,173)40 ms
4 結束語
針對傳統閾值分割方法的不足,對二維直方圖進行了基于鄰域灰度差值的改進,以此為基礎實現了二維Otsu分割算法。該方法充分考慮了像素鄰域空間灰度信息,不再孤立地只注重中心像素點的灰度信息,而是將重點放在中心像素點與鄰域像素的偏離度上;該方法在計算速度上降低了解的維數,大大提高了運算速度,在保證算法質量的基礎上提高了運算效率。
魚體圖像分割的對比實驗結果表明,該方法切實可行,能夠在水面光照陰影噪聲存在的情況下,將目標較好地分割出來,同時還能比較完整地保留目標的分割細節;處理速度及抗噪聲能力較傳統的二維直方圖算法有明顯提高。因此,該方法有效地推廣了二維直方圖分割算法在生物圖像分割中的應用。
參考文獻:
[1]
GONZALEZ R C,WOODS R E.Digital image processing[M].Beijing:Publishing House of Electronics Industry,2002:567-568.
[2]章毓晉.圖像工程(中冊):圖像分析[M].北京:清華大學出版社,1999:73-74.
[3]付峰,應義斌.生物圖像閾值分割方法的研究[J].浙江大學學報:農業與生命科學版,2003,29(1):108-112.
[4]OTSU N.A threshold selection method from gray-level histogram[J].IEEE Trans on Systems,Man and Cybernetic,1979,9(1):62-66.
[5] 劉健莊,栗文青.灰度圖像的二維Otsu自動閾值分割法[J].自動化學報,1993,19(1):101-105.
[6]楊恬,李德芳.灰度圖像的二維Otsu自動閾值分割研究[J].西南師范大學學報:自然科學版,1998,23(6):654-662.
[7]景曉軍,蔡安妮,孫景鰲. 一種基于二維最大類間方差的圖像分割算法[J].通信學報,2001,22(4):71-76.
[8]ABUTALEB A S.Automatic thresholding of gray-level pictures using two-dimensional entropies[J].Computer,Vision, Graphics,and Image Processing,1989,47(1):22-32.
[9]SAHOO P K,ARORA G.A thresholding method based on two-dimensional Renyi’s entropy[J].Pattern Recognition,2004,37(6):1149-1161.
[10]汪海洋,潘德爐,夏德深.二維Otsu自適應閾值選取算法的快速實現[J].自動化學報,2007,33(9): 968-971.