韓孝朋,楊曉敏,雷純庭
(四川大學(xué)電子信息學(xué)院,成都 610065)
單圖像超分辨率(SISR),作用是基于低分辨率圖像(LR)重建出對應(yīng)的高分辨率圖像(HR),近些年來由于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的成功應(yīng)用而得到了廣泛的發(fā)展。然而,SISR 存在缺點,即對于一個LR 圖像來說,存在多個與之對應(yīng)的HR圖像。所以,為了得到更接近真實的結(jié)果,與CNN相關(guān)的結(jié)構(gòu)和模塊設(shè)計層出不窮,比如:殘差結(jié)構(gòu)(residual structure)[1]、密集連接(dense connection)[2?3]、非局部(non?local)[4]、遞歸(recurrent)[4?7]、注意力機制(attention)[8?9]和生成對抗網(wǎng)絡(luò)(GAN)[1]等。
遞歸機制,旨在保證模型參數(shù)量穩(wěn)定的情況下,提高網(wǎng)絡(luò)的效果。它通常是通過反復(fù)輸入同一個可迭代塊來實現(xiàn)的。一些最近應(yīng)用了遞歸機制的研究已經(jīng)驗證了它的效果。在文獻[4]中,網(wǎng)絡(luò)的框架由可迭代的自樣本挖掘塊構(gòu)成(self?exemplars mining),并且保存每次迭代的結(jié)果用于最后輸出的重建。由于使用了遞歸機制,該網(wǎng)絡(luò)在實現(xiàn)了較好結(jié)果的同時保持了不大的參數(shù)量。對于反饋機制,它發(fā)源于人類的視覺系統(tǒng)[10],同樣被引入到CNN 中來探索其在超分辨率領(lǐng)域的表現(xiàn)。通常來講,反饋機制可以通過將網(wǎng)絡(luò)后端的特征反饋到網(wǎng)絡(luò)前端來實現(xiàn)。最近的研究,如DBPN[11],通過一種交替放大縮小的結(jié)構(gòu)將HR 域的特征反饋回LR 域中,從而增強輸入。最后,遞歸和反饋機制可以相結(jié)合。不難發(fā)現(xiàn),反饋操作可以通過借助遞歸機制來輕易實現(xiàn)。文獻[7]通過將一個反饋模塊放置在網(wǎng)絡(luò),去反復(fù)將高級表示反饋回去,增強下次重建過程。
然而,現(xiàn)階段對于遞歸和反饋機制的應(yīng)用有所限制,遞歸操作通常應(yīng)用于整個網(wǎng)絡(luò)或其中的一個模塊,每次反饋特征的數(shù)量也是受限的?;谏鲜銮闆r,本文提出一種多遞歸反饋機制(multi?feedback recurrent mechanism)。也就是說,不同于此前的網(wǎng)絡(luò)僅有一個基本模塊進行遞歸,本文所提的網(wǎng)絡(luò)中每個模塊都具有遞歸模式,且每次都將輸出特征反饋回去。與此同時,基本模塊內(nèi)部的每一塊也會在每次迭代中將結(jié)果反饋回對應(yīng)的位置上。這使得最終基本模塊的每一次迭代都會有多個反饋分支。簡要過程如圖1 所示。通過使用多反饋遞歸機制,本文網(wǎng)絡(luò)實現(xiàn)了更頻繁的信息反饋,從而可以充分使用高級特征來增強低級特征。
圖1 不同遞歸反饋形式的比較
注意力機制同樣發(fā)源于人類視覺系統(tǒng),也被廣泛應(yīng)用在多種計算機視覺任務(wù)并且展現(xiàn)了出色的效果。它旨在將注意力轉(zhuǎn)移至圖片中的關(guān)鍵區(qū)域,并且忽略不相關(guān)的區(qū)域。在SR 任務(wù)當中,注意力機制常通過可學(xué)習(xí)的權(quán)重的方式來動態(tài)地作用于關(guān)鍵特征。例如,文獻[8]中,頻道注意力機制通過生成等同于頻道數(shù)量的權(quán)重來重塑頻道層面的特征。文獻[12]提出了一種稀疏度的理念來修剪冗余計算。它的作用方式類似于注意力機制,區(qū)別是這里的稀疏度被加入到損失函數(shù)中來使權(quán)重值盡量小。
本文也引入了稀疏度思想,得到了頻道/空間稀疏模塊(見2.2 節(jié))作為網(wǎng)絡(luò)的基本元素。稀疏度權(quán)重被加到稀疏模塊的每個殘差塊中,用來提取并增強關(guān)鍵信息(配合迭代)。在網(wǎng)絡(luò)中配置多組頻道/空間稀疏模塊對,并且搭配分組密集連接來促進這些模塊間的信息交流。相比于普通的密集連接,本文的分組密集連接能夠有效減少分支數(shù)量。
基于上述觀點,本文提出的網(wǎng)絡(luò)叫做多反饋稀疏網(wǎng)絡(luò)(multi?feedback sparsity network,MFSN)。整體網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。該網(wǎng)絡(luò)的主干包含多組通過分組密集連接相連的頻道/空間稀疏模塊。在這些稀疏模塊中,稀疏權(quán)重和多反饋遞歸機制被統(tǒng)一到一起,以更好地提取并且增強關(guān)鍵特征。
圖2 MFSN網(wǎng)絡(luò)整體結(jié)構(gòu)
整體來說,本文的貢獻有以下幾點:
(1)探索了更復(fù)雜的遞歸反饋機制,并且提出了多反饋遞歸機制MFSN。該機制實現(xiàn)了一個更復(fù)雜的遞歸形式。具體而言,其包含多個遞歸模塊,每個都可以迭代多次。因此,該模型得到了一個更頻繁的反饋信息流。
(2)MFSN 同樣實現(xiàn)了一個更復(fù)雜的反饋形式,遞歸模塊內(nèi)部允許多個反饋分支部署在多個不同位置來反饋不同特征。前次迭代的特征都被反饋到對應(yīng)位置來增強當前迭代的低維特征。
(3)本文網(wǎng)絡(luò)應(yīng)用了稀疏度思想來驗證它是否會帶來表現(xiàn)增益。頻道/空間兩種稀疏方式被配置于兩種模塊中。即使在與注意力機制相比較的情況下它仍能帶來表現(xiàn)增益。最后,將稀疏度與多反饋遞歸機制結(jié)合于同一模塊當中,使得反饋的特征被稀疏系數(shù)所增強。
圖2所示為MFSN 的整體結(jié)構(gòu),模塊上的加粗箭頭表示該模塊是可迭代的,從圖2 可看出,網(wǎng)絡(luò)共分為3個部分:初始特征提取、遞歸反饋稀疏特征提?。≧FSFE)以及最后的重建模塊。和其他方法相同,我們也將ILR和ISR作為網(wǎng)絡(luò)的輸入和輸出。首先,在淺層特征提取部分,使用兩個卷積層搭配ReLU激活函數(shù)。即:
函數(shù)FIF代表兩個卷積層,fIF是得到的初始特征。RFSFE 部分整體上是殘差形式。文獻[9]提出的區(qū)域非局部模塊(Region?Level Non?Local module,RL-NL)被放置在該部分的兩端,來對特征表示進行非局部增強。然后我們在中間部署G對頻道及空間稀疏模塊(詳見下節(jié))。也就是說,該部分包含2×G個稀疏模塊和2 個RL-NL 模塊。這些模塊由分組密集連接相連,頻道稀疏模塊只與他們自己進行密集連接,空間稀疏模塊也如此。因為使用了分組密集連接,我們既實現(xiàn)了整個網(wǎng)絡(luò)中密集的信息流動,又顯著控制了由傳統(tǒng)密集連接所帶來的分支數(shù)量過多的問題。最后,密集特征融合方法[3]使用特征串聯(lián)和1*1卷積來將所有空間稀疏模塊的輸出融合起來。這一部分的整體函數(shù)表示為
fSF是經(jīng)過RFSFE 部分得到的稀疏特征,F(xiàn)RFSFE是該部分的函數(shù)表示。最終,使用次像素卷積層[13]來放大并重建最終的特征。同樣應(yīng)用了一個全局連接來直接放大ILR并將其送至網(wǎng)絡(luò)末端。所以通過下式來獲得最終的IHR:
其中:FREC表示重建操作;FUP表示插值上采樣操作。
空間和頻道稀疏模塊具有統(tǒng)一的結(jié)構(gòu)。我們首先詳細描述空間稀疏模塊,從而引出他們共同的結(jié)構(gòu)。隨后,再簡單介紹頻道稀疏模塊與其的不同之處。
1.2.1 空間稀疏模塊
在空間稀疏模塊內(nèi),我們放置了N個稀疏殘差塊(sparse residual blocks,SRBs),如圖3 所示,虛線框內(nèi)的區(qū)域是稀疏殘差塊。在經(jīng)過SRB 前,輸入x0先經(jīng)過一個空間矩陣生成塊來生成空間權(quán)重矩陣。對于空間矩陣生成塊,我們直接使用文獻[12]中提到的稀疏掩模生成模塊搭配Gumbel Softmax[14]來實現(xiàn)。隨后,將得到的空間權(quán)重矩陣應(yīng)用于所有的SRB 塊中。其被使用的位置如圖3 所示。x0會依次經(jīng)過各個SRB塊,第m個SRB塊的操作可被表示為
圖3 空間稀疏模塊的結(jié)構(gòu)
hm表示該稀疏模塊內(nèi)的第m個SRB 塊,所以有:
每個SRB 塊的輸出都被保存下來,用于重建該模塊的最終輸出。這是通過該模塊末尾的特征串聯(lián)和1*1卷積層來實現(xiàn)的。同樣在該模塊的末尾使用了文獻[8]中的頻道注意力層。最后,可以得到該模塊的最終輸出:
這里concat 表示特征x1到xn的串聯(lián)操作;conv1*1表示1*1卷積層;ca表示頻道注意力層。
1.2.2 頻道稀疏模塊
空間和頻道稀疏模塊的區(qū)別主要在于獲得稀疏權(quán)重矩陣的方式。所以,頻道稀疏模塊基本與上述所說相同,其改為使用頻道矩陣生成模塊替代空間矩陣生成模塊。頻道權(quán)重矩陣通過增加輔助參數(shù)來生成,并且它可以產(chǎn)生等同于SRB塊數(shù)的頻道權(quán)重矩陣數(shù)。這里值得一提的是,空間/頻道權(quán)重矩陣內(nèi)的值都在(0,1)范圍內(nèi),如果將其直接作用于SRB塊內(nèi),會導(dǎo)致一定程度上的信息丟失。所以在權(quán)重矩陣被加到SRB前,會加上一個增強參數(shù)(α=0.5)。因此,這些權(quán)重矩陣內(nèi)的值變?yōu)椋?.5,1)范圍內(nèi),并最終實現(xiàn)強調(diào)關(guān)鍵區(qū)域/頻道,削弱其他區(qū)域/頻道。
本文所提出的網(wǎng)絡(luò)中每一個稀疏模塊都具有基本的遞歸反饋機制??臻g稀疏模塊每次迭代接收和發(fā)送反饋特征的位置和處理方式(特征相加或是串聯(lián))見圖4,圖中加粗的實線箭頭表示反饋到下次迭代的特征,加粗的虛線箭頭表示接收的上次反饋回來的特征。同時,為了更好地揭示每次迭代中反饋特征的流向,我們在圖5中展示了迭代的時間展開圖,虛線代表反饋特征。
圖4 每次迭代接收和反饋特征的執(zhí)行情況
圖5 迭代過程的時間展開
可以看到,稀疏模塊的輸出被反饋回下一次迭代,并且經(jīng)由串聯(lián)和1*1卷積層與最初的輸入相融合。注意首次迭代時輸入不用經(jīng)過1*1卷積。另外,每個SRB 塊內(nèi)經(jīng)過稀疏矩陣處理后的殘差特征也被反饋回該塊下次迭代的輸入處與原輸入相加。這樣一來,每個SRB 塊反饋的特征都是經(jīng)過稀疏權(quán)重處理后更重要的特征。所以,將它們反饋回去會增加下次迭代中重要信息的比例。
每次迭代中,稀疏模塊的輸入都對應(yīng)著該模塊的原始輸入。因為使用了分組密集連接,我們需要將額外的1*1卷積層部署在模塊前來混和原始特征和反饋特征得到該次輸入。
本文使用L1 損失來優(yōu)化網(wǎng)絡(luò)。除此之外,還用類似SMSR[12]的方式通過空間/頻道權(quán)重矩陣生成了總的稀疏度系數(shù)。它可以被視為該網(wǎng)絡(luò)中所有稀疏度的代表,表示被選中的關(guān)鍵區(qū)域的比例。隨后,這個稀疏度系數(shù)被加到最終的損失函數(shù)中,最終的損失函數(shù)如下:
LSP是稀疏度系數(shù);λ 表示稀疏損失權(quán)重,并且
epoch是訓(xùn)練的輪次;T設(shè)置為50;λ0設(shè)置為0.1。
和大多數(shù)網(wǎng)絡(luò)一樣,本文也采用DIV2K[15]的800 張圖片作為訓(xùn)練集。5 個基準數(shù)據(jù)集:Set5[16]、Set14[17]、B100[18]、Urban100[19]、Man?ga109[20]用 作 測 試 集。 峰 值 信 噪 比(peak signal?to?noise ratio,PSNR)和結(jié)構(gòu)相似度(struc?ture similarity index,SSIM)用作評價網(wǎng)絡(luò)表現(xiàn)的指標。
訓(xùn)練階段對訓(xùn)練數(shù)據(jù)進行數(shù)據(jù)增廣,即隨機旋轉(zhuǎn)90°、180°、270°以及水平翻轉(zhuǎn)。設(shè)置批量 大 ?。╞atch size)為16, 輸 入 圖 片 塊 大 小(patch size)為48。 參 數(shù)β1= 0.9,β2= 0.99 的ADAM[21]優(yōu)化器被用作訓(xùn)練。學(xué)習(xí)率從2×10-4開始且每200輪下降一半。
對于網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計,我們使空間和頻道稀疏模塊對G= 5,迭代次數(shù)T= 3,每個稀疏模塊內(nèi)的SRB數(shù)量N= 4。
在該網(wǎng)絡(luò)中,使用的生成空間、頻道權(quán)重矩陣和稀疏度系數(shù)的方法都來自于SMSR。所以,有必要強調(diào)本文方法與SMSR 的不同。首先,本文的網(wǎng)絡(luò)結(jié)構(gòu)與SMSR不同??臻g和頻道掩模在SMSR中被放到了同一模塊當中,而對本文網(wǎng)絡(luò)來說,它們分屬不同的模塊。其次,雙方處理信息的方式不同。本文網(wǎng)絡(luò)將稀疏權(quán)重矩陣放置在殘差塊的殘差分支上,因此稀疏度作用于殘差特征,從而避免了稀疏度小時損失過多信息,而且稀疏權(quán)值還統(tǒng)一增加0.5 來避免損失信息與強調(diào)有效信息。相比之下,在SMSR中,它是通過對具有不同權(quán)重的多個不同分支求和來實現(xiàn)的。最后,也是最重要的一點,本文網(wǎng)絡(luò)引入稀疏性的目的與SMSR 不同。SMSR的網(wǎng)絡(luò)結(jié)構(gòu)經(jīng)過仔細設(shè)計使得可以在稀疏度引入損失函數(shù)中后,在測試階段應(yīng)用稀疏卷積。隨著訓(xùn)練過程進行,稀疏度變得越來越低,由于測試階段稀疏卷積的使用使得無關(guān)信息被跳過,即SMSR應(yīng)用稀疏性的目的是最終可以實現(xiàn)輕量級網(wǎng)絡(luò)。而對本文網(wǎng)絡(luò)來說,是探索稀疏度被引入后網(wǎng)絡(luò)的表現(xiàn)是否會變好,目的在于提升網(wǎng)絡(luò)的效果。另外,還進行了實驗來比較稀疏度和注意力的表現(xiàn),來證明我們的結(jié)論。
本節(jié)設(shè)計了一些實驗來驗證本文網(wǎng)絡(luò)中各種設(shè)計的有效性。
2.3.1 稀疏性還是注意力?
不難發(fā)現(xiàn),這里使用的稀疏性思想一定程度上與注意力機制相似。不論是得到稀疏權(quán)重矩陣的方法還是它作用到網(wǎng)絡(luò)的方式,都可以從中看到注意力機制的影子。這兩者的主要區(qū)別是,稀疏性被引入到損失函數(shù)當中并且后續(xù)被優(yōu)化,而注意力機制并不這么做。所以,稀疏性和注意力機制誰會使網(wǎng)絡(luò)的效果更好?
我們使用了兩個網(wǎng)絡(luò)來比較稀疏性和注意力的效果,其一為MFSN(sparsity),是迭代次數(shù)T= 2的MFSN網(wǎng)絡(luò)。另一個為MFSN(attention),與前者相同,區(qū)別是它只用L1 損失函數(shù)而不包含稀疏項。這意味著對后者來說,稀疏性就成為了一種注意力機制。分別在三個尺度下訓(xùn)練這兩個網(wǎng)絡(luò), 并在表1 中展示了實驗結(jié)果,PSNR 和SSIM 結(jié)果來自于Set5 數(shù)據(jù)集。我們可以看到,大部分情況下,MFSN(sparsity)的表現(xiàn)都要好于MFSN(attention)。MFSN(sparsity)的稀疏度在訓(xùn)練前期迅速下降,隨后趨于穩(wěn)定。然而對MFSN 來說,稀疏度下降很慢。這驗證了二者的區(qū)別。隨著訓(xùn)練過程進行,MFSN(sparsity)的PSNR值同樣比MFSN(attention)更高。
表1 MFSN(sparsity)和MFSN(attention)的比較
2.3.2 迭代次數(shù)設(shè)置
此處討論迭代次數(shù)對整個網(wǎng)絡(luò)效果的影響。本次實驗基于x4尺度。使用的是MFSN(sparsity)網(wǎng)絡(luò)。迭代次數(shù)T設(shè)置為1~4。結(jié)果見表2。
表2 迭代次數(shù)T設(shè)置為1~4的MFSN(sparsity)在5個基準數(shù)據(jù)集上的結(jié)果
從表2可以看到,網(wǎng)絡(luò)的表現(xiàn)會隨著迭代次數(shù)增加而提升。因此最好的效果出現(xiàn)在T= 4時。圖6展示了視覺效果比較,‘1iter’表示T= 1,以此類推。可以看到,隨著T的增長,所復(fù)原的特征更真實,尤其是那些重復(fù)出現(xiàn)的特征,這驗證了該網(wǎng)絡(luò)遞歸機制的效果。
圖6 不同迭代次數(shù)T的網(wǎng)絡(luò)結(jié)果的視覺比較
然而還有另一種現(xiàn)象,就是隨著T的增加,網(wǎng)絡(luò)的訓(xùn)練和測試時間同樣也隨之增加。表3展示了迭代次數(shù)T所對應(yīng)的訓(xùn)練和測試時間??梢钥吹接?xùn)練測試時間明顯隨T增加而增加。綜合考慮時間及效果因素,我們決定設(shè)置網(wǎng)絡(luò)的迭代次數(shù)T= 3。
表3 網(wǎng)絡(luò)訓(xùn)練和測試所用時間
2.3.3 多反饋的形式
如上文所述,本文網(wǎng)絡(luò)中的每個稀疏模塊都有一個基本的多反饋形式。所以,如何設(shè)計多反饋形式非常關(guān)鍵。比如說,配置多少反饋分支,在哪配置等。本文使用另一個網(wǎng)絡(luò)來探索哪種反饋形式效果更好。一個是默認網(wǎng)絡(luò)(T= 2,G= 5,N= 4),反饋分支位置如2.3 節(jié)所示, 即總分支數(shù)為5, 我們稱它為MFSN(5fbk)。對于另一個網(wǎng)絡(luò),我們移除稀疏模塊中一半的反饋分支。也就是說,對于一個N= 4的網(wǎng)絡(luò),我們移除第一個和第三個反饋分支,保留第二個和第四個,即每個稀疏模塊內(nèi)反饋分支的總和是三個,稱為MFSN(3 fbk)。兩個網(wǎng)絡(luò)的比較見表4。
表4 不同反饋形式的兩個網(wǎng)絡(luò)的效果比較
2.3.4 增強參數(shù)的設(shè)置
對于加到稀疏權(quán)重矩陣上的增強參數(shù)(α),本文比較4 種不同的α設(shè)置方法,分別是:α= 0、α= 0.5、α= 1 -τ、α=τ- 0.4。 參數(shù)τ是Gum?bel Softmax中的參數(shù),并且會隨著訓(xùn)練過程進行而減小。具體來說,它會在前300 輪從1 降到0.4,隨后保持不變。所以,這幾種情況囊括無α、不變的α、遞增的α和遞減的α。結(jié)果見表5,可見最好的結(jié)果是α= 0.5的情況。
表5 不同增強參數(shù)(α)設(shè)置下的網(wǎng)絡(luò)效果比較
最終本文用作比較的是參數(shù)設(shè)置為T= 3,G= 5,N= 4的MFSN(sparsity)網(wǎng)絡(luò),它包含完整的多反饋形式,即稀疏模塊內(nèi)的每個SRB 塊都具有一個反饋分支。將該網(wǎng)絡(luò)與其他網(wǎng)絡(luò),包 括DRRN[6], IDN[22], VDSR[23], IMDN[24], Lap ?SRN[25], SMSR[12], DSRN[26], CARN[27], DRCN[5],RED30[28], DBPN[11], EDSR[29], RDN[3], RCAN[8]進行比較。比較基于5 個基準數(shù)據(jù)集上x2、x3、x4三個尺度的PSNR/SSIM 結(jié)果。并且,這些模型基于其模型大小被分為兩組,一組是參數(shù)量少于5百萬(5 M)的模型,大于5百萬(5 M)的屬于另一組。本文網(wǎng)絡(luò)主要與模型大小相近的模型進行比較。表6展示了網(wǎng)絡(luò)比較的最終結(jié)果,下劃線表示在參數(shù)量大的模型中,效果比MFSN差的情況??梢钥吹?,MFSN 在相似大小的網(wǎng)絡(luò)結(jié)構(gòu)當中展現(xiàn)了較好的結(jié)果。并且,值得一提的是,當與參數(shù)量更多的模型相比時,即使大多數(shù)情況下本模型的表現(xiàn)不令人滿意,但仍存在一些超過它們的情況。
表6 各網(wǎng)絡(luò)在基準數(shù)據(jù)集下的比較結(jié)果
圖7展示了x4尺度結(jié)果的視覺比較,可以發(fā)現(xiàn)這些圖中都包含類似線條的重復(fù)特征。對于本文算法的指標比其他方法高的情況,說明本文模型擅長處理有重復(fù)特征的區(qū)域。甚至在許多情況下,即使本文算法指標沒有其他方法高,該網(wǎng)絡(luò)仍得到了更合理的結(jié)果。
圖7 MFSN與一些網(wǎng)絡(luò)在X4尺度下的視覺效果比較
圖8展示此類情況,圖中所有的圖片塊都得到了更真實的結(jié)果,在第一、三、四幅圖中,本文算法更合理地復(fù)原了線條,而第二幅圖中,我們復(fù)原了其他方法沒復(fù)原的特征。
圖8 MFSN與一些網(wǎng)絡(luò)在X4尺度下的視覺效果比較
總而言之,即使本文方法沒有得到很出色的指標,但網(wǎng)絡(luò)仍可以很好地復(fù)原很多特殊區(qū)域。同樣證明了稀疏度和多反饋思想可以帶來表現(xiàn)增益,并且這兩個觀點是高度可移植的,即它們可以被很好地應(yīng)用于其他模型。這是本研究的主要貢獻。
本文提出了多反饋稀疏網(wǎng)絡(luò)(MFSN)來處理圖像超分辨率問題。首先,設(shè)計了稀疏模塊作為網(wǎng)絡(luò)的主要元素。通過稀疏模塊中稀疏權(quán)重矩陣的使用,使得空間和頻道特征得以增強。其次,提出的多反饋遞歸機制使每個稀疏模塊執(zhí)行多次反饋,并且每次返回多個稀疏特征。這充分使用了反饋機制來實現(xiàn)信息反饋和特征增強。其他方法如分組密集連接和增強參數(shù)都給網(wǎng)絡(luò)帶來了增益。最終,經(jīng)驗證本網(wǎng)絡(luò)在相似網(wǎng)絡(luò)尺寸的模型中取得了有競爭力的結(jié)果。