陳世文
(嘉應學院計算機學院,廣東 梅州 514015)
圖像分割是根據圖像的灰度信息在空間上將具有不同類別的同質區域劃分開來,采用一些數學方法把感興趣的區域提取出來。作為圖像處理的基礎,圖像分割的質量好壞對圖像分析、圖像理解以及圖像識別等高層圖像理解產生直接影響,其地位十分重要。因此在圖像處理中圖像分割一直是一個難點和熱點。近幾十年來,提出了基于區域、基于邊緣和基于閾值等圖像分割算法[1-3]。
文獻[4]提出一種改進FAST 特征點檢測算法,該算法提取邊緣特征點與分水嶺算法結合,提高了分割正確率,但分割仍然不夠理想。文獻[5]提出基于區域的分裂與合并的分割方法,能有效地獲取圖像大量區域特征信息,但怎么樣確定合并及終止合并的條件是一個難點。文獻[6]提出在分水嶺算法中結合空間變換和距離變換,分割結果較為精確,但仍然有過分割的問題。很多學者通過改進分水嶺算法應用在不同場合的分割[7-14],取得了不同程度的效果。在分割方法中分水嶺方法具有獨特的優點,其優點主要是定位的精確性、輪廓線的封閉性、較快的計算速度和對圖像的變化高度敏感。因為圖像存在局部不規則結構以及圖像采集時受噪聲的影響,如果直接使用分水嶺分割容易引發過分割,即圖像分割得十分細小,產生過多的區域。區域數太多通常會給下一步區塊合并產生一定麻煩,導致區域合并錯誤概率升高、耗時過于長,由于分割區域太細碎,降低了一些基于區域統計特性的準確度。通常抑制過分割的方法是先對圖像進行平滑濾波,然后再對圖像進行分水嶺分割。傳統的平滑濾波器能夠較好地抑制圖像噪聲,但圖像邊緣特征同時受到嚴重損害,引發圖像邊界移位和邊界模糊。為了解決這個問題,本文提出了一種基于各向異性擴散濾波的邊緣保持分水嶺圖像分割算法,將各向異性擴散濾波與分水嶺算法相結合,應用梯度模的變化設定閾值并結合圖像結構張量構造一個擴散函數,這樣邊緣處沿切線擴散保持邊緣細節,平坦處具有各向同性易于平滑噪聲,保證了良好的分水嶺結構。然后對圖像的梯度信息進行分層重構,為了使梯度信息得到補償,采用數學形態學的開閉運算對圖像梯度信息進行處理。然后運用形態學極小值標定方法標記處理后的圖像局部極小值,最后用分水嶺算法對圖像進行分割。分割結果表明,該算法能夠有效地抑制噪聲和抑制過分割,同時保持物體邊緣信息,獲得準確的區域輪廓信息和精確的區域分塊信息。
各向異性擴散濾波方法是一種基于邊緣增強的方法,有效去除噪聲的同時能夠保持圖像邊緣結構信息,有利于圖像邊緣輪廓提取。Perona 和Malik于1990 年提出了一種邊緣保護的方法,即非線性各向異性擴散方程[15](P-M 擴散模型),方程如式(1)所示:
式中:|?u|為梯度模,u0(x,y)為原始圖像;|?u|作用是區分該區域是邊緣區域還是平坦區域,處在平坦區時|?u|的值相對比較小,而處在邊緣區時|?u|值相對比較大;f(|?u|)為擴散系數函數,其值用來表示擴散的強度,其條件必須滿足f(0)=1,=0,且f(|?u|)∈(0,1)。
考慮以上各種條件,兩個擴散系數函數被提出了,如式(2)和式(3)所示:
式中:滿足|?u|≥0;k為邊緣閾值,作用是用來區分邊緣區域還是平坦區域,k的取值有兩種方法,一是人工估算一個值,一是通過Canny 直方圖估計方法求得。
由式(2)和式(3)可推出:當|?u|?k時,該區域屬于圖像均勻區域,擴散會變得很慢;當|?u|?k時,該區域屬于圖像邊緣處,擴散也會變得很慢;而在邊緣閾值k位置處,該區域屬于圖像噪聲區域,因此擴散的速度會變得比較快。由上推理可知,P-M擴散模型的適定性問題仍有待解決。
雖消除噪聲和保留邊緣能被P-M 擴散模型兼顧,但仍有一些問題:①噪聲點具有較大的梯度和較小的擴散系數,噪聲消除不完全,容易破壞帶噪聲的邊緣;②模型在數學上屬于病態的模型,解的唯一性和存在性得不到保證。以上問題容易導致處理圖像后出現“階梯”效應,因此提出改進P-M 模型的擴散系數[9],經過坐標變換,可將P-M 模型變換成如式(4)所示:
式中:uηη和uζζ為u在η和ζ方向上的二階導數,由式(5)和式(6)求得:
式中:ux和uy分別為u在x和y方向上的偏導數。
為應對P-M 模型解的不適定性,將P-M 模型轉換為式(7):
對于擴散函數f(x),在平坦區要求f(x)逼近0.5,梯度方向和切線方向達到同等擴散;而在邊緣區域時f(x)逼近0,只沿著切線方向擴散,為此本文采用式(8)所示的擴散函數[10]:
圖像的局部信息不能很好地被圖像的梯度獲得,而更豐富的圖像局部信息能被結構張量獲得,因此擴散函數的自變量通過結構張量引入[11],結構張量可通過海森矩陣所得到的,如式(9)所示:
這里J的兩個特征值對應為式(10)和式(11):
因此,將獲取的結構張量|I1-I2|代入到引用的擴散函數中。
因在擴散函數中k是屬于給定的確定閾值,在圖像中較大的噪聲幅度會引起較大的梯度值,邊緣和噪聲將難于區分,這樣會降低濾波性能,因此將閾值k設為隨著梯度|?u|變換而改變的函數,如式(12)所示:
式中:km邊緣閾值,經過迭代后趨于穩定,此處km=3;?為常量。
基于以上幾點對相關參數進行改進,獲得最終P-M模型的改進擴散函數,如式(13)所示,式中e為自然常數。
一種抑制過分割的方法是對圖像中物體進行標記,關鍵是找尋一群與圖像局部信息相關的種子點。把獲取的局部區域最大值進行標記,把標記結果轉化為二值圖像,即為目標標記圖像。對梯度圖像進行閾值分割,經進一步分割可獲得背景的標記圖像。
為實現對目標的細化,通過歐氏距離變換對背景標記圖像進行操作,可以用一個二維數組表示背景標記圖像,其大小與原圖像同樣,記為Am×n=[aij],其中aij=1 的像素表示為目標像素,aij=0 的像素表示為背景像素。設B={(x,y)|axy=0} 為背景點集合,對A中所有像素點(i,j)求距離變換,如式(14)所示:
式中:D[(i,j),(x,y)]=獲取歐氏距離變換圖像DM×N。
為了求極值,引入數學形態學運算。式(15)是腐蝕運算,表示圖像f被結構元素b腐蝕;式(16)是膨脹運算,表示圖像f被結構元素b膨脹。接著對腐蝕、膨脹后的圖像分別進行開重構運算和閉重構運算,即對圖像f的n個灰度級逐點比較最大值,記為fc,即為局部最大值,進行標記,然后把標記圖像轉換成二值圖像,記為fgm。
采用數學形態學中求極小值的標定方法,融合距離變換生成的圖像和目標提取的標記圖像整合生成梯度圖像的局部極小值,舍棄原來圖像中的全部局部極小值。重新生成的梯度圖像中,強制對不為零的僅且對應有二值標記的圖像信息有局部極小值,重新生成的梯度圖像如式(17)所示:
式中:IMMIN(?)是形態學極小值標定操作。
Vincent 和Soille 將數學形態學中的分水嶺變換用于圖像處理中,其基本思想是把一幅圖像模擬成拓撲地形圖,圖像中各個像素的灰度值對應為該點的海拔高度,高灰度值看作為山峰,低灰度值看作為山谷,水總是從高處往低處流動,分水嶺對應著圖像中的脊或每一局部極小值。假設水從每一局部極小值涌出并且水位逐漸上升,水慢慢浸入整個集水盆地。當處在不同的集水盆地的水位上升到相應山脊時就將匯合,為了隔斷這些水匯合,就要建立堤壩。堤壩會因水位的升高而增加,直到整個圖像沉入水中,堤壩對應分水線連通形成的路徑就成為分水嶺。
設給定待分割的一幅圖像為f(x,y),其圖像梯度為g(x,y),分水嶺是通過梯度空間進行計算的。設M1,M2,…,MR表示梯度g(x,y)中各局部極小值的像素位置,與Mi對應的區域中的像素坐標集合記為C(Mi)。梯度閾值用n表示,(u,v)的像素集合記為T[n],g(u,v) 與Mi相應的區域,符合條件的坐標集合Cn(Mi)定為一幅二值圖像,如式(19)所示: 圖像中全部符合梯度值小于閾值n的像素集合記為C[n],則有式(20): 那么全部區域的并集是C[max+1],max 為灰度最大值。 分水嶺初始化算法如式(21)所示,接著算法進行逐步迭代。 假設步驟n已創建了C[n-1],令S代表T[n]中的連通組元集合,用3×3 全是1 的結構模塊對S∩C[n-1]進行膨脹,則可獲取像素為1 的邊界。由于噪聲影響,理想的分水嶺變換應該為梯度圖像,因為梯度圖像能夠增強圖像中的噪聲,同時減弱了灰度平坦的區塊,這樣噪聲更容易被濾波器濾除掉。 本文圖像分割算法的實驗步驟如下:①將原始圖像轉換為灰度圖像,如果是灰度圖像則保持;②利用基于梯度模和結構張量融合的各向異性擴散對灰度圖像進行處理;③將經各向異性擴散處理后的圖像生成梯度圖像,再對梯度圖像首次進行分水嶺算法;④對上一步生成的圖像進行距離變換和數學形態學處理,得到局部極小值,標記控制;⑤得到重構后的梯度圖像,再次對其進行分水嶺分割。 算法的實驗采用仿真軟件為MATLAB 2016b。為了測試文中算法抑制噪聲的性能,引入峰值信噪比(PSNR),如式(22)、式(23)所示: 式中:MN 是圖像像素個數,xi是無噪聲圖像像素值,ui是測試圖像像素值。加入噪聲,測試如表1 所示,一定程度上PSNR 反映了圖像數據被處理前后變化的統計平均,PSNR 越大,則數據失真越少。 表1 試驗數據 為了測試邊緣信息保持性能,引入邊緣保持指數(FOM)作為評價標準,其定義如式(24)所示: 式中:NA表示含噪圖像邊緣信息中的非零像素數,Nf表示去噪后邊緣信息中的非零像素數,di是歐氏距離,表示含噪邊緣圖像第i個像素與濾波后的最近邊緣像素之間的幾何距離,α是懲罰因子,擬取α=1/9。對原始米粒圖像添加高斯噪聲,變化方差進行測試,測試數值如表2 所示,由數據可知本文算法能夠較好地保持邊緣信息。 表2 邊緣測試 經去噪和邊緣性能檢測后,對米粒圖像進行分割實驗,分別使用傳統分水嶺算法、文獻[14]提出的分割算法和本文改進的各向異性擴散算法對圖像進行分割,分割效果如圖1 所示。可以發現傳統算法對米粒的分割能力較弱,文獻[14]算法缺乏全局信息,邊緣信息提取較差。本文算法通過各向異性擴散明顯保持了邊緣信息,去除了虛假極小值點,降低了過分割現象,同時亦實現了對目標米粒的較完整分割。 圖1 米粒圖像分割實驗 對原始硬幣圖像進行分割實驗,先給硬幣加入泊松噪聲,分別使用傳統分水嶺算法、文獻[14]提出的分割算法和本文改進的各向異性擴散算法對圖像進行分割,分割效果如圖2 所示。傳統分水嶺算法分割的區域塊數較多,分割效果不理想,主要是因為噪聲影響、邊緣過分割和虛假極小值點等因素影響。文獻[14]算法的分割結果得到了明顯改進,效果較傳統方法好,但仍然存在虛假邊緣,仍有過分割等問題。本文所提算法,能夠抑制噪聲,同時使弱邊界保持較好,極小值點的標記相對合適,因此,分割效果明顯優于前兩種方法,具有較好的抗噪性能。 圖2 加入泊松噪聲硬幣圖像分割實驗 本文提出了一種基于各向異性擴散的分水嶺分割算法。應用梯度模的變化設定閾值取代P-M 算子人為設定邊界閾值的方法,并引入圖像結構張量到擴散函數里面,達到平滑噪聲的同時保持邊緣細節的目的,并使其具有良好的分水嶺結構。然后,借助數學形態學的開閉運算補償圖像梯度信息,實現梯度信息分層重構,接著基于形態學最小值標記方法對圖像局部極小值進行標記,最后用分水嶺算法對處理后的圖像進行分割。實驗對無噪聲圖像和加噪聲圖像進行分割,結果表明該方法具有良好的分割效果,尤其對噪聲圖像有較好的魯棒性。4 實驗結果與分析




5 結語