周登文 劉子涵 劉玉鎧
單圖像超分辨率(Single image super-resolution,SISR)[1]是計算機(jī)視覺中一個基本任務(wù),旨在從低分辨率(Low-resolution,LR)圖像,恢復(fù)出對應(yīng)的高分辨率(High-resolution,HR)圖像,在諸如遙感成像[2]、視頻監(jiān)控[3]和醫(yī)學(xué)成像[4]中,應(yīng)用廣泛.SISR 是一個病態(tài)的逆問題,因為許多HR 圖像可退化為相同的LR 圖像,需要提供圖像的先驗知識,約束超分辨率(Super-resolution,SR)圖像的解空間.SISR 仍然是計算機(jī)視覺中開放性的研究問題,重建的SR 圖像往往會出現(xiàn)模糊、紋理細(xì)節(jié)丟失和失真等問題.
早期的SISR 是基于插值的方法,如雙線性插值和雙三次(Bicubic)插值.基于插值的方法仍被廣泛使用,具有很低的計算復(fù)雜度,但不能恢復(fù)LR圖像中丟失的圖像細(xì)節(jié).基于實例學(xué)習(xí)的方法[5-7]旨在通過訓(xùn)練圖像,學(xué)習(xí)LR 圖像和HR 圖像之間的映射關(guān)系,改進(jìn)了基于插值的方法.但是,基于實例學(xué)習(xí)的方法往往優(yōu)化困難,并具有較高的推理復(fù)雜度.目前,深度卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural networks,CNN)技術(shù)[8-13]直接端到端地學(xué)習(xí)LR和HR 圖像之間的映射關(guān)系,顯著提高了SISR 性能,并主導(dǎo)了目前SISR 技術(shù)的研究.基于CNN 的SISR 方法研究主要是探索新的SR 網(wǎng)絡(luò)架構(gòu),損失函數(shù)廣泛使用均方誤差(Mean squared error,MSE)[12]和平均絕對誤差(Mean absolute error,MAE)[8],但這些傳統(tǒng)的逐像素?fù)p失生成的SR 圖像是潛在SR輸出圖像的平均[14],導(dǎo)致輸出的圖像被過度平滑.為了解決這個問題,Johnson 等[15]提出感知損失.感知損失不是在圖像空間度量逐像素的損失,而是在預(yù)訓(xùn)練的VGG (Oxford visual geometry group)網(wǎng)絡(luò)[16]特征空間度量逐像素?fù)p失.感知損失能改進(jìn)SR 圖像的感知質(zhì)量,但降低了SR 圖像保真度.重要的是,感知損失也不能阻止SR 圖像的模糊.Wang等[17]提出一個對比自蒸餾(Contrastive self-distillation,CSD)網(wǎng)絡(luò),引入一個基于對比學(xué)習(xí)的損失函數(shù).CSD 損失與感知損失類似,也在預(yù)訓(xùn)練VGG網(wǎng)絡(luò)的特征空間逐像素比較損失.以教師子網(wǎng)絡(luò)輸出的SR 圖像作為正樣本,學(xué)生子網(wǎng)絡(luò)輸出的SR圖像作為錨,從同一個批次中采樣K個圖像(除錨外),通過雙三次上采樣到與輸出SR 圖像相同的分辨率作為負(fù)樣本.CSD 損失使錨更靠近正樣本,并遠(yuǎn)離負(fù)樣本,進(jìn)一步改進(jìn)了學(xué)生子網(wǎng)絡(luò)輸出的SR圖像的視覺質(zhì)量.與感知損失相比,CSD 損失除限制了學(xué)生子網(wǎng)絡(luò)輸出的上界(正樣本)外,也限制了下界(負(fù)樣本),以減小解空間.但CSD 損失也有與感知損失類似的保真度低問題.另外,CSD 損失使用雙三次上采樣圖像作為負(fù)樣本,是一個較弱的下界.受CSD 啟發(fā),提出一個新的基于對比學(xué)習(xí)的逐像素?fù)p失函數(shù)Lcntr.Lcntr作用在圖像空間,原HR圖像與輸出的SR 圖像對應(yīng)的像素分別作為正樣本和錨,HR 圖像上正樣本鄰近的像素作為負(fù)樣本.類似地,Lcntr也讓錨更靠近正樣本,遠(yuǎn)離負(fù)樣本.常用損失及其組合的峰值信噪比(Peak signal to noise ratio,PSNR)[18]、結(jié)構(gòu)相似性(Structural similarity,SSIM)[18]和視覺效果見圖1,其中L1為MAE 損失,Lperc為感知損失[15],Ltex為紋理損失[19],LCSD為CSD 損失[17],Ladv為對抗損失[20].原LCSD正樣本是教師網(wǎng)絡(luò)輸出的SR 圖像,本文替換為HR 圖像.計算Ltex的圖像塊大小為 48×48 像素.可以看出,本文的逐像素?fù)p失函數(shù)Lcntr可與其他損失組合使用,顯著改進(jìn)SR 圖像保真度和視覺質(zhì)量.另外,本文提出一個新的網(wǎng)絡(luò)架構(gòu),稱為漸進(jìn)殘差特征融合網(wǎng)絡(luò)(Progressive residual feature fusion network,PRFFN).PRFFN 應(yīng)用擴(kuò)張卷積[21],擴(kuò)展極深殘差通道注意力網(wǎng)絡(luò)(Very deep residual channel attention network,RCAN)[11]的基本構(gòu)件 ——殘差通道注意力塊(Residual channel attention block,RCAB)[11],不增加參數(shù)并融合多尺度特征,稱為多尺度殘差通道注意力塊(Multi-scale residual channel attention block,MRCAB).PRFFN 以MRCAB 為基本構(gòu)件,并運用空間注意力機(jī)制[22],漸進(jìn)地融合MRCAB 的輸出特征.本文的Lcntr損失與PRFFN 網(wǎng)絡(luò)架構(gòu)組合,能夠獲得先進(jìn)的SR性能,一些代表性方法的PSNR 和參數(shù)量見圖2.Lcntr是通用的,可與其他SR 網(wǎng)絡(luò)架構(gòu)協(xié)作使用.
圖1 不同損失及其組合的PSNR/SSIM 和視覺效果Fig.1 PSNR/SSIM and visual effects for different losses and their combinations
圖2 在Set14 數(shù)據(jù)集上,不同SISR 方法2 倍SR 結(jié)果的平均PSNR 值和參數(shù)量Fig.2 Average PSNRs and parameter counts for 2 times SR models for each state-of-the-art SISR method on the Set14 dataset
本文的主要貢獻(xiàn)有: 1)提出一個通用的基于對比學(xué)習(xí)的逐像素?fù)p失函數(shù)Lcntr,能夠顯著改進(jìn)SR圖像的視覺質(zhì)量;2) 提出一個新的SR 網(wǎng)絡(luò)架構(gòu)PRFFN,主要組件是MRCAB 和空間注意力融合塊(Spatial attention fuse block,SAFB),MRCAB可以更好地提取和利用多尺度特征信息,而SAFB可以更好地利用鄰近特征的相關(guān)性;3) 實驗結(jié)果表明,PRFFN 組合Lcntr取得了有競爭力的SR 性能.
2015 年,Dong 等[8]提出第1 個基于CNN 的SISR 方法 ——超分辨率卷積神經(jīng)網(wǎng)絡(luò)(Super-resolution convolutional neural network,SRCNN)后,深度卷積神經(jīng)網(wǎng)絡(luò)技術(shù)已主導(dǎo)了當(dāng)前SR 技術(shù)研究.SRCNN 只有3 個卷積層,Kim 等[9]提出極深超分辨率網(wǎng)絡(luò)(Very deep super-resolution network,VDSR),通過引入殘差學(xué)習(xí),加深了網(wǎng)絡(luò)(有20 個卷積層),改進(jìn)了性能.Lim 等[10]提出增強(qiáng)的深度超分辨率網(wǎng)絡(luò)(Enhanced deep super-resolution network,EDSR),通過堆積殘差塊,進(jìn)一步加深了網(wǎng)絡(luò)(有65 個卷積層),改進(jìn)了性能.Zhang 等[11]提出RCAN 方法,在殘差塊中引入通道注意力(Channel attention,CA)機(jī)制,有超過400 個卷積層,顯著改進(jìn)了SISR 方法性能.Tong 等[12]提出超分辨率稠密連接網(wǎng)絡(luò),使用了稠密連接.Zhang 等[23]提出殘差稠密網(wǎng)絡(luò),同時使用殘差稠密連接.稠密連接和殘差稠密連接比殘差連接可以更好地利用深度卷積層的分層特征.同樣,注意力機(jī)制在SR 網(wǎng)絡(luò)中也得到了廣泛關(guān)注,通道注意力機(jī)制[11]考慮不同通道特征之間的依賴,顯著提高了模型的表示能力和SR 性能.Zhang 等[13]提出一種非局部注意力塊,以建模長距離像素之間的依賴,可以很好地捕捉空間注意力,進(jìn)一步增強(qiáng)特征的表示能力.Niu 等[24]提出整體注意力網(wǎng)絡(luò),進(jìn)一步組合了層注意力、通道和空間注意力,以建模層、通道和空間位置之間的整體依賴.Li等[25]提出多尺度殘差網(wǎng)絡(luò)(Multiscale residual network,MSRN),采用局部多路徑學(xué)習(xí),同時提取多個尺度特征,改進(jìn)了特征的表示能力.視覺Transformer 能夠建模全局像素之間的依賴,在圖像分類、物體檢測和分割等高級視覺任務(wù)中,取得了巨大的成功.Liang 等[26]將Swin Transformer[27]引入圖像恢復(fù),取得了最先進(jìn)的性能.這些代表性的SISR 方法雖然有好的SR 性能,但模型參數(shù)量較大,需要較大的內(nèi)存和較強(qiáng)的計算能力,限制了它們在資源受限設(shè)備上的應(yīng)用.目前,網(wǎng)絡(luò)架構(gòu)設(shè)計的趨勢是設(shè)計更輕量的網(wǎng)絡(luò)模型,找到網(wǎng)絡(luò)模型復(fù)雜度和性能之間最優(yōu)的平衡[28].本文模型的基本構(gòu)件設(shè)計受Zhang 等[11]和Li 等[25]啟發(fā),相較于RCAN 的基本構(gòu)件RCAB,通過引入擴(kuò)張卷積,可以提取多尺度特征[25]且不增加參數(shù)量;同時,設(shè)計一個空間注意力融合塊,可以有效地融合這些多尺度的特征.
目前,基于CNN 的SR 技術(shù)研究大多聚焦于網(wǎng)絡(luò)架構(gòu)設(shè)計,但合適的損失函數(shù)對SR 模型的性能也至關(guān)重要.最廣泛使用的損失函數(shù)是逐像素的L1損失(即平均絕對誤差) 和L2損失(即均方誤差).這些逐像素的誤差度量返回許多可能解的平均值[14],會導(dǎo)致SR 圖像出現(xiàn)模糊、過度平滑和不自然的外觀等問題,尤其是在信息豐富的區(qū)域.為了改進(jìn)SR 圖像的感知質(zhì)量,Johnson 等[15]提出感知損失,使用預(yù)訓(xùn)練的圖像分類網(wǎng)絡(luò),在特征空間度量高級感知和語義差異.與L1等像素?fù)p失不同,感知損失鼓勵輸出的SR 圖像與目標(biāo)圖像具有相似特征表示,而不是迫使其像素匹配.考慮到SR 圖像應(yīng)與目標(biāo)圖像具有相同的紋理,Sajjadi 等[19]提出一種基于塊的紋理損失,圖像紋理視為不同特征通道之間的相關(guān)性,其定義基于預(yù)訓(xùn)練分類網(wǎng)絡(luò)特征的Gram矩陣.紋理損失迫使SR 圖像應(yīng)與目標(biāo)圖像之間局部紋理相似.Ledig 等[20]提出對抗性損失,鼓勵SR圖像逼近自然圖像流形.這些損失函數(shù)改進(jìn)SR 圖像的視覺質(zhì)量,但是保真度低,仍不能阻止圖像模糊.
對比學(xué)習(xí)[29-30]旨在學(xué)習(xí)一個嵌入的空間,使得相似的樣本彼此靠近,不同的樣本彼此遠(yuǎn)離.對比學(xué)習(xí)可用于監(jiān)督的學(xué)習(xí)環(huán)境,也可用于無監(jiān)督的學(xué)習(xí)環(huán)境,在圖像分類和圖像聚類等高級視覺任務(wù)中,應(yīng)用非常成功,但很少用于低級視覺任務(wù).高級視覺任務(wù)的對比學(xué)習(xí)技術(shù)可能不適用于低級視覺任務(wù),因為前者更需要全局視覺表示,而后者更需要豐富的紋理細(xì)節(jié)[31].對比學(xué)習(xí)需要考慮度量相似性的隱空間和正/負(fù)樣本的選取兩個重要因素.在低級視覺任務(wù)中,使用的隱空間大都是預(yù)訓(xùn)練網(wǎng)絡(luò)(例如VGG)的特征空間.采用簡單方法選取正/負(fù)樣本,例如以輸入的低質(zhì)量圖像作為負(fù)樣本,以輸入的高質(zhì)量圖像作為正樣本.Wu 等[32]提出圖像去霧方法,使用VGG 特征空間真實圖像作為正樣本,退化的霧圖像作為負(fù)樣本,估計的圖像作為錨.在VGG 特征空間中,讓錨靠近正樣本,遠(yuǎn)離負(fù)樣本.Wang 等[17]提出一個對比自蒸餾SR 網(wǎng)絡(luò),同時使用VGG 特征空間,其中教師子網(wǎng)絡(luò)輸出的SR 圖像作為正樣本,學(xué)生子網(wǎng)絡(luò)輸出的SR 圖像作為錨,從同一個批次中采樣K個圖像(除錨外),通過雙三次插值上采樣到與輸出SR 圖像相同的分辨率,作為負(fù)樣本.在盲SR 中,Wang 等[33]使用一個編碼器子網(wǎng)絡(luò),學(xué)習(xí)不同退化的抽象表示.假定相同圖像中的塊退化相同,不同圖像中的塊退化不同,以分別選擇為正/負(fù)樣本.Wu 等[31]提出一個基于對比學(xué)習(xí)的SR 框架,以判別器子網(wǎng)絡(luò)的特征空間作為隱空間.通過對真實圖像施加一些輕微的模糊,生成多個難的負(fù)樣本并簡單銳化真實圖像,生成多個信息豐富的正樣本.Wu 等[31]的隱空間對退化更敏感,其負(fù)樣本試圖促使SR 圖像遠(yuǎn)離平滑的結(jié)果,而其正樣本試圖迫使SR 圖像吸收更多的細(xì)節(jié)信息.本文受到CSD 的啟發(fā),CSD 雖能改進(jìn)視覺結(jié)果,但保真度低,正/負(fù)樣本限定的上/下界距離大,即上/下界較弱.本文直接使用圖像空間訓(xùn)練HR 圖像和輸出的SR 圖像對應(yīng)的像素,分別作為正樣本和錨;HR圖像上正樣本鄰近的像素,作為負(fù)樣本.
本文的漸進(jìn)殘差特征融合網(wǎng)絡(luò)架構(gòu)如圖3 中模塊1)所示,主要包括淺層特征提取塊(Shallow feature extraction block,SFEB)、特征映射塊(Feature mapping block,FMB)和上采樣塊三部分.其中,SFEB 僅包含一個 3×3 的卷積層,提取淺層特征信息;FMB 包含N(實驗中,N=10)個漸進(jìn)特征融合組(Progressive feature fuse group,PFFG);上采樣塊使用亞像素卷積[34],使用L1損失和本文的像素級對比損失Lcntr.假定輸入的LR 圖像為ILR,首先,經(jīng)過SFEB 提取淺層特征:
圖3 網(wǎng)絡(luò)架構(gòu)細(xì)節(jié)Fig.3 Network architecture details
式中,f SF EB(·) 是淺層特征提取函數(shù),F0是其輸出.然后,F0再通過FMB 進(jìn)行深層特征提取:
式中,f UP(·) 是上采樣塊函數(shù).最后,輸出SR 圖像ISR.
FMB 包含多個PFFG,PFFG 中特征融合設(shè)計主要受到Liu 等[35]啟發(fā).他們的研究表明,網(wǎng)絡(luò)中不同深度的殘差特征逐漸集中于輸入圖像的不同方面,對于重建空間細(xì)節(jié)非常有用.基于CNN 的SISR 模型大都只是將殘差學(xué)習(xí)作為緩解訓(xùn)練難度的策略.SISR 模型堆疊殘差塊,殘差特征傳播到下一個塊之前,與恒等特征融合,致使后面的殘差塊只饋入了復(fù)雜的融合特征,忽略了充分利用更清潔的殘差特征.Liu 等[35]設(shè)計的殘差模塊包含多個殘差塊,并把各個殘差塊輸出的特征拼接在一起,饋入 1×1 卷積層進(jìn)行融合.
PFFG 由MRCAB 和SAFB 組成,每個MRCAB 的輸出特征是下一個MRCAB 的輸入,且與后續(xù)所有MRCAB 輸出特征,通過SAFB 進(jìn)行分層融合,以強(qiáng)化中間殘差特征,見圖3 中模塊2).每個PFFG 使用了3 個MRCAB,殘差分支的特征融合可以分為3 個步驟: 1)從左到右,每兩個相鄰的MRCAB 輸出特征通過SAFB 進(jìn)行融合;2)步驟1)輸出的融合特征從左到右使用SAFB,對每兩個相鄰的特征進(jìn)行融合,其余類推;3)步驟2)輸出的融合特征作為PFFG 的殘差分支輸出,與PFFG的輸入特征求和.每個PFFG 有3 個MRCAB,第n個PFFG 中第m(m=1,2,3)個MRCAB 的輸出為則第n個PFFG 中第1 個MRCAB 的輸入是前一個PFFG 的輸出Fn-1(第1 個PFFG中,第1 個MRCAB 的輸入為SFEB 的輸出F0);第n個PFFG 中第m(m=2,3)個MRCAB 的輸入為前一個MRCAB 的輸出Fn可表示為:
式中,f MRCAB(·) 是MRCAB 函數(shù);是第n(n=1,2,···,N)個PFFG 中,第m(m=1,2,3)個MRCAB 的輸出:
式中,f SAF B(·) 是SAFB 塊函數(shù).
本文的MRCAB 主要受Zhang 等[11]和Li 等[25]啟發(fā).Li 等[25]開發(fā)了一個多尺度的殘差塊(Multiscale residual block,MSRB).MSRB 包含兩個分支,一個分支使用 3×3 卷積,另一個分支使用5×5卷積.兩個分支輸出的不同尺度特征拼接在一起,再分別通過 3×3 和 5×5 卷積.通過實驗可以發(fā)現(xiàn),更多尺度可以更好地利用特征信息,因此本文的MRCAB 使用三個分支,如圖4 所示.為了減少參數(shù)量,一個分支使用 3×3 卷積,其余兩個分支使用3×3擴(kuò)張卷積,擴(kuò)張率分別為2 和4.另外,為了簡化MSRB,本文把三個分支輸出的不同尺度特征簡單地求和,進(jìn)行融合.在MRCAB 的后部,引入了Zhang 等[11]的通道注意力機(jī)制,通過自適應(yīng)地伸縮各個通道,以建模各個通道之間的依賴性.第n個PFFG 中,第m(m=1,2,···,M) 個MRCAB 的第k個分支(k=1,2,3)可表示為:
圖4 多尺度殘差通道注意力塊Fig.4 Multi-scale residual channel attention block
第n個PFFG 中,第m(m=1,2,···,M) 個MRCAB 的輸出可表示為:
式中,C A(·) 是RCAN 中通道注意力函數(shù).
考慮到MRCAB 中使用了Zhang 等[11]的通道注意力建模特征通道之間的依賴關(guān)系,在融合兩個MRCAB 的輸出特征時,使用空間注意力,進(jìn)一步建模特征像素之間的依賴關(guān)系.兩個MRCAB 的輸出特征拼接在一起,使用 1×1 卷積進(jìn)行融合,生成兩個特征通道,再使用Sigmoid 函數(shù),將通道像素值轉(zhuǎn)換到(0,1)之間,作為輸入特征的權(quán)重.學(xué)習(xí)輸入特征像素之間的依賴關(guān)系,如圖5 所示.假定輸入的特征分別為FA和FB,SAFB 中特征融合過程可表示為:
圖5 空間注意力融合塊Fig.5 Spatial attention fusion block
式中,Ffuse為SAFB 輸出的融合特征,Conv1×1(·)為 1×1 卷積函數(shù),f split(·) 把兩個通道分裂為矩陣WA和WB,S igmoid(·) 為Sigmoid 函數(shù),“·”為逐像素相乘.
SAFB 利用空間注意力機(jī)制,漸進(jìn)地融合分層的特征信息,可以更好地利用和融合多樣化的特征信息.
本文的核心工作是引入像素級對比損失,使被恢復(fù)的像素更靠近原HR 圖像中對應(yīng)像素,遠(yuǎn)離其他鄰近像素,以提高SR 圖像的保真度和清晰度.對比學(xué)習(xí)框架[29,32,36-37]主要是為高層語義理解任務(wù)設(shè)計的,在低級視覺中應(yīng)用的潛力還沒有得到充分探索.對于給定的錨點,對比學(xué)習(xí)的目標(biāo)是將錨點拉向正樣本,遠(yuǎn)離負(fù)樣本.基于CNN 的SISR 方法雖然顯著改進(jìn)了之前的SISR 方法,但如何恢復(fù)SR圖像中丟失、模糊或失真的細(xì)節(jié),仍然是有待解決的問題.目前,已有一些損失函數(shù)(如感知損失Lperc[15]、紋理損失Ltex[19]和對抗損失Ladv[20]等)改進(jìn)了被廣泛使用的L1或L2損失,但仍不能令人滿意.Lperc和Ltex仍然不能阻止模糊,Ladv雖然能生成清晰的細(xì)節(jié),但生成的細(xì)節(jié)嚴(yán)重失真和不自然.為了解決這個問題,本文提出像素級對比損失Lcntr.Lcntr可以與L1、L2、Lperc、Ltex和Ladv等一個或多個結(jié)合使用,進(jìn)一步改進(jìn)SR 圖像的保真度和清晰度.
優(yōu)化L1或L2損失函數(shù)是將待恢復(fù)的SR 圖像中,每個像素逐漸逼近原HR 圖像中對應(yīng)的像素.遺憾的是,SR 圖像恢復(fù)是一個病態(tài)逆問題,同一個低分辨率圖像可以對應(yīng)多個高分辨率圖像,恢復(fù)的SR 圖像是許多高分辨率圖像的平均,導(dǎo)致過度平滑.本文的像素級對比損失Lcntr將SR 圖像中的像素作為錨點,HR 圖像中對應(yīng)的像素作為正樣本,與該正樣本像素值相同的像素也作為正樣本,其他像素作為負(fù)樣本.Lcntr與L1或L2損失函數(shù)聯(lián)合使用,增加一個附加的約束,讓錨點接近正樣本,遠(yuǎn)離負(fù)樣本,具體過程見圖6.不同的負(fù)樣本可以自適應(yīng)地推遠(yuǎn)錨點.Lcntr的形式類似于InfoNCE[38]損失,它是基于Softmax 的分類損失,在小批量樣本中,分類正樣本和負(fù)樣本.原HR 圖像分為許多大小相等的區(qū)域(假定共有Q個區(qū)域),在每個局部區(qū)域計算對比損失.在給定HR 圖像中,第q個局部區(qū)域假定包含S個像素,第i個像素(記為xqHR,i)視為正樣本,其他具有相同值的像素,也視為正樣本,該區(qū)域?qū)Ρ葥p失計算為:
圖6 像素級對比損失Fig.6 Pixel-wise contrastive loss
網(wǎng)絡(luò)模型總損失計算為:
式中,λ C是系數(shù),以平衡Lcntr和L1損失.
本文使用DIV2K 數(shù)據(jù)集[39]訓(xùn)練模型,其中800 個圖像作為訓(xùn)練圖像,5 個圖像用于驗證集,標(biāo)記為DIV2K_val5.為了增強(qiáng)訓(xùn)練圖像,訓(xùn)練圖像進(jìn)行了 9 0°旋轉(zhuǎn)和隨機(jī)的水平翻轉(zhuǎn).測試中,使用Set5[40]、Set14[6]、B100[41]、Urban100[42]和Manga-109[43]5 個標(biāo)準(zhǔn)測試數(shù)據(jù)集;對原HR 圖像進(jìn)行雙三次下采樣,以獲得對應(yīng)的LR 圖像.與其他方法類似,使用PSNR 和SSIM 評估模型的客觀性能,PSNR和SSIM 均在YCbCr 空間[23]的Y 通道上進(jìn)行計算.訓(xùn)練中,批大小設(shè)置為16,LR 圖像片尺寸設(shè)置為 4 8×48 像素.使用ADAM 優(yōu)化器,設(shè)置β1=0.9,β2=0.999,ε=10-8.初始學(xué)習(xí)率設(shè)置為 1 0-4,每200 個迭代周期減半.使用PyTorch 框架實現(xiàn)模型,并在NVIDIA GeForce RTX 2080Ti GPU 上訓(xùn)練.
4.2.1 消融實驗
為了驗證本文網(wǎng)絡(luò)架構(gòu)和像素級對比損失的有效性,進(jìn)行了5 組對比實驗: 1) 把網(wǎng)絡(luò)架構(gòu)中的MRCAB 替換為RCAB,僅使用L1損失,不包含SAFB 塊和像素級對比損失Lcntr,以該模型作為基準(zhǔn),稱為PRFFN0;2)在PRFFN0 基礎(chǔ)上,增加類似于殘差特征聚合(Residual feature aggregation,RFA)[35]的特征融合方法,與RFA 塊的區(qū)別是將其殘差子塊替換為RCAB,這個模型稱為PRFFN1;3) 將PRFFN1 中的RFA 特征融合方法替換為SAFB,進(jìn)行特征融合,這個模型稱為PRFFN2;4)將PRFFN2 中的RCAB 替換為MRCAB,這個模型稱為PRFFN3;5)在PRFFN3 中,增加像素級對比損失Lcntr,這個模型稱為PRFFN 即本文模型.訓(xùn)練1 000 個迭代周期,5 個模型在DIV2K_val5 驗證集上3 倍超分辨率的平均PSNR 和參數(shù)量如表1 所示.表1 中,“?”表示在訓(xùn)練時使用該損失,“—”表示訓(xùn)練時不使用該損失.由表1 可以看出,基準(zhǔn)模型PRFFN0 的平均PSNR 為32.259 dB;RFA 特征融合改進(jìn)了PRFFN0 的PRFFN1,平均PSNR 增加了0.048 dB.相較于RFA,本文SAFB 使用了空間注意力機(jī)制,增強(qiáng)了特征空間依賴關(guān)系之間的建模,優(yōu)于RFA 中特征圖的簡單拼接,使PRFFN2 較PRFFN1 模型,參數(shù)量減少了55 K,平均PSNR卻增加了0.035 dB;相較于RCAB,本文MRCAB使用了擴(kuò)張卷積,在不增加模型參數(shù)量的情況下,擴(kuò)大了特征感受野,且融合了多個尺度擴(kuò)張卷積特征,使PRFFN3 較PRFFN2,平均PSNR 增加了0.022 dB;在L1損失的基礎(chǔ)上,增加像素級對比損失Lcntr,提高了SR 圖像的保真度,使PRFFN 較PRFFN3,平均PSNR 增加了0.087 dB.
表1 DIV2K_val5 驗證集上,不同模型,3 倍SR 的平均PSNR 和參數(shù)量Table 1 The average PSNRs and parameter counts of 3 times SR for different models on the DIV2K_val5 validation data set
4.2.2 對比損失的設(shè)計與分析
1)對比損失的有效性.為了驗證對比損失的有效性,實驗比較了L1、Lperc、LCSD和Lcntr損失及其組合對應(yīng)的PSNR 和學(xué)習(xí)的感知圖像塊相似性(Learned perceptual image patch similarty,LPIPS)[44]度量.LPIPS 被認(rèn)為更符合人類的視覺感知,視覺感知質(zhì)量隨LPIPS 的降低而增加,而PSNR 值越高,則圖像的保真度越高.訓(xùn)練1 000 個迭代周期,實驗結(jié)果如表2 所示,表2 中“?”表示在訓(xùn)練時,使用該損失;“—”表示訓(xùn)練時,不使用該損失.Lcntr與其他損失組合時,可改進(jìn)PSNR 和LPIPS 值.當(dāng)Lcntr與L1組合時,獲得了最好的PSNR值(32.451 dB);當(dāng)Lcntr與L1、LCSD組合時,獲得了最好的LPIPS 值(0.0613).由表2 可知,LCSD作用于圖像特征空間,獲得了更好的LPIPS;Lcntr作用于像素空間,獲得了更好的PSNR,即保真度更高.Lcntr組合LCSD雖獲得了最好的LPIPS,但PSNR 有所降低.
表2 DIV2K_val5 驗證集上,不同損失函數(shù)及其組合,3 倍SR 的平均PSNR 和LPIPS 結(jié)果Table 2 The average PSNRs and LPIPSs of 3 times SR for different losses and their combinations on the DIV2K_val5 validation data set
2)不同比例對比損失影響.如式(11)所示,比例系數(shù)λ C可以調(diào)節(jié)對比損失的比例.訓(xùn)練1 000 個迭代周期,在DIV2K_val5 驗證集上,不同λ C,3倍SR 的平均PSNR 結(jié)果見表3.由表3 可以看出,過大或過小的λ C使PSNR 結(jié)果惡化.當(dāng)λC=10-1時,獲得了最好的PSNR 性能.
表3 DIV2K_val5 驗證集上,不同 λ C,3 倍SR 的平均PSNR 結(jié)果Table 3 The average PSNRs of 3 times SR for different λC on the DIV2K_val5 validation data set
3) 對比損失的通用性.本文的對比損失Lcntr可以與L1、Lperc和LCSD等損失組合使用,從而改進(jìn)SR 圖像的保真度.Lcntr也可用于其他模型,可以改進(jìn)SR 的性能.以著名的EDSR、RCAN 和SwinIR-light[26]為例,訓(xùn)練1 000 個迭代周期,原模型和增加Lcntr損失后的平均PSNR 和SSIM 結(jié)果如表4 所示,表4 中“?”表示在訓(xùn)練時使用該損失,“—”表示訓(xùn)練時不使用該損失,“↑”代表指標(biāo)提升.由表4 可以看出,Lcntr損失可以顯著改進(jìn)SR 圖像視覺效果.SwinIR-light 增加Lcntr后,在Urban-100 數(shù)據(jù)集中,img004 圖像的3 倍SR 結(jié)果如圖7所示.由圖7 可以看出,使用Lcntr損失后,SR 圖像的視覺質(zhì)量得到顯著改進(jìn).
表4 DIV2K_val5 驗證集上,不同模型包含與不包含Lcntr 損失,3 倍SR 的平均PSNR 和SSIM 結(jié)果Table 4 The average PSNRs and SSIMs of 3 times SR for different models with and without Lcntr loss on the DIV2K_val5 validation data set
圖7 Urban100 數(shù)據(jù)集中,SwinIR-light 使用不同損失函數(shù),img004 圖像的3 倍SR 結(jié)果Fig.7 The 3 times SR results of SwinIR-light using different losses on the img004 image in the Urban100 data set
4)不同大小局部區(qū)域?qū)Ρ葥p失的影響.計算對比損失的方形局部區(qū)域,可用區(qū)域中像素個數(shù)S度量.本文考慮 4×4 像素、8×8 像素和 1 6×16 像素的局部區(qū)域,S分別為16、64 和256.在DIV2K_val5 驗證集上,訓(xùn)練1 000 個迭代周期,不同S值的3 倍SR 的平均PSNR 結(jié)果見表5.可以看出,更大的局部區(qū)域(即更大的S值)負(fù)樣本更多,有利于改進(jìn)PSNR 性能.但在訓(xùn)練時,更大的S值需要更多的時間和更大的內(nèi)存量(見表6).考慮到相較于S=64,在S=256 時,PSNR 改進(jìn)很小,因此本文選擇S=64.
表5 DIV2K_val5 驗證集上,不同大小局部區(qū)域,3 倍SR 的平均PSNR 結(jié)果Table 5 The average PSNRs of 3 times SR for different size local regions on the DIV2K_val5 validation data set
表6 3 倍SR 訓(xùn)練10 個迭代周期,訓(xùn)練占用的內(nèi)存和使用的訓(xùn)練時間Table 6 For 3 times SR,10 epochs,comparing the memory and time used by training
5)對比學(xué)習(xí)訓(xùn)練的計算代價.4 組對比實驗分別為不使用Lcntr損失以及S=16、64 和256 三種情形.對于3 倍SR 訓(xùn)練10 個迭代周期,訓(xùn)練占用的內(nèi)存和使用的訓(xùn)練時間如表6 所示.表6 中,“?”表示在訓(xùn)練時使用該損失,“—”表示訓(xùn)練時不使用該損失.由表6 可以看出,計算代價沒有顯著增加.當(dāng)S=64 時,內(nèi)存增加了約21%,計算時間僅增加了約11%.
4.2.3 PFFG 實驗
在網(wǎng)絡(luò)架構(gòu)中,共由10 個PFFG 組成,每個PFFG 包含3 個MRCAB 和3 個SAFB,見圖3 中模塊2).
1) 擴(kuò)張卷積的不同擴(kuò)張率對性能的影響.與RCAN 中的RCAB 相比,MRCAB 沒有增加參數(shù),并且通過多分支提取了多尺度特征信息,并通過擴(kuò)張卷積(或空洞卷積)擴(kuò)大了感受野.MRCAB 中,3 個分支擴(kuò)張卷積的擴(kuò)張率組合分別設(shè)為1,2,3、1,2,4 和1,2,5.考慮只有1 個分支使用常規(guī)卷積即擴(kuò)張率為1,此時MRCAB 退化為RCAB;考慮2 個分支,擴(kuò)張率組合為1,2 的情形,訓(xùn)練1 000 個迭代周期,不同分支和不同擴(kuò)張率組合,3 倍SR 的平均PSNR 結(jié)果見表7.由表7 可見,不同尺度的特征融合可以改進(jìn)性能.擴(kuò)張率更大,特征感受野大,對性能有益.但過大的擴(kuò)張率,也是有害的.MRCAB 三個分支的擴(kuò)張率設(shè)置為1,2,4 較為合理.
表7 DIV2K_val5 驗證集上,MRCAB 不同分支和不同擴(kuò)張率組合,3 倍SR 的平均PSNR 結(jié)果Table 7 The average PSNRs of 3 times SR for the different branches of MRCAB with different dilation rate combinations on the DIV2K_val5 validation data set
1)客觀比較.本文與代表性的雙三次上采樣、快速超分辨率卷積神經(jīng)網(wǎng)絡(luò)(Fast super-resolution convolutional neural network,FSRCNN)[45]、稀疏掩碼超分辨率網(wǎng)絡(luò)(Sparse mask super-reolution,SMSR)[46]、自適應(yīng)級聯(lián)注意力網(wǎng)絡(luò)(Adaptive cascading attention network,ACAN)[47]、權(quán)重自適應(yīng)超分辨率網(wǎng)絡(luò)(Adaptive weighted super-resolution network,AWSRN)[48]、深度遞歸卷積網(wǎng)絡(luò)(Deeply-recursive convolutional network,DRCN)[49]、級聯(lián)殘差網(wǎng)絡(luò)(Cascading residual network,CARN)[50]、OISR-RK2 (Apply ODE-inspired schemes to super-resolution network designs-Runge-Kutta)[51]、OISR-LF (Apply ODE-inspired schemes to superresolution network designs-leapfrog)[51]、MSRN、軟邊緣輔助網(wǎng)絡(luò)(Soft-edge assisted network,SeaNet)[52]和兩階段注意力網(wǎng)絡(luò)(Two-stage attentive network,TSAN)[53]方法進(jìn)行比較.在5 個標(biāo)準(zhǔn)測試數(shù)據(jù)集上,2 倍、3 倍和4 倍SR 的平均PSNR 和SSIM 結(jié)果見表8.與最先進(jìn)的TSAN 相比,本文模型參數(shù)和計算量大約減少了1/3,推理時間大約減少了一半,但性能更好.例如,對于2 倍SR,本文方法與TSAN 相當(dāng);對于3 倍和4 倍SR,在所有測試數(shù)據(jù)集上,本文方法均優(yōu)于TSAN.特別是在Urban100數(shù)據(jù)集上,平均PSNR 最大改進(jìn)分別為0.1 dB 和0.16 dB.
表8 5 個標(biāo)準(zhǔn)測試數(shù)據(jù)集上,不同SISR 方法的2 倍、3 倍和4 倍SR 的平均PSNR 和SSIM 結(jié)果Table 8 The average PSNRs and SSIMs of 2 times,3 times,and 4 times SR for different SISR methods on five standard test data sets
2)主觀效果比較.各種方法SR 的視覺效果比較見圖8~10.可以看出,本文方法恢復(fù)的SR 圖像視覺質(zhì)量優(yōu)于其他方法.例如,對于Urban100 數(shù)據(jù)集中的圖像img076,其他方法恢復(fù)的SR 圖像存在過度模糊或條紋方向錯誤,本文方法恢復(fù)出的SR 圖像接近于原HR 圖像;其他圖像的恢復(fù)結(jié)果也類似.
圖8 2 倍SR 的視覺效果比較Fig.8 Visual comparison for 2 times SR
圖9 3 倍SR 的視覺效果比較Fig.9 Visual comparison for 3 times SR
本文提出一個通用的基于對比學(xué)習(xí)的逐像素?fù)p失函數(shù)Lcntr,以恢復(fù)出的SR 圖像像素作為錨樣本,原HR 圖像對應(yīng)的像素作為正樣本,其他像素作為負(fù)樣本.Lcntr使錨樣本盡可能接近正樣本,并遠(yuǎn)離負(fù)樣本,可以顯著改進(jìn)SR 圖像的保真度和視覺質(zhì)量.為了驗證Lcntr的性能,本文提出一個SR 的網(wǎng)絡(luò)架構(gòu)PRFFN.實驗結(jié)果表明,本文的PRFFN 組合Lcntr取得了很有競爭力的SR 性能.