曹雪紅, 高夢飛, 范九倫, 雒 僖, 于海燕
(1.西安郵電大學 自動化學院, 陜西 西安 710121; 2.西安郵電大學 通信與信息工程學院, 陜西 西安 710121)
圖像分割[1]是把所選中的圖像根據紋理、灰度、形狀、顏色等特定準則劃分成若干個具有相同性質的類別的過程,是從圖像處理到圖像分析的關鍵步驟。圖像分割的常用方法有閾值分割[2]、區(qū)域分割[3]、邊緣分割[4]和聚類分割[5]等,其中模糊C-均值聚類 (fuzzy C-mean clustering,FCM) 算法[6]是最經典的模糊聚類算法之一。FCM算法要求樣本點到各個聚類中心的隸屬度之和為1,受此約束條件的影響,FCM算法對噪聲點比較敏感。為克服FCM對噪聲敏感的缺陷,Krishnapuram等人提出了可能性C-均值聚類(possibilistic C-means, PCM)算法[7],該算法放棄了FCM算法的隸屬度和為1 的約束條件,構建了一個新的目標函數。PCM算法使得噪聲數據點得到的隸屬度值比較小,對聚類分割結果來說,噪聲對其產生的影響可以忽略,但是, PCM算法對初始聚類中心比較敏感,容易產生一致性聚類結果。
針對PCM一致性聚類的缺點,學者們提出了一些改進的算法。Pal等人[8]在FCM和PCM算法的基礎上提出了可能性模糊C-均值聚類 (possibilistic fuzzy C-means,PFCM) 算法,克服了一致性聚類的缺點。YU等人[9]提出了截集式可能性C均值聚類(cutset-type possibilistic C-means,C-PCM) 算法,該算法將截集引入到PCM算法中,利用截集的概念產生聚類核,然后對聚類核內像素點的隸屬度進行修改,最后把類間關系和可能性聚類結合起來,從而避免了PCM一致性聚類的結果,但是,C-PCM算法未考慮到鄰域像素點的信息,對被高斯噪聲污染的圖像不能獲得較好的分割結果。為此,基于鄰域空間信息的FCM(FCM with spatial constraints, FCM_S)算法[10]是在FCM算法中增加了圖像的局部空間信息,分別對FCM算法的目標函數加入均值空間信息和中值空間信息[11],從而提高了算法的運算效果。與局部空間信息相比,非局部空間信息從整幅圖出發(fā),充分利用圖像中的冗余信息,從而很好地保證了圖像的細節(jié)部分?;诜蔷植靠臻g信息的FCM(FCM with non-local spatial information, FCM_NLS)算法[12]將非局部空間信息引入到FCM算法中,提高了算法針對噪聲的魯棒性。
為了進一步增強算法的抗噪性能,更好地保留圖像中的細節(jié)信息,本文算法將非局部空間信息和C-PCM相結合,提出了基于非局部空間信息的截集式可能性C-均值聚類(cutset-type FCM_NLS,C-PCM_NLS)算法。并且分別對4種不同類型的實驗圖像進行分割結果測試,以驗證算法的有效性。
給定一個圖像樣本集X={x1,x2,…,xn},模糊C-均值聚類算法通過對目標函數進行不斷的迭代優(yōu)化實現樣本的劃分,從而將n個樣本分成c個聚類中心。FCM的目標函數定義為
(1)
其中,uki表示第i個樣本屬于第k類的隸屬度,并構成隸屬度矩陣U=[uki]c×n;m為模糊因子,表示算法對聚類結果的模糊程度,通常m取值為2;vk表示第k個聚類中心,組成聚類中心的集合V={v1,v2,…,vc};d(xi,xk)=‖xi-vk‖表示第i個樣本到第k個聚類中心的歐式距離。采用拉格朗日乘子法對目標函數求最小值,可得到隸屬度和聚類中心的更新迭代公式分別為
(2)
(3)
FCM算法要求樣本點到聚類中心的隸屬度之和為1,受此約束條件的影響,FCM算法抗噪性能較差。
PCM算法[7]是對FCM算法改進算法,主要通過放棄隸屬度的約束條件,改進了噪聲敏感的問題。PCM算法的目標函數為
(4)
約束條件為
(5)
其中,tki表示第i個樣本到第k個類的典型性值,且構成可能性劃分矩陣T=[tki〗],ηk為懲罰因子,其計算公式為
(6)
式中K為參數,通常K=1。通過迭代優(yōu)化得到的典型性值和聚類中心的計算公式分別為
(7)
(8)
PCM放棄了FCM中隸屬度的約束條件,由式(7)可知,如果樣本i屬于第k個類,即其典型性值只與該類有關,與其他聚類沒有關系,這樣容易導致一致性聚類的結果。
PCM算法放棄了對隸屬度的約束條件,使得它對噪聲點或者奇異點有較強的魯棒性,但缺點是會導致一致性聚類的結果。為解決PCM算法存在的一致性聚類的問題,截集式可能性C-均值聚類算法(C-PCM)將截集[11]的概念引入到可能性聚類中,利用β截集為每一類產生一個聚類核,并且對聚類核內每一個樣本點的典型性值進行修改,將類與類之間的關系引入到可能性聚類中,克服了PCM一致性聚類的缺點。C-PCM算法的目標函數如下
(9)
約束條件為
(10)
其中η是所給定的常數,在該算法中取固定的值。典型性值的更新公式以及聚類中心的更新公式為公式(7)和公式(8)。
C-PCM算法在每一次迭代的過程中對樣本的典型性值進行修改。具體的典型性值修改過程是先用公式(7)求出樣本的典型性值,然后獲取樣本點xi到所有類的典型性值的最大值,即tqi=max{tki,1≤k≤c}獲勝典型性值。若tqi滿足
(11)
式中β為截集門限,且0≤β≤1,則認為樣本點xi屬于第q類,而不屬于其他類,然后,將樣本點到其他類的典型性值修改為0,并且tqi保持不變。其具體修改方式為如果tqi>β,則
(12)
如果tki≤β,則
tki-tki,k=1,…,c。
(13)
顯然,當β=1時,C-PCM算法轉化成PCM算法。
與局部均值算法相比,利用非局部均值算法生成的空間信息更能給予像素點更大的權值,可以更好的反映出像素間的相似性。
(14)
(15)
式中,h是控制權值wip衰減的因子,h通常取值為噪聲方差的0.3倍;x(Ni)是以像素i為中心、大小為s×s的相似窗Nj上的灰度向量,zi是一個歸一化常數,其定義為
(16)
由于C-PCM算法和FCM算法均未考慮圖像的空間鄰域信息,直接對圖像的像素的灰度值進行處理,所以,在處理受高斯噪聲污染的圖像時,上述兩種算法均不能獲得較好的分割效果。為此,本文在C-PCM算法的目標函數中加入了非局部空間約束項,給出一種基于非局部空間信息的截集式可能性C均值圖像分割算法。
(17)
采用拉格朗日乘子法對目標函數求最小值。對利用目標函數對tki求偏導數,可得
(18)
(19)
同理,求目標函數關于vk的偏導數并令其為0,可以得到聚類中心的更新公式
(20)
C-PCM_NLS算法應用于圖像分割的具體步驟如下。
步驟1給定聚類數目c,模糊因子m,懲罰因子η。設置最大循環(huán)次數rmax和算法停止的閾值ε。
步驟4利用公式(19)更新典型性值。
步驟5修改典型性值。令tqi=max{tki,1≤k≤c},如果tqi>β,則根據公式(12)修改典型性值,否則,根據公式(13)修改典型性值。
為測試C-PCM_NLS算法的性能,分別選取人工合成圖像、#15088圖像、腦部醫(yī)學圖像以及刑偵圖像等4幅不同種類的測試圖像進行圖像分割,并與FCM算法[6]、C-PCM算法[9]、FCM_S1算法[11]、FLICM算法[13]、FCM_NLS算法[12]等5種算法的實驗結果進行對比。
實驗采用MATLAB R2014a軟件系統(tǒng),算法參數設置分別為m=2,最大迭代次數rmax=100,停止的閾值為ε=0.000 01。FCM_S1、FLICM算法局部鄰域窗口為3×3,FCM_NLS算法以及本文算法的搜索半徑為10,鄰域窗口半徑為3。
在圖1中,(a)為選取的原始圖像,(b)為加入了均值為0且方差為0.06的高斯噪聲的圖像,并將本文算法與其他5種算法進行圖像分割實驗,結果圖1(c)~(h),分別表示FCM算法、C-PCM算法、FCM_S1算法、FLICM算法、FCM_NLS算法以及本文C-PCM_NLS算法的分割結果。
圖1 人工圖像分割效果圖
可以看出,FCM和C-PCM算法對含噪圖像的分割效果相比不理想,分割后的圖像中包含的噪聲點較多和含噪圖像之間差別很小,這是因為FCM、C-PCM算法都是直接對圖像中的像素點進行聚類,導致算法對噪聲比較敏感。而FCM_S1算法先對圖像進行均值濾波,并結合了濾波后的圖像像素,分割效果所含的噪聲點相對較小。相比而言,FLICM算法將圖像的鄰域灰度信息和局部空間信息相結合,分割后的圖像含有少量的噪聲點。FCM_NLS算法和本文算法都基本上消除了圖像中的噪聲點,在視覺上沒有太大的區(qū)別,都能得到較好的分割結果。
為進一步評價本文算法的分割性能,采用通常的峰值信噪比(peak signal to noise ratio, PSNR)聚類性能進行定量評價,PSNR計算公式為
(22)
式中MSE表示原圖像與處理圖像之間的均方誤差(mean square error,MSE),其計算公式為
其中,I(i,j)表示利用聚類算法對噪聲圖像去噪后得到的分割結果,K(i,j)表示不含噪聲的圖像的分割結果。MN表示圖像所含的像素點。通常情況下,PSNR越大,表示圖像分割效果越好,算法的抗噪性能越好。
為研究本文分割算法在不同高斯噪聲的聚類性能,實驗中采用對人工合成圖像分別添加方差為0.06和0.08的高斯噪聲后,進行圖像分割,將上述6種算法分割后的準確率以及 計算結果如表1所示。
表1 不同算法對高噪人工圖像的聚類性能
從結果可以看出,相比其他4種算法,C-PCM_NLS算法和FCM_NLS算法對含有同一高斯噪聲的人工圖像分割,能夠得到更高的準確率和PSNR值,在噪聲方差改變的情況下,準確率和PSNR值較其他4種算法變化幅度不大,說明該算法與FCM_NLS算法的抗噪聲性能較好。
為了進一步說明本文算法的性能,分別選取了自然圖像,醫(yī)學圖像以及刑偵圖像進行了對比實驗,自然圖像圖2(a)為原始圖像,圖2(b)加入了均值為0,方差為0.06的高斯噪聲,圖2(c)~(g)分別是使用上述5種算法與C-PCM_NLS算法的分割結果。
圖2 #15088圖像分割效果圖
從6種算法的分割效果可以看出,FCM基本沒有抗噪性能,C-PCM有較弱的抗噪性能,FCM_S1算法在FCM算法中加入了空間鄰域信息,從而分割效果相比于前兩種算法有所改善,但是仍存在著部分噪聲點,相比而言,FLICM算法分割后的圖像中含有少量的噪聲點。FCM_NLS算法和C-PCM_NLS算法更好的抑制了噪聲,兩者的分割效果在視覺上沒有較大的區(qū)別。
圖3中對加入了均值為0,方差為0.08高斯噪聲的腦部醫(yī)學圖像進行了分割對比實驗,圖3(c)~(h)分別對應6種算法的分割效果圖。可以看出,其中FCM算法和C-PCM算法受噪聲影響嚴重,分割后仍存在大量的噪聲點,其原因是FCM算法和C-PCM算法把噪聲看作正常像素點,并未考慮圖像中像素的鄰域信息,導致這兩種算法無法區(qū)分噪聲數據。FCM_S1算法和FLICM算法都結合了圖像的局部信息,更多的利用了圖像中像素的鄰域空間信息,但是仍存在少量的噪聲點。FCM_NLS算法和C-PCM_NLS算法結合了非局部空間信息,可以更好地去除像素點周圍的噪聲點,含有的噪聲點最少。
圖4中選取5種算法與本文C-PCM_NLS算法對刑偵圖像進行分割效果對比,效果如圖4所示。
圖3 腦部分割效果圖
圖4 刑偵圖像分割效果圖
從圖中顯示的分割效果可以看出,FCM和C-PCM由于沒有考慮圖像像素的鄰域信息,分割效果相對來說比較差,目標圖像和其背景圖像不能明顯劃分,得到的腳印圖較為模糊,并且局部細節(jié)沒有突出,這兩種算法在實際偵查中效果不佳。而FCM_S1算法和FLICM算法由于將空間局部信息考慮其中,從而保留了圖像的局部細節(jié),能夠獲得較為清晰的腳印圖,其中,相比較于FCM_S1算法、FCM_S2算法而言,FCM_NLS算法和C-PCM_NLS算法可以得到較為清晰的腳印細節(jié)部分,如圖中方塊標注所示。
針對PCM沒有考慮圖像像素的空間信息,且對高斯噪聲敏感的缺點,提出了一種基于非局部空間信息的截集式可能性聚類圖像分割算法。該算法利用像素間的非局部空間鄰域信息,通過對含有高斯噪聲圖像進行仿真實驗,結果表明相比于FCM算法、C-PCM算法、FCM_S1算法、FLICM算法,本文C-PCM_NLS算法與FCM_NLS算法效果相同,既可以進一步改善噪聲圖像的分割效果又能保留圖像更多的細節(jié)信息。
不同的截集門限對應著不同大小的聚類核,合適的聚類核會降低噪聲對分割效果的影響,因此,優(yōu)化和修改截集門限,降低噪聲對分割效果的影響,從而減少算法的迭代次數,是有待于進一步研究的問題。