本發(fā)明涉及數(shù)字圖像分割技術(shù)領(lǐng)域,尤其是涉及一種應(yīng)用適應(yīng)性高斯人工蜂群算法的多閾值圖像分割方法。
背景技術(shù):
多閾值圖像分割是圖像處理技術(shù)中一種最常用和最廣泛的圖像分割方法,它在許多實際圖像工程問題中取得了令人滿意的應(yīng)用。多閾值圖像分割的思想簡單,容易實現(xiàn),并且常常能夠達到很好的工程實踐效果。多閾值圖像分割的基本思想就是根據(jù)設(shè)定的優(yōu)化目標函數(shù),求解出一組圖像分割閾值,然后利用求得的分割閾值對圖像的像素進行劃分類別,從而實現(xiàn)對圖像的分割。多閾值圖像分割的核心問題就是針對一幅給定的數(shù)字圖像,如何快速有效地求解出一組圖像分割閾值。
起初,人們常常采用直接枚舉的方法來搜索圖像分割的閾值。直接枚舉法是一種確定性的算法,在分割閾值數(shù)量較少的情況下,一般可以有效地求解出全局最優(yōu)解,但是它最大的缺點就是搜索耗時較多,實時性不強,尤其是在分割閾值數(shù)量比較多的情況,直接枚舉法往往無法在滿足工程實踐要求的時間內(nèi)求解到圖像分割閾值。針對這個問題,人們嘗試利用智能優(yōu)化算法來求解圖像分割閾值。例如,戴瓊海和高浩發(fā)明了一種基于適度隨機搜索行為的多閾值圖像分割方法(專利號:201010227364.5);劉逸等發(fā)明了一種結(jié)合多閾值分割與模糊聚類的SAR圖像變化檢測方法(專利號:201210596406.1);楊震倫等提出了一種基于改進量子粒子群優(yōu)化的多閾值圖像分割方法(楊震倫,閔華清,羅榮華.基于改進量子粒子群優(yōu)化的多閾值圖像分割算法[J].華南理工大學學報(自然科學版),2015,43(5):126-131+138.)。
人工蜂群算法是近年提出的一種模擬蜜蜂采蜜行為的智能優(yōu)化算法,它在求解許多優(yōu)化問題中表現(xiàn)出了優(yōu)越的性能。因此,人們將人工蜂群算法應(yīng)用于多閾值圖像分割中,但在工程實踐結(jié)果表明傳統(tǒng)人工蜂群算法在求解圖像分割閾值時存在著容易陷入局部最優(yōu),收斂速度慢的缺點。
技術(shù)實現(xiàn)要素:
本發(fā)明針對傳統(tǒng)人工蜂群算法應(yīng)用在多閾值圖像分割時存在著容易陷入局部最優(yōu),收斂速度慢的缺點,提出一種應(yīng)用適應(yīng)性高斯人工蜂群算法的多閾值圖像分割方法。本發(fā)明能夠提高圖像分割的精度,提高圖像分割的實時性。
本發(fā)明的技術(shù)方案:一種應(yīng)用適應(yīng)性高斯人工蜂群算法的多閾值圖像分割方法,包括以下步驟:
步驟1,用戶初始化參數(shù),所述初始化參數(shù)包括圖像分割閾值數(shù)量D,種群大小Popsize,最大未改善次數(shù)Limit,最大評價次數(shù)MAX_FEs;
步驟2,令當前演化代數(shù)t=0,并令當前評價次數(shù)FEs=0;
步驟3,隨機產(chǎn)生初始種群其中:個體下標i=1,2,...,Popsize,并且種群Pt中的第i個個體為其隨機產(chǎn)生方式為:
其中維數(shù)下標j=1,2,...,D;存儲了分割圖像的D個閾值,rand(0,1)是在[0,1]之間產(chǎn)生隨機實數(shù)的函數(shù);
步驟4,計算種群Pt中每個個體的適應(yīng)值其中個體下標i=1,2,...,Popsize;
步驟5,令種群Pt中每個個體的未改善次數(shù)其中個體下標i=1,2,...,Popsize;
步驟6,令當前評價次數(shù)FEs=FEs+Popsize;
步驟7,設(shè)置歷史均值列表HUL的大小為Popsize,并令HULk=0.5,其中歷史均值下標k=1,2,...,Popsize;
步驟8,保存種群Pt中的最優(yōu)個體Bestt;
步驟9,雇傭蜂執(zhí)行基于適應(yīng)性縮放系數(shù)的搜索操作,具體步驟如下:
步驟9.1,令均值因子
步驟9.2,令計數(shù)器im=1,并令縮放因子列表GRFList為空;
步驟9.3,令新個體
步驟9.4,以FU為均值,0.1為標準差產(chǎn)生一個高斯隨機實數(shù)GRF,然后令縮放系數(shù)RRF=GRF×2-1;
步驟9.5,在[1,D]之間產(chǎn)生一個隨機正整數(shù)RJ;
步驟9.6,在[1,Popsize]之間產(chǎn)生兩個不相同的隨機正整數(shù)RS1和RS2;
步驟9.7,令
步驟9.8,計算新個體EMUt的適應(yīng)值Fit(EMUt);
步驟9.9,如果新個體EMUt比個體更優(yōu),則將GRF添加到縮放因子列表GRFList中,否則令GRF=0.5;
步驟9.10,在個體與新個體EMUt之間執(zhí)行選擇算子,然后計算個體的未改善次數(shù)
步驟9.11,令計數(shù)器im=im+1;
步驟9.12,如果計數(shù)器im小于或等于Popsize,則轉(zhuǎn)到步驟9.3,否則轉(zhuǎn)到步驟9.13;
步驟9.13,計算縮放因子列表GFList中數(shù)據(jù)的平均值MeanGF;
步驟9.14,將MeanGF添加到HUL的末尾,然后刪除HUL中的第一個數(shù)據(jù);
步驟9.15,轉(zhuǎn)到步驟10;
步驟10,根據(jù)種群Pt中個體的適應(yīng)值計算所有個體的選擇概率;
步驟11,觀察蜂根據(jù)種群Pt中每個個體的選擇概率選擇出個體執(zhí)行精英高斯變異算子生成新個體,然后執(zhí)行選擇操作并計算個體的未改善次數(shù),具體步驟如下:
步驟11.1,令計數(shù)器ik=1;
步驟11.2,根據(jù)種群Pt中每個個體的選擇概率采用輪盤賭策略選擇出個體并令新個體
步驟11.3,令精英個體數(shù)量EIN=max(2,Popsize×re),實數(shù)re為[0.05,0.2]之間隨機產(chǎn)生的一個實數(shù),其中max為取最大值函數(shù);
步驟11.4,采用二元錦標賽選擇方法從種群Pt中選擇出EIN個精英個體;
步驟11.5,計算EIN個精英個體的平均值MeanEI;
步驟11.6,在[1,D]之間產(chǎn)生一個隨機正整數(shù)RJ1;
步驟11.7,在[0,1]之間產(chǎn)生一個隨機實數(shù)REW;
步驟11.8,令均值
步驟11.9,令標準差其中abs表示取絕對值的函數(shù);
步驟11.10,以GLMean為均值,GLSD為標準差產(chǎn)生一個高斯隨機實數(shù)GLTV;
步驟11.11,令
步驟11.12,計算新個體OLUt的適應(yīng)值Fit(OLUt);
步驟11.13,在個體與新個體OLUt之間執(zhí)行選擇操作,然后計算個體的未改善次數(shù)
步驟11.14,令計數(shù)器ik=ik+1;
步驟11.15,如果計數(shù)器ik小于或等于Popsize,則轉(zhuǎn)到步驟11.2,否則轉(zhuǎn)到步驟12;
步驟12,令當前評價次數(shù)FEs=FEs+Popsize×2;
步驟13,執(zhí)行偵察蜂的搜索操作算子;
步驟14,保存種群Pt中最優(yōu)個體Bestt;
步驟15,令當前演化代數(shù)t=t+1;
步驟16,重復步驟9至步驟15直至當前評價次數(shù)FEs達到MAX_FEs后結(jié)束,執(zhí)行過程中得到的最優(yōu)個體Bestt即為圖像分割的D個閾值,然后利用得到的D個閾值對圖像進行分割。
本發(fā)明利用適應(yīng)性高斯人工蜂群算法優(yōu)化多閾值圖像分割的閾值。在適應(yīng)性高斯人工蜂群算法的雇傭蜂搜索操作中,利用時間加權(quán)的歷史縮放因子均值適應(yīng)性地產(chǎn)生當前代的縮放因子,提高算法的搜索效率;此外,在觀察蜂搜索過程中將最優(yōu)個體與精英個體的信息融合到高斯變異策略中,從而實現(xiàn)局部搜索能力與種群多樣性之間的平衡。本發(fā)明能夠提高圖像分割的精度,提高圖像分割的實時性。
附圖說明
圖1為實施例中用于分割的圖像。
圖2為應(yīng)用本發(fā)明分割圖像的結(jié)果。
具體實施方式
下面通過實施例,并結(jié)合附圖,對本發(fā)明的技術(shù)方案作進一步具體的說明。
實施例:
本實施例基于圖1所示的圖像進行多閾值分割,本發(fā)明的具體實施步驟如下:
步驟1,用戶初始化參數(shù),所述初始化參數(shù)包括圖像分割閾值數(shù)量D=3,種群大小Popsize=20,最大未改善次數(shù)Limit=100,最大評價次數(shù)MAX_FEs=1200;
步驟2,令當前演化代數(shù)t=0,并令當前評價次數(shù)FEs=0;
步驟3,隨機產(chǎn)生初始種群其中:個體下標i=1,2,...,Popsize,并且種群Pt中的第i個個體為其隨機產(chǎn)生方式為:
其中維數(shù)下標j=1,2,...,D;存儲了分割圖像的D個閾值,rand(0,1)是在[0,1]之間產(chǎn)生隨機實數(shù)的函數(shù);
步驟4,計算種群Pt中每個個體的適應(yīng)值其中個體下標i=1,2,...,Popsize;
步驟5,令種群Pt中每個個體的未改善次數(shù)其中個體下標i=1,2,...,Popsize;
步驟6,令當前評價次數(shù)FEs=FEs+Popsize;
步驟7,設(shè)置歷史均值列表HUL的大小為Popsize,并令HULk=0.5,其中歷史均值下標k=1,2,...,Popsize;
步驟8,保存種群Pt中的最優(yōu)個體Bestt;
步驟9,雇傭蜂執(zhí)行基于適應(yīng)性縮放系數(shù)的搜索操作,具體步驟如下:
步驟9.1,令均值因子
步驟9.2,令計數(shù)器im=1,并令縮放因子列表GRFList為空;
步驟9.3,令新個體
步驟9.4,以FU為均值,0.1為標準差產(chǎn)生一個高斯隨機實數(shù)GRF,然后令縮放系數(shù)RRF=GRF×2-1;
步驟9.5,在[1,D]之間產(chǎn)生一個隨機正整數(shù)RJ;
步驟9.6,在[1,Popsize]之間產(chǎn)生兩個不相同的隨機正整數(shù)RS1和RS2;
步驟9.7,令
步驟9.8,計算新個體EMUt的適應(yīng)值Fit(EMUt);
步驟9.9,如果新個體EMUt比個體更優(yōu),則將GRF添加到縮放因子列表GRFList中,否則令GRF=0.5;
步驟9.10,在個體與新個體EMUt之間執(zhí)行選擇算子,然后計算個體的未改善次數(shù)
步驟9.11,令計數(shù)器im=im+1;
步驟9.12,如果計數(shù)器im小于或等于Popsize,則轉(zhuǎn)到步驟9.3,否則轉(zhuǎn)到步驟9.13;
步驟9.13,計算縮放因子列表GFList中數(shù)據(jù)的平均值MeanGF;
步驟9.14,將MeanGF添加到HUL的末尾,然后刪除HUL中的第一個數(shù)據(jù);
步驟9.15,轉(zhuǎn)到步驟10;
步驟10,根據(jù)種群Pt中個體的適應(yīng)值計算所有個體的選擇概率;
步驟11,觀察蜂根據(jù)種群Pt中每個個體的選擇概率選擇出個體執(zhí)行精英高斯變異算子生成新個體,然后執(zhí)行選擇操作并計算個體的未改善次數(shù),具體步驟如下:
步驟11.1,令計數(shù)器ik=1;
步驟11.2,根據(jù)種群Pt中每個個體的選擇概率采用輪盤賭策略選擇出個體并令新個體
步驟11.3,令精英個體數(shù)量EIN=max(2,Popsize×re),實數(shù)re為[0.05,0.2]之間隨機產(chǎn)生的一個實數(shù),其中max為取最大值函數(shù);
步驟11.4,采用二元錦標賽選擇方法從種群Pt中選擇出EIN個精英個體;
步驟11.5,計算EIN個精英個體的平均值MeanEI;
步驟11.6,在[1,D]之間產(chǎn)生一個隨機正整數(shù)RJ1;
步驟11.7,在[0,1]之間產(chǎn)生一個隨機實數(shù)REW;
步驟11.8,令均值
步驟11.9,令標準差其中abs表示取絕對值的函數(shù);
步驟11.10,以GLMean為均值,GLSD為標準差產(chǎn)生一個高斯隨機實數(shù)GLTV;
步驟11.11,令
步驟11.12,計算新個體OLUt的適應(yīng)值Fit(OLUt);
步驟11.13,在個體與新個體OLUt之間執(zhí)行選擇操作,然后計算個體的未改善次數(shù)
步驟11.14,令計數(shù)器ik=ik+1;
步驟11.15,如果計數(shù)器ik小于或等于Popsize,則轉(zhuǎn)到步驟11.2,否則轉(zhuǎn)到步驟12;
步驟12,令當前評價次數(shù)FEs=FEs+Popsize×2;
步驟13,執(zhí)行偵察蜂的搜索操作算子;
步驟14,保存種群Pt中最優(yōu)個體Bestt;
步驟15,令當前演化代數(shù)t=t+1;
步驟16,重復步驟9至步驟15直至當前評價次數(shù)FEs達到MAX_FEs后結(jié)束,執(zhí)行過程中得到的最優(yōu)個體Bestt即為圖像分割的D個閾值,然后利用得到的D個閾值對圖像進行分割,即可得到圖2所示的分割結(jié)果。
本文中所描述的具體實施例僅僅是對本發(fā)明精神作舉例說明。本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員可以對所描述的具體實施例做各種各樣的修改或補充或采用類似的方式替代,但并不會偏離本發(fā)明的精神或者超越所附權(quán)利要求書所定義的范圍。