蘭妙萍,李朝鋒,2
LAN Miaoping1,LI Chaofeng1,2
1.江南大學 物聯(lián)網(wǎng)工程學院,江蘇 無錫 214122
2.江南大學 輕工過程先進控制教育部重點實驗室,江蘇 無錫 214122
1.School of Internet of Things Engineering,Jiangnan University,Wuxi,Jiangsu 214122,China
2.Key Laboratory of Advanced Process Control for Light Industry,Ministry of Education,Jiangnan University,Wuxi,Jiangsu 214122,China
圖像復原技術(shù)具有廣泛的應用領(lǐng)域,近年來已經(jīng)成為國內(nèi)外圖像界研究的熱點問題之一[1]。在獲取圖像的過程中有許多因素會導致圖像質(zhì)量的下降,如光學系統(tǒng)的像差、大氣擾動運動、散焦和系統(tǒng)噪音,它們會造成圖像的模糊和變形。圖像復原的目的就是由退化圖像,選擇合適的最優(yōu)化準則,得到盡可能與原始圖像接近的改善圖像。圖像復原的方法有多種,如維納濾波法(Wiener)[2]、約束最小二乘法(CLS)[3]、迭代盲反卷積(IBD)[4]等,其中經(jīng)典的濾波方法常假定點擴散函數(shù)已知,并綜合運用關(guān)于點擴散函數(shù)、原始圖像和噪聲的統(tǒng)計特性等信息達到降噪復原的目的,但通常點擴散函數(shù)是未知的,所以盲復原技術(shù)應用需求更廣泛和迫切。常用的迭代盲去卷積法,利用真實圖像與點擴散函數(shù)的約束關(guān)系構(gòu)建相應的優(yōu)化目標函數(shù),并采用漸進的方式求解清晰圖像,避開了直接估計點擴散函數(shù)的難點,但具有計算量大,噪聲敏感的缺點。為此,F(xiàn)ahmy等[5]將多種的先驗知識和約束條件應用到迭代盲去卷積法中,更好地引導解的搜索方向,但迭代的收斂性與初始條件有關(guān),解的唯一性不確定,魯棒性差。Zhang等[6]進一步利用自適應稀疏先驗來估計點擴散函數(shù)和噪聲模型,以便更好地引導優(yōu)化問題求解的方向,但算法對細節(jié)豐富的圖像過度平滑,復原結(jié)果失真。此外,Cao等[7]另辟蹊徑,利用單張圖像的深度圖來估計點擴散函數(shù),以快速有效地實現(xiàn)盲去卷積,但算法中光線的衰減和擴散具有相同的降質(zhì)規(guī)律假設,無法滿足場景深度不連續(xù)的邊緣區(qū)域,導致邊緣細節(jié)丟失及噪聲殘余。綜上分析,如何準確估計點擴散函數(shù),減少計算量,是目前算法亟待解決的問題。
本文提出了一種基于混合神經(jīng)網(wǎng)絡的圖像復原方法。首先將真實圖像進行模糊,作為輸入,真實圖像作為輸出,組成訓練對,作為訓練樣本輸入到卷積神經(jīng)網(wǎng)絡中訓練。然后利用訓練好的卷積神經(jīng)網(wǎng)絡模型提取特征映射作為BP神經(jīng)網(wǎng)絡的輸入。通過訓練BP神經(jīng)網(wǎng)絡建立退化圖像與真實圖像之間的非線性映射關(guān)系,實現(xiàn)圖像復原。本方法不需要估計點擴散函數(shù),同時卷積神經(jīng)網(wǎng)絡采用的局部連接和共享權(quán)值的方式,一方面減少了權(quán)值的數(shù)量使得網(wǎng)絡易于優(yōu)化,另一方面降低了過擬合的風險,具有較強的魯棒性[8]。實驗表明,本文方法對模糊圖像的復原性能很好,收斂速度快。
卷積神經(jīng)網(wǎng)絡包含兩種特殊的網(wǎng)絡結(jié)構(gòu):卷積層和亞采樣層,結(jié)構(gòu)如圖1所示。卷積層中含有多個特征映射圖,完成特征提取的任務,其中每個特征映射圖都代表上一層某方面的特征。子采樣層的神經(jīng)元對卷積層上相應的感受野進行采樣(如取最值、均值等),所以子采樣層上的神經(jīng)元往往會大幅度減少。卷積神經(jīng)網(wǎng)絡通過權(quán)值共享大幅度減少需要訓練的權(quán)值數(shù)目,從而大大降低對訓練樣本的需求。Bouvrie[9]對卷積神經(jīng)網(wǎng)絡進行了比較細致的理論介紹與推導。在圖像的應用中,卷積神經(jīng)網(wǎng)絡采用隨機梯度下降[10](Stochastic Gradient Descent,SGD)和 GPU(Graphics Processing Unit)加快訓練過程從而使得訓練大量的圖像數(shù)據(jù)更為方便。

