熊銳 張雷洪 蔣周杰 王建強 覃榜道 賴純莉
摘要:針對目前許多圖像重構(gòu)算法存在重構(gòu)出來的圖像不清晰、分辨率低等問題,提出了一種基于編碼一解碼對稱神經(jīng)網(wǎng)絡(luò)的高分辨率圖像重構(gòu)算法。首先將圖像進(jìn)行壓縮獲取低分辨率圖像,然后將低分辨率圖像作為輸入圖像經(jīng)過編碼一解碼對稱神經(jīng)網(wǎng)絡(luò),并利用其中的卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行編碼得到特征圖像,最后再利用反卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行解碼實現(xiàn)圖像的細(xì)節(jié)恢復(fù)。實驗結(jié)果表明,經(jīng)過基于編碼一解碼對稱神經(jīng)網(wǎng)絡(luò)重構(gòu)出來的圖像比之前的低分辨率圖像更加清晰,圖像的分辨率得到了提高。
關(guān)鍵詞:卷積神經(jīng);反卷積神經(jīng);編碼;解碼;重構(gòu)
中圖分類號:TP311.1 文獻(xiàn)標(biāo)志碼:A
引言
隨著越來越多的智能服務(wù)出現(xiàn),人類將進(jìn)入一個新的智能時代,而深度學(xué)習(xí)無疑是這股智能浪潮的前沿科技。深度學(xué)習(xí)是通過提取和組合低層特征形成高層特征來表示其屬性類別,便于數(shù)據(jù)的表示。目前常用的深度學(xué)習(xí)有三種,分別是卷積神經(jīng)網(wǎng)絡(luò)、受限制波茲曼機以及自編碼神經(jīng)網(wǎng)絡(luò)。1986年,Rumelhart等提出的反向傳播算法解決了多層神經(jīng)網(wǎng)絡(luò)的訓(xùn)練問題。1990年,Cun等首次提出了卷積神經(jīng)網(wǎng)絡(luò)(convolut-ional neural network,CNN),其特點在于卷積層采用局部連接和權(quán)值共享的方式進(jìn)行連接,從而大大降低了需要訓(xùn)練的參數(shù)數(shù)量,通過降采樣層來降低維度,使網(wǎng)絡(luò)具有更高的魯棒性,同時能夠有效地防止擬合。卷積神經(jīng)網(wǎng)絡(luò)作為深度學(xué)習(xí)的網(wǎng)絡(luò)模型之一,是專門做圖像信息處理的深度神經(jīng)網(wǎng),應(yīng)用于大多數(shù)的計算機視覺領(lǐng)域,目前正處于陜速發(fā)展階段。因此,本文將卷積神經(jīng)網(wǎng)絡(luò)與反卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合,提出了一種基于編碼一解碼對稱神經(jīng)網(wǎng)絡(luò)的高分辨率圖像重構(gòu)算法。此算法的特點在于:先將壓縮圖像作為輸入圖像,經(jīng)過編碼階段,利用卷積神經(jīng)網(wǎng)絡(luò)來獲得特征圖像;然后再經(jīng)過解碼階段,利用反卷積神經(jīng)網(wǎng)絡(luò)來實現(xiàn)圖像細(xì)節(jié)的恢復(fù),以期取得更好的圖像重構(gòu)效果。
1圖像處理的神經(jīng)網(wǎng)絡(luò)
1.1卷積神經(jīng)網(wǎng)絡(luò)
圖1為卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),該結(jié)構(gòu)是由多個卷積層與池化層相互交替組合而成。卷積神經(jīng)網(wǎng)絡(luò)與其他神經(jīng)網(wǎng)絡(luò)的不同之處在于采用了轉(zhuǎn)換圖像的過濾器,稱之為“卷積過濾器”。使用卷積過濾器可使經(jīng)卷積層后生成的特征圖像突出了原始圖像的獨特特征。在卷積層中,每層設(shè)置了多少個卷積過濾器,相應(yīng)地將會產(chǎn)生多少個特征映射,最后這些特征映射經(jīng)過激活函數(shù)就可以得到特征圖像。
由于神經(jīng)網(wǎng)絡(luò)輸出端輸出的實際值與理論值會存在一定的誤差,所以需要通過一個算法來降低輸出誤差,以此達(dá)到優(yōu)化整個神經(jīng)網(wǎng)絡(luò)的目的。因此利用反向傳播算法對神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中的各個權(quán)重以及參數(shù)進(jìn)行優(yōu)化。
1.2反卷積神經(jīng)網(wǎng)絡(luò)
反卷積神經(jīng)網(wǎng)絡(luò)是在卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上對其進(jìn)行改進(jìn)得到的。圖2為反卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),其結(jié)構(gòu)與卷積神經(jīng)網(wǎng)絡(luò)不同之處在于去掉了卷積神經(jīng)網(wǎng)絡(luò)中最后的全連接層,在網(wǎng)絡(luò)中加入反卷積層。為了得到比輸入圖像尺寸更大的輸出圖像,對輸入圖像進(jìn)行上采樣操作來擴大圖片尺寸,同時通過使用反卷積過濾器對圖像進(jìn)行卷積以此來填充圖像的內(nèi)容,使得圖像內(nèi)容變得豐富。這樣一個由反卷積層、上采樣層組成的層次化的反卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)有助于提取圖像的細(xì)節(jié)特征。
為了得到更高的神經(jīng)網(wǎng)絡(luò)重構(gòu)圖像分辨率,本文將卷積神經(jīng)網(wǎng)絡(luò)與反卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合,采用一種基于編碼一解碼對稱神經(jīng)網(wǎng)絡(luò)的圖像高分辨率重構(gòu)方法。
2基于編碼一解碼對稱神經(jīng)網(wǎng)絡(luò)的圖像重構(gòu)
在典型的卷積神經(jīng)網(wǎng)絡(luò)中,網(wǎng)絡(luò)初始端通常是多個卷積層和池化層的交替組合,在靠近輸出層的最后幾層網(wǎng)絡(luò)是全連接網(wǎng)絡(luò)。但是在卷積層提取圖像特征時,會丟失一些細(xì)節(jié)信息,如邊緣、紋理等,隨著網(wǎng)絡(luò)層數(shù)的加深,細(xì)節(jié)信息的丟失會逐漸增加,這不利于圖像超分辨率重構(gòu)及恢復(fù)。因此,為了避免過多的細(xì)節(jié)丟失,本文刪除了池化層,并在卷積神經(jīng)網(wǎng)絡(luò)后增加了一個反卷積神經(jīng)網(wǎng)絡(luò),卷積神經(jīng)網(wǎng)絡(luò)充當(dāng)編碼器用以得到特征圖像,反卷積神經(jīng)網(wǎng)絡(luò)充當(dāng)解碼器用以恢復(fù)原始圖像。
圖3為編碼一解碼對稱神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)示意圖,主要有兩部分構(gòu)成。第一部分(編碼)為基于卷積神經(jīng)網(wǎng)絡(luò)的特征提取,給定原始圖像和隨機初始化卷積過濾器矩陣,利用卷積神經(jīng)網(wǎng)絡(luò)直接對原始圖像進(jìn)行操作生成特征映射,卷積過濾器矩陣的值是在訓(xùn)練過程中經(jīng)不斷優(yōu)化確定的。第二部分(解碼)為基于反卷積神經(jīng)網(wǎng)絡(luò)的圖像細(xì)節(jié)的恢復(fù),將經(jīng)卷積神經(jīng)網(wǎng)絡(luò)得到的特征圖像作為反卷積神經(jīng)網(wǎng)絡(luò)的輸入,反卷積核是經(jīng)卷積過濾器矩陣變換得到,在一定程度上可以理解為,卷積神經(jīng)網(wǎng)絡(luò)中的卷積核與反卷積神經(jīng)網(wǎng)絡(luò)中的反卷積核是共享的。
為了衡量基于編碼一解碼對稱神經(jīng)網(wǎng)絡(luò)對圖像壓縮重構(gòu)的效果,引入損失函數(shù)并采用均方誤差表示損失函數(shù),其表達(dá)式為式中:w為全連接層的網(wǎng)絡(luò)權(quán)重;β為池化層的網(wǎng)絡(luò)權(quán)重;K為卷積核參數(shù);b為各層的偏置參數(shù);m為訓(xùn)練樣本的個數(shù);tm為第m個樣本預(yù)測出來的真值;ym為第m個樣本在原來樣本中的值,也就是標(biāo)準(zhǔn)答案。由于本文網(wǎng)絡(luò)結(jié)構(gòu)中并沒有涉及全連接層以及池化層,所以參數(shù)w和β忽略不計。
損失函數(shù)可以用來衡量網(wǎng)絡(luò)結(jié)構(gòu)的好壞,損失函數(shù)越小說明網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)越符合訓(xùn)練樣本。因此訓(xùn)練的過程就是不斷地改變參數(shù),從而得到更小的損失函數(shù)的過程。在理想情況下,當(dāng)我們?nèi)〉綋p失函數(shù)的最小值時,就得到了最優(yōu)的參數(shù),記為
minE(θ)(3)
式中θ為所有參數(shù)的總稱。
3實驗分析
3.1實驗效果
基于編碼一解碼對稱神經(jīng)網(wǎng)絡(luò)的圖像壓縮重構(gòu)機理仿真采用MATLAB實驗平臺。在實驗中,所用到的訓(xùn)練數(shù)據(jù)是MNIST數(shù)據(jù)庫,它包含70 000張手寫圖像數(shù)字的圖像,通常用60 000張圖像做訓(xùn)練,再用剩下的10 000張做驗證,每一張都是28x28像素數(shù)的黑白圖像??紤]到訓(xùn)練時間,本文只采用10 000張圖像,其中用于訓(xùn)練的圖像為8 000張。如圖4所示,本文選用圖像數(shù)據(jù)庫中的數(shù)字“2”、數(shù)字“7”和數(shù)字“1”作為仿真對象,這些數(shù)字均為28像素×28像素的二值圖像。
本文所采用的壓縮方式為:首先確定圖像在尺寸上進(jìn)行壓縮的倍數(shù),本文進(jìn)行兩倍的壓縮;其次調(diào)整圖像的尺寸,使調(diào)整后的尺寸能夠壓縮為原先的兩倍;再次以補零的方式進(jìn)行填充,使圖像恢復(fù)為原先的尺寸,如圖5所示;最后將恢復(fù)后的低分辨率圖像作為編碼一解碼對稱網(wǎng)絡(luò)的輸入圖像來進(jìn)行接下來的操作。
將編碼一解碼對稱神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中的每個隱藏層中的節(jié)點個數(shù)設(shè)置為20個,那么會生成20個卷積濾波器以及20個特征圖像。以數(shù)字“2”為例,如圖6所示,圖中(a)為生成的卷積濾波器,(b)為卷積之后的圖像,(c)為卷積之后經(jīng)過激活函數(shù)之后的特征圖像。圖7為經(jīng)反卷積操作之后數(shù)字“2”、數(shù)字“7”和數(shù)字“1”的重構(gòu)圖像。
3.2可行性分析
為了客觀精確地衡量基于編碼一解碼對稱神經(jīng)網(wǎng)絡(luò)的圖像重構(gòu)質(zhì)量,這里引入了均方差(mean square error,MSE)和峰值性噪比(peaksignal-to-noise ratio,PSNR),可分別表示為:式中:MSE為原圖像與重構(gòu)圖像之間的均方誤差;M、N分別為圖像的寬度和高度;R(i,j)為原始圖像對應(yīng)像素點的值;F(i,j)為恢復(fù)圖像對應(yīng)像素點的值;amax為圖像中最大像素點的值。PSNR值越大,說明兩幅圖越相似,即恢復(fù)的圖像質(zhì)量越高。
表1分別列出了壓縮之后的低分辨率圖像和基于編碼一解碼對稱神經(jīng)網(wǎng)絡(luò)的圖像高分辨率算法重構(gòu)出來的圖像。經(jīng)計算可以得到,低分辨率圖像的PSNR值比本文方法重構(gòu)出來的PSNR值要低,說明低分辨率圖像經(jīng)基于編碼一解碼對稱網(wǎng)絡(luò)的圖像高分辨率算法之后分辨率、清晰度都得到了提高,說明本文所提出的方法可行。
3.3效果對比
本文將基于編碼一解碼對稱神經(jīng)網(wǎng)絡(luò)的圖像高分辨率重構(gòu)算法與基于深層前饋卷積神經(jīng)網(wǎng)絡(luò)的圖像重構(gòu)算法進(jìn)行比較。其中基于深層前饋卷積神經(jīng)網(wǎng)絡(luò)的圖像重構(gòu)算法主要用于消除圖像中的噪聲,同時其本身的體系結(jié)構(gòu)也可以通過被訓(xùn)練來重構(gòu)壓縮圖像以及提高圖像分辨率。為了客觀地對這兩種算法進(jìn)行評價,本文采用了相似度參數(shù)s,對于大小為MxN的圖像,s的數(shù)學(xué)表達(dá)式如下:
式中:x為原始圖像;x'為裁切過的重構(gòu)圖像。
圖8比較了用不同重構(gòu)算法得到的圖像,其中:(a)為原始圖像;(b)為基于編碼一解碼對稱神經(jīng)網(wǎng)絡(luò)的圖像高分辨率重構(gòu)算法重構(gòu)出來的圖像(本文算法);(c)為基于深層前饋卷積神經(jīng)網(wǎng)絡(luò)的圖像重構(gòu)算法重構(gòu)出來的圖像。由此得出:(1)基于編碼一解碼對稱網(wǎng)絡(luò)的圖像高分辨率算法重構(gòu)出來的圖像效果在圖像清晰程度、細(xì)節(jié)紋理方面要優(yōu)于基于深層前饋卷積神經(jīng)網(wǎng)絡(luò)的圖像重構(gòu)算法重構(gòu)出來的圖像;(2)經(jīng)相似度公式計算得到基于編碼一解碼對稱網(wǎng)絡(luò)的圖像高分辨率算法重構(gòu)出來的圖像相似度值為0.996 5,而基于深層前饋卷積神經(jīng)網(wǎng)絡(luò)的圖像重構(gòu)算法重構(gòu)出來的圖像的相似度值為0.866 4。由此可見,基于編碼一解碼對稱網(wǎng)絡(luò)的圖像高分辨率算法重構(gòu)出來的效果更佳。
4結(jié)論
本文提出了一種基于編碼一解碼對稱神經(jīng)網(wǎng)絡(luò)的圖像高分辨率重構(gòu)方案。首先將圖像在尺寸上進(jìn)行兩倍的壓縮以獲取低分辨率的壓縮圖像,然后將此壓縮圖像作為輸入圖像,再經(jīng)過編碼一解碼的對稱神經(jīng)網(wǎng)絡(luò)的圖像重構(gòu)算法重構(gòu)圖像。本文采用MATLAB軟件進(jìn)行仿真實驗,并進(jìn)行了可行性分析和效果對比分析。實驗結(jié)果表明,基于編碼一解碼對稱神經(jīng)網(wǎng)絡(luò)的圖像高分辨率算法能重構(gòu)出清晰度更高,質(zhì)量更好的圖像。