王秋萍,李曉丹,戴芳,高婕
(西安理工大學(xué)理學(xué)院,陜西 西安 710048)
圖像處理廣泛應(yīng)用于現(xiàn)實世界,如航空航天,醫(yī)學(xué),通訊,軍事等領(lǐng)域.閾值圖像分割是圖像處理的重要技術(shù).圖像分割就是把圖像分成各具特性的區(qū)域并提取出感興趣目標(biāo)的技術(shù)和過程[1].基于閾值的圖像分割方法有最大熵法[2],最大類間方差法[3],最小交叉熵法[4]等.然而,隨著閾值個數(shù)的增加,傳統(tǒng)的閾值選取方法(窮舉法)的計算量呈指數(shù)增長,分割時間消耗多.因此,學(xué)者們開始利用元啟發(fā)算法解決多閾值圖像分割問題.如文獻(xiàn)[5]將改進(jìn)的遺傳算法應(yīng)用于最大熵多閾值圖像分割找圖像的最優(yōu)閾值,改善了圖像的分割效果.文獻(xiàn)[6]將提出的自適應(yīng)差分進(jìn)化算法與Otus多閾值圖像分割算法相結(jié)合,用于處理MRI醫(yī)學(xué)圖像分析.文獻(xiàn)[7]將布谷鳥搜索算法與最小交叉熵結(jié)合對遙感衛(wèi)星圖像進(jìn)行分割,得到了較高質(zhì)量的分割圖像.但任何算法都不能解決所有的優(yōu)化問題,這激勵著學(xué)者們尋找新的算法.
2020年Chou Jui-Sheng和Truong Dinh-Nhat提出了水母搜索(Jelly fish Search,JS)算法[8],其靈感來源于水母在海洋中搜索食物的行為:跟隨洋流和兩種群內(nèi)運動.JS算法較強的搜索能力使其成為潛在的解決優(yōu)化問題的優(yōu)秀啟發(fā)式算法.
JS算法用于多閾值圖像分割問題時存在可能陷入局部最優(yōu),導(dǎo)致分割不準(zhǔn)確的問題.為了獲得高精度,穩(wěn)定性好的圖像分割效果,本文提出一種基于改進(jìn)雙種群水母搜索(IDPJS)算法的多閾值圖像分割方法.對JS算法進(jìn)行改進(jìn):在一個種群中引入組合變異策略之后,兩個種群進(jìn)行交互學(xué)習(xí)加快算法的收斂速度;利用動態(tài)反向策略對當(dāng)前種群最好位置進(jìn)行擾動,動態(tài)反向的搜索空間的不對稱和動態(tài)調(diào)整特點,增加了接近最好解的概率.在CEC2017基準(zhǔn)測試集上進(jìn)行實驗測試,結(jié)果顯示,本文IDPJS算法在尋優(yōu)精度,穩(wěn)定性較對比算法具有競爭力.將IDPJS用于最大熵多閾值圖像分割問題,快速有效地找到了最佳閾值,得到好的圖像分割效果.
水母搜索算法通過模擬水母跟隨洋流和在種群內(nèi)部的運動方式(主動運動和被動運動),以及在這些運動之間切換的時間控制機制來建立數(shù)學(xué)模型.
(1)初始化水母種群,種群數(shù)量npop,最大迭代次數(shù)Maxiter,搜索空間的上下界分別為Ub和Lb.Logistic混沌映射用于產(chǎn)生初始水母種群,Logistic映射如下:
其中,Xi為第i只水母位置的 Logistic 混沌值 (i=1,2,···,npop),X0為 Logistic 映射的初值,X00.0,0.25,0.75,0.5,1},η=4.
(2)水母的運動方式
時間控制函數(shù)為
洋流中含有大量的營養(yǎng)物質(zhì),會吸引大量水母.若C(t)≥0.5,水母跟隨洋流運動.位置更新公式為
其中,Xi(t)為第t代第i只水母的位置,Xbest是當(dāng)前水母種群中的最好位置,β是分布系數(shù),取β=3,μ是種群中所有水母的平均位置.
當(dāng)C(t)<0.5且rand(0,1)>(1-C(t))時,水母進(jìn)行被動運動,位置更新公式為
其中,γ>0是運動系數(shù),取γ=0.1.
當(dāng)C(t)<0.5且rand(0,1)≤(1-C(t))時,水母進(jìn)行主動運動,位置更新公式為
在JS算法的主動運動中,水母個體i通過隨機選擇一個水母個體j來確定移動方向,在一定程度上保持了種群多樣性.但這種更新方法沒有利用最好個體的信息,本文引進(jìn)組合變異策略[9]改進(jìn)算法,如果rand(0,1)<ζ,按公式(6)更新,否則按公式(7)更新.
其中,a和b是服從高斯分布的隨機數(shù),分布的均值為0.5,標(biāo)準(zhǔn)偏差為0.1,
Xr1,Xr2,Xr3,Xr4為種群中 4個隨機選取的個體.
迭代前期,算法以較大的概率執(zhí)行(6),進(jìn)一步增加了種群多樣性;迭代后期,以更高的機會執(zhí)行(7),引導(dǎo)種群個體朝最好個體附近聚集,加快了算法的收斂速度.
采用兩個種群交互學(xué)習(xí)來優(yōu)化算法的尋優(yōu)性能.利用Logistic混沌映射初始化兩個規(guī)模為N的水母種群P1和P2并進(jìn)行位置更新;種群P1中的個體采用組合變異策略后,對P1中排名后N/2的每個個體與P2中排名前N/2的個體隨機對比,保留適應(yīng)度值優(yōu)的個體.
設(shè)D維空間點X=(X1,X2,···,XD)的動態(tài)反向點[10]
其中Xj∈[aj,bj],,j=1,2,···,D,本文取w=10[10].
動態(tài)反向?qū)W習(xí)策略:比較X與其動態(tài)反向點XDO的適應(yīng)度值,擇優(yōu)保留X與XDO二者中之一.
本文改進(jìn)的算法以跳躍速率Jr=0.75對種群P1最好個體Xbest執(zhí)行動態(tài)反向?qū)W習(xí)策略.生成Xbest的動態(tài)反向個體,根據(jù)適應(yīng)度值進(jìn)行貪婪選擇,保留適應(yīng)度值較小的個體作為種群P1最好個體Xbest.
動態(tài)反向?qū)W習(xí)擴大搜索空間的不對稱區(qū)域,使算法接近最優(yōu)解的概率得到提升,從而增強算法的開發(fā)能力,搜索空間的動態(tài)特性增強了種群的多樣性,防止種群陷入局部最優(yōu),使算法具有良好的探索能力,用權(quán)重因子w來平衡探索和開發(fā)[10].
IDPJS算法偽代碼:初始化算法參數(shù):每個種群規(guī)模為npop,空間的維數(shù)為D,最大迭代次數(shù)為Maxiter,利用Logistic混沌產(chǎn)生兩個水母種群P1和P2,跳躍速率Jr=0.75.t=1 For t=1:Maxiter For i=1:npop使用公式(2)更新C(t)的值If C(t)≥0.5使用公式(3)更新種群P1,P2的水母位置Else If(1-C(t))< rand(0,1)使用公式(4)更新種群P1,P2的水母位置Else使用公式(5)更新種群P1,P2的水母位置End End分別計算種群P1,P2當(dāng)前個體的適應(yīng)度值并據(jù)此與上一代個體進(jìn)行貪婪選擇使用公式(6)-公式(7)對種群P1執(zhí)行組合變異策略End對種群P1,P2執(zhí)行交互學(xué)習(xí)策略,得到新的種群P1 If rand(0,1)< Jr對種群P1執(zhí)行動態(tài)反向?qū)W習(xí)策略End End輸出種群P1的Xbest
在CEC2017基準(zhǔn)測試集上選取單峰函數(shù)F1,多峰函數(shù)F6,混合函數(shù)F12,F(xiàn)19和組合函數(shù) F22,F(xiàn)30來驗證 IDPJS性能.并與 JS[8],IJS[11],QRJFS[12],花授粉算法[13](Flower Pollination Algorithm,F(xiàn)PA),樽海鞘算法[14](Salp Swarm Algorithm,SSA)進(jìn)行對比.設(shè)置最大迭代次數(shù)Maxiter=1000,種群規(guī)模npop=30,維數(shù)D=30.6個算法在所選測試函數(shù)上獨立運行30次,記錄其均值和標(biāo)準(zhǔn)差,最好結(jié)果用粗體表示,如表1所示.由表1可知,IDPJS算法與5種對比算法相比,在不同類型的函數(shù)上都展現(xiàn)了好的尋優(yōu)能力,精度高穩(wěn)定性好.
表1 不同算法在部分CEC2017測試函數(shù)的結(jié)果對比
最大熵法是一種使用較為廣泛的閾值分割方法,該方法假設(shè)目標(biāo)區(qū)域和背景區(qū)域服從不同的概率分布,通過計算分割后圖像的最大熵來確定分割閾值.最大熵多閾值圖像分割法能同時分割圖像中的多個目標(biāo)區(qū)域[15],分割原理如下:
設(shè)圖像灰度值的取值范圍{0,1,···,L-1},若將圖像劃分成個m+1不同的類別,圖像閾值向量為 [t1,t2,···,tm],這時圖像的熵為
IDPJS算法的多閾值圖像分割步驟為:
步驟1 讀取待分割的灰度圖像.
步驟2 計算圖像的直方圖.
步驟3設(shè)置IDPJS算法的參數(shù):最大迭代次數(shù)為Maxiter,閾值向量的維數(shù)為m(m對應(yīng)閾值個數(shù)),每個種群規(guī)模npop.
步驟4 初始化兩個水母種群P1和P2.水母個體的位置向量代表圖像分割的閾值向量,向量的分量是按升序排列的像素灰度值,分量的上下界取0和255.
步驟5 根據(jù)(8)式計算兩個水母種群的適應(yīng)度值,得到當(dāng)前最佳適應(yīng)度值的水母個體位置.
步驟6 執(zhí)行IDPJS算法主循環(huán).
步驟7t=t+1,若迭代次數(shù)t>Maxiter,則尋優(yōu)結(jié)束,執(zhí)行步驟8;否則,跳轉(zhuǎn)步驟6.
步驟8 輸出種群P1的最好水母位置,即最佳閾值分割向量.利用最佳閾值分割向量分割灰度圖像.
步驟9 輸出分割后的圖像.
為驗證IDPJS算法的多閾值圖像分割性能,實驗選取Lena,Cameraman,Leopard和 Clock圖,序號分別記為 No.1,No.2,No.3,No.4,如圖 1(第 1列)所示.最大迭代次數(shù) Maxiter=300,每個種群規(guī)模npop=30,閾值數(shù)分別取 5,7,9.將 IDPJS算法與JS算法,SSA算法,QRJFS算法以及FPA算法進(jìn)行測試對比,5種算法獨立運行30次.
(1)不同閾值水平下IDPJS算法的分割效果
用 IDPJS算法對4幅圖像分別進(jìn)行 5,7,9閾值分割,分割效果如圖1(第 2-4列)所示.可以看出本文所提算法能有效實現(xiàn)對圖像的多閾值分割,閾值個數(shù)越多,圖像分割的結(jié)果越能提供更多的目標(biāo)信息.
圖1 原始圖像及IDPJS多閾值分割結(jié)果圖
(2)不同算法分割精度對比
為驗證 IDPJS算法的圖像分割效果,將其與 4種算法進(jìn)行對比實驗.表 2給出5種算法在不同閾值水平下圖像分割后的目標(biāo)函數(shù)值.目標(biāo)函數(shù)的值越大,圖像分割質(zhì)量越好.由表2可知,本文算法的分割效果優(yōu)于對比算法,且隨著閾值數(shù)的增加,該算法的優(yōu)勢更明顯.
表 2 5種算法的目標(biāo)函數(shù)值的對比
表 2 5種算法的目標(biāo)函數(shù)值的對比
圖像 m IDPJS JS SSA QRJFS FPA No.1 5 21.148 8 21.144 0 21.142 6 21.145 3 21.135 8 7 25.960 9 25.872 3 25.896 5 25.886 2 25.889 3 9 30.391 1 30.096 3 30.135 9 30.102 5 30.184 2 No.2 5 21.144 0 21.117 2 21.074 8 21.120 9 21.110 4 7 26.388 1 26.250 8 26.258 5 26.239 5 26.282 3 9 31.008 4 30.716 3 30.797 7 30.665 0 30.810 3 No.3 5 17.696 2 17.689 6 17.662 0 17.687 4 17.682 7 7 21.363 2 21.293 0 21.237 3 21.274 4 21.286 5 9 24.580 5 24.318 9 24.235 7 24.312 1 24.328 1 No.4 5 20.715 6 20.709 4 20.705 6 20.709 4 20.704 5 7 25.444 7 25.367 2 25.390 3 25.359 0 25.377 8 9 29.691 5 29.450 5 29.499 7 29.455 8 29.505 0
采用峰值信噪比PSNR,結(jié)構(gòu)相似性SSIM度量分割后圖像的失真程度以及和原圖的相似性.PSNR,SSIM值越大,圖像的失真程度越低.I和分別代表M×N的原圖像和分割后圖像,,其中,,其中,μI和分別是圖像I和的平均值,是圖像I和的協(xié)方差,和分別是圖像I和的方差,本文取常量C1=6.4025,C2=6.4025.
表3給出了5種算法實驗結(jié)果的PSNR,SSIM值.由表3可知,在各個分割閾值水平下,IDPJS算法的PSNR,SSIM值均取得了最好的結(jié)果.對Lena進(jìn)行5閾值分割時,IDPJS和JS算法的PSNR,SSIM值相等,對Cameraman進(jìn)行7閾值和9閾值分割時,SSIM值均超過0.98.依照PSNR,SSIM指標(biāo),本文算法圖像分割性能優(yōu)于對比算法.
表3 5種算法得出的PSNR,SSIM值對比
(3)算法的收斂性能對比
圖 2給出 5種算法 IDPJS,JS,SSA,QRJFS和 FPA在閾值水平為 9時的收斂曲線圖.觀察圖2可知,IDPJS算法的收斂曲線圖均位于其他對比算法的上方,說明IDPJS算法的分割精度更好.隨著迭代次數(shù)的增加,加入變異策略和學(xué)習(xí)策略的 IDPJS算法可以較好地引導(dǎo)種群收斂到全局最優(yōu)解.相較于其他4種對比算法,IDPJS算法在收斂速度和分割精度上都有一定的提高和改善.
圖2 5種算法的收斂曲線對比圖
針對傳統(tǒng)多閾值圖像分割的計算量隨閾值增加呈指數(shù)增長,分割效率降低,計算時間長的問題,本文提出了基于改進(jìn)雙種群水母搜索算法的多閾值圖像分割方法.在改進(jìn)的水母搜索算法IDPJS中,引入組合變異和兩個種群的交互學(xué)習(xí)策略平衡了算法的探索和開發(fā),增強了算法的全局搜索能力,動態(tài)反向?qū)W習(xí)策略降低了算法陷入局部最優(yōu)的可能,提高了算法的求解精度,在CEC2017測試集上進(jìn)行實驗,與基本JS算法,2種改進(jìn)JS算法,F(xiàn)PA算法和SSA算法相比,IDPJS具有更好的求解精度和穩(wěn)定性.利用IDPJS來優(yōu)化最大熵多閾值圖像分割問題,選擇4幅圖進(jìn)行對比實驗,表明了IPDJS算法的分割準(zhǔn)確性和收斂性最優(yōu),為解決圖像分割問題提供了有效的方法.