樓鑫杰,李小薪,劉志勇
(1.浙江工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,杭州 310023;2.深圳職業(yè)技術(shù)學(xué)院 工業(yè)中心,廣東 深圳 518055)
圖像超分辨率重建旨在從低分辨率圖像中重建出高分辨率圖像,但由于多個(gè)高分辨率圖像可能會(huì)產(chǎn)生相同的低分辨率圖像,因此超分辨率問題具有固有的不變形特點(diǎn),且高分辨率圖像會(huì)因多種類型的細(xì)節(jié)損失而退化成不同的低分辨率圖像,導(dǎo)致圖像超分辨率重建任務(wù)較為復(fù)雜。為解決該問題,研究人員提出了很多圖像超分辨率方法,包括基于插值的方法[1]、基于重構(gòu)的方 法[2]以及基于學(xué)習(xí) 的方法[3-5]。
自DONG 等[6]引入淺層卷積神經(jīng)網(wǎng)絡(luò)(CNN)來實(shí)現(xiàn)圖像超分辨率后,基于深度學(xué)習(xí)的方法由于其卓越的重建性能而引起廣泛關(guān)注。基于深度學(xué)習(xí)方法的優(yōu)勢主要基于深度網(wǎng)絡(luò)和跳躍連接兩個(gè)關(guān)鍵因素。深度網(wǎng)絡(luò)可以提供強(qiáng)大的特征表達(dá)和提取能力,能夠建立復(fù)雜圖像從低分辨率到高分辨率的映射,同時(shí)可以通過更大的接受域來保留更多的上下文信息,且跳躍連接可以有效地緩解僅通過堆疊更多卷積層加深網(wǎng)絡(luò)而導(dǎo)致的梯度消失或爆炸問題。
隨著網(wǎng)絡(luò)深度的增加,網(wǎng)絡(luò)參數(shù)的數(shù)量也不斷增多,大規(guī)模的網(wǎng)絡(luò)模型將占用巨大的內(nèi)存資源,且存在過擬合的風(fēng)險(xiǎn)。為減少網(wǎng)絡(luò)參數(shù)數(shù)量,使用遞歸結(jié)構(gòu)是常見做法。最近的研究表明[7-8],許多具有遞歸結(jié)構(gòu)的網(wǎng)絡(luò)例如DRCN[9]、DRRN[10]等均可以近似為簡單狀態(tài)下的遞歸神經(jīng)網(wǎng)絡(luò)(RNN)。與多數(shù)傳統(tǒng)的基于深度學(xué)習(xí)的方法相似,這些具有遞歸結(jié)構(gòu)的網(wǎng)絡(luò)可以以前饋方式共享信息。但即使采用了跳躍連接,前饋方式也無法使前一層的網(wǎng)絡(luò)從后一層中得到有用的信息。
在生物學(xué)的認(rèn)知理論中,連接皮層視覺區(qū)域的反饋連接可以將響應(yīng)信號(hào)從高層區(qū)域傳輸?shù)降蛯訁^(qū)域[11-12],因此最近的研究[13-14]已將這種反饋機(jī)制應(yīng)用于人工神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)中。這些體系結(jié)構(gòu)中的反饋機(jī)制以自上而下的方式工作,通過將高階信息反饋給淺層網(wǎng)絡(luò),完善低級(jí)編碼信息。
本文提出一種基于反饋機(jī)制的圖像超分辨率重建算法,通過構(gòu)建超分辨率反饋網(wǎng)絡(luò),在反饋連接的基礎(chǔ)上使用高階信息細(xì)化低階信息。該網(wǎng)絡(luò)本質(zhì)上是具有反饋模塊的RNN,是專門針對圖像超分辨率任務(wù)設(shè)計(jì)的網(wǎng)絡(luò)。其中,反饋模塊由具有密集跳躍連接的多組上采樣層和下采樣層構(gòu)成,能形成強(qiáng)大的高級(jí)表示形式。受AMIR 等[14]啟發(fā),本文使用具有約束條件的RNN 中包含的隱藏狀態(tài)來實(shí)現(xiàn)網(wǎng)絡(luò)的反饋機(jī)制,并使用課程學(xué)習(xí)策略,通過連續(xù)迭代的方式使網(wǎng)絡(luò)學(xué)習(xí)復(fù)雜的失真模型。
本節(jié)主要對3 個(gè)方面的內(nèi)容展開闡述,包括基于深度學(xué)習(xí)的圖像超分辨率方法、反饋機(jī)制以及課程學(xué)習(xí)。
深度學(xué)習(xí)已經(jīng)在包括圖像超分辨率任務(wù)在內(nèi)的各種計(jì)算機(jī)視覺任務(wù)中顯示了卓越的性能。DONG等[6]在圖像超分辨率中引入了3 層CNN,以學(xué)習(xí)復(fù)雜的低分辨率圖像到高分辨率圖像的映射。KIM等[9]將CNN 的深度增加到20 層,以便在低分辨率圖像中使用更多的上下文信息。文獻(xiàn)[9]使用跳躍連接來克服當(dāng)網(wǎng)絡(luò)變得更深時(shí)的優(yōu)化難題。最近的研究已采用不同類型的跳躍連接改善圖像高分辨率算法,例如SRResNet[15]和EDSR[7]應(yīng)用文獻(xiàn)[16]中的殘差跳躍連接,SRDenseNet 應(yīng)用文獻(xiàn)[17]中的密集跳躍連接。ZHANG 等[1]在RDN 模型中組合了局部與全局殘差和密集跳躍連接。由于這些網(wǎng)絡(luò)體系結(jié)構(gòu)中的跳躍連接均以自下而上的方式使用或扮演組合分層功能,因此低級(jí)別的信息只能從前面幾層中接收到。由于接收域小,因此缺少足夠的上下文信息。這些低級(jí)別的信息在之后的層中被重復(fù)使用,從而進(jìn)一步限制了網(wǎng)絡(luò)的重構(gòu)能力。為解決此問題,本文提出一種超分辨率反饋網(wǎng)絡(luò),其中高級(jí)別信息以自上而下的方式流過反饋連接,以獲取更多上下文信息,從而糾正低級(jí)別的信息。
神經(jīng)網(wǎng)絡(luò)的反饋機(jī)制允許網(wǎng)絡(luò)通過輸出信息來更正之前的狀態(tài),該反饋機(jī)制已被許多網(wǎng)絡(luò)體系結(jié)構(gòu)采用以滿足各種計(jì)算機(jī)視覺任務(wù)的需求。在語義分割領(lǐng)域,文獻(xiàn)[18]嘗試用拓?fù)鋼p失來提取高階語言信息,高階語義信息反饋到淺層網(wǎng)絡(luò)用于糾正低階語義信息。文獻(xiàn)[14]旨在解決計(jì)算機(jī)視覺任務(wù)中的分類問題,將具有高階信息的隱藏狀態(tài)轉(zhuǎn)移到輸入圖像的信息中,從而在卷積遞歸神經(jīng)網(wǎng)絡(luò)中實(shí)現(xiàn)反饋。對于圖像高分辨率重建任務(wù),HAN 等[19]應(yīng)用一種延遲反饋機(jī)制,在雙狀態(tài)RNN 中的2 個(gè)循環(huán)狀態(tài)之間傳輸信息。但與本文的反饋網(wǎng)絡(luò)不同的是,HAN 等的工作中低分辨率圖像到最終的高分辨率圖像信息流仍然采用前饋方式。本文的反饋模塊中的信息通過密集的跳躍連接有效地流經(jīng)結(jié)構(gòu)層。如圖1 所示,每次迭代的隱藏狀態(tài)都會(huì)流入下一個(gè)迭代過程以重新配置輸入。為了使隱藏狀態(tài)包含高分辨率圖像的信息,在訓(xùn)練過程中將總損失與每次迭代過程相關(guān)聯(lián)。超分辨率反饋網(wǎng)絡(luò)的設(shè)計(jì)原理是使粗糙的高分辨率圖像信息可以促進(jìn)低分辨率圖像更好地重建完整的高分辨率圖像。圖2 顯示了本文網(wǎng)絡(luò)的基本架構(gòu),很好地體現(xiàn)了本文的反饋機(jī)制。實(shí)驗(yàn)結(jié)果表明,本文的反饋模塊具有更好的重建性能,更適合圖像超分辨率任務(wù)。
圖1 反饋模塊的信息流Fig.1 Information flow of the feedback module
圖2 本文網(wǎng)絡(luò)的基本框架Fig.2 Basic framework of the network in this paper
課程學(xué)習(xí)是由易到難的逐步學(xué)習(xí)過程,此過程將逐漸增加學(xué)習(xí)目標(biāo)的難度,是改善訓(xùn)練過程的一種有效策略。課程學(xué)習(xí)在早期主要用于處理單個(gè)任務(wù),PENTINA 等[20]將課程學(xué)習(xí)以順序的方式擴(kuò)展到多個(gè)任務(wù)。GAO 等[21]利用課程學(xué)習(xí)解決圖像恢復(fù)中的注視問題。由于他們的網(wǎng)絡(luò)僅限于一次預(yù)測,因此在訓(xùn)練過程中將根據(jù)任務(wù)的復(fù)雜程度,通過輸入不同的訓(xùn)練數(shù)據(jù)來實(shí)施課程學(xué)習(xí)。本文通過利用課程學(xué)習(xí)從易到難的訓(xùn)練過程,逐漸恢復(fù)失真的圖像,重建出高分辨率圖像。
本文的反饋機(jī)制通過迭代的網(wǎng)絡(luò)子模塊重新配置,以糾正每個(gè)迭代過程中系統(tǒng)的輸入,這種迭代的因果過程有助于上下文信息的傳遞和利用,因?yàn)楦唠A信息可以幫助低分辨率圖像更好地恢復(fù)重建。本節(jié)首先介紹超分辨率反饋網(wǎng)絡(luò)的整體架構(gòu),然后對反饋模塊的設(shè)計(jì)展開探究,最后是課程學(xué)習(xí)在本文中的應(yīng)用以及最后損失的計(jì)算方法的定義。
如圖3 所示是本文的網(wǎng)絡(luò)結(jié)構(gòu),可以看到超分辨反饋網(wǎng)絡(luò)結(jié)構(gòu)可以展開為T次迭代過程,每次迭代過程t在時(shí)間上從1 到T排序。為了使超分辨率反饋網(wǎng)絡(luò)中的隱藏狀態(tài)帶有輸出的概念信息,每個(gè)迭代的損失將被計(jì)算疊加到總損失上。每個(gè)迭代輪次的子網(wǎng)絡(luò)包含3 個(gè)部分:低分辨率特征提取模塊(LRFB),反饋模塊(FB)和重構(gòu)模塊(RB),每個(gè)模塊的權(quán)重在時(shí)間上是共享的。每次迭代過程中將通過全局的殘差跳躍連接傳遞上采樣的圖像,以便于繞過子網(wǎng)。因此,網(wǎng)絡(luò)的每次迭代過程的目的是在輸入低分辨率圖像ILR的同時(shí)恢復(fù)殘差圖像Conv(s,n)和Deconv(s,n)分別為卷積層和反卷積層。其中:s是卷積核的大?。籲是卷積核的數(shù)量。
圖3 超分辨率反饋網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Super-resolution feedback network structure
低分辨率特征提取器包括Conv(3,4m) 和Conv(3,m)。其中:m表示基本卷積核數(shù)。當(dāng)為低分辨率特征提取模塊提供低分辨率圖像ILR時(shí),可以從中獲取低分辨率圖像信息的淺層特征如式(1)所示:
其中:fFB表示反饋模塊的操作,圖1 顯示了反饋模塊的具體數(shù)據(jù)流圖。本文將在3.2 節(jié)對反饋模塊展開描述。
重構(gòu)模塊利用Deconv(k,m)將低分辨率特征恢復(fù)到正常的高分辨率圖像,之后再用Conv(3,cout)生成殘差圖像,公式(3)描述了重構(gòu)模塊(RB)的功能:
其中:fRB表示重構(gòu)操作。
第t個(gè)迭代輪次的輸出圖像可由式(4)得到:
其中:fUP表示上采樣核操作,通過跳躍連接將淺層信息傳輸?shù)缴顚泳W(wǎng)絡(luò),盡可能恢復(fù)原圖像的細(xì)節(jié)特征。經(jīng)過T輪的迭代過程,將得到T張高分辨率圖像
如圖4 所示為第t個(gè)輪次迭代過程中的反饋模塊通過接受反饋信息來糾正低階信息,將更強(qiáng)大的高階信息作為輸出傳遞到下一個(gè)迭代和重構(gòu)模塊。反饋模塊包含G組特征映射網(wǎng)絡(luò)子結(jié)構(gòu),并且通過密集的跳躍連接相互聯(lián)系。每一組特征映射子結(jié)構(gòu)均可以通過上采樣操作和下采樣操作將高分辨率圖像特征映射到低分辨率圖像上。
圖4 反饋模塊的網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Network structure of feedback module
其中:C↓g對應(yīng)的是通過第g組特征映射子網(wǎng)絡(luò)的Conv(1,m)的下采樣操作。
為充分利用每個(gè)特征提取子網(wǎng)絡(luò)獲取的有效信息和下一個(gè)迭代輪次的低分辨率特征通過跳躍連接對每個(gè)輪次的低分辨率特征進(jìn)行有效融合,以生成反饋模塊的輸出:
本文選擇L1 損失函數(shù)優(yōu)化本文的網(wǎng)絡(luò)模型。由于本文框架會(huì)在時(shí)間刻度上展開,由此對同一退化模型會(huì)得到T張目標(biāo)高分辨率圖像對于簡單的退化模型,T張目標(biāo)高分辨率圖像基本一致,但對于復(fù)雜的退化模型,會(huì)根據(jù)T次迭代過程執(zhí)行課程訓(xùn)練的任務(wù)難度對進(jìn)行排序,每個(gè)輪次的損失都是總損失的一部分,因此網(wǎng)絡(luò)的整體損失定義為:
其中:θ為網(wǎng)絡(luò)參數(shù)的集合;Wt是固定的參數(shù);Z=本文認(rèn)為越到迭代后面,模型所造成的損失權(quán)重占比越大,可以提升最終模型的準(zhǔn)確性,同時(shí)也可以在所有迭代過程中通過學(xué)習(xí)錯(cuò)誤以糾正模型。
本文通過端到端的訓(xùn)練方式學(xué)習(xí)網(wǎng)絡(luò)參數(shù)θ,通過最小化超分辨率圖像F(X;θ)和實(shí)際的高分辨率X的L1 損失函數(shù)進(jìn)行學(xué)習(xí),如式(10)所示:
本文設(shè)置模型的初始值學(xué)習(xí)率為1×10-4,采取adam 優(yōu)化策略以提高收斂的效果。
數(shù)據(jù)庫和評(píng)估指標(biāo):使用DIV2K[21]和Flickr2K作為網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)。為充分利用訓(xùn)練數(shù)據(jù),采用數(shù)據(jù)增強(qiáng)的方法。使用PSNR 和SSIM 指標(biāo)作為超分辨率圖像的評(píng)估指標(biāo),測試數(shù)據(jù)集采用5 個(gè)標(biāo)準(zhǔn)的測試集:Set5,Set14,B100,Urban100,Manga109。
為與現(xiàn)有模型進(jìn)行公平且全面的比較,選取2 種真實(shí)高分辨率圖像生成低分辨率圖像的標(biāo)準(zhǔn)退化模型。其中第1 種退化模型是GB 退化模型,該模型將高斯模糊應(yīng)用于高分辨率圖像下采樣,在實(shí)驗(yàn)中使用7×7 大小的高斯核進(jìn)行模糊處理。與GB 退化模型不同的是,WN 退化模型是經(jīng)過雙三次下采樣及添加高斯白噪聲處理的退化模型,高斯白噪聲的標(biāo)準(zhǔn)差sigma 為25,高斯函數(shù)的偏差為0,處理后的像素點(diǎn)值限制范圍為0~255。
使用pytorch 訓(xùn)練框架和2 塊NVIDIA1080 TiGPU,每個(gè)訓(xùn)練批次大小為16。為從低分辨率圖像中充分利用上下文信息,根據(jù)放大系數(shù)提供具有不同色塊大小的RGB 圖像塊。不同尺寸縮放和對應(yīng)的圖像塊大小如表1 所示,表2 是參數(shù)的設(shè)置,Conv(k,m)和Deconv(k,m)中k、步長和填充大小。本文選用Relu 作為除了每個(gè)子網(wǎng)的最后一層之外所有卷積層和反卷積層的激活函數(shù)。Adam 參數(shù)優(yōu)化算法用來優(yōu)化網(wǎng)絡(luò)并加速網(wǎng)絡(luò)的收斂,本文設(shè)置學(xué)習(xí)率的初始值為0.000 1,每200 個(gè)迭代輪次學(xué)習(xí)率減少為1/2。
表1 不同尺寸縮放對應(yīng)的圖像塊尺寸Table 1 Image block size corresponding to different size scaling
表2 參數(shù)設(shè)置Table 2 Parameter settings
本節(jié)主要探索反饋模塊的有效性,提出的反饋主要由2部分組成:1)上采樣層和下采樣層(UDSL);2)密集的跳躍連接(DSC)。如表3 所示,其中:×表示未使用該部分;√表示使用該部分。當(dāng)反饋模塊中的UDSL部分被普通的3×3 大小的卷積核代替時(shí),PSNR 值有所下降,表明上采樣操作和下采樣操作可以揭示豐富的上下文信息,并對圖像超分辨率操作有效。將密集的跳躍連接加入到反饋模塊中,該跨層次甚至跨時(shí)間的結(jié)構(gòu)能有效地使信息流動(dòng),強(qiáng)化信息傳遞的概念,因此可進(jìn)一步提高重建性能。
表3 UDSL 和DSC 的消融實(shí)驗(yàn)Table 3 Ablation experiment of UDSL and DSC
探索反饋模塊中特征映射組數(shù)量G的影響。本文固定迭代輪次T為4,從圖5 可以看出,適當(dāng)增大特征映射組,可有效提升超分辨率的準(zhǔn)確率(彩色效果見《計(jì)算機(jī)工程》官網(wǎng)HTML 版)。
圖5 G 的收斂分析Fig.5 Convergence analysis of G
本文的框架模型是能在時(shí)間刻度上展開的遞歸神經(jīng)網(wǎng)絡(luò),每一個(gè)遞歸模塊都會(huì)得到一張目標(biāo)超分辨率圖像。上一個(gè)迭代輪次的輸出會(huì)幫助下一個(gè)迭代模塊更好地完成超分辨率任務(wù)。由圖6 可知(彩色效果見《計(jì)算機(jī)工程》官網(wǎng)HTML 版),在高階語義信息的反饋下,越后面迭代輪次的低階語義信息特征圖越細(xì)化,有效地提高了圖像超分辨率的準(zhǔn)確性。為進(jìn)一步探索該迭代遞歸過程中反饋機(jī)制的有效性,圖7 顯示,與無反饋連接的網(wǎng)絡(luò)(T=1)相比,借助反饋連接的網(wǎng)絡(luò)重建性可以得到顯著改善。此外隨著T的增長,圖像重建性可以得到有效增長,網(wǎng)絡(luò)性能收益于迭代過程中的信息流通機(jī)制。
圖6 細(xì)化特征圖的視覺對比Fig.6 Visual comparison of refined feature maps
圖7 T 的收斂分析Fig.7 Convergence analysis of T
本文通過課程學(xué)習(xí)策略訓(xùn)練了GB 模型和WN模型,這2 種模型在圖像超分辨率中屬于明顯的退化模型,具有普遍的代表性。在方法上選取了SRCNN[6]、VDSR[9]、IRCNN_G[23]、SRMDNF[24]及RDN[25]5 種圖像超 分辨率模 型。SRCNN 前兩層學(xué)習(xí)率為1×10-4,最后一層 學(xué)習(xí)率為1×10-5,訓(xùn)練共1 500 個(gè)輪次。VDSR 的學(xué)習(xí)率設(shè)置為0.1,訓(xùn)練50 個(gè)輪次。IRCNN 的學(xué)習(xí)率設(shè)置為1×10-4,當(dāng)收斂到一定閾值時(shí)自動(dòng)停止訓(xùn)練。SRMDNF 的學(xué)習(xí)率為1×10-4,訓(xùn)練采用adam 優(yōu)化策略。RDN 學(xué)習(xí)率為1×10-4,訓(xùn)練采用adam 優(yōu)化策略。本文的BatchSize為16,學(xué)習(xí)率為1×10-4,采用adam 優(yōu)化策略,T為4,G為6。訓(xùn)練數(shù)據(jù)來自DIV2K 和Flickr2K 數(shù)據(jù)集的一共2 260 張圖片,包括尺寸縮放為×2、×3、×4,訓(xùn)練時(shí)間如表4 所示。測試數(shù)據(jù)來自Set5、Set14、B100、Urban100以及Manga109 總共328 張圖片。
表4 不同模型的訓(xùn)練時(shí)間對比Table 4 Comparison of training time of different models h
表5 和表6 所示為不同模型在5 個(gè)測試數(shù)據(jù)集下的綜合評(píng)估實(shí)驗(yàn)對比,表中加粗?jǐn)?shù)字表示該組數(shù)據(jù)最大值??梢钥吹皆诓煌叨认?,本文方法在GB 和WN模型下的性能表現(xiàn)均優(yōu)于其他圖像超分辨率方法。圖8和圖9 所示為來自標(biāo)準(zhǔn)數(shù)據(jù)集中GB 和WN 退化模型的2 組超分辨率的視覺結(jié)果。與其他方法相比,本文方法能減輕失真程度,并在超分辨率圖像中生成更準(zhǔn)確的細(xì)節(jié)信息。因此,本文認(rèn)為超分辨率反饋網(wǎng)絡(luò)能夠合理地利用反饋機(jī)制,在處理不同的退化模型中具有更強(qiáng)的魯棒性和有效性。
表5 GB 退化模型下的性能對比Tabel 5 Performance comparison in GB degradation model
表6 WN 退化模型下的性能對比Tabel 6 Performance comparison in WN degradation model
圖8 GB 退化模型視覺對比Fig.8 Visual comparison of GB degradation model
圖9 WN 退化模型視覺對比Fig.9 Visual comparison of WN degradation model
本文提出一種基于反饋機(jī)制的圖像超分辨率重建算法,通過構(gòu)建新型網(wǎng)絡(luò)結(jié)構(gòu),使用反饋連接在自上而下的反饋流中提供豐富的高階信息。更多上下文信息的反饋有助于低分辨率圖像的重建,且網(wǎng)絡(luò)中的反饋模塊能有效處理反饋信息流,帶有反饋連接的遞歸結(jié)構(gòu)能提高網(wǎng)絡(luò)早期重建能力。此外,使用課程式學(xué)習(xí)策略,并通過連續(xù)迭代的方式使網(wǎng)絡(luò)學(xué)習(xí)復(fù)雜的失真模型,從而對不同的失真退化模型具有更強(qiáng)的魯棒性。實(shí)驗(yàn)結(jié)果表明,該算法與SRCNN、VDSR、RDN 等算法相比,能有效提升圖像超分辨率重建的準(zhǔn)確性。盡管本文構(gòu)建網(wǎng)絡(luò)對于超分辨率任務(wù)有效,但在語義分割等高階計(jì)算機(jī)視覺復(fù)雜任務(wù)上的效果并不明顯,網(wǎng)絡(luò)具有一定局限性,下一步將利用反饋機(jī)制發(fā)展一種通用的反饋網(wǎng)絡(luò),以處理計(jì)算機(jī)視覺中的復(fù)雜任務(wù)。