圖1 卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)示意圖
卷積神經(jīng)網(wǎng)絡通過卷積層和亞采樣層的相互配合來學習原始圖像的特征,并且通過經(jīng)典的BP算法來調(diào)整參數(shù),完成權(quán)值的更新,最終完成學習任務。BP網(wǎng)絡更新權(quán)值公式為[11]:

其中,x(t)為神經(jīng)元的輸出,δ(t)表示該神經(jīng)元的誤差項,η表示學習率。
卷積神經(jīng)網(wǎng)絡中卷積層的網(wǎng)絡結(jié)構(gòu)采用卷積的離散型[12],表示為:

其中,Mβ為輸入特征的一個選擇;k為卷積核;γ為網(wǎng)絡的層數(shù);b為每個輸出特征映射添加的偏置,對于特定的輸出映射,輸入的特征映射可以應用不同的卷積核卷積得到[9];f為卷積層神經(jīng)元所用的激活函數(shù),可以采用Sigmoid、修正線性單元(ReLU)[13]等激活函數(shù)。
子采樣層的作用是對輸入的特征映射進行采樣,采樣后,輸入特征與輸出的特征數(shù)目不會改變,但是輸出特征的大小與輸入特征相比會大幅減少。子采樣層表示為:

其中,sub(?)表示亞采樣所用的函數(shù),B和b都是輸出特征的偏置。 f的含義與卷積層的類似,表示亞采樣層神經(jīng)元的激活函數(shù),可以取與卷積層一樣的激活函數(shù),也可以選擇不用激活函數(shù)。輸入層感受野的特征經(jīng)過卷積映射到新的特征空間,得到的特征作為子采樣層的輸入。子采樣層對其進行池化操作以降低上一層的復雜度,還可以防止過擬合。最后,把得到的多個特征映射轉(zhuǎn)化為一個特征向量以完全連接的方式輸出。

圖2 用于圖像復原的卷積神經(jīng)網(wǎng)絡模型結(jié)構(gòu)
本文提出的用于圖像復原的混合神經(jīng)網(wǎng)絡模型結(jié)構(gòu)見圖2。在Training1階段對模糊圖像以步長為1進行n×n(本文n最終選擇為8)大小的切塊處理作為訓練樣本,圖3給出部分切塊展示集合圖像。將訓練樣本輸入到卷積神經(jīng)網(wǎng)絡中訓練,通過建立輸入圖像與目標輸出圖像的非線性映射關(guān)系得到網(wǎng)絡模型。在Training2階段利用Training1階段訓練好的網(wǎng)絡模型提取特征向量輸入到BP神經(jīng)網(wǎng)絡中進行訓練,然后用訓練好的BP神經(jīng)網(wǎng)絡對模糊圖像進行復原。

