王海峰,李 萍,王 博,翟帥華,蔡 楠
(寧夏大學(xué) 物理與電子電氣工程學(xué)院,寧夏 銀川 750021)
由于運(yùn)動(dòng)、抖動(dòng)、電子干擾等影響因素的存在,導(dǎo)致圖像在拍攝、傳輸和儲(chǔ)存時(shí)會(huì)產(chǎn)生一定的退化。圖像復(fù)原可以最大程度地除去模糊以及干擾,使復(fù)原后的圖形與原始圖像更相似。作為圖像模糊最典型且常見的模型之一的高斯模糊,其點(diǎn)擴(kuò)散函數(shù)普遍應(yīng)用到圖像處理系統(tǒng)中,因此可以利用其特性來近似模擬一些圖像的退化過程。
傳統(tǒng)的圖像復(fù)原方式有很多,如維納濾波法[1]、正則化方法[2]、迭代盲反卷積[3]、約束最小二乘法[4]等。近年來隨著神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)熱度的不斷增加,在圖像復(fù)原領(lǐng)域已經(jīng)有很多神經(jīng)網(wǎng)絡(luò)模型在實(shí)際應(yīng)用中發(fā)揮作用,Zhou[5]提出將神經(jīng)網(wǎng)絡(luò)應(yīng)用到圖像復(fù)原。李偉等人用優(yōu)化算法對(duì)神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)進(jìn)行優(yōu)化,然后利用優(yōu)化后神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)和泛化能力,使復(fù)原的圖像在主觀視覺和定量分析上取得不錯(cuò)的效果[6]。文獻(xiàn)[7]分別利用遺傳算法與蟻群算法對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化并運(yùn)用到圖像復(fù)原領(lǐng)域,實(shí)驗(yàn)驗(yàn)證表明改進(jìn)算法比傳統(tǒng)BP網(wǎng)絡(luò)復(fù)原圖像有較大優(yōu)勢(shì),復(fù)原后的圖像更加清晰。文獻(xiàn)[8]采用粒子群算法進(jìn)行散焦模糊圖像的復(fù)原,經(jīng)過復(fù)原實(shí)驗(yàn)獲得的結(jié)果清晰度比傳統(tǒng)L-R復(fù)原效果更好,振鈴較少。文獻(xiàn)[9]提出了基于粒子群算法的BP神經(jīng)網(wǎng)絡(luò)圖像復(fù)原,該作者將BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值作為粒子群的優(yōu)化目標(biāo)進(jìn)行全局尋優(yōu),該算法在圖像復(fù)原中收斂精度取得了不錯(cuò)的效果。文獻(xiàn)[10]提出了一種基于布谷鳥算法的BP 神經(jīng)網(wǎng)絡(luò)( Cuckoo Search-Back Propagation,CS-BP) 圖像復(fù)原方法。該實(shí)驗(yàn)方法取得了較好的復(fù)原效果。提高了復(fù)原模型收斂精度,增強(qiáng)了訓(xùn)練結(jié)果的穩(wěn)定性,但是復(fù)原模型訓(xùn)練的時(shí)間卻增加了。
本文將BP神經(jīng)網(wǎng)絡(luò)作為工具用于圖像復(fù)原,針對(duì)傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)算法的初始閾值和權(quán)值是隨機(jī)的,容易陷入極小值,運(yùn)算結(jié)果存在隨機(jī)性的缺點(diǎn),提出利用灰狼優(yōu)化算法的較強(qiáng)的全局搜索能力來盡可能消除BP神經(jīng)網(wǎng)絡(luò)對(duì)初始參數(shù)的過度依賴。利用訓(xùn)練好的模型對(duì)測(cè)試集進(jìn)行測(cè)試,以達(dá)到圖像復(fù)原的要求。
維納濾波復(fù)原是一種有約束條件的以最小均方誤差為準(zhǔn)則的退化圖像復(fù)原方法,其原理是將圖像通過濾波器處理,使經(jīng)過濾波復(fù)原獲得的圖像與原始圖像的均方誤差最小。如公式(1)所示。
(1)
其中:E[*]為數(shù)學(xué)期望算子。如果假設(shè)復(fù)原圖像的灰度值與圖像中灰度級(jí)是線性相關(guān)的,圖像與噪聲互不相關(guān),并且其中之一是零均值。在假設(shè)成立時(shí),其頻域表示式為:
(2)
公式(2)中H*(μ,ν)為退化函數(shù)H(μ,ν)的復(fù)共軛,Sn(μ,ν) 以及Sf(μ,ν)表示噪聲以及原始圖像的功率譜。
在退化圖像的復(fù)原中,對(duì)于高信噪比的區(qū)域,在復(fù)原過程中可以有效抑制噪聲放大,但是在實(shí)際操作中由于無法準(zhǔn)確地知道噪聲以及原始圖像的功率譜的值,而導(dǎo)致復(fù)原效果不好。
L-R迭代非線性復(fù)原方法由Lucy和Richardson根據(jù)貝葉斯定理最先提出的基于迭代的非線性算法。該算法可以在對(duì)噪聲信息未知的情況下利用已知的點(diǎn)擴(kuò)散函數(shù)進(jìn)行退化圖像的復(fù)原??梢杂行У靥幚碓肼晢栴},并且復(fù)原效果不錯(cuò)。如果噪聲過大,在復(fù)原過程中噪聲會(huì)隨著迭代次數(shù)的增加而逐漸放大,增加振鈴效應(yīng)。
BP神經(jīng)網(wǎng)絡(luò)是一種信號(hào)前向傳遞、誤差反向傳播的多層神經(jīng)網(wǎng)絡(luò),是應(yīng)用最廣泛的網(wǎng)絡(luò)之一[11]。在網(wǎng)絡(luò)傳播的過程中,包括兩個(gè)主要的過程:前向傳播和誤差反向傳播。BP神經(jīng)網(wǎng)絡(luò)能夠模擬任意輸入和輸出之間的非線性映射關(guān)系。不僅能夠?qū)W習(xí)處理已有的經(jīng)驗(yàn),還能夠?qū)W習(xí)獲得未知函數(shù)輸入輸出的關(guān)系,在處理復(fù)雜非線性問題、優(yōu)化計(jì)算、邏輯推算方面有很大的優(yōu)勢(shì)。因此選擇BP神經(jīng)網(wǎng)絡(luò)可以在點(diǎn)擴(kuò)散函數(shù)未知的情況下實(shí)現(xiàn)退化圖像與原始圖像間非線性映射關(guān)系的擬合。但是算法對(duì)初始權(quán)值與閾值的過度依賴會(huì)導(dǎo)致算法在退化圖像復(fù)原過程中陷入局部最小值,導(dǎo)致誤差過大,訓(xùn)練失敗。
灰狼優(yōu)化( Grey Wolf Optimizer,GWO) 算法[12]是Mirjalili 等人在2014年提出的一種新型群智能優(yōu)化算法。GWO算法模仿灰狼的領(lǐng)導(dǎo)層次以及通過模擬灰狼尋找、包圍和攻擊獵物等狩獵機(jī)制的過程來完成最優(yōu)化工作。4種類型的灰狼,如α、β、δ和ω被用來模擬領(lǐng)導(dǎo)階層,分別定義為最優(yōu)解、優(yōu)解、次優(yōu)解和待選解。此外,還實(shí)施了尋找獵物,包圍獵物和攻擊獵物3個(gè)主要捕食步驟。灰狼種群明確的等級(jí)制度對(duì)于狼群實(shí)施高效狩獵有著非常重要的作用。捕獵的過程是由頭狼帶領(lǐng)完成,該過程為所有灰狼聚集在一起進(jìn)行搜索、追蹤、追逐、逼近獵物,然后灰狼按照一定的指導(dǎo)方式多方向包圍獵物,當(dāng)包圍圈足夠小并且時(shí)機(jī)成熟時(shí),狼群距離獵物最近的β狼和δ狼在頭狼的命令下發(fā)起攻擊。在追逐逃跑獵物過程中,其余的狼群個(gè)體會(huì)及時(shí)對(duì)追趕獵物的灰狼進(jìn)行補(bǔ)充,最終實(shí)現(xiàn)整個(gè)狼群包圍圈對(duì)獵物的跟蹤變換,從而達(dá)到對(duì)獵物不斷實(shí)施各個(gè)方位的進(jìn)攻,成功完成對(duì)獵物的捕食。
文獻(xiàn)[13]的實(shí)驗(yàn)研究表明,灰狼優(yōu)化算法在全局尋優(yōu)方面明顯優(yōu)于粒子群優(yōu)化算法(Particle Swarm Optimization,PSO)、遺傳(Genetic Algorithm,GA)算法等智能優(yōu)化算法。因此,本文BP 神經(jīng)網(wǎng)絡(luò)的權(quán)重和閾值可以利用GWO 來優(yōu)化。
為了方便將灰狼的社會(huì)等級(jí)制度利用數(shù)學(xué)模型來描述,開發(fā)者在設(shè)計(jì)灰狼優(yōu)化算法過程中,將α狼、β狼、δ狼以及ω狼分別定義為最優(yōu)解、優(yōu)解、次優(yōu)解和待選解。狼群的捕獵過程由α狼、β狼、δ狼進(jìn)行引導(dǎo),ω狼處于跟隨狀態(tài)。假設(shè)狼群有灰狼N只,搜索空間為M,任意一只灰狼的位置記為xi=(xi1,xi2,…xim),種群中最優(yōu)個(gè)體記為α,將要捕到的獵物對(duì)應(yīng)全局最優(yōu)解。該算法的搜索過程:首先隨機(jī)產(chǎn)生一組解作為候選解,在迭代進(jìn)化過程中,分別由適應(yīng)度較好的α狼、β狼、δ狼對(duì)當(dāng)前獵物的位置進(jìn)行評(píng)估,剩下的狼評(píng)估自身位置并跟隨。
灰狼個(gè)體之間的距離、子代灰狼個(gè)體位置的更新方式如下所示:
D=D=|C·XP(t)-X(t)|,
(3)
X(t+1)=XP(t)-A·D,
(4)
A=2a·r2-a,
(5)
C=2r1,
(6)
其中:D表示個(gè)體與食物的距離,t表示當(dāng)前迭代的次數(shù),C向量是對(duì)獵物的擾動(dòng),Xp代表目標(biāo)的位置,X是當(dāng)前個(gè)體的位置。在迭代過程中a從2線性遞減至0,如公式(5)所示;r1、r2是[0,1]內(nèi)的隨機(jī)向量。
(7)
在灰狼群體的捕食獵物過程中,如果位于領(lǐng)導(dǎo)層級(jí)的灰狼偵查到獵物的位置,α狼會(huì)會(huì)同其他等級(jí)的灰狼對(duì)整個(gè)灰狼種群進(jìn)行指導(dǎo)運(yùn)動(dòng)。指揮狼群接近獵物,最終捕獲獵物。個(gè)體更新方式描述如下:
Dα=|C1·Xα(t)-X(t)|,
(8)
Dβ=|C2·Xβ(t)-X(t)|,
(9)
Dδ=|C3·Xδ(t)-X(t)|,
(10)
其中:C1、C2、C3代表對(duì)α、β、δ的隨機(jī)擾動(dòng),Xα、Xβ、Xδ分別表示α、β、δ的當(dāng)前位置。以下公式指導(dǎo)ω狼的前進(jìn)方向以及距離:
X1=Xα-A1·Dα,
(11)
X2=Xβ-A2·Dβ,
(12)
X3=Xδ-A3·Dδ,
(13)
X(t+1)=(X1+X2+X3)/3.
(14)
子代灰狼的最終位置由公式(14)決定?;依撬惴ㄔ韴D如圖1所示。
圖1 灰狼算法原理圖Fig.1 Schematic diagram of the gray wolf algorithm
圖2 灰狼算法流程圖Fig.2 Gray wolf algorithm flow chart
從圖中可以看出,灰狼算法的尋優(yōu)過程是通過α、β、δ狼對(duì)獵物的位置進(jìn)行評(píng)估,狼群內(nèi)的其他個(gè)體根據(jù)這個(gè)評(píng)估標(biāo)準(zhǔn)在獵物的周圍進(jìn)行隨機(jī)位置更新。
灰狼優(yōu)化算法的標(biāo)準(zhǔn)流程如下:
第一步,灰狼算法參數(shù)初始化。設(shè)置灰狼群的大小N、迭代次數(shù)M、搜索空間維度、搜索空間的上下界。
第二步,初始化灰狼的位置Xi。
第三步,計(jì)算灰狼個(gè)體的適應(yīng)度值。
第四步,根據(jù)適應(yīng)度值得大小進(jìn)行排序,找出排在前三位的個(gè)體,定為最優(yōu)解、優(yōu)解、次優(yōu)解。
第五步,根據(jù)公式更新灰狼種群的位置。
第六步,更新計(jì)算a、A、和C的值。
第七步,判斷最優(yōu)解是否滿足條件,若滿足終止條件輸出最優(yōu)解,否則轉(zhuǎn)向第三步。
灰狼算法的流程圖如圖2所示。
Robert Hecht-Nielson的研究表明,對(duì)于任何在閉區(qū)間內(nèi)的連續(xù)函數(shù)可以用單隱含層的BP網(wǎng)絡(luò)來近似模擬,因此一個(gè)含有單隱層BP網(wǎng)絡(luò)可以完成任意的n維到m維的映射[14]。本文將利用單隱層的BP神經(jīng)網(wǎng)絡(luò)進(jìn)行圖像復(fù)原。
數(shù)字圖像中在高斯模糊過程中目標(biāo)像素點(diǎn)與它鄰近的像素點(diǎn)存在密切關(guān)系,像素點(diǎn)的影響隨著距離的增大而逐漸減小,這種現(xiàn)象總結(jié)如下:一幅圖像中任意位置的像素點(diǎn)與其相應(yīng)的模糊圖像對(duì)應(yīng)位置的鄰域存在很大的相關(guān)性。為了得到比較接近原始圖像的復(fù)原效果,需要考慮任意像素點(diǎn)的鄰域?qū)ζ涞挠绊?。將任意位置及其相鄰點(diǎn)的像素值作為復(fù)原模型的輸入,使用3×3的滑動(dòng)窗口從左向右依次掃描整張圖像,將掃描得到的數(shù)據(jù)作為神經(jīng)網(wǎng)絡(luò)的輸入,相對(duì)應(yīng)的原始圖像中對(duì)應(yīng)位置的灰度值作為網(wǎng)絡(luò)模型的輸出。用于圖像復(fù)原的BP神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)經(jīng)過多次調(diào)試確定為9∶20∶1 ,隱含層激勵(lì)函數(shù)采用Sigmoid函數(shù),輸出層采用線性函數(shù)。BP神經(jīng)網(wǎng)絡(luò)復(fù)原拓?fù)浣Y(jié)構(gòu)如圖3所示。
圖3 BP神經(jīng)網(wǎng)絡(luò)復(fù)原拓?fù)鋱DFig.3 BP neural network restoration topology
灰狼算法是具有良好全局搜索能力的群智能算法,能夠加快網(wǎng)絡(luò)模型的收斂速度,提高模型的精度,利用灰狼算法的優(yōu)點(diǎn)與BP神經(jīng)網(wǎng)絡(luò)優(yōu)秀的局部調(diào)節(jié)能力,設(shè)計(jì)基于灰狼算法優(yōu)化的BP神經(jīng)網(wǎng)絡(luò)算法(GWO-BP算法),該算法的基本思路是:將BP神經(jīng)網(wǎng)絡(luò)的權(quán)值與閾值作為灰狼個(gè)體的位置信息,利用灰狼算法良好的全局尋優(yōu)能力大致搜索出最優(yōu)權(quán)值、閾值的范圍,將搜索得到的最優(yōu)權(quán)值和閾值作為BP神經(jīng)網(wǎng)絡(luò)的初始值,以此改變由于BP神經(jīng)網(wǎng)絡(luò)初始值選取不當(dāng)導(dǎo)致的網(wǎng)絡(luò)收斂速度慢與容易陷入局部極小的缺點(diǎn)。
4.2.1 灰狼優(yōu)化算法的改進(jìn)
由于灰狼算法的收斂方式不是直線下降的,傳統(tǒng)的線性收斂不能完全展現(xiàn)灰狼算法的收斂過程,在考慮到算法的收斂過程這一問題上提出了基于余弦的收斂因子公式,如公式(15)所示:
(15)
經(jīng)過改進(jìn)后的收斂因子以非線性的方式從2遞減為0,在算法運(yùn)算開始階段,與原來的線性收斂相比改進(jìn)后的收斂因子衰減速度減小,這種方式能夠更好地尋得全局最優(yōu)解。在算法后期,收斂因子衰減速度加快,對(duì)于局部最優(yōu)解的尋找更加準(zhǔn)確。
對(duì)標(biāo)準(zhǔn)灰狼算法數(shù)學(xué)模型的介紹,可以看出α、β、δ狼對(duì)于ω狼的影響程度是一樣的,但是灰狼算法具有嚴(yán)格的等級(jí)制度,影響程度從理論上應(yīng)該與灰狼的等級(jí)相匹配。在設(shè)計(jì)的灰狼算法中,經(jīng)過對(duì)適應(yīng)度排序得到的α、β、δ3個(gè)當(dāng)前最優(yōu)解,由于這3個(gè)領(lǐng)導(dǎo)層相同的指導(dǎo)力度使得灰狼算法的收斂速度有所減小,容易陷入局部最優(yōu)。在標(biāo)準(zhǔn)算法中加入一種基于動(dòng)態(tài)位置向量指導(dǎo)的比例權(quán)重,利用不斷地動(dòng)態(tài)調(diào)整指導(dǎo)權(quán)重,增加算法的環(huán)境適應(yīng)能力,調(diào)節(jié)算法的搜索能力加速算法收斂。
權(quán)重比例調(diào)節(jié)計(jì)算公式如下:
(16)
ω1對(duì)應(yīng)于ω狼對(duì)α狼的學(xué)習(xí)率。
(17)
ω2對(duì)應(yīng)于ω狼對(duì)β狼的學(xué)習(xí)率。
(18)
ω3對(duì)應(yīng)于ω狼對(duì)δ狼的學(xué)習(xí)率。
改進(jìn)后的灰狼算法的子代灰狼的最終位置由公式(19)決定。
(19)
第一步:選擇進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練的樣本h并對(duì)其進(jìn)行高斯模糊處理,對(duì)處理過的圖像f進(jìn)行歸一化處理,
第二步:建立一個(gè)含有一層隱含層的BP神經(jīng)網(wǎng)絡(luò)復(fù)原模型,圖像h作為輸出,訓(xùn)練樣本f作為神經(jīng)網(wǎng)絡(luò)的輸入。
第三步:初始化灰狼群,神經(jīng)每一層的權(quán)值和閾值作為改進(jìn)灰狼算法的優(yōu)化對(duì)象,進(jìn)行灰狼算法全局尋優(yōu),當(dāng)系統(tǒng)達(dá)到最大迭代次數(shù)或誤差達(dá)到設(shè)定值時(shí)算法停止迭代,輸出神經(jīng)網(wǎng)絡(luò)的最佳初始值。
第四步:利用優(yōu)化獲得的權(quán)值和閾值進(jìn)行BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練,若訓(xùn)練性能達(dá)到要求則進(jìn)行下一步,否則返回第三步重新訓(xùn)練。
第五步:進(jìn)行目標(biāo)圖像的復(fù)原,對(duì)神經(jīng)網(wǎng)絡(luò)的輸出進(jìn)行反歸一化處理,顯示復(fù)原圖像。
該實(shí)驗(yàn)在matlab2016b中進(jìn)行,此次實(shí)驗(yàn)分為兩部分,一是退化圖像復(fù)原模型的訓(xùn)練,二是利用模糊圖像測(cè)試。對(duì)于圖像的邊界問題,考慮到圖像最外層的像素沒有對(duì)應(yīng)的輸出,為了解決這個(gè)問題,在已知圖像中某點(diǎn)灰度值的變化同它臨近點(diǎn)的灰度值有很大的聯(lián)系,像素點(diǎn)距離越小,對(duì)中心像素的影響就越大條件的基礎(chǔ)上,對(duì)實(shí)驗(yàn)與測(cè)試圖像進(jìn)行邊界復(fù)制,使退化圖像的所有像素點(diǎn)都有對(duì)應(yīng)的輸出。
采用圖像大小為256×256的Lena圖像作為訓(xùn)練圖像,如圖4所示。(a)為原始圖像,(b)為經(jīng)過高斯模糊處理后的圖像。
圖4 訓(xùn)練圖像Fig.4 Training images
利用Cameraman與barbara經(jīng)過高斯模糊的圖像作為本文算法的驗(yàn)證圖像,用BP、PSO-BP以及維納濾波的方式以及文章中提出的改進(jìn)GWO-BP算法進(jìn)行圖像復(fù)原驗(yàn)證。不同的模型復(fù)原效果如圖(5)、圖(6)所示。
由圖(5)、圖(6)可以看出,BP神經(jīng)網(wǎng)絡(luò)圖像去模糊復(fù)原效果好于維納濾波復(fù)原法、L-R復(fù)原;PSO-BP復(fù)原較BP復(fù)原在清晰度上得到改善,而本文提出的改進(jìn)GWO-BP(IGWO-BP)復(fù)原方法通過視覺可以看出與原始圖像近似,圖像的輪廓以及部分細(xì)節(jié)的視覺效果提高了很多。
圖5 Cameraman模糊圖像復(fù)原對(duì)比Fig.5 Cameraman blurred image restoration comparison
圖6 Barbara模糊圖像復(fù)原對(duì)比Fig.6 Barbara blurred image restoration comparison
為了更加直觀地對(duì)比圖像復(fù)原的效果,文章采用峰值信噪比(PSNR)、結(jié)構(gòu)相似度(SSIM)以及歸一化均方誤差(NMSE)來對(duì)圖像復(fù)原效果進(jìn)行比較與評(píng)價(jià),評(píng)價(jià)結(jié)果由表1、表2給出。
通過表1、表2的數(shù)據(jù)可以直觀地看出本文提出的算法具有更大的峰值信噪比、更好的結(jié)構(gòu)相似速度以及更小的歸一化均方誤差。這是由于峰值信噪比越大,圖像的復(fù)原效果越好;歸一化均方誤差越小,復(fù)原效果越好。
表1 Cameraman復(fù)原結(jié)果數(shù)據(jù)Tab.1 Cameraman restoration results
表2 barbara復(fù)原結(jié)果數(shù)據(jù)Tab.2 Barbara restoration result
續(xù) 表
對(duì)于高斯模糊圖像的復(fù)原,本文提出了基于改進(jìn)灰狼算法優(yōu)化神經(jīng)網(wǎng)絡(luò)的圖像去模糊。利用灰狼算法對(duì)神經(jīng)網(wǎng)絡(luò)的權(quán)值與閾值進(jìn)行優(yōu)化,并在此基礎(chǔ)上通過改進(jìn)灰狼算法收斂因子與動(dòng)態(tài)比例權(quán)重的灰狼位置更新機(jī)制,加強(qiáng)了算法全局尋優(yōu)能力,增加算法的環(huán)境適應(yīng)能力。研究結(jié)果表明,本文所提方法在主觀視覺與客觀評(píng)價(jià)上與維納濾波、L-R復(fù)原、BP復(fù)原、以及PSO-BP圖像復(fù)原算法相比其結(jié)果令人滿意。在引入并改進(jìn)灰狼算法后,灰狼優(yōu)化BP神經(jīng)網(wǎng)絡(luò)對(duì)模糊圖像的復(fù)原效果表明本文所提出的改進(jìn)算法圖像復(fù)原后的相似度分別達(dá)到96.89%以及96.92%,誤差減小到0.11%,滿足了實(shí)際應(yīng)用的要求。