柳志忠
(海軍駐葫蘆島431廠軍事代表室 葫蘆島 125004)
將粒子群算法(PSO)的基本原理融入到PCNN圖像濾波算法中,從而得到了一種適用于PCNN圖像濾波的粒子群算法,主要考慮PCNN圖像濾波算法的連接系數(shù)β、連接系數(shù)β及預(yù)設(shè)閾值V0的參數(shù)確定問(wèn)題,通過(guò)粒子群優(yōu)化算法在解空間里尋求最優(yōu)解。本文就粒子群算法(PSO)、PSO-PCNN算法、仿真與實(shí)驗(yàn)結(jié)果分析等,作進(jìn)一步的研究和探討[1]。
PSO粒子群優(yōu)化算法(Paritcle Swarm Optimization)具有簡(jiǎn)單、較容易實(shí)現(xiàn),具有一定智能化程度,既方便用于科學(xué)研究又可用于工程應(yīng)用等多方面優(yōu)勢(shì)。在PSO算法中過(guò)程,搜尋區(qū)域中的一個(gè)“目標(biāo)”的過(guò)程即是求解每個(gè)優(yōu)化問(wèn)題的解的過(guò)程,這個(gè)“目標(biāo)”被稱為粒子,自己的位置向量和速度向量是每個(gè)粒子都具有的特征,每個(gè)位置都表示了一組參數(shù)值。對(duì)于一個(gè)D維的優(yōu)化問(wèn)題,設(shè)一個(gè)D維空間中的每一個(gè)位置的粒子都代表優(yōu)化問(wèn)題中的一個(gè)解,而位置就代表著等待被算法優(yōu)化調(diào)整的參數(shù)。所有的粒子都有一個(gè)適應(yīng)值(fitness value),被優(yōu)化的函數(shù)決定了該適應(yīng)值的大小,每個(gè)粒子都有一個(gè)飛行速度,該速度決定了他們飛翔的方向和距離。然后粒子們就對(duì)區(qū)域中當(dāng)前的最優(yōu)“解”進(jìn)行搜索[2]。
PSO算法的初始化是對(duì)一群隨機(jī)粒子隨機(jī)的進(jìn)行的,然后利用迭代的方法尋找最優(yōu)解。在每一次迭代過(guò)程中,粒子通過(guò)跟蹤兩個(gè)“極值”來(lái)對(duì)自己進(jìn)行更新。第一個(gè)就是基于粒子自身所找到的最優(yōu)解,稱為個(gè)體極值pi;另一個(gè)是整個(gè)群體當(dāng)前所能找到的最優(yōu)解,稱之為全局極值pg。此外,在局部群體中找到的最優(yōu)解,稱之為局部極值。
根據(jù)對(duì)環(huán)境的適應(yīng)度,PSO算法將群體中的個(gè)體(粒子)移動(dòng)到預(yù)想的區(qū)域,然而該算法不像其他優(yōu)化算法那樣只優(yōu)化某個(gè)個(gè)體,而是把每個(gè)個(gè)體當(dāng)作D維搜索空間中的一個(gè)無(wú)質(zhì)量、無(wú)體積的點(diǎn)(粒子),以一定的速度在D維空間中飛行。然后分別根據(jù)它自身和同伴的運(yùn)動(dòng)經(jīng)驗(yàn)來(lái)動(dòng)態(tài)調(diào)整飛行速度。
粒子群算法采用以下的數(shù)學(xué)描述進(jìn)行定義:假設(shè)在一個(gè)D維的目標(biāo)搜索空間中,有一個(gè)粒子群是由N個(gè)代表潛在問(wèn)題解的粒子組成的,用一個(gè)D維的向量表示其中第i個(gè)粒子。飛行速度是vi=[vi1,vi2,…,viD]T;在D 維的搜索空間中第i個(gè)粒子的位置是xi,xi=[xi1,xi2,…,xiD]T,i=1,2,…,N;第i個(gè)粒子當(dāng)前搜索到的個(gè)體最優(yōu)位置記為pi,pi=[pi1,pi2,…,piD]T;粒子群當(dāng)前搜索到的全局最優(yōu)位置記為pg,pg=[pg1,p2,…,pgD]T。PSO 算法對(duì)粒子的操作采用下列公式進(jìn)行:
式中,i=1,2,…,N;t為迭代代數(shù);w 為加權(quán)因子,取值在0.1~0.9之間;c1,c2為學(xué)習(xí)因子,一般取值為2;r1,r2是對(duì)角線元素是在[0,1]之間均勻分布的隨機(jī)數(shù)組成的D×D維的對(duì)角線矩陣。為了把vi(k)和xi(k)的值控制在合理的區(qū)域內(nèi),有必要用參數(shù)進(jìn)行限制。式(1)可以決定粒子下一步的運(yùn)動(dòng)速度和粒子坐標(biāo)。這樣的調(diào)整將使粒子在兩個(gè)最優(yōu)位置周圍進(jìn)行搜索。
PCNN的圖像濾波方法的處理過(guò)程是,首先對(duì)圖像中的噪聲像素進(jìn)行精確定位,然后判別是否為噪聲像素,如果是有用信息,則根本不做處理,如果是噪聲,在對(duì)其進(jìn)行類中值方法的濾波處理,這樣就能從根本上最大限度的保留住有用的信息像素,使圖像經(jīng)過(guò)濾波后只能是向著原圖的方向漸漸靠攏,這樣在保持有用信息不被認(rèn)為破壞的前提下,盡可能的濾除了噪聲污染,從而大大提高濾波性能[3]。
對(duì)于神經(jīng)網(wǎng)絡(luò)優(yōu)化,粒子群算法主要包括兩個(gè)方面:一是優(yōu)化網(wǎng)絡(luò)各層之間的連接權(quán)值;二是對(duì)于網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)進(jìn)行優(yōu)化。本章算法中確定的適應(yīng)度函數(shù)可用原始訓(xùn)練圖像和加噪濾波后的圖像的平均絕對(duì)誤差的倒數(shù)來(lái)表示:
按照式(2),粒子群算法對(duì)PCNN模型參數(shù)自動(dòng)確定的工作流程可表示如下:
1)隨機(jī)產(chǎn)生初始粒子群,即可用xi和vi分別表示第i個(gè)粒子的位置和速度;
2)通過(guò)激活PCNN神經(jīng)網(wǎng)絡(luò),根據(jù)粒子的位置對(duì)加噪圖像進(jìn)行濾波,確定適應(yīng)度,計(jì)算每個(gè)粒子的適應(yīng)值fitness;
3)將第i個(gè)粒子適應(yīng)值與該粒子曾經(jīng)經(jīng)歷過(guò)的自身最優(yōu)位置pi的適應(yīng)值作計(jì)算比較,如果其結(jié)果較好,則把該粒子當(dāng)前對(duì)應(yīng)的位置當(dāng)作目前的最優(yōu)位置pi;
4)將每個(gè)粒子當(dāng)前的適應(yīng)度與粒子群目前的全局最優(yōu)位置pg的適應(yīng)度作比較,計(jì)算結(jié)果如果較好,則將目前比較出的粒子對(duì)應(yīng)的位置作為全局最優(yōu)位置pg;
5)根據(jù)計(jì)算出的速度、位置的最新值更新公式(1)來(lái)改變粒子的速度和位置;
6)當(dāng)優(yōu)化終止條件(終止條件通常為足夠好的適應(yīng)值或達(dá)到一個(gè)預(yù)設(shè)的足夠多的迭代次數(shù))被滿足時(shí),則輸出結(jié)果;否則返回第2步繼續(xù)循環(huán),直到滿足終止條件為止。
圖1 10%噪聲水下球體圖像的濾波結(jié)果比較
圖2 20%噪聲水下球體圖像的濾波結(jié)果比較
以水下球體圖像為例,分別在10%和20%噪聲強(qiáng)度下采用PSO-PCNN濾波和PCNN濾波,并對(duì)二者進(jìn)行了比較。其仿真結(jié)果如圖1和圖2所示[4]。
根據(jù)上述算法,為了節(jié)省仿真時(shí)間,采用以下PSO參數(shù):進(jìn)化代數(shù)為2,種群中的粒子總數(shù)p=10,權(quán)重因子w=0.1,最大速度Vmax=24.6。PSO在不同噪聲強(qiáng)度下對(duì)PCNN參數(shù)的自動(dòng)確定數(shù)據(jù)如表1所示。
表1 PSO在不同噪聲下自動(dòng)確定的PCNN參數(shù)
對(duì)水下球體圖像分別加10%、20%、30%和40%強(qiáng)度的噪聲,比較PSO-PCNN濾波和PCNN濾波的平均絕對(duì)誤差MAE的大小,如表2所示。
表2 對(duì)水下球體圖像加不同噪聲強(qiáng)度時(shí)采用兩種濾波方法的MAE性能比較
通過(guò)計(jì)算機(jī)仿真,從圖1和圖2中對(duì)兩種算法的濾波效果進(jìn)行比較,可以得出這樣的結(jié)論:基于PSO的PCNN圖像濾波方法在去噪能力方面表現(xiàn)得比PCNN濾波方法要強(qiáng)一些,而且對(duì)PCNN模型中的參數(shù)也能夠很好的實(shí)現(xiàn)自動(dòng)確定,不必手工設(shè)置PCNN參數(shù)。此外,從表1、表2的比較,也能夠得出:PSO-PCNN濾波方法比PCNN濾波的效果好得多。所以,總的看來(lái),就濾波算法而言,PSOPCNN算法的濾波性能要優(yōu)于PCNN濾波,能夠?qū)CNN模型中的參數(shù)實(shí)現(xiàn)自動(dòng)確定,具有更強(qiáng)的適應(yīng)性。
在PCNN模型的參數(shù)需要反復(fù)試驗(yàn)的前提下,提出了基于PSO的自動(dòng)確定參數(shù)的PCNN圖像去噪算法。以水下球體圖像為例,加以不同程度的脈沖噪聲,將其與PCNN濾波進(jìn)行比較;并對(duì)兩種算法的平均絕對(duì)誤差MAE的對(duì)比曲線進(jìn)行仿真。結(jié)果表明,當(dāng)噪聲密度在10%~40%之間時(shí),PSO-PCNN濾波的平均絕對(duì)誤差明顯比PCNN法小得多,PSO-PCNN濾波比PCNN濾波方法的效果好[5]。
[1]孫小強(qiáng),張求明.一種基于粒子群優(yōu)化的多目標(biāo)優(yōu)化算法[J].計(jì)算機(jī)工程與應(yīng)用,2006(18):40-42,78.
[2]鄭思平,陳紅周.一種加入創(chuàng)新粒子的粒子群[J].數(shù)學(xué)理論與應(yīng)用,2010(1):14-17.
[3]邢杰,蕭德云.混合粒子群優(yōu)化算法及其應(yīng)用[J].化工學(xué)報(bào),2008(7):1707-1710.
[4]王力維.基于粒子群優(yōu)化算法的神經(jīng)網(wǎng)絡(luò)鉆削參數(shù)優(yōu)化[J].科技信息(科學(xué)教研),2007(25):344-538.
[5]張赫,徐玉如,萬(wàn)磊,等.水下退化圖像處理方法[J].天津大學(xué)學(xué)報(bào),2010,43(9):827-833.