圖3 8×8切塊展示圖集合
本文提出的混合神經(jīng)網(wǎng)絡中的卷積神經(jīng)網(wǎng)絡由5層網(wǎng)絡結(jié)構(gòu)組成,如圖2 Training1階段所示。在Training1階段,首先將原圖像進行灰度化和歸一化處理,然后進行n×n(本文n最終選擇為8)大小的切塊作為訓練樣本輸入到網(wǎng)絡中。在卷積層中,使用10個5×5的卷積核對輸入塊進行卷積操作,得到10個大小為4×4的特征映射圖。子采樣層中,本文采用大小為4×4的均值池對上一層卷積后的特征映射圖進行采樣得到10個1×1特征映射。采樣操作提取的特征雖然大小縮減,但是依然能夠保證特征的表現(xiàn)力。在輸出層,本文采用全連接方法。最后通過線性回歸網(wǎng)絡得到圖像的像素值。在Training2階段,是一個用于圖像復原的BP神經(jīng)網(wǎng)絡,網(wǎng)絡拓撲結(jié)構(gòu)為10∶20∶1,隱含層采用Sigmoid函數(shù)作為激活函數(shù),輸出層采用線性函數(shù)。BP神經(jīng)網(wǎng)絡的輸入為Training1階段訓練好的卷積神經(jīng)網(wǎng)絡子采樣層采樣操作后獲得的特征映射向量。
3.2.1 圖像映射關(guān)系
圖像中某一點的灰度值在退化過程中與它周圍點的灰度值密切相關(guān),距離越小,這種影響作用就越大,所以具有相同灰度值的像素點,如果其鄰域不同,退化后的灰度值會有較大差異。可以認為,清晰圖像的像素點與相應的模糊圖像對應像素點的鄰域高度相關(guān)。為了充分考慮鄰域的影響,圖像的映射關(guān)系采用鄰域?qū)ο袼氐姆椒ǎ从奢斎雸D像的一個鄰域內(nèi)的多個像素點對應目標輸出圖像中的一個像素點。假定清晰圖像中的一個像素對應到模糊圖像的8×8鄰域,輸入一張256像素×256像素大小的模糊圖像,將得到(256-8+1)2=62 001個8×8鄰域,并將這些鄰域的中心點位置對應到清晰圖像所對應的像素點作為輸出。這樣就可以獲得訓練樣本62 001對。這種映射方法雖然會使運算量變大,但是參與運算的數(shù)據(jù)也多了,使網(wǎng)絡具有更強的記憶泛化能力和魯棒性。對于邊界像素點所對應的8×8鄰域選取不到的像素點用0補充,進行訓練,有效保留邊界信息。
3.2.2 實現(xiàn)圖像復原
首先在Training1階段利用卷積神經(jīng)網(wǎng)絡將退化圖像與原始圖像進行學習訓練,初步建立退化圖像與原始圖像的映射關(guān)系。在Training2階段,將訓練樣本再次輸入到Training1階段訓練好的網(wǎng)絡模型中,提取出全連接層的上一層得到的特征映射成特征向量作為BP神經(jīng)網(wǎng)絡的輸入。通過訓練BP神經(jīng)網(wǎng)絡進一步建立退化圖像與清晰圖像的非線性映射關(guān)系。最后利用訓練好的BP神經(jīng)網(wǎng)絡進行圖像復原。在Training1階段,訓練好的卷積神經(jīng)網(wǎng)絡模型也可直接實現(xiàn)圖像復原,將該模型取名為CIR。同時為了方便實驗結(jié)果比較,將本文方法命名為CIRBP。
在實驗中,訓練圖像選擇TID2013標準數(shù)據(jù)庫[14]的25張384×512像素的清晰圖,并分別將這25張圖片進行高斯模糊和運動模糊。本文采用鄰域?qū)ο袼氐姆椒ǐ@取76 800個訓練集樣本訓練卷積神經(jīng)網(wǎng)絡。測試時,對模糊圖像取步長為1大小為8×8的塊輸入到訓練好的網(wǎng)絡結(jié)構(gòu)中進行測試得到輸出結(jié)果。本文實驗在MATLAB R2010a,Windows 8操作系統(tǒng)的電腦上實現(xiàn)圖像去模糊。
為了定量評價復原效果,采用結(jié)構(gòu)相似性(SSIM)和峰值信噪比(PSNR)對圖像進行評價。PSNR是一種基于對應像素點間的誤差的圖像質(zhì)量評價指標,一般由下述公式計算得出:

