王玉銀
(桂林理工大學(xué)博文管理學(xué)院,桂林541006)
圖像分割是指從圖像中提取出需要的目標(biāo),使得背景與目標(biāo)分離。目前閾值分割法主要有最大類間方差法、二維灰度直方圖的投影閾值法、最小交叉熵法、正態(tài)分布假設(shè)下的最小誤差閾值法等。其中最大類間方差法是通過計(jì)算閾值t 將平面分為兩部分,一部分是閾值低于t 的集合,一部分閾值高于t 的集合,從而得到二值化圖像。最大類間方差法因其計(jì)算方法簡(jiǎn)單、速度快,被廣泛應(yīng)用于圖像分割中。
近年來,人工智能的快速發(fā)展,越來越多的智能優(yōu)化算法為解決圖像分割提供了新的思路,例如粒子群算法、狼群算法、鴿群算法、螢火蟲算法、遺傳算法等對(duì)圖像進(jìn)行分割,而且相對(duì)于直接使用最大類間方差法或者聚類方法等,在圖像分割的準(zhǔn)確率、運(yùn)算速度和收斂速度方面均有一定程度的提高。群體智能算法能夠有效地解決非線性優(yōu)化問題,因其收斂速度快、算法原理簡(jiǎn)單易實(shí)現(xiàn)、效率高等特點(diǎn),引起許多研究者的關(guān)注,從而得到廣泛應(yīng)用。因此本文針對(duì)新的群體智能算法--海鷗優(yōu)化算法,并結(jié)合OTSU 法將其應(yīng)用于圖像分割中,實(shí)驗(yàn)證明,該算法能夠較好地實(shí)現(xiàn)圖像分割。
海鷗是最常見的海鳥,經(jīng)常成對(duì)或成小群活動(dòng),或者在空中飛翔。海鷗是一種攻擊力極強(qiáng)的動(dòng)物,經(jīng)常盤旋在空中憑借智慧來尋找和攻擊獵物,海鷗會(huì)隨著季節(jié)變化在不同區(qū)域之間遷移,以尋找最豐富的食物,從而提供足夠的能量。海鷗在遷徙時(shí),經(jīng)常會(huì)攻擊候鳥,在攻擊時(shí),群體做出螺旋自然運(yùn)動(dòng)形狀。因此海鷗的兩個(gè)最重要的特征是遷徙和攻擊行為。海鷗的遷移和攻擊獵物行為與優(yōu)化目標(biāo)函數(shù)類似,在給定的搜索空間中搜索最優(yōu)解。
海鷗的遷移過程相等于全局搜索,根據(jù)遷移規(guī)則中的解決方案來找到當(dāng)前最佳海鷗所在位置。在遷移過程中,海鷗需滿足以下三個(gè)條件:
(1)避免碰撞
遷移時(shí),每個(gè)海鷗的位置不同。為了避免鄰居(即其他海鷗)之間的碰撞,使用附加變量A 來計(jì)算新的海鷗位置。
Cs(x)表示海鷗的新位置,該位置與其他海鷗不沖突。Ps(x)表示當(dāng)前位置,x 表示當(dāng)前迭代次數(shù),A 表示在搜索空間中海鷗的運(yùn)動(dòng)行為,A 的范圍為[0fc]。
fc可以控制變量A 的頻率,它的值從2 線性降低到0。
(2)最佳位置方向
向最佳位置方向靠近:海鷗在遷移過程中,會(huì)向最佳位置方向移動(dòng)。
Ms(x)表示最佳位置所在的方向,B是負(fù)責(zé)平衡全局和局部搜索的隨機(jī)數(shù)。
B=2×A2×rd(4)rd是[0,1]范圍內(nèi)的隨機(jī)數(shù)。
(3)接近最佳位置
接近最佳位置:海鷗向著最佳位置的所在方向移動(dòng),到達(dá)最佳位置。
Ds(x)是海鷗的新位置(最佳位置)。
海鷗的攻擊行為相當(dāng)于局部搜索,海鷗在遷徙過程中用翅膀和重量保持高度,不斷改變角度和速度進(jìn)行攻擊。在攻擊獵物過程中,保持螺旋形狀運(yùn)動(dòng)。在空間x、y 和z 平面中的運(yùn)動(dòng)行為描述如下:
其中r 為螺旋的半徑,α是[0,2π]范圍內(nèi)的隨機(jī)值。u 和v 是螺旋形狀的相關(guān)常數(shù),e 是自然對(duì)數(shù)的底數(shù)。
海鷗的攻擊位置由公式(10)計(jì)算得到。
Ps(x)表示海鷗的攻擊位置,也就是搜索空間的最優(yōu)解。
由于一維灰度直方圖對(duì)于有噪聲干擾的圖像分割性能方面有所下降,一維灰度直方圖不一定存在明顯的波峰和波谷,因此在一維直方圖的基礎(chǔ)上,引入圖像的鄰域平均灰度值即構(gòu)成二維灰度直方圖,既考慮了圖像的像素信息也考慮了圖像的空間信息。二維最大類間方差法是采用像素點(diǎn)灰度值和其鄰域像素的平均灰度值來計(jì)算閾值。二維灰度直方圖(圖1)中,若(s,t)為分割的閾值點(diǎn),則二維直方圖被分為四塊,如圖1所示。
圖1 二維灰度直方圖
絕大多數(shù)情況下,圖像背景與目標(biāo)的邊界附近的像素點(diǎn)有明顯的差異,對(duì)應(yīng)的二維直方圖為對(duì)角線的上的區(qū)域?yàn)槟繕?biāo)(C0)和背景(C1),遠(yuǎn)離對(duì)角線的區(qū)域(C2和C3)為邊緣或者噪聲。
令P(C0)表示目標(biāo)C0(s,t)的概率,P(C1)表示背景C1(s,t)的概率。則:
目標(biāo)與背景對(duì)應(yīng)的均值矢量分別為:
二維直方圖上總的均值矢量為:
區(qū)域c2和c3表示目標(biāo)和背景的邊界信息。遠(yuǎn)離對(duì)角線的邊界信息通常忽略不計(jì),即區(qū)域i=s+1,…,L-1和j=0,…,t或者i=0,…,s和j=t+1,…,L-1 的概率和約為0,pij≈0。
所以:
類間的離散度矩陣表示為:
使用SB的跡作為類間的離散度測(cè)度:
最佳閾值(s*,t*)則由式(20)確定:
二維OTSU 算法是由圖像像素灰度值與鄰域平均灰度值構(gòu)成,可以提高計(jì)算閾值的準(zhǔn)確性和算法的抗噪能力,但是計(jì)算量卻較大。在任一點(diǎn)(s,t)處計(jì)算SB的跡trSB(s,t),對(duì)均值矢量和概率都是從原點(diǎn)(0,0)開始重復(fù)計(jì)算相應(yīng)項(xiàng)的累積和。因此本文計(jì)算OTSU 采用景曉軍等[1]提出的快速遞歸算法計(jì)算目標(biāo)和背景的距離測(cè)度來獲取最佳閾值。采用快速遞歸算法能夠減少計(jì)算時(shí)間以及所需的空間。
海鷗算法是Dhiman G 等人[2]提出的模擬自然界海鷗尋找食物的過程來尋求最優(yōu)解。海鷗算法作為一種新的迭代優(yōu)化方法,將每只海鷗的位置作為空間的解,最豐富的食物所在位置為最優(yōu)解,海鷗不斷地遷移和攻擊來尋找豐富的食物。二維最大類間方差法在本質(zhì)上是對(duì)圖像在二維灰度空間中搜索最優(yōu)解,使得目標(biāo)函數(shù)獲得最大值,計(jì)算量比較大,因此將海鷗算法應(yīng)用于最大類間方差的圖像分割中,可提高算法的效率。
基于海鷗算法的圖像分割技術(shù)實(shí)際上是根據(jù)圖像的灰度直方圖信息,對(duì)海鷗算法進(jìn)行初始化,使用類間的離散度測(cè)度作為適應(yīng)度函數(shù),對(duì)海鷗進(jìn)行遷移和攻擊操作,實(shí)現(xiàn)群體不斷更新,使得群體中的個(gè)體不斷進(jìn)行優(yōu)化,最終獲得最大類間方差的最優(yōu)分割閾值。海鷗算法的描述步驟如下:
(1)參數(shù)初始化。設(shè)置海鷗最大迭代次數(shù)MAXiteration、頻率變量fc、螺旋形狀的相關(guān)常數(shù)u和ν、rd以及θ。
(2)計(jì)算附加變量A(公式2)、負(fù)責(zé)平衡全局和局部因子的隨機(jī)數(shù)B(公式4)
(3)根據(jù)適應(yīng)度函數(shù)公式(公式19-26)求解每只海鷗的適應(yīng)度的值Ps(x)和海鷗的所在位置Cs(x)(公式1)。
(4)將海鷗的遷移位置,步驟(3)中求解出來的適應(yīng)度函數(shù)進(jìn)行比較,從而找到比較好的位置Pbs(x),根據(jù)海鷗的初始位置和較好位置得到較好位置所在方向Ms(x)(公式3)以及最佳位置Ds(x)(公式5),更新海鷗的適應(yīng)度值和最佳位置。
(5)通過海鷗攻擊半徑r,計(jì)算攻擊位置坐標(biāo),根據(jù)海鷗的位置、攻擊半徑、攻擊方向坐標(biāo)和最佳位置更新海鷗新的位置Ps(x)(公式10)。
(6)重復(fù)執(zhí)行步驟3、4、5 更新海鷗位置。如果找到最佳位置停滯且不再發(fā)生變化,就終止此過程,否則轉(zhuǎn)到步驟3 繼續(xù)執(zhí)行,直到達(dá)到最大迭代次數(shù)而停止。
(7)利用得到的最佳閾值Ps(x)對(duì)圖像進(jìn)行分割。
海鷗算法傾向于探索不同的較好的區(qū)域空間。在初始生成過程中,搜索區(qū)域變化較快。在迭代的初始步驟中,海鷗算法由于其自適應(yīng)機(jī)制,收斂速度更快。為了驗(yàn)證本文算法的合理性,對(duì)coin 圖像進(jìn)行實(shí)驗(yàn),圖片的分辨率為512×512。實(shí)驗(yàn)環(huán)境為:Windows 7 操作系統(tǒng)、程序運(yùn)行軟件為:MATLAB 2016b。參數(shù)設(shè)置為:頻率變量fc=2,螺旋形狀的相關(guān)常數(shù)u=1,ν=1,Max_iterations=200,rd為[0,1]范圍的隨機(jī)數(shù)以及θ?。?,2 π)的隨機(jī)角度值,其中搜索空間維數(shù)為2。
分別采用OTSU 算法和海鷗算法對(duì)圖像進(jìn)行分割,得到的分割效果如圖2 所示。
圖2 圖像分割結(jié)果
從圖2 圖像分割結(jié)果中,可以看出本文算法分割的結(jié)果較OTSU 算法分割的結(jié)果更抗噪性,例如coin圖像邊緣部分分割中有一些改進(jìn)。另外本文算法在對(duì)圖像coin 分割時(shí)所需運(yùn)行時(shí)間為0.988411 秒,而二維OTSU 算法所花費(fèi)的時(shí)間為1.394627 秒。相比來說,海鷗算法有較好的分割結(jié)果以及較短的分割時(shí)間。
本文主要采用群智能優(yōu)化算法——海鷗算法進(jìn)行圖像分割,實(shí)驗(yàn)中對(duì)coin 圖像實(shí)現(xiàn)了分割,并采用對(duì)比算法OTSU 算法來驗(yàn)證本文算法的優(yōu)越性。從總體來看,這兩種算法都可以對(duì)分割圖像的輪廓展現(xiàn)出來。而在抗噪性和時(shí)間方面,海鷗算法都有一定的優(yōu)勢(shì)。實(shí)驗(yàn)結(jié)果表明,海鷗算法不僅能夠獲得二維OTSU 算法相當(dāng)?shù)姆指罱Y(jié)果,而且運(yùn)算時(shí)間較短。因此,將海鷗算法應(yīng)用圖像分割中,可有效提高尋優(yōu)能力,同時(shí)運(yùn)行時(shí)間更短。在圖像分割處理中,本文算法具有更好的實(shí)用價(jià)值。