石雪松,李憲華*,孫 青,宋 韜
(1.安徽理工大學(xué)機(jī)械工程學(xué)院,安徽淮南 232001;2.上海大學(xué)機(jī)電工程與自動(dòng)化學(xué)院,上海 200444)
圖像分割是處理后續(xù)實(shí)際問題的基本預(yù)處理步驟,為初期圖像處理和后期識(shí)別架起了橋梁。圖像分割是將圖片分割成目標(biāo)和背景,目標(biāo)如圖像的突出區(qū)域、對(duì)象或?qū)ο蟮淖匀徊糠郑渲蟹指钸^(guò)程是像素的分組過(guò)程,發(fā)生在鄰域內(nèi)具有相似屬性的像素之間,如強(qiáng)度、顏色或紋理[1]。
噪聲是計(jì)算機(jī)視覺處理中不可避免的一部分,如何避免噪聲的影響是當(dāng)前一個(gè)很有意義的研究方向。模糊C均值(Fuzzy C-means,F(xiàn)CM)算法是當(dāng)前比較流行的圖像分割方法,大量的研究人員對(duì)基于FCM算法的噪聲圖像分割方法展開了研究[2-6],相比于硬分割方法,F(xiàn)CM算法能保留更多的圖像紋理細(xì)節(jié)信息。鑒于傳統(tǒng)FCM算法的抗噪性能弱,相關(guān)學(xué)者提出將FCM算法與其他算法相結(jié)合的方法來(lái)去除噪聲。文獻(xiàn)[7]提出了一種基于模糊C均值與人工蜂群(Artificial Bee Colony,ABC)優(yōu)化的灰度圖像分割方法。文獻(xiàn)[8-9]提出了粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法[10]與FCM結(jié)合的圖像分割方法。PSO算法、遺傳算法[10]、灰狼算法的引入在一定程度上提高了圖像分割的魯棒性。其中,PSO算法在搜索過(guò)程中容易陷入局部極值,且在進(jìn)化后期階段收斂精度較低、速度較慢[11]。目前也有研究人員通過(guò)改進(jìn)FCM算法來(lái)增強(qiáng)算法的抗噪性能,文獻(xiàn)[12]中提出一種邊緣細(xì)分的動(dòng)態(tài)參數(shù)模糊C均值圖像分割算法,文獻(xiàn)[13]中在目標(biāo)函數(shù)中引入了局部和非局部信息,通過(guò)信息熵調(diào)整像素信息和非局部空間信息之間的權(quán)重,增強(qiáng)了算法的抗噪性能。以上分割方法較少地保留圖像邊緣紋理信息,僅在抗噪性能和分割性能上有所改進(jìn)。
本文在基于傳統(tǒng)的FCM圖像分割的基礎(chǔ)上提出一種基于小波變換的噪聲圖像FCM分割方法。首先,將噪聲圖像進(jìn)行二維小波分解;其次,采用ABC算法對(duì)圖像細(xì)節(jié)系數(shù)進(jìn)行閾值處理,并對(duì)近似系數(shù)進(jìn)行邊緣增強(qiáng);然后,使用FCM算法來(lái)進(jìn)行圖像分割,使其在分割時(shí)能更多地保留圖像邊緣紋理信息。
Mallat算法提出了多分辨分析的概念[14]。由于數(shù)字圖像通常以二維數(shù)組f(x,y)來(lái)表示,假設(shè)二維信號(hào)為f(x,y),采用二維Mallat算法來(lái)進(jìn)行小波變化,二維小波變換的定義為:
其中:a是引入的歸一因子,保證了小波收縮前后能量不變;Ψ為傅里葉變換。
其逆變換為:
其中:
數(shù)字圖像在經(jīng)過(guò)二維小波分解后會(huì)得到4個(gè)分量,分別為對(duì)角系數(shù)D、水平系數(shù)H、垂直系數(shù)V和近似系數(shù)A,其中D、H和V又稱之為細(xì)節(jié)系數(shù)。
本文采用軟閾值函數(shù)[15-16]來(lái)對(duì)小波系數(shù)進(jìn)行閾值處理,去除或衰減容易被噪聲破壞的系數(shù),保留有用的系數(shù),從而抑制噪聲,閾值函數(shù)為:
ABC算法以蜜源的形式來(lái)提供閾值,然后通過(guò)式(4)來(lái)對(duì)圖像進(jìn)行閾值處理。其中系數(shù)A并不進(jìn)行閾值處理,因?yàn)锳系數(shù)中包含很多對(duì)圖像有用的細(xì)節(jié)信息。
每次迭代都要對(duì)蜜源性能進(jìn)行評(píng)估,這樣可以保證最終得到最優(yōu)解。利用當(dāng)前迭代的閾值系數(shù)進(jìn)行閾值處理,處理后的細(xì)節(jié)系數(shù)和近似系數(shù)通過(guò)逆小波變換重建圖像,然后根據(jù)重建圖像計(jì)算FCM目標(biāo)函數(shù),如式(5)所示,其中數(shù)據(jù)點(diǎn)是每個(gè)像素點(diǎn)的灰度值。這種適應(yīng)度評(píng)價(jià)直接針對(duì)分割結(jié)果,從而間接針對(duì)圖像噪聲。
雖然這個(gè)目標(biāo)函數(shù)需要在ABC算法的每次迭代中進(jìn)行計(jì)算,但是由于使用了基于直方圖的FCM,總體計(jì)算成本在能夠接受的范圍內(nèi)。
ABC算法是模擬蜜蜂的覓食(采蜜)過(guò)程,組成要素有食物源、引領(lǐng)蜂、跟隨蜂和偵察蜂[17]。
其中fi為解的函數(shù)值。
1)首先,初始化蜜源i的位置,按照式(7)在搜索空間中隨機(jī)產(chǎn)生。
其中Ud和Ld分別為搜索空間的上邊界和下邊界。
2)更新蜜源位置。
在搜索之后,引領(lǐng)蜂根據(jù)式(8)在蜜源i周圍搜索一個(gè)新的蜜源。
其中:j≠i,?是在區(qū)間[-1,1]均勻分布的隨機(jī)擾動(dòng)系數(shù)。
3)跟隨蜂按概率跟隨引領(lǐng)蜂。
根據(jù)所獲得的蜜源信息,并按式(9)來(lái)計(jì)算概率,按照概率來(lái)選擇引領(lǐng)蜂跟隨。
4)偵察蜂的產(chǎn)生。
設(shè)置迭代次數(shù)t,若蜜源i經(jīng)過(guò)t次迭代后達(dá)到閾值界限threshold,但是并沒有找到更好的蜜源,這種情況下蜜源i會(huì)被放棄,這時(shí)對(duì)應(yīng)的采蜜蜂轉(zhuǎn)變?yōu)閭刹榉?,偵查蜂將繼續(xù)在搜索空間繼續(xù)搜索新的蜜源代替蜜源i。
圖片在經(jīng)過(guò)小波分解后,圖片噪聲存在于細(xì)節(jié)系數(shù)之中,為了保留圖像邊緣紋理特征,本文使用Canny邊緣檢測(cè)算法作用于近似系數(shù)之中來(lái)檢測(cè)圖像邊緣信息,利用式(10)來(lái)實(shí)現(xiàn)圖像增強(qiáng),將這兩個(gè)系數(shù)進(jìn)行小波重構(gòu),保留了圖像的邊緣紋理特征,有效地提高圖片的分割質(zhì)量。
其中:k為[0,1]的常數(shù),Ae為經(jīng)過(guò)Canny邊緣檢測(cè)算法處理后的系數(shù)。
FCM算法是一種基于目標(biāo)函數(shù)的模糊聚類算法,為了使得FCM分割速度更快,本文采用FCM對(duì)灰度級(jí)進(jìn)行聚類,而不是對(duì)像素點(diǎn)進(jìn)行聚類,這是因?yàn)橐话闱闆r下灰度級(jí)的數(shù)量要比像素點(diǎn)的數(shù)量小得多。利用聚類方式進(jìn)行圖像分割的實(shí)質(zhì)是將灰度級(jí)集合分為C類的問題,每個(gè)類屬中均含有唯一的聚類中心,在不斷的迭代中實(shí)現(xiàn)聚類中心的更新,通過(guò)最小化目標(biāo)函數(shù)優(yōu)化聚類結(jié)果,使用隸屬度矩陣來(lái)描述各個(gè)像素點(diǎn)的類屬性質(zhì),通過(guò)單個(gè)像素點(diǎn)與聚類中心的相似程度來(lái)判斷其在不同類別中的隸屬程度。
圖片中灰度級(jí)集合為X={x1,x2,…,xc},將這些數(shù)據(jù)劃分為C類,那么聚類中心就有C個(gè),xi是在一維向量空間中的一個(gè)與像素有關(guān)的特征向量,目標(biāo)函數(shù)可改為:
其中:sj為灰度級(jí)為j的像素點(diǎn)數(shù)量;L為灰度級(jí)數(shù)量;m是隸屬度因子,m∈(1,+∞);使用拉格朗日乘數(shù)得到聚類中心更新方程和使目標(biāo)函數(shù)最小的隸屬度方程。
FCM算法直接對(duì)噪聲圖像進(jìn)行分割,分割效果受到圖像噪聲嚴(yán)重影響,故本文先采用小波變換與ABC算法融合,降低圖像噪聲并增強(qiáng)圖像邊緣紋理信息,然后對(duì)重構(gòu)后的圖像進(jìn)行FCM分割,使得分割后的圖像魯棒性更高。本文方法流程如圖1所示。
圖1 本文方法流程Fig.1 Flow chart of proposed method
本文方法總體可分為四大步驟,如下所示:
步驟1 輸入圖像,將圖像進(jìn)行小波分解得到4個(gè)系數(shù):
其中W表示小波分解。
步驟2 利用ABC算法對(duì)細(xì)節(jié)系數(shù)D、H和V分別進(jìn)行閾值搜索,當(dāng)適應(yīng)度值不超過(guò)給定的閾值時(shí),則在20次迭代后停止迭代,每次迭代后按當(dāng)前閾值處理模糊系數(shù),然后對(duì)模糊系數(shù)和未處理的細(xì)節(jié)系數(shù)進(jìn)行小波重構(gòu),按照式(5)對(duì)重構(gòu)后的圖像進(jìn)行評(píng)估,這樣保證了獲得最優(yōu)閾值。
其中:ABC表示ABC算法搜索最優(yōu)閾值;δ表示閾值;Th表示進(jìn)行閾值處理。
步驟3 對(duì)模糊系數(shù)A進(jìn)行邊緣增強(qiáng),具體表達(dá)式如式(10)所示。
步驟4 將處理后的系數(shù)進(jìn)行小波重構(gòu),對(duì)重構(gòu)后的圖像進(jìn)行FCM分割處理。
其中:W-1是小波逆變換,用來(lái)重構(gòu)圖像;FCM表示對(duì)圖像進(jìn)行FCM分割。
為了驗(yàn)證本文方法的分割性能和噪聲抑制能力,如圖2所示,選取五張典型的灰度圖像,分別命名為img1,img2,…,img5。并對(duì)這五張圖像分別添加高斯噪聲與椒鹽噪聲。首先對(duì)圖像邊緣增強(qiáng)中的系數(shù)k分別取0.5、0.7、0.9,然后對(duì)img1進(jìn)行重構(gòu)和分割,通過(guò)直接觀察重構(gòu)后和分割后的圖像進(jìn)行分析,從而選取合適的k值。然后聚類數(shù)C分別取3、5和6對(duì)img4進(jìn)行分割實(shí)驗(yàn),分析分類效果和目標(biāo)函數(shù)收斂速度,選擇合適的C值。最后分別采用本文的方法、傳統(tǒng)的FCM方法和粒子群優(yōu)化算法分割方法進(jìn)行分割,得到三種不同的結(jié)果,然后采用峰值信噪比和誤分率來(lái)定量地評(píng)價(jià)本文方法的抗噪性能和分割性能,采用算法運(yùn)行時(shí)間來(lái)評(píng)價(jià)算法的時(shí)間復(fù)雜度。
圖2 原圖及添加噪聲圖像Fig.2 Original and noise added images
實(shí)驗(yàn)在Windows10系統(tǒng)下進(jìn)行,CPU為AMD Ryzen 5 2600,主頻3.40 GHz,運(yùn)行內(nèi)存為16 GB,實(shí)驗(yàn)環(huán)境是Matlab a2017版本下運(yùn)行。
在實(shí)驗(yàn)研究基礎(chǔ)之上,ABC、FCM、小波變換、邊緣增強(qiáng)相關(guān)參數(shù)如表1所示。
表1 關(guān)鍵參數(shù)設(shè)置Tab.1 Key parameter settings
圖3是在不同k值下的圖像重構(gòu)與分割效果,直接觀察可以發(fā)現(xiàn)在k取0.9時(shí)重構(gòu)后的圖像紋理最清晰,且分割后的效果最好。
圖3 不同k值時(shí)圖像重構(gòu)效果和分割效果對(duì)比Fig.3 Comparison of image reconstruction effect and segmentation effect with different k values
圖4是C值分別取3、5、6時(shí)FCM對(duì)img4含高斯噪聲和椒鹽噪聲圖像灰度值分類結(jié)果,發(fā)現(xiàn)當(dāng)C取3時(shí),圖像灰度值所分類別區(qū)分度明顯,C取5時(shí),圖像灰度值分類層次分明,在分割時(shí)能有利于保留一些紋理細(xì)節(jié)。
圖4 C值取3、5、6時(shí)灰度值分類結(jié)果Fig.4 Classification results of grayscale valuewhen C value is3,5 and 6
圖5是使用本文方法、FCM算法、PSO算法對(duì)這五張圖片在添加不同噪聲情況下進(jìn)行分割后的結(jié)果,通過(guò)直接觀察分割結(jié)果可以看出,本文算法分割后的圖片受到噪聲影響較小,特別是對(duì)含椒鹽噪聲圖像分割上效果比其他兩種方法有顯著的提升,而本文算法在這兩種噪聲下保持一定的穩(wěn)定性。
圖5 分割后圖像Fig.5 Segmented images
為了進(jìn)一步驗(yàn)證本文方法的抗噪性能,本文采用峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)來(lái)定量地評(píng)價(jià),PSNR越大,則表明本文方法抗噪性能越好,定義為:
其中,MAX為圖像像素的最大值;MSE為圖像像素均方差,定義為:
其中:m×n為圖像的大小,K和I分別為原始含噪圖像和分割后的圖像。
為了進(jìn)一步驗(yàn)證本文方法的分割性能,本文采用誤分率(Misclassification Error,ME)作為指標(biāo)來(lái)評(píng)價(jià)本文方法的分割性能,ME值越小,就表明本文方法分割性能越好,定義為:
其中:Ai表示分割算法中分成第i類的像素點(diǎn);Bj表示在沒有噪聲的理想圖像中分成第j類的像素點(diǎn);C為類別數(shù)。
為了客觀地評(píng)價(jià)本文分割方法的抗噪性能與分割性能,表2給出了使用三種方法分割得到圖像的PSNR值和ME值。
表2 三種方法對(duì)噪聲圖像分割后的PSNR,ME和所用時(shí)間Tab.2 PSNR,ME and time consumption of noisy image segmentation by three methods
對(duì)比分析這三種方法分割后圖像的PSNR值和ME值,本文方法分割后圖像PSNR值相較于傳統(tǒng)FCM分割方法和PSO算法分割方法平均分別提升160%和20%,最多分別提升281%和54%;ME值平均分別降低28%和13%,最多分別降低55%和41%。本文方法對(duì)噪聲圖像的分割性能更好,并且具有更好的抗噪性能。但是對(duì)比算法運(yùn)行時(shí)間,本文算法運(yùn)行時(shí)間比傳統(tǒng)FCM方法要長(zhǎng),與粒子群優(yōu)化算法分割方法相比稍有優(yōu)勢(shì)。
將噪聲圖像進(jìn)行二維小波分解,然后采用ABC算法對(duì)圖像細(xì)節(jié)系數(shù)進(jìn)行閾值處理,并對(duì)近似系數(shù)進(jìn)行邊緣增強(qiáng),最后使用FCM算法來(lái)進(jìn)行圖像分割。本文對(duì)五張不同的圖像分別添加高斯噪聲和椒鹽噪聲,然后對(duì)這些添加了噪聲的圖像分別使用本文方法、傳統(tǒng)的FCM方法和PSO算法分割方法進(jìn)行分割,將分割后圖像的峰值信噪比和誤分率作為性能指標(biāo),實(shí)驗(yàn)結(jié)果表明,本文方法能有效地保留圖像的邊緣特征,有較好的抗噪性能與分割性能。