賈 凱,段新濤,李寶霞,郭玳豆
(河南師范大學(xué) 計算機(jī)與信息工程學(xué)院,河南 新鄉(xiāng) 453007)(*通信作者電子郵箱duanxintao@126.com)
由于圖像在獲取過程中受到成像系統(tǒng),傳輸環(huán)境等因素的影響,導(dǎo)致圖像的分辨率不高。這些低分辨率的圖像意味著原始圖像的關(guān)鍵信息丟失,因此無法滿足實際需求。然而在某些領(lǐng)域需要獲得高分辨率的圖像,為了解決此類問題,單幅圖像超分辨率(Single Image Super Resolution, SISR)技術(shù)將單幅低分辨率(Low Resolution, LR)圖像恢復(fù)為具有豐富的高頻信息的高分辨率(High Resolution, HR)圖像,在監(jiān)控設(shè)備[1]、遙感圖像[2]、醫(yī)療影像[3]和面部識別[4]等領(lǐng)域具有廣泛的應(yīng)用需求。
傳統(tǒng)的SISR方法包括3個研究方向:基于插值、基于重建和基于學(xué)習(xí)的方法。基于采樣理論的插值方法如雙三次插值法(Bicubic)[5]和最近鄰插值(nearest neighbor interpolation)[6],該類方法計算量低,能夠有效地增強(qiáng)圖像分辨率,但生成的圖像邊緣輪廓較為模糊,視覺上過于平滑,缺少紋理細(xì)節(jié),并容易產(chǎn)生棋盤效應(yīng)。基于重建的方法如迭代反投影(Iterative Back Projection, IBP)[7]方法、凸集投影(Projection Onto Convex Set, POCS)[8]法、最大后驗概率(MAximuma Posterior, MAP)[9]法等,該類方法簡單且復(fù)雜度低,緩解了基于插值方法產(chǎn)生的棋盤現(xiàn)象,但無法處理復(fù)雜結(jié)構(gòu)的圖像,無法滿足實際應(yīng)用需求;基于學(xué)習(xí)的方法如基于鄰居嵌入[10-11]、基于稀疏表示[12-13],該類方法認(rèn)為LR圖像已經(jīng)具備重建出與其對應(yīng)的HR圖像結(jié)構(gòu)信息的能力,采用幾何相似度的概念學(xué)習(xí)大量樣本之間的聯(lián)系,從而構(gòu)造出LR圖像和HR圖像之間的回歸和映射關(guān)系。
近年來,深度學(xué)習(xí)在圖像超分辨率的研究領(lǐng)域中取得了明顯的成效,得益于深度學(xué)習(xí)的強(qiáng)大的特征表征能力[14],使得效果優(yōu)于傳統(tǒng)的方法。Dong等[15]首次提出了將超分辨率卷積神經(jīng)網(wǎng)絡(luò)(Super-Resolution using Convolutional Neural Network, SRCNN)算法用于圖像超分辨率的任務(wù)中,與傳統(tǒng)方法相比,簡單的網(wǎng)絡(luò)結(jié)構(gòu)獲得理想的超分辨率效果。Dong等[16]又通過減少網(wǎng)絡(luò)參數(shù)加速訓(xùn)練,提出了快速SRCNN(Accelerating SRCNN, FSRCNN),該算法舍棄了使用雙三次插值的圖像預(yù)處理過程,使用CNN采取端到端的方式對LR圖像進(jìn)行重構(gòu),網(wǎng)絡(luò)深度更深并將反卷積層加入到網(wǎng)絡(luò)末端,算法精度和速度提升效果明顯。Wang等[17]針對SRCNN和FSRCNN網(wǎng)絡(luò)收斂過慢以及網(wǎng)絡(luò)較淺的問題,提出了基于端到端的深層和淺層卷積神經(jīng)網(wǎng)絡(luò)的圖像超分辨率算法(End-to-End image super-resolution algorithm via Deep and Shallow convolutional networks, EEDS),該方法使用兩個通道的CNN重建高分辨率圖像,實現(xiàn)了較好的性能;但深度的增加導(dǎo)致部分關(guān)鍵信息的丟失,網(wǎng)絡(luò)性能還有待提高。Kim等[18]提出了一種使用非常深的卷積網(wǎng)絡(luò)實現(xiàn)精確的圖像超分辨率(accurate image Super-Resolution using Very Deep convolutional networks, VDSR)方法,模型使用20層的基于ImageNet分類的VGG(Visual Geometry Group)-net[19]的深層卷積網(wǎng)絡(luò),在深度網(wǎng)絡(luò)結(jié)構(gòu)中多次級聯(lián)小型濾波器,高效率地利用大型圖像區(qū)域上下文信息,但難以避免邊緣信息的丟失。Tai等[20]提出了一個非常深的持續(xù)性記憶網(wǎng)絡(luò)(persistent Memory Network for image restoration, MemNet),它引入了一個由遞歸單元和門控單元組成的記憶塊,通過自適應(yīng)學(xué)習(xí)過程挖掘持久性記憶,來自先前記憶塊的表示和輸出被連接并發(fā)送到門控單元,該門控單元自適應(yīng)地控制應(yīng)當(dāng)保留多少以前的狀態(tài),并且決定應(yīng)該存儲多少當(dāng)前狀態(tài),在超分辨率任務(wù)中實現(xiàn)了優(yōu)越的性能。
得益于殘差網(wǎng)絡(luò)[21]結(jié)構(gòu)在圖像生成任務(wù)上的優(yōu)異性能以及MemNet在超分辨率任務(wù)實現(xiàn)的優(yōu)異性能,本文提出了一種基于雙通道卷積神經(jīng)網(wǎng)絡(luò)的圖像超分辨率增強(qiáng)算法(Enhanced algorithm of image Super-Resolution based on Dual-channel Convolution neural network, EDCSR)。本文工作有以下幾個方面:1)舍棄圖像預(yù)處理過程,使用雙通道CNN建立端到端的映射模型;2)在特征提取階段使用級聯(lián)的小型殘差塊構(gòu)造來提取LR圖像的詳細(xì)紋理信息并映射;3)在上采樣階段使用反卷積層膨脹放大圖像特征,再以1×1卷積層濃縮特征圖;4)在重建階段采用由小型殘差塊構(gòu)造的長短期記憶塊對高分辨率特征進(jìn)行映射,消除反卷積過程引入的額外的噪聲與圖像偽影,采用多尺度方式對圖像特征卷積提取,豐富重建圖像的紋理信息;5)除殘差塊使用整流線性單元(Rectified Linear Unit, ReLU)激活函數(shù)外,使用收斂速度更快的參數(shù)ReLU(Parameteric ReLU, PReLU)激活函數(shù)來提高網(wǎng)絡(luò)的非線性建模能力。實驗結(jié)果表明,本文網(wǎng)絡(luò)超分辨率的效果與雙三次插值、A+[11]、SRCNN[15]和EEDS[17]超分辨率重建算法相比,主觀視覺效果和客觀評價指標(biāo)方面都取得了更優(yōu)的結(jié)果。
在基于學(xué)習(xí)的圖像超分辨率算法中,SRCNN首次將卷積神經(jīng)網(wǎng)絡(luò)用于圖像超分辨率的任務(wù)中,與傳統(tǒng)方法相比,該方法直接端到端地學(xué)習(xí)LR圖像與HR圖像的映射關(guān)系。網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示,該算法采用經(jīng)雙三次插值預(yù)處理后的LR圖像塊作為網(wǎng)絡(luò)輸入,雖然SRCNN成功地將卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用到圖像超分辨率問題中,但此網(wǎng)絡(luò)仍有三個不足之處:第一,它依賴于小型圖像塊的上下文信息,圖像的深層次語義特征提取不充分。第二,訓(xùn)練收斂太慢,使用雙三次插值上采樣之后引入新的誤差并增加了網(wǎng)絡(luò)的時間復(fù)雜度。目前,雙三次插值已經(jīng)逐漸被反卷積以及其他卷積方法來替代。第三,網(wǎng)絡(luò)只能用于單一尺度的SR任務(wù),模型的適用范圍比較單一。因此在一定條件下,增加網(wǎng)絡(luò)深度,對網(wǎng)絡(luò)性能的提高有促進(jìn)作用。
圖1 SRCNN 結(jié)構(gòu)Fig. 1 Framework of SRCNN
基于雙通道卷積網(wǎng)絡(luò)的圖像超分辨率算法如EEDS[17]也是基于學(xué)習(xí)的SISR算法。針對1.1節(jié)分析的SRCNN和FSRCNN缺點,EEDS作了改進(jìn),結(jié)構(gòu)比SRCNN和FSRCNN的層數(shù)更深,并且使用殘差和跳層,由于殘差網(wǎng)絡(luò)采取快捷連接的方式,梯度消失的問題得到改善,數(shù)據(jù)流在層間的傳輸更為順利,使網(wǎng)絡(luò)更容易收斂。EEDS的網(wǎng)絡(luò)結(jié)構(gòu)分為深層和淺層兩部分:深層網(wǎng)絡(luò)包含13層,包括特征提取層、上采樣層以及多尺度重建層;淺層網(wǎng)絡(luò)包含3層,設(shè)計的思路來源于SRCNN的三層模型,其中使用反卷積層替代原始SRCNN的非線性映射層。最后,通過級聯(lián)深層網(wǎng)絡(luò)和淺層網(wǎng)絡(luò)的輸出,得到最終的HR圖像輸出。但此網(wǎng)絡(luò)仍然存在不足之處:由于深層網(wǎng)絡(luò)在特征提取階段不能充分提取LR圖像特征,上采樣過程特征非線性映射導(dǎo)致有用的信息丟失,造成偽影現(xiàn)象以及增加額外噪聲,重建過程中長期記憶內(nèi)容的丟失也比較嚴(yán)重,導(dǎo)致深層網(wǎng)絡(luò)在超分辨率的效果上大打折扣,與此同時,淺層網(wǎng)絡(luò)主要用于恢復(fù)LR圖像的主要成分,過于大的參數(shù)量限制了網(wǎng)絡(luò)的快速收斂性能。因此基于雙通道的圖像超分辨率方法,在網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計上依然有改進(jìn)的空間和提高網(wǎng)絡(luò)性能的趨勢。
由于淺層網(wǎng)絡(luò)不能很好地提取LR圖像特征,導(dǎo)致超分辨率效果不理想;深層網(wǎng)絡(luò)雖然在深度上的優(yōu)勢,效果優(yōu)于淺層網(wǎng)絡(luò),但網(wǎng)絡(luò)架構(gòu)的加深也會導(dǎo)致網(wǎng)絡(luò)難以訓(xùn)練,梯度消失/爆炸都會影響網(wǎng)絡(luò)的穩(wěn)定性。因此,結(jié)合網(wǎng)絡(luò)寬度和深度對網(wǎng)絡(luò)效果影響的這兩個因素,對SRCNN和EEDS進(jìn)行了改進(jìn)。
SRCNN和EEDS的網(wǎng)絡(luò)架構(gòu),一個是3層網(wǎng)絡(luò),另一個是深層和淺層分別為13和3層的雙通道網(wǎng)絡(luò)。淺層通道用于主要恢復(fù)圖像的總體輪廓,深層通道用于恢復(fù)豐富的紋理信息,因此雙通道的結(jié)合可以有效地提高訓(xùn)練的高效性,增強(qiáng)特征擬合能力,并降低了整個模型的計算復(fù)雜度?;谝陨弦蛩兀疚倪x擇在調(diào)整深層通道網(wǎng)絡(luò)深度的同時調(diào)整淺層通道卷積核參數(shù):使淺層通道主要負(fù)責(zé)網(wǎng)絡(luò)的收斂性能,降低時間復(fù)雜度;而深層通道主要負(fù)責(zé)更細(xì)致的紋理恢復(fù),提高網(wǎng)絡(luò)的恢復(fù)精度。考慮到殘差塊和跳層比單純地增加網(wǎng)絡(luò)層數(shù)能更快地收斂,緩解梯度彌散、特征丟失等問題,對更高層次的紋理信息的學(xué)習(xí)更有效,擬合圖像特征更準(zhǔn)確,因此本文選擇在深層通道使用殘差塊和跳層。同時,隨著深度的增加,模型在每個階段很難實現(xiàn)長期的依賴問題,導(dǎo)致重建階段對上采樣階段的依賴降低,上采樣階段重要的高頻信息在后續(xù)層的損失較多,本文選擇在重建階段使用3個殘差塊組成長短期記憶塊對上采樣特征空間進(jìn)行重建。最終本文提出了深層通道為21層、淺層通道為3層的基于雙通道卷積神經(jīng)網(wǎng)絡(luò)的圖像超分辨率增強(qiáng)算法。
本文基于雙通道卷積神經(jīng)網(wǎng)絡(luò)的圖像超分辨率增強(qiáng)算法(EDCSR)的設(shè)計充分考慮低分辨率圖像與超分辨率圖像的非線性映射關(guān)系,兩個通道的特征對模型的作用是相等的,每個通道對應(yīng)的權(quán)重不共享。本文構(gòu)建的雙通道網(wǎng)絡(luò)框架如圖2所示,主要分為兩個子通道:深層通道和淺層通道,淺層通道主要是用于恢復(fù)圖像的總體輪廓,深層通道用于提取LR圖像的詳細(xì)紋理信息。
在深層通道特征提取及映射階段中,輸入為48×48的3通道的LR圖像從輸入層輸入網(wǎng)絡(luò),先通過3×3的卷積核使通道數(shù)增加到64個,然后經(jīng)過1×1的卷積層將特征通道壓縮為16通道并輸入到殘差塊(Residual Block)中。殘差塊結(jié)構(gòu)如圖3所示,由Conv、ReLU、Conv組成,殘差塊中的Conv大小都是3×3,步長為1,padding為2,經(jīng)過3個殘差塊輸出16個48×48的特征圖,此時特征圖中的語義信息更加豐富。在上采樣階段,作為網(wǎng)絡(luò)中最重要的一個部分,其目標(biāo)是增加LR圖像的空間跨度到HR尺寸大小。在映射部分之后用1×1的濾波器將維數(shù)從16壓縮為4。本文不采用手工設(shè)計的插值方法,而是采用反卷積層(DeConv)來實現(xiàn)上采樣。DeConv的大小為9×9,對于2倍、3倍、4倍不同尺度的上采樣通過設(shè)置不同的步長實現(xiàn),反卷積過后特征圖增加到64個,最后用1×1的濾波器將維數(shù)從64映射到64,使用1×1的濾波器有效地減少參數(shù),降低計算復(fù)雜度。在長短期記憶重建階段,作為網(wǎng)絡(luò)的最后一環(huán)也是最重要的一個部分,決定了網(wǎng)絡(luò)的紋理信息恢復(fù)質(zhì)量。考慮到模型在每個階段很難實現(xiàn)長期的依賴問題,在采用多尺度卷積的基礎(chǔ)上,本文在重建開始階段使用長短期記憶塊對上采樣特征空間進(jìn)行重建,長短期記憶塊如圖4所示,由1個卷積層和3個殘差塊組成。特征圖的維數(shù)從64到32,進(jìn)一步降低維度,增強(qiáng)非線性映射的能力。長短期記憶塊中的Conv大小都是3×3,步長為1,padding為2,最后輸出32個特征圖,接著使用1×1的濾波器將維數(shù)從32壓縮為16,提取高維特征同時降低計算復(fù)雜度。為了有效地聚合16個特征圖局部信息,使用多尺度卷積進(jìn)行重建,多尺度卷積層包含4個大小不同的濾波器,分別為1×1、3×3、5×5和7×7,在這一層卷積的4個濾波器是平行的,每個濾波器都有4個特征圖輸出,然后將16個特征圖結(jié)合并輸出,從而提取不同尺度的特征,獲得更佳的效果。最后,使用1×1的濾波器,作為多尺度紋理特征的加權(quán)組合,此時特征圖的維數(shù)從16到1。
圖2 EDCSR結(jié)構(gòu)Fig. 2 Framework of EDCSR
圖3 殘差塊結(jié)構(gòu)Fig. 3 Framework of residual block
相應(yīng)的,在淺層通道使用類似于SRCNN的3層結(jié)構(gòu),不同的是采用反卷積完成上采樣工作。具體過程為:輸入為48×48的3通道的LR圖像從輸入層輸入網(wǎng)絡(luò),先通過3×3的濾波器使通道數(shù)增加到4個,緊接著使用反卷積增加LR圖像的空間跨度到HR尺寸大小,DeConv卷積核大小與深層網(wǎng)絡(luò)相同為9×9,反卷積過后特征圖增加到16個。最后,使用3×3 大小的卷積核,步長為1,padding為2,輸出1個3通道的特征圖。
圖4 長短期記憶塊結(jié)構(gòu)Fig. 4 Framework of long-short term memory block
最后,聯(lián)合優(yōu)化淺層和深層網(wǎng)絡(luò)的輸出特征圖,使兩個網(wǎng)絡(luò)的輸出相加,保留有效的成分,豐富特征圖的紋理信息。然后將特征圖輸入到一個1個1×1的卷積層。最終得到HR的圖像輸出,圖像的質(zhì)量大大提高。圖5為網(wǎng)絡(luò)重建倍數(shù)為4時各子通道中間過程效果,可以發(fā)現(xiàn)淺層通道只保留了圖像的基本輪廓信息但缺乏紋理細(xì)節(jié),深層通道則恢復(fù)了更多的紋理細(xì)節(jié),經(jīng)由雙通道聯(lián)合輸出的結(jié)果相比單一通道的網(wǎng)絡(luò),具有更加豐富的紋理信息,邊緣更加銳利,比單一通道的網(wǎng)絡(luò)具有明顯的優(yōu)勢。
圖5 重建倍數(shù)為4時各子通道中間過程效果Fig. 5 Effect of intermediate process of each sub-channel with reconstruction scale of 4
由于本文所提出的結(jié)構(gòu)比改進(jìn)的網(wǎng)絡(luò)深,低層與高層的特征圖之間特征分布存在的差別較大,因此為了避免梯度消失問題,除了殘差塊使用ReLU[22]激活函數(shù),在本文所有的卷積操作后使用收斂速度更快的PReLU[23]激活函數(shù)來提高網(wǎng)絡(luò)的非線性建模能力。
2.3.1 殘差塊
本文網(wǎng)絡(luò)的殘差塊設(shè)計靈感來自于He等[21]提出的152層的ResNet網(wǎng)絡(luò)。在ImageNet數(shù)據(jù)集上的識別性能隨著網(wǎng)絡(luò)層數(shù)的提高而提升,在計算機(jī)視覺問題[18-19,21]從低級到高級任務(wù)中,都表現(xiàn)出優(yōu)異的性能。
原始?xì)埐顗K(Residual Block)如圖3(a)所示,由前饋卷積網(wǎng)絡(luò)加上一個跳躍繞過一些層組成,堆疊的殘差塊形成了最終的殘差網(wǎng)絡(luò)。相較于“平整網(wǎng)路”,殘差網(wǎng)絡(luò)有著更低的收斂損失,同時也沒有因梯度消失產(chǎn)生過高的過擬合,使網(wǎng)絡(luò)更容易優(yōu)化,特征圖維數(shù)逐層遞進(jìn),保證輸出特征表達(dá)能力。由于原始的殘差塊中使用批量正則化(Batch Normalization, BN)層[24]對卷積層輸出的特征作歸一化處理,這樣會影響到卷積層所學(xué)習(xí)到的特征分布,造成特征圖的重要信息丟失,同時批量正則化層與先前的卷積層具有相同數(shù)量的參數(shù),消耗了大量的內(nèi)存。Nah等[25]在提出的圖像去模糊任務(wù)中,刪除殘差塊中BN層,網(wǎng)絡(luò)性能得到很大的提升,因此本文使用刪除BN層的殘差塊,保證網(wǎng)絡(luò)訓(xùn)練的穩(wěn)定以及減少輸出中的顏色偏移。本文的每個殘差塊由兩個卷積核為3×3的卷積層和一個ReLU層組成。本文的殘差塊的構(gòu)造如圖3(b)所示。
殘差塊可以表示為:
Xl+1=Xl+F(X)
(1)
式中:Xl和Xl+1分別表示殘差塊的輸入和輸出向量;函數(shù)F(X)表示殘差映射。本文的殘差塊只包含卷積層和ReLU層。修正線性單元ReLU有單側(cè)抑制和稀疏激活性,在大多數(shù)情況下,ReLU梯度是一個常數(shù),在一定程度上避免梯度消失問題。數(shù)學(xué)表達(dá)式如(2)所示:
f(x)=max(0,xi)
(2)
在本文中,殘差塊之外的卷積層使用的激活函數(shù)為參數(shù)整流線性單元(PReLU)[23],PReLU的使用主要是為了避免殘差塊之外的卷積層由ReLU中零梯度引起的“死角”[26]。它和ReLU差異主要體現(xiàn)在負(fù)數(shù)部分,數(shù)學(xué)表達(dá)式如(3)所示:
f(x)=max(0,xi)+aimin(xi,0)
(3)
其中:xi是第i層的輸入信號;ai是負(fù)值部分的系數(shù),對于式(2),參數(shù)ai被設(shè)置為0,但對于PReLU來說負(fù)數(shù)部分是可以學(xué)習(xí)的。最后,激活函數(shù)的輸出可以描述為:
fl(x)=f(wl*fl-1(x)+bl)
(4)
其中:fl是最終輸出特征圖;bl是第l層的偏置。
2.3.2 長短期記憶塊
模型在每個階段很難實現(xiàn)長期的依賴問題,導(dǎo)致重建階段對上采樣階段的依賴降低,上采樣階段重要的高頻信息在后續(xù)的階段損失較多,本文選擇在重建開始階段使用3個殘差塊(B1,B2,B3)組合成長短期記憶塊對上采樣特征空間進(jìn)行重建。長短期記憶塊的設(shè)計靈感來自Tai等[20]提出了一個非常深的持續(xù)性記憶網(wǎng)絡(luò)(MemNet)。本文的長短期記憶塊的構(gòu)造如圖4所示。
本文使用三個殘差塊在長短期記憶塊中作遞歸學(xué)習(xí),將上采樣階段的特征向量x作為輸入,則對于殘差塊Bi,可以計算如下:
Bi=F(Bi-1,wi)+Bi-1
(5)
式中:i分別被設(shè)置為1、2、3;B1、B2和B3分別表示對應(yīng)殘差塊的輸出,當(dāng)i=1時,Bi-1=x;F表示殘差映射;wi則表示殘差塊的要學(xué)習(xí)的權(quán)重向量。由于每個殘差塊有兩個卷積層以及ReLU激活函數(shù)組成,則式(5)可以進(jìn)一步表示為:
(6)
其中:ReLU表示激活函數(shù);w1、w2分別表示為兩個卷積層的權(quán)重向量;為了簡單起見,偏置在以上式(6)中被省略。
最后,與傳統(tǒng)的平整網(wǎng)絡(luò)不同的是,本文采用級聯(lián)的方式,對三個殘差塊的輸出特征進(jìn)行聯(lián)合學(xué)習(xí),這種方式有效地避免了來自于上一階段的內(nèi)容損失。計算的過程如下:
Bout=[B1,B2,B3]
(7)
式中Bout表示最終的輸出,傳遞到下一層。
2.4.1 損失函數(shù)
模型通過最小化重建得到的超分辨率圖像和真實高分辨率圖像之間的損失代價,模型參數(shù)Θ={wi,bi}利用反向傳播進(jìn)行不斷地調(diào)整,對于一組真實高分辨率的圖像Xj和網(wǎng)絡(luò)重建得到的超分辨率圖像Fj(Y;Θ),本文采用均方誤差(Mean Squared Error, MSE)作為代價函數(shù):
(8)
其中n代表訓(xùn)練樣本的數(shù)量。由于兩通道網(wǎng)絡(luò)的權(quán)值不共享,因此轉(zhuǎn)化為最小化兩通道代價函數(shù)問題:
LEDC=min[Ld(Θ)+Ls(Θ)]
(9)
其中,Ld(Θ)和Ls(Θ)為深層通道和淺層通道的損失代價。網(wǎng)絡(luò)利用Adam優(yōu)化方法和反向傳播算法[27]來最小化MSE以調(diào)整網(wǎng)絡(luò)的參數(shù),網(wǎng)絡(luò)權(quán)重的更新過程為:
(10)
2.4.2 評價標(biāo)準(zhǔn)
本文使用峰值信噪比(Peak Signal to Noise Ratio, PSNR)[28]和結(jié)構(gòu)相似性(Structural SIMilarity, SSIM)[29]兩種通用的評判指標(biāo)衡量生成的圖像質(zhì)量與原始高分辨率圖像的差異。
PSNR作為圖像質(zhì)量客觀評價的指標(biāo),通過計算相對應(yīng)像素點之間的誤差,衡量圖像質(zhì)量,數(shù)值越大表示圖像失真越小,計算式如下:
PSNR=10lg((2n-1)2/MSE)
(11)
其中:MSE是原圖像與超分辨率圖像直接的均方誤差;(2n-1)2是信號最大值的平方,n是每個采樣值的比特數(shù)。
SSIM對圖像相似性的衡量從亮度、對比度和結(jié)構(gòu)三個方面進(jìn)行。SSIM取值范圍為[0,1],值的范圍越接近1,失真效果則越小,計算式如下:
SSIM(X,Y)=l(X,Y)·c(X,Y)·s(X,Y)
(12)
(13)
(14)
s(X,Y) = (2σX Y+C3)/(σXσY+C3)
(15)
其中:X為低分辨率圖像經(jīng)過網(wǎng)絡(luò)訓(xùn)練輸出的超分辨率圖像;Y為原始的高分辨率圖像;μX和μY分別表示圖像X和Y的均值;σX、σY表示超分辨率圖像和原始高分辨率圖像的標(biāo)準(zhǔn)差,σXY表示超分辨率圖像和原始高分辨率圖像的協(xié)方差;C1、C2、C3為常數(shù)項,為了避免分母出現(xiàn)0的情況,通常的做法是取C1=(K1×L)2、C2=(K2×L)2、C3=C2/2,一般取K1=0.01,K2=0.03,L=255。
本文實驗采用文獻(xiàn)[13]中的91張圖片和從DIV2K選擇的100張2K高清圖片[30],共191張圖片作為訓(xùn)練集訓(xùn)練網(wǎng)絡(luò)模型??紤]到數(shù)據(jù)集的大小直接影響網(wǎng)絡(luò)的性能,在原有的訓(xùn)練數(shù)據(jù)集的基礎(chǔ)上,對圖像采取兩種方式的數(shù)據(jù)擴(kuò)增:1)比例縮放,每張圖像都分別按照0.9、0.8、0.7和0.6的比例進(jìn)行縮放。2)旋轉(zhuǎn),每張圖像進(jìn)行旋轉(zhuǎn)90°、180°和270°。以此獲得了5×4=20倍的圖像,最終獲得3 820張圖像進(jìn)行訓(xùn)練。訓(xùn)練過程中使用經(jīng)下采樣大小為48×48的子圖像,網(wǎng)絡(luò)的初始的學(xué)習(xí)速率設(shè)置為0.001,采取Adam優(yōu)化方法自動調(diào)節(jié)學(xué)習(xí)率,使網(wǎng)絡(luò)參數(shù)能夠平穩(wěn)學(xué)習(xí)。每一批的圖像數(shù)設(shè)置為64,網(wǎng)絡(luò)訓(xùn)練了10萬次。測試集為國際上普遍使用的公共數(shù)據(jù)集Set5[31]和Set14[32]。在圖形處理器(Graphics Processing Unit, GPU)為NVIDIA GeForce 1080 Ti,實驗環(huán)境為Keras,應(yīng)用Python3.5、OpenCV3.0進(jìn)行仿真實驗。本文網(wǎng)絡(luò)訓(xùn)練結(jié)果將從主觀視覺效果、客觀評價指標(biāo)以及效率三個方面與現(xiàn)有的雙三次插值(Bicubic)[5]、A+[11]、SRCNN[15]和EEDS[17]等算法作對比。
為了驗證本文所提出的基于雙通道卷積神經(jīng)網(wǎng)絡(luò)的圖像超分辨率增強(qiáng)算法的有效性,本文使用訓(xùn)練好的模型對LR圖像進(jìn)行2倍、3倍和4倍的超分辨率重建。在Set5以及Set14數(shù)據(jù)集上對比所提出的EDCSR方法的性能,并與現(xiàn)有的雙三次插值(Bicubic)[5]、A+[11]、SRCNN[15]和EEDS[17]等算法的結(jié)果進(jìn)行比較。為了確保實驗結(jié)果的合理客觀,在兩個數(shù)據(jù)集上選擇具有代表性,且紋理細(xì)節(jié)豐富的圖像進(jìn)行測試和對比。測試結(jié)果如圖6~7所示,分別比較了雙三次插值、A+、SRCNN、EEDS對butterfly、comic圖像不同重建倍數(shù)下的結(jié)果,選取整個全景圖以及截取butterfly的翅膀紋理變化較為明顯的部分、comic的臉頰和肩部等細(xì)節(jié)部分進(jìn)行主觀視覺評價。
圖6 重建倍數(shù)為4時不同算法對“butterfly”的超分辨率結(jié)果Fig. 6 Super-resolution results of “butterfly” with reconstruction scale of 4
圖7 重建倍數(shù)為3時不同算法對“comic”的超分辨率結(jié)果Fig. 7 Super-resolution results of “comic” with reconstruction scale of 3
圖6~7中,(a)~(d)依次為4種對比模型的重構(gòu)超分辨率效果圖,圖6(f)為Set5測試集中原始高分辨率圖像,圖7(f)為Set14測試集中原始高分辨率圖像。從圖6可以看出,本文算法重建出的蝴蝶翅膀邊緣相比其他方法更加銳利,邊緣更加完整,圖像的紋理也比較清晰。從圖7可以看出,本文算法重建出的comic圖像的臉頰邊緣重建更加銳利,邊緣保持方面更好,肩部紋理細(xì)節(jié)更豐富。各實驗條件下的平均PSNR和SSIM客觀測試指標(biāo)如表1所示,表中最優(yōu)的實驗結(jié)果以加粗的方式標(biāo)出。表1的測試結(jié)果表明,本文算法處理的結(jié)果在平均PSNR和SSIM兩個指標(biāo)上都優(yōu)于對比的算法,處理效果更好,驗證了本文算法的有效性。
為了進(jìn)一步驗證本文算法的性能,對比本文算法和經(jīng)典模型如SelfEx[33]、FSRCNN[16]、VDSR[18]等在不同重建倍數(shù)下的PSNR,結(jié)果如表2所示。從表2結(jié)果對比可以看出,EDCSR模型的性能與VDSR相比,雖然只有在Set14數(shù)據(jù)集下重建倍數(shù)為4時,PSNR高出0.1 dB,但是從網(wǎng)絡(luò)的構(gòu)造方面考慮,EDCSR借助殘差網(wǎng)絡(luò)防止網(wǎng)絡(luò)退化的優(yōu)勢,以及構(gòu)造的長短期記憶塊恢復(fù)更詳細(xì)的紋理細(xì)節(jié)方面,依然不遜于依賴大參數(shù)的網(wǎng)絡(luò)模型。
表1 測試集Set5、Set14在不同重建倍數(shù)的平均PSNR及SSIMTab. 1 Average PSNR and SSIM at different reconstruction scales on datasets Set5, Set14
表2 不同經(jīng)典算法的平均PSNR對比 dBTab. 2 Average PSNR comparison of different typical algorithms dB
表3 不同算法時間復(fù)雜度對比Tab. 3 Time complexity comparison of different algorithms
為了更直觀地說明本文算法的時間復(fù)雜度,以Set5數(shù)據(jù)集為例,在重建倍數(shù)為4時采用不同訓(xùn)練次數(shù)得到的網(wǎng)絡(luò)模型對其進(jìn)行定量的測試并記錄,最終得到各方法的PSNR變化趨勢,如圖8所示。
圖8 不同算法在不同迭代次數(shù)下的PSNRFig. 8 PSNR of different algorithms at different iterations
從圖8可以看出,相同的迭代次數(shù)下,本文算法比SRCNN和EEDS得到了更好的超分辨率效果,收斂性能更優(yōu)越,同時計算復(fù)雜度大幅降低,效率優(yōu)于EEDS和SRCNN等對比算法。
本文提出了一種增強(qiáng)的雙通道卷積神經(jīng)網(wǎng)絡(luò)圖像超分辨率算法。深層通道用于提取圖像的詳細(xì)紋理信息,增大圖像局部感受野,淺層通道主要是用于恢復(fù)圖像的總體輪廓。實驗結(jié)果表明,簡化網(wǎng)絡(luò)參數(shù)可以增強(qiáng)網(wǎng)絡(luò)特征擬合的能力,使得網(wǎng)絡(luò)模型可用更高的學(xué)習(xí)速率進(jìn)行訓(xùn)練,提高模型的收斂速度,同時,在網(wǎng)絡(luò)中使用殘差塊構(gòu)造的長短期記憶塊,比僅使用殘差塊的單一映射輸出網(wǎng)絡(luò),圖像恢復(fù)的質(zhì)量更好,性能也有所改善,驗證了使用長短期記憶塊的必要性。無論是在主觀視覺效果、客觀評價參數(shù)還是效率上,本文算法的性能相比對比算法都有所提高,驗證了改進(jìn)方法的實用性。