其中MSE表示均方誤差,一般情況下,PSNR的值越大代表圖像失真越少,即恢復出來的圖像的效果越好。
SSIM是一種衡量兩幅圖像相似度的新指標,相較于傳統(tǒng)所使用的影像品質(zhì)衡量指標(如PSNR),結(jié)構(gòu)相似性在影像品質(zhì)的衡量上更能符合人眼對影像品質(zhì)的判斷。計算公式如下:

其中μ表示均值,σ表示方差,σxy表示x和y協(xié)方差,其中系數(shù)a,b,c通常取1。C1,C2,C3為比較小的數(shù)值,SSIM值越大越好,最大為1。
為了驗證本文算法的有效性,將測試結(jié)果與Cao等[7]提出的單張圖像深度信息的盲去卷積算法,Zhang等[6]提出的自適應離散先驗的盲去卷積算法以及Fahmy等[5]提出的迭代盲去卷積算法對比。
首先采用Lenna高斯模糊圖像進行盲復原測試,圖 4(a)為高斯模糊的Lenna圖像,從圖4(c)中可以看出,CIRBP模型有效地去除模糊,且發(fā)絲、帽沿等細節(jié)都得到了較好保留。而Cao算法由于假設成像光線的衰減和擴散具有一致的降質(zhì)規(guī)律,使得深度信息變化的邊緣細節(jié)丟失。Fahmy算法的解的唯一性不確定,導致復原結(jié)果圖4(f)有條紋現(xiàn)象。Zhang算法使用自適應的稀疏先驗來估計點擴散函數(shù)和噪聲的概率模型,較好地引導圖像復原的方向,但仍比本文結(jié)果圖4(c)的清晰度低。

圖4 Lenna圖像的復原結(jié)果對比
圖5進一步對真實退化圖像Teapot進行復原,并展示各算法的復原結(jié)果。Cao算法結(jié)果圖5(e)雖在一定程度上去除了初始圖像的模糊度,但茶壺花紋的辨識度低。Zhang算法的結(jié)果圖5(d)存在過平滑問題,花紋細節(jié)沒有恢復。Fahmy算法復原的茶壺花紋模糊度高。本文結(jié)果圖5(b)復原結(jié)果清晰度不高,但是圖5(c)清晰度高,并且較好地保存圖像的邊緣紋理結(jié)構(gòu),復原結(jié)果最成功。

圖5 Teapot圖像的復原結(jié)果對比
表1給出了不同方法復原結(jié)果的SSIM和SPNR比較。從表中可以看出,CIRBP模型的復原效果較好。CIRBP模型在訓練好的卷積神經(jīng)網(wǎng)絡基礎(chǔ)上再一次進行BP神經(jīng)網(wǎng)絡訓練來進一步建立模糊圖像與原圖像的非線性映射關(guān)系,起到微調(diào)節(jié)作用,因而獲得比模型CIR更好的復原效果。本身BP神經(jīng)網(wǎng)絡可用于圖像復原[15],CIRBP模型也可以理解為利用訓練好的卷積神經(jīng)網(wǎng)絡提取到更好的特征來訓練BP神經(jīng)網(wǎng)絡,從而獲得更好的圖像復原結(jié)果。

表1 不同復原方法的SSIM和PSNR比較
圖6為訓練卷積神經(jīng)網(wǎng)絡模型獲得的對高斯模糊和運動模糊失真圖像學習得到的10個卷積核示意圖。通過對卷積核的觀察可以發(fā)現(xiàn),在對同一失真的學習過程中,有少數(shù)卷積核的結(jié)構(gòu)非常類似。而且卷積核的這種學習會隨著不同的失真特性和訓練調(diào)節(jié)的設置而不斷進行自我改變,與傳統(tǒng)的固定特征提取的方式相比較,卷積神經(jīng)網(wǎng)絡的特征提取方法能夠更好地反映出所輸入的圖像的特征特點。

