王軍芬, 劉培躍, 董建彬, 朱占龍
(1.河北地質(zhì)大學(xué) 信息工程學(xué)院,河北 石家莊 050031; 2.河北地質(zhì)大學(xué) 智能傳感物聯(lián)網(wǎng)技術(shù)河北省工程研究中心,河北 石家莊 050031; 3.石家莊職業(yè)技術(shù)學(xué)院 機(jī)電工程系,河北 石家莊 050081)
圖像分割在許多領(lǐng)域都有著重要的應(yīng)用,如機(jī)器視覺、醫(yī)學(xué)影像、目標(biāo)識(shí)別等[1-3]。模糊分割方法,尤其是模糊C均值(FCM)算法[4]及其變化在許多圖像分割和目標(biāo)分類應(yīng)用中取得了良好的效果[5-11]。但是,對(duì)于不平衡數(shù)據(jù),F(xiàn)CM的分割效果并不理想。到目前為止,僅有少數(shù)研究試圖改善不平衡數(shù)據(jù)的聚類性能,例如有半監(jiān)督的模糊C均值(ssFCM)算法[5];對(duì)聚類尺寸不敏感的模糊C均值(cluster size insensitive FCM,CsiFCM)算法[12],其實(shí)驗(yàn)結(jié)果表明CsiFCM的分割效果(或聚類性能)優(yōu)于ssFCM;基于完整性的、對(duì)聚類尺寸不敏感的模糊C均值算法(size-insensitive integrity-based FCM,siibFCM)[13],其聚類思想與CsiFCM大致相同,都是對(duì)較大的類群賦較小的條件值,較小的類群賦較大的條件值,不過siibFCM設(shè)計(jì)了更為復(fù)雜的條件值計(jì)算方法;多聚類中心的模糊C均值算法[14]在聚類過程中,設(shè)置類的個(gè)數(shù)大于實(shí)際值,這樣多數(shù)類就會(huì)被拆分到少數(shù)類中,聚類之后再合并,從而改善聚類尺寸敏感問題。
當(dāng)圖像被噪聲污染后,這些算法針對(duì)不平衡數(shù)據(jù)分割的魯棒性較差,分割效果不理想。為了改善上述情況,本文提出一種快速魯棒的,且對(duì)聚類尺寸不敏感的模糊C均值聚類圖像分割算法。首先,利用局部空間算子和局部灰度算子對(duì)圖像I0進(jìn)行預(yù)處理得到非線性加權(quán)求和圖像I,以提高算法的魯棒性;其次,對(duì)非線性加權(quán)求和圖像I的灰度級(jí)進(jìn)行分類,在分類的過程中引入條件變量fg,將低條件值分配給較大類群的對(duì)象,并將高條件值分配給較小類群的對(duì)象來防止小類群向大類群漂移[12],圖像的分割時(shí)間不再取決于圖像的大小,而是圖像的灰度級(jí)數(shù),從而大大降低算法的時(shí)間復(fù)雜度。
灰度圖像的尺寸N=m×n,灰度級(jí)數(shù)為G,圖像灰度級(jí)的集合I={I1,I2,…,IG},Ig表示第g個(gè)灰度級(jí)的值,把圖像分割為C個(gè)區(qū)域,得到C個(gè)模糊子集,每一個(gè)模糊子集對(duì)應(yīng)一個(gè)聚類中心vi,聚類中心集合V={v1,v2,…,vC}。目標(biāo)函數(shù)為
(1)
(2)
(3)
式中:i=1,2,…,C;g=1,2,…,G。
利用式(2)和式(3)不斷迭代更新直到滿足設(shè)定的終止條件,得到各聚類中心和每個(gè)灰度級(jí)的隸屬度值,根據(jù)式(4)將灰度級(jí)Ig分配給具有最高隸屬度的k類:
k=argmaxμig,i=1,2,…,C。
(4)
對(duì)于不平衡數(shù)據(jù),由于FCM使用了一個(gè)平方和形式的代價(jià)函數(shù),使得小類群的中心傾向于向鄰近的大類群漂移[12],分割結(jié)果趨向于均衡聚類類群,分割效果不理想。
原始灰度圖像I0大小N=m×n,總像素集合X={x1,x2,…,xN},灰度級(jí)數(shù)為G。本文中圖像的預(yù)處理是指對(duì)原始圖像I0按照式(5)進(jìn)行預(yù)處理,形成一個(gè)非線性加權(quán)求和圖像I:
(5)
式中:Ik∈[0,G-1]為非線性加權(quán)求和圖像I的第k個(gè)像素的灰度值;Nk為以第k個(gè)像素為中心,大小為M×M的窗口鄰域像素集合;xj為以第k個(gè)像素為中心的窗口中第j個(gè)像素的灰度值;Skj為第k個(gè)像素和第j個(gè)像素之間的局部相似性度量,表示第j個(gè)像素的權(quán)重,具體表述見文獻(xiàn)[6]。
非線性加權(quán)求和圖像I中G?N,將圖像分割為C個(gè)區(qū)域,可得到C個(gè)模糊子集,每一個(gè)模糊子集對(duì)應(yīng)一個(gè)聚類中心vi,聚類中心集合為V={v1,v2,…,vC}。目標(biāo)函數(shù)定義為
(6)
為了改善算法對(duì)不平衡數(shù)據(jù)的聚類性能,在聚類過程中,引入條件變量fg(0≤fg≤1),將低條件值分配給較大類群的對(duì)象,并將高條件值分配給較小類群的對(duì)象來防止小類群向大類群漂移[12]。定義條件變量fg為
(7)
式中:Pimin為所有類群先驗(yàn)概率的最小值;fg為第g個(gè)灰度級(jí)去模糊后被分類為i類的條件值;Pi為第i類類群先驗(yàn)概率。
(8)
式中:Ni為屬于類群i的所有灰度級(jí)g的像素總數(shù)。
Ni=∑gγg。
(9)
每個(gè)灰度級(jí)一旦被分配到某個(gè)特定的類群,就具有相對(duì)于所有類群的固定條件值,并且同一類群中的所有灰度級(jí)都具有相同的條件值。
(10)
(11)
式中:i=1,2,…,C;g=1,2,…,G。
本文算法的時(shí)間復(fù)雜度包括圖像的預(yù)處理和分割處理。圖像預(yù)處理主要是為了獲得非線性加權(quán)求和圖像I,其時(shí)間復(fù)雜度為O(nM2);分割處理主要是算法的迭代過程,其時(shí)間復(fù)雜度為O(GC2Iter),Iter為迭代次數(shù)。所以本文算法的時(shí)間復(fù)雜度為O(nM2+GC2Iter)。
步驟1 設(shè)置圖像分割的區(qū)域數(shù)目C≥2、迭代終止條件ε>0、模糊指數(shù)m、最大的迭代次數(shù)Itermax;
步驟2 圖像預(yù)處理,利用式(5)計(jì)算非線性加權(quán)求和圖像I;
步驟4 初始化fg=1/C,g=1,2,…,G;
步驟5 用式(10)更新隸屬度;
步驟6 根據(jù)隸屬度按式(4)將每個(gè)灰度級(jí)g分配到適當(dāng)?shù)念惾海?/p>
步驟7 用式(7)更新fg;
步驟8 用式(11)更新各個(gè)類的聚類中心V;
步驟9 重復(fù)步驟5~8直到滿足終止條件:迭代次數(shù)Iter>Itermax或|V(Iter)-V(Iter-1)|<ε;
步驟10 根據(jù)最終的隸屬度按式(4)對(duì)圖像I中的每個(gè)灰度級(jí)進(jìn)行去模糊。
實(shí)驗(yàn)圖像由合成圖像和無損檢測(cè)圖像構(gòu)成,合成圖像由4類圖像數(shù)據(jù)組成,其中大類群與小類群的比值為29.16。選擇無損檢測(cè)圖像Im1~I(xiàn)m6,其圖像灰度分布具有不均衡性,目標(biāo)類和背景類差異較大,所選圖像滿足對(duì)實(shí)驗(yàn)圖像的要求。
首先,本文研究了條件變量fg隨Ni的變化情況,其次,為了更好地驗(yàn)證算法優(yōu)越性,用高斯噪聲(均值為0,歸一化方差為2%~8%)、椒鹽噪聲(噪聲百分比為10%~15%)、瑞利噪聲(均值為0,標(biāo)準(zhǔn)差為15~30)和乘性噪聲(均值為0,方差為4%~8%)去污染實(shí)驗(yàn)圖像,使用FCM、CsiFCM、siibFCM作為對(duì)比算法進(jìn)行實(shí)驗(yàn)。設(shè)置模糊指數(shù)m=2,迭代精度ε=0.000 01,最大迭代次數(shù)為100。為了使分割結(jié)果不受初始類中心的影響,在相同噪聲水平下進(jìn)行對(duì)比實(shí)驗(yàn)時(shí),選用相同的初始類中心。實(shí)驗(yàn)所用計(jì)算機(jī)的CPU為Intel CORE i7-8565U@1.80 GHz,RAM為8 GB,運(yùn)行環(huán)境為Windows 7,編程環(huán)境為MATLAB R2014a。
針對(duì)不平衡數(shù)據(jù)聚類的圖像分割結(jié)果,本文采用了3種評(píng)價(jià)標(biāo)準(zhǔn):分割精度(SA)、F-value[15]、G-mean[16]。分割精度定義為分類正確的像素?cái)?shù)與圖像像素總數(shù)的比值;F-value用來評(píng)價(jià)聚類算法對(duì)少數(shù)類的聚類性能;G-mean用來評(píng)價(jià)聚類算法的總體性能。SA、F-value、G-mean值越大說明圖像分割效果越好。當(dāng)圖像分割區(qū)域數(shù)為2時(shí),選用評(píng)價(jià)標(biāo)準(zhǔn)F-value、G-mean;當(dāng)圖像分割區(qū)域數(shù)多于2時(shí),選用SA。
合成圖像像素為256×256=65 536,共由4類圖像數(shù)據(jù)組成,如圖1(a)所示。類1:灰度值為0的小正方形,1 600像素;類2:灰度值為80的水平線,8 640像素;類3:灰度值為160的垂直線,8 640像素;類4:灰度值為255的大正方形,46 656像素。
圖1 合成圖像及Ni、 fg測(cè)試結(jié)果Figure 1 Synthetic image and test results of Ni and fg
以被高斯噪聲(均值為0,歸一化方差為2%)污染后的圖像為實(shí)驗(yàn)圖像,如圖1(b)所示,在圖像的分割過程中條件變量fg隨Ni的變化情況如圖1(c)、1(d)所示。從圖1(c)、1(d)中可以看出,當(dāng)類群所包含的像素?cái)?shù)目越大時(shí),分配給所有屬于類群的灰度級(jí)的條件值就越小;當(dāng)類群i所包含的像素?cái)?shù)目越小時(shí),分配給所有屬于類群的灰度級(jí)的條件值就越大。fg可以平衡不同大小的類群,解決類大小敏感問題。
合成圖像添加不同強(qiáng)度的噪聲進(jìn)行圖像分割測(cè)試,結(jié)果如表1所示,其中NA表示失效。表1表明:從整體上看本文算法分割精度SA為97.93%,明顯優(yōu)于對(duì)比算法,甚至當(dāng)對(duì)比算法失效時(shí),本文算法仍能夠得到較好效果。當(dāng)圖像沒有噪聲或被瑞利噪聲污染時(shí),本文算法與對(duì)比算法性能基本一致。但是當(dāng)高斯噪聲、椒鹽噪聲和乘性噪聲歸一化方差增大時(shí),對(duì)比算法的分割精度都明顯降低,而本文所提算法可以達(dá)到90%以上的分割精度,其主要原因是本文算法在聚類過程中引入了條件變量,提高了算法的分割精度。圖2給出了當(dāng)高斯噪聲的歸一化方差為2%時(shí),各算法的分割效果。從圖2中可以看出,本文算法對(duì)像素的不均性分布不敏感,分割效果受噪聲影響較小,魯棒性要優(yōu)于對(duì)比算法。
表1 不同噪聲水平下的分割精度對(duì)比Table 1 Segmentation accuracy with different level noises
圖2 高斯噪聲2%時(shí)合成圖像各算法分割結(jié)果Figure 2 Segmentation results on synthetic image corrupted by 2% Gaussian noise
為了驗(yàn)證本文算法在無損檢測(cè)圖像分割方面的優(yōu)越性,對(duì)尺寸不同、背景類與目標(biāo)類大小比值不同,但差異較大的6幅無損檢測(cè)圖像進(jìn)行圖像分割,分為背景和目標(biāo)物兩類。無損檢測(cè)圖像Im1~I(xiàn)m6如圖3所示,其圖像像素依次為131×232、51×98、70×100、74×111、56×271、256×256,評(píng)價(jià)指標(biāo)為F-value、G-mean以及分割圖像所需要的時(shí)間(t)。本文算法與對(duì)比算法在不同噪聲水平下各指標(biāo)測(cè)試結(jié)果如表2、圖4所示。其中的G-mean和t為圖像在不同噪聲水平下的平均值。
圖3 無損檢測(cè)圖像Figure 3 Non-destructive testing images
當(dāng)圖像被高斯噪聲、椒鹽噪聲、瑞利噪聲以及乘性噪聲污染時(shí),F(xiàn)CM、CsiFCM、siibFCM以及本文算法對(duì)實(shí)驗(yàn)中所有無損檢測(cè)圖像的F-value平均值分別為64.78%、67.90%、69.41%、88.50%。另外,F(xiàn)CM、CsiFCM、siibFCM以及本文算法對(duì)實(shí)驗(yàn)中所有無損檢測(cè)圖像的G-mean平均值分別為84.81%、81.47%、83.07%、93.83%。F-value和G-mean指標(biāo)優(yōu)于對(duì)比算法的主要原因是本文采用了條件值表征樣本容量來平衡不同大小的類群,因此提升了對(duì)少數(shù)類的聚類性能。
從表2和圖4(a)中可以看出,當(dāng)無損檢測(cè)圖像被污染時(shí),本文算法的聚類性能要優(yōu)于對(duì)比算法。但是當(dāng)無損檢測(cè)圖像沒有被污染或者當(dāng)圖像被非均勻分布的瑞利噪聲污染時(shí),本文算法性能與對(duì)比算法基本一致或者稍微弱于對(duì)比算法。其主要原因是本文算法采用了對(duì)圖像中少數(shù)類加權(quán)的策略,尤其是針對(duì)非均勻噪聲的攻擊,在增強(qiáng)了少數(shù)類權(quán)重的同時(shí)也增加了該區(qū)域的噪聲強(qiáng)度,導(dǎo)致本文算法對(duì)部分圖像(如Im6)的聚類性能略微低于對(duì)比算法。
表2 不同算法得到的F-valueTable 2 F-value obtained by different algorithms
圖4 不同算法得到的G-mean和TimeFigure 4 G-mean and Time obtained by different algorithms
圖4(b)為本文算法和對(duì)比算法對(duì)無損檢測(cè)圖像在不同噪聲水平下分割時(shí)間平均值對(duì)比圖??梢钥闯觯疚乃惴ǖ姆指钏俣雀?,本文算法對(duì)實(shí)驗(yàn)中所有無損檢測(cè)圖像分割時(shí)間的平均值為14.06 ms。其主要原因是本文算法采用對(duì)圖像的灰度級(jí)進(jìn)行分類,而不是圖像的像素,造成了當(dāng)圖像的尺寸較小時(shí),如Im2、Im3和Im4,本文算法只是稍優(yōu)于對(duì)比算法,也說明本文算法適合圖像尺寸較大的場(chǎng)合。
圖5為本文算法與對(duì)比算法對(duì)Im5的分割效果圖。其中圖5(a)為原圖;圖5(b)為噪聲污染后的圖像;圖5(c)為標(biāo)準(zhǔn)分割結(jié)果;圖5(d)~5(g)為本文算法和對(duì)比算法的分割結(jié)果。從圖5中可看出,對(duì)比算法對(duì)噪聲比較敏感,而本文算法魯棒性較高,受噪聲的影響較小,分割效果優(yōu)于對(duì)比算法。其主要原因是本文算法引入局部空間信息和灰度信息對(duì)圖像進(jìn)行預(yù)處理,提高了算法的魯棒性。
圖5 Im5圖像及其各算法的分割結(jié)果Figure 5 Comparison of segmentation results on non-destructive testing Im5
為了改善模糊C均值算法不能有效分割類間差異較大的圖像這一問題,提出了一種新的用于分割無損檢測(cè)圖像的快速模糊C均值算法。該算法主要是通過引入局部空間信息和灰度信息,降低噪聲的影響,用條件值表征樣本容量來平衡不同大小的類群,避免較小類群的聚類中心向較大類群偏移?;谛碌募s束條件得到新的隸屬度和聚類中心表達(dá)式,對(duì)預(yù)處理后圖像的灰度級(jí)進(jìn)行分類,大幅度地降低了算法的時(shí)間復(fù)雜度。實(shí)驗(yàn)數(shù)據(jù)證明了本文算法的有效性和魯棒性。下一步研究可改進(jìn)算法對(duì)非均勻噪聲的處理及初始化方式,以便更加有效地對(duì)不平衡圖像數(shù)據(jù)進(jìn)行精細(xì)的分割。