圖6 高斯模糊和運動模糊圖像學習后的卷積核示意圖
為進一步驗證算法的魯棒性,在Levin等[16]提供的散焦圖像集下(包括4幅統(tǒng)一尺寸為255×255的原始清晰圖像與8個不同的點擴散函數(shù),共32幅模糊圖像),測試不同盲復原算法的復原效果。圖7給出了各算法對8個不同的點擴散函數(shù)形成的8種模糊圖像進行復原的結(jié)果比較。

圖7 各算法復原結(jié)果比較
本文方法在19×19、17×17尺度的模糊核上的復原效果顯然優(yōu)于現(xiàn)有方法,但是當模糊核的大小超過23×23的情況下,復原效果明顯下降。分析導致這個結(jié)果的原因是網(wǎng)絡訓練對應單尺度輸入,不能全面實現(xiàn)多尺度圖像的復原。在小尺度的模糊核上的復原效果比較好,可以用于拍照過程的去抖動模糊等。
4.2.1 卷積神經(jīng)網(wǎng)絡參數(shù)設置
卷積神經(jīng)網(wǎng)絡的卷積層和子采樣層的相關(guān)參數(shù)設置非常靈活,不同的結(jié)構(gòu)設置會得到不同的結(jié)果。例如輸入塊大小、卷積核大小、特征圖個數(shù)、池化面積的選擇都會影響圖像復原結(jié)果。相關(guān)實驗結(jié)果如圖8所示。

圖8 不同網(wǎng)絡結(jié)構(gòu)復原結(jié)果
通過圖8可以看出,在迭代次數(shù)很少的情況下,網(wǎng)絡學習尚不充分,訓練得到的模型也不理想,因此復原效果較差。隨著迭代次數(shù)的增加,網(wǎng)絡參數(shù)不斷得到優(yōu)化,復原結(jié)果越來越好。但是,當?shù)螖?shù)足夠多時,網(wǎng)絡參數(shù)就不會有大的變化,表示卷積網(wǎng)絡已呈收斂狀態(tài),復原效果能達到最優(yōu)。因為卷積神經(jīng)網(wǎng)絡訓練所用時間和迭代次數(shù)是成正比的,所以根據(jù)實驗結(jié)果,選擇迭代次數(shù)100為最優(yōu)迭代次數(shù)。子采樣層池化面積的選取對實驗結(jié)果影響較大,若池化面積過小會導致子采樣層的池化作用不明顯,因而圖像復原結(jié)果不理想。在一定范圍內(nèi),特征映射圖數(shù)目越多,復原的效果比較好。因為退化圖像某一點的灰度值在退化過程中與它周圍點的灰度值密切相關(guān),所有輸入塊的選擇不宜過大。根據(jù)實驗結(jié)果,將本文中卷積神經(jīng)網(wǎng)絡特征映射圖個數(shù)設置為10個,卷積核大小為5×5,池化面積為4×4,輸入塊大小為8×8。
圖9給出上述不同參數(shù)設置的卷積神經(jīng)網(wǎng)絡訓練過程中,隨著訓練次數(shù)的增加,均方誤差趨于平穩(wěn),達到最優(yōu)訓練效果。
4.2.2 BP神經(jīng)網(wǎng)絡參數(shù)設置
本文用于圖像復原的BP神經(jīng)網(wǎng)絡,網(wǎng)絡拓撲結(jié)構(gòu)為10∶20∶1。神經(jīng)網(wǎng)絡的輸入為Training1階段訓練好的卷積網(wǎng)絡模型提取的特征向量。圖10給出訓練數(shù)據(jù)中8個相鄰切塊在卷積網(wǎng)絡模型中提取的特征向量。每個豎條紋代表一個切片獲得的特征向量。從圖中可以看出各個切塊獲得的特征比較明顯,易于區(qū)分。這將有利于BP神經(jīng)網(wǎng)絡實現(xiàn)圖像復原。利用提取的特征向量訓練BP神經(jīng)網(wǎng)絡,完成退化圖像的復原。

圖10 8個相鄰切塊對應特征向量
圖11給出BP神經(jīng)網(wǎng)絡在Matlab(R2010b)上的仿真圖。當?shù)螖?shù)為96時,訓練網(wǎng)絡已呈收斂狀態(tài)。實驗發(fā)現(xiàn),在隱含層采用20個神經(jīng)元時,訓練用時為40 s,采用50個神經(jīng)元時,用時卻達到了2 min。它們的復原結(jié)果相差不大。在實際應用中需恰當選擇神經(jīng)元的個數(shù),兼顧復原結(jié)果與運行速度,所以實驗最終選擇隱含層采用20個神經(jīng)元。

圖11 BP神經(jīng)網(wǎng)絡訓練收斂曲線
本文研究了混合神經(jīng)網(wǎng)絡在圖像復原中的應用。將卷積神經(jīng)網(wǎng)絡與BP神經(jīng)網(wǎng)絡結(jié)合,分步實現(xiàn)圖像復原。從網(wǎng)絡結(jié)構(gòu)設置及迭代次數(shù)等方面測試了混合神經(jīng)網(wǎng)絡的圖像復原效果。通過樣本訓練建立退化圖像與真實圖像之間的非線性映射關(guān)系。這種方法無需知道退化過程的先驗知識,不需要估計點擴散函數(shù),采用滑動窗口進行樣本的選取,充分考慮了退化過程中鄰域的影響。在小尺度的模糊核上的復原效果優(yōu)于現(xiàn)有方法。
參考文獻:
[1]Katsaggelos A K.Digital image restoration[M].Berlin:Springer Publishing,2012.
[2]周玉,彭召意.運動模糊圖像的維納濾波復原研究[J].計算機工程與應用,2009,45(19):181-183.
[3]Kang B J,Park K R.Real-time image restoration for iris recognition systems[J].IEEE Transactions on Systems Man&Cybernetics-Part B:Cybernetics,2007,37(6)1555-1566.
[4]李艷琴,張立毅,孫云山.一種改進的圖像迭代盲反卷積算法[J].計算機工程,2012,38(8):204-206.
[5]Fahmy M F,Raheem G M A,Mohamed U S,et al.A new fast iterative blind deconvolution algorithm[J].Journal of Signal and Information Processing,2012,3(1).
[6]Zhang H,Wipf D,Zhang Y.Multi-observation blind deconvolution with an adaptive sparse prior[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2014,36(8):1628-1643.
[7]Cao Y,F(xiàn)ang S,Wang F.Single image multi-focusing based on local blur estimation[C]//International Conference on Image&Graphics,Brussels,2011:168-175.
[8]LeCun Y,Bottou L,Bengio Y,et al.Gradient-based learning applied to document recognition[J].Proceedings of the IEEE,1998,86(11):2278-2324.
[9]Bouvrie J.Notes on convolutional neural networks[EB/OL].[2016-10-30].http://web.mit.edu/jvb/www/papers/cnn tutorial.pdf.
[10]Bottou L.Large-scale machine learning with stochastic gradient descent[C]//Proceedings of COMPSTAT’2010,2010:177-186.
[11]姚明海.改進的遺傳算法在優(yōu)化BP網(wǎng)絡權(quán)值中的應用[J].計算機工程與應用,2013,49(24):49-54.
[12]李海峰,李純果.深度學習結(jié)構(gòu)和算法比較分析[J].河北大學學報:自然科學版,2012,32(5):538-544.
[13]Nair V,Hinton G E.Rectified linear units improve restricted boltzmann machines[C]//Proceedingsofthe 27th International Conference on Machine Learning(ICML-10),2010:807-814.
[14]Ponomarenko N,Jin L,Ieremeiev O,et al.Image database TID2013:Peculiarities,results and perspectives[J].Signal Processing:Image Communication,2015,30:57-77.
[15]Farooq U,Shen T Z,Zhao S Y,et al.Image restoration by using new AGA optimized BPNN[J].Procedia Engineering,2012,29(4):3028-3032.
[16]Levin A,Weiss Y,Durand F,et al.Understanding and evaluating blind deconvolution algorithms[C]//IEEE Conference on Computer Vision and Pattern Recognition,2009:1964-1971.