熊亞輝,陳東方,王曉峰
(武漢科技大學(xué) a.計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院; b.湖北省智能信息處理與實(shí)時(shí)工業(yè)系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,武漢 430065)
單幅圖像超分辨率(Single Image Super-Resolution,SISR)重建一直以來都是圖像處理領(lǐng)域的研究重點(diǎn),旨在將一張低分辨率(Low-Resolution,LR)的圖像恢復(fù)成給定的高分辨率(High-Resolution,HR)圖像。SISR廣泛應(yīng)用于圖像壓縮、醫(yī)療成像、遙感成像、公共安防和視頻感知等諸多領(lǐng)域。經(jīng)過多年的發(fā)展,已取得大量關(guān)于SISR技術(shù)的研究成果。一般來說,超分辨技術(shù)主要分為3種類型:基于插值[1-2]的方法、基于重建[3]的方法和基于學(xué)習(xí)的方法。其中,基于插值的方法主要分為雙線性插值、雙三次插值(Bicubic)等算法,其方法簡單直觀,能夠快速得到相應(yīng)的結(jié)果,但是圖像重建之后容易存在鋸齒、模糊等一系列問題。基于重建的方法有迭代反投影算法[4]和凸集投影算法等,其主要關(guān)注圖像的高頻信息,通過一系列方法恢復(fù)圖像的高頻細(xì)節(jié)部分。這類算法的迭代次數(shù)較少,容易忽略某些重要的細(xì)節(jié)信息?;趯W(xué)習(xí)的超分辨率方法是近年來超分辨率研究的熱點(diǎn),采用機(jī)器學(xué)習(xí)技術(shù)通過事先給定的范例學(xué)習(xí)LR和HR圖像塊間映射關(guān)系的先驗(yàn)知識(shí),利用這種先驗(yàn)知識(shí)能夠更好地恢復(fù)圖像的細(xì)節(jié)信息,其主要包括鄰域嵌入法[5-6]、稀疏表示法[7-9]和基于深度學(xué)習(xí)的超分辨率算法[10-12]等。
近年來,基于深度學(xué)習(xí)的超分辨率算法越來越得到研究學(xué)者的關(guān)注。SRCNN[13]是深度學(xué)習(xí)應(yīng)用于超分辨率重建上的開山之作,它采用前端升采樣網(wǎng)絡(luò)結(jié)構(gòu),直接使用雙三次插值算法將LR圖像升采樣至目標(biāo)分辨率大小,并將其作為輸入,使用深度卷積網(wǎng)絡(luò)模型重建得到HR圖像。ESPCN[14]采用后端升采樣網(wǎng)絡(luò)結(jié)構(gòu),直接將LR圖像作為輸入,通過深度學(xué)習(xí)網(wǎng)絡(luò)來提取特征,得到細(xì)節(jié)紋理更清晰的LR圖像,再將其作為輸入,利用反卷積網(wǎng)絡(luò)將LR圖像上采樣至目標(biāo)分辨率大小,從而得到HR圖像。VDSR[15]將殘差網(wǎng)絡(luò)的思想引入到超分辨率重建的領(lǐng)域中,但其只學(xué)習(xí)圖像的高頻殘差部分,忽略了圖像的低頻部分,且加快了網(wǎng)絡(luò)的收斂速度。LapSRN[16]使用的是漸進(jìn)式升采樣網(wǎng)絡(luò)結(jié)構(gòu),它的升采樣過程不是一步完成,而是采用拉普拉斯金字塔的方式,產(chǎn)生一些中間層次的重建圖像作為后續(xù)模塊的輸入圖像,直至圖像放大到目標(biāo)大小的HR圖像。
上述基于深度學(xué)習(xí)的超分辨率重建算法雖然取得了較好的重建效果,但是仍然存在一些不足。如ESPCN[14]采用后端升采樣網(wǎng)絡(luò)結(jié)構(gòu),它的特征提取部分一直在LR空間進(jìn)行,在最后階段使用反卷積層將圖像進(jìn)行放大,沒有考慮到LR到HR空間的映射變換,容易造成特征信息提取不充分等問題。VDSR[15]采用前端升采樣網(wǎng)絡(luò)結(jié)構(gòu),需要對圖像進(jìn)行雙三次插值放大處理,將會(huì)丟失一些圖像細(xì)節(jié)信息,采用遞進(jìn)的層級網(wǎng)絡(luò),使得每一個(gè)卷積層只能獲取到緊鄰的上一個(gè)卷積層輸出的圖像特征,僅采用來自LR空間的最后一個(gè)卷積層的特征映射進(jìn)行圖像的放大,不利于特征復(fù)用,且未充分利用各層之間的圖像特征。LapSRN[16]使用漸進(jìn)式升采樣網(wǎng)絡(luò)結(jié)構(gòu),它利用不同的倍增系數(shù)在一個(gè)前饋網(wǎng)絡(luò)里構(gòu)建多張超分辨率圖像,是單個(gè)上采樣網(wǎng)絡(luò)的堆疊,且十分依賴于第一次放大的重建圖像結(jié)果,如果第一次重建時(shí)有特征丟失,后面重建時(shí)之前丟失的特征將難以提取。
上述算法都沒有考慮到LR圖像重建到HR圖像時(shí)的重構(gòu)誤差優(yōu)化問題,且其映射關(guān)系由最后一層來決定。為了解決上述方法中存在的問題,本文提出一種基于多尺度反向投影的圖像超分辨率重建算法?;诘聪蛲队癧17]的思想,使用迭代式的升采樣和降采樣網(wǎng)絡(luò)結(jié)構(gòu)構(gòu)建反向投影層,交替使用升采樣和降采樣來提取圖像特征,優(yōu)化圖像重建過程中的重構(gòu)誤差。將局部殘差學(xué)習(xí)和全局殘差學(xué)習(xí)相結(jié)合,在反向投影層(Back Projection Layer)中使用局部殘差學(xué)習(xí),在反向投影模塊(Back Projection Module)中使用全局殘差學(xué)習(xí),實(shí)現(xiàn)特征復(fù)用,減少網(wǎng)絡(luò)冗余,加速參數(shù)更新的速度,提高網(wǎng)絡(luò)的收斂速度?;贕oogleNet[18]的思想,使用多尺度的卷積核提取不同尺度下圖像的高頻信息,通過級聯(lián)的方式將其連接,得到高分辨率重建結(jié)果。
迭代反向投影(Iterative Back Projection,IBP)[16]算法應(yīng)用于單幅圖像進(jìn)行超分辨率重建時(shí),一般包括以下3個(gè)步驟:
步驟1對于現(xiàn)有的原始LR圖像Il插值得到模擬的HR圖像Ih,通過降質(zhì)模型產(chǎn)生對應(yīng)的LR圖像。
Ih=Il↑s
(1)
Il=(Ih*g)↓s
(2)
其中,Il表示輸入的LR圖像,Ih表示使用雙三次插值算法得到的HR圖像,Il表示通過降質(zhì)模型后產(chǎn)生的LR圖像,*表示卷積運(yùn)算操作符,g表示卷積核,↑s表示上采樣運(yùn)算符,↓s表示下采樣運(yùn)算符。
步驟2計(jì)算每次迭代過程中圖像的重構(gòu)誤差,計(jì)算方法如下:
Er=Il-Il
(3)
其中,Er為原始圖像和通過降質(zhì)模型后產(chǎn)生的LR圖像之差。
步驟3將式(3)中得到的重構(gòu)誤差進(jìn)行升采樣插值并反投影到重建的HR圖像中,得到最終的HR圖像,計(jì)算方法如下:
(4)
SRCNN[13]首次將深度學(xué)習(xí)的思想引入到超分辨率重建中,不同于傳統(tǒng)的基于插值的超分辨率重建算法,SRCNN[13]通過對圖像進(jìn)行卷積的方式去學(xué)習(xí)HR和LR圖像之間的端對端映射。網(wǎng)絡(luò)結(jié)構(gòu)分為3部分,具體如圖1所示。其中,特征提取層使用9×9的卷積核進(jìn)行特征提取,非線性映射層使用1×1的卷積核將LR特征映射為HR特征,圖像重建層使用5×5的卷積核重建得到HR目標(biāo)圖像。
圖1 SRCNN網(wǎng)絡(luò)結(jié)構(gòu)
受到SRCNN[13]的啟發(fā),本文算法主要分為3個(gè)部分,分別為淺層特征提取模塊、反向投影模塊和圖像重建模塊。本文算法的網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
圖2 本文算法的網(wǎng)絡(luò)結(jié)構(gòu)
在整個(gè)網(wǎng)絡(luò)的初始階段,設(shè)置一個(gè)淺層特征提取模塊。該模塊引入了GoogleNet[18]的思想,在此過程中,使用3×3、5×5、7×7等3種不同像素的卷積核對圖像進(jìn)行卷積處理。利用3種不同像素的卷積核對圖像進(jìn)行特征提取,可以從LR圖像中得到更多的細(xì)節(jié)信息。本模塊使用2個(gè)卷積層進(jìn)行特征的提取,第一層的卷積核大小分別為3×3、5×5、7×7,第二層的卷積核大小均為1×1。使用的激活函數(shù)為PRelu。經(jīng)過第一層和第二層卷積層后提取得到的特征圖的計(jì)算方法如下:
F1=HSFE,3×3(IL)
(5)
F2=HSFE,1×1(F1)
(6)
其中,IL表示原始的LR圖像,HSFE,3×3(·)表示可以使用3×3像素的卷積核對LR圖像進(jìn)行卷積處理。同樣,采取同樣的方式使用5×5和7×7像素的卷積核對LR圖像進(jìn)行卷積處理。F1表示經(jīng)過第一層卷積后提取到的特征圖,F2表示經(jīng)過第二層卷積后提取到的特征圖,HSFE,1×1(·)表示使用1×1的卷積核對圖像進(jìn)行卷積處理操作,目的是為了降低特征圖的維度,減少參數(shù),緩解后面訓(xùn)練的難度。
基于IBP[17]算法的思想,反向投影層主要分為升采樣和降采樣2個(gè)部分。
2.2.1 升采樣
升采樣主要分為以下4個(gè)步驟:
步驟1對原始圖像進(jìn)行反卷積操作,得到上采樣后的特征圖,計(jì)算方法如下:
(7)
(8)
其中,D表示下采樣卷積核。
(9)
其中,Er表示將2次LR圖像的高頻殘差部分進(jìn)行反卷積操作后得到的特征圖。
步驟4將Er加入到第一次卷積后得到的HR特征圖中,得到整個(gè)升采樣的結(jié)果,具體如下所示:
(10)
2.2.2 降采樣
降采樣與升采樣結(jié)構(gòu)類似,也主要分為4個(gè)步驟:
步驟1對圖像進(jìn)行卷積操作,得到下采樣的特征圖,計(jì)算方法如下:
(11)
步驟2對下采樣后的圖像再進(jìn)行上采樣操作,得到圖像的計(jì)算方法如下:
(12)
(13)
其中,E′r表示將2次HR圖像的高頻殘差部分進(jìn)行卷積操作后得到的特征圖。
步驟4將E′r加入到第一次卷積操作后得到的LR特征圖中,得到降采樣的結(jié)果,計(jì)算過程如下:
(14)
反向投影層的主要目的是作為一種高效迭代過程來優(yōu)化重構(gòu)誤差,更深地挖掘LR和HR圖像直接的相互依賴關(guān)系。在整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)中交替使用升采樣和降采樣,利用這2個(gè)相互連接的采樣模塊來學(xué)習(xí)LR到HR的非線性關(guān)系。其中,升采樣生成HR特征,降采樣將其投影到LR空間。通過在升采樣和降采樣過程中的特征提取,不斷調(diào)整LR到HR的圖像映射關(guān)系。在升采樣和降采樣傳遞過程中,每一層升采樣的輸入都來自所有前面升采樣層的輸出,降采樣的處理方式與升采樣相同。這樣可以實(shí)現(xiàn)特征的重復(fù)利用,減少網(wǎng)絡(luò)的冗余,與VDSR[15]不同的是,數(shù)據(jù)聚合的方式不是對特征映射直接求和,而是采用級聯(lián)的方式連接,在輸入到下一層之前,使用1×1卷積層來降低通道數(shù)。反向投影層(Back Projection Layer)網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示。
圖3 反向投影層網(wǎng)絡(luò)結(jié)構(gòu)
在反向投影層中,升采樣和降采樣的層數(shù)設(shè)置比為T∶(T-1)。整個(gè)反向投影模塊中,設(shè)置M層反向投影層來進(jìn)行實(shí)驗(yàn)。將每個(gè)反向投影層生成的HR特征圖進(jìn)行級聯(lián),輸入到圖像重建模塊。
F=H([F1,F2,…,Fn])
(15)
其中,[F1,F2,…,Fn]表示n個(gè)反向投影層輸出的級聯(lián),H表示1×1的卷積函數(shù),F表示經(jīng)過1×1卷積層后特征融合的輸出。
淺層特征提取模塊采用多尺度的方式對圖像進(jìn)行特征提取操作,得到3個(gè)不同尺度的特征圖數(shù)據(jù)。將3個(gè)特征圖相加,并通過卷積核為1×1的卷積操作來改變其特征維度,將3個(gè)不同尺度的特征進(jìn)行融合。最后,使用卷積核大小為3×3的卷積操作去重建圖像,得到最終的HR圖像。
Fn-2=(∑HUD,3×3+∑HUD,5×5+∑HUD,7×7)
(16)
Fn-1=HRe,1×1(Fn-2)
(17)
Fn=HRe,3×3(Fn-1)
(18)
其中,∑HUD,3×3、∑HUD,5×5、∑HUD,7×7分別表示3×3、5×5、7×7等3種不同尺度下所提取的特征圖之和,Fn-2,Fn-1,Fn分別表示整體網(wǎng)絡(luò)的最后3層。HRe,1×1(·)表示使用1×1卷積核時(shí)的卷積操作,HRe,3×3(·)表示使用3×3卷積核時(shí)的卷積操作。
為了防止過擬合,同時(shí)為了防止最后得到的圖像過于平滑,造成失真,本文選擇L1(x)函數(shù)作為整體網(wǎng)絡(luò)的損失函數(shù),具體如下所示:
(19)
其中,Yi表示LR圖像,Xi表示HR圖像,x為權(quán)值參數(shù)和偏置參數(shù)的集合,i表示整個(gè)訓(xùn)練過程中多次迭代訓(xùn)練的序列號。
實(shí)驗(yàn)的系統(tǒng)環(huán)境為Ubuntu18.04,CPU為Intel Core i7-4700k,GPU為RTX-2070,深度學(xué)習(xí)框架為Tesnorflow1.2,加速庫為CUDA Toolkit 10.0。
實(shí)驗(yàn)使用的訓(xùn)練數(shù)據(jù)集為DIV2K[19],由1 000張1 920×1 080的高清圖像組成,適合應(yīng)用于超分辨率訓(xùn)練。測試集使用Set5、Set14[20]和Urban100等公開的標(biāo)準(zhǔn)測試集來評估實(shí)驗(yàn)結(jié)果。
將訓(xùn)練集中的圖像順時(shí)針旋轉(zhuǎn)90°、180°、270°,擴(kuò)增后的數(shù)據(jù)是原來的4倍,再將圖片進(jìn)行步長為16的裁剪,將圖片裁剪為若干個(gè)128×128像素的子圖像,每次從中選擇64張圖片作為一個(gè)Batch,使用雙三次插值算法對子圖像分別進(jìn)行2倍、3倍和4倍的下采樣,得到像素大小為64×64、42×42、32×32的LR子圖像。將這些子圖像作為整個(gè)網(wǎng)絡(luò)的輸入。
實(shí)驗(yàn)中使用的優(yōu)化器為Adam[21],動(dòng)量因子0.9,權(quán)重衰減le-4,它能夠自動(dòng)調(diào)整學(xué)習(xí)率,參數(shù)的更新不受梯度的伸縮變換影響,同時(shí)計(jì)算高效且對內(nèi)存的需求較小。學(xué)習(xí)率初始設(shè)置為0.000 1,網(wǎng)絡(luò)每迭代20 000次,學(xué)習(xí)率衰減為原來的0.9倍。
本文采用峰值信噪比(Peak Signal Noise Ratio,PSNR)和結(jié)構(gòu)相似性(SSIM)2種客觀評價(jià)指標(biāo)來驗(yàn)證實(shí)驗(yàn)效果。其中,PSNR的計(jì)算方法如下:
(20)
(21)
其中,X(i,j)表示當(dāng)前圖像,Y(i,j)表示參考圖像,MSE表示X(i,j)和Y(i,j)的均方誤差(Mean Square Error,MSE),H、W分別表示圖像的高度和寬度,n為每像素的bit數(shù),一般取8。PSNR的單位為dB,數(shù)值越大表示圖像的失真越少,重建效果越好。
SSIM也是一種評價(jià)圖像質(zhì)量的指標(biāo),分別從亮度、對比度和結(jié)構(gòu)3方面對圖像的重建效果進(jìn)行評價(jià),其計(jì)算公式如下:
SSIMm,n=Lm,n·Cm,n·Sm,n
(22)
(23)
(24)
(25)
為了更好地驗(yàn)證本文算法的圖像重建效果,將從以下5個(gè)方面進(jìn)行實(shí)驗(yàn)。
3.4.1 反向投影模塊層數(shù)設(shè)置
研究表明網(wǎng)絡(luò)深度對整體網(wǎng)絡(luò)性能有重要的影響,適當(dāng)增加網(wǎng)絡(luò)層數(shù)可以提取到更多的特征,提高圖像的重建效果。為了達(dá)到最佳的實(shí)驗(yàn)結(jié)果,本文對上述升采樣和降采樣的層數(shù)T以及反向投影層的層數(shù)M進(jìn)行設(shè)置。實(shí)驗(yàn)以倍增系數(shù)scale=4為例,采用Set5測試集進(jìn)行3組實(shí)驗(yàn),分別設(shè)置T=4、M=6,T=5、M=6,T=6、M=6,對應(yīng)網(wǎng)絡(luò)層數(shù)為42層、54層和66層,實(shí)驗(yàn)結(jié)果如圖4所示。從圖4可以看出,初始階段T=6、M=6時(shí)PSNR的值最高,隨著迭代次數(shù)的增加,T=5、M=6層的網(wǎng)絡(luò)和T=6、M=6層的網(wǎng)絡(luò)差距越來越小,只保持微小的優(yōu)勢,考慮到運(yùn)算的復(fù)雜度和時(shí)間成本,實(shí)驗(yàn)最終選擇T=5、M=6的網(wǎng)絡(luò)模型。
圖4 不同層數(shù)的PSNR與迭代次數(shù)的關(guān)系
3.4.2 收斂速度
文獻(xiàn)[22]表明,權(quán)重參數(shù)的更新與損失函數(shù)的梯度呈正相關(guān)的關(guān)系,梯度越大,權(quán)重的更新速度越快,網(wǎng)絡(luò)收斂速度也越快。本文采用迭代式升采樣和降采樣網(wǎng)絡(luò)模型,其在特征提取的過程中,與VDSR[15]和LapSRN[16]2種算法使用普通的卷積層來提取圖像的特征不同,其是在不斷升采樣和降采樣過程中提取特征的,在反向投影層中,首先使用升采樣將圖像映射到HR空間上,將LR到HR的投影誤差添加到HR特征圖中。然后使用降采樣將圖像從HR空間又映射到LR空間中,再將HR到LR的投影誤差添加到LR特征圖中。通過這種交替使用升采樣和降采樣來不斷調(diào)整圖像LR到HR的映射關(guān)系,優(yōu)化它們的非線性關(guān)系,從而達(dá)到提升LR到HR重建效果的目的。本文算法將原有算法中優(yōu)化上一層卷積網(wǎng)絡(luò)到下一層卷積網(wǎng)絡(luò)的誤差調(diào)整為直接優(yōu)化LR到HR的誤差,這樣會(huì)加快網(wǎng)絡(luò)參數(shù)的更新速度,從而使得網(wǎng)絡(luò)的收斂速度加快。
本文算法在反向投影模塊中引入了全局殘差學(xué)習(xí)和局部殘差學(xué)習(xí)的思想,讓模塊中的每一層與之前所有層都相連,充分利用每一層的特征信息,實(shí)現(xiàn)特征復(fù)用,有效減少網(wǎng)絡(luò)的冗余。這樣在反向傳播時(shí),每一層網(wǎng)絡(luò)的梯度都會(huì)接收前面所有層的梯度,相較于VDSR和LapSRN的每一層網(wǎng)絡(luò)輸入都是上一層網(wǎng)絡(luò)輸出的處理方式,本文算法的權(quán)重參數(shù)更新速度更快,且網(wǎng)絡(luò)收斂速度也更快。為了比較算法的收斂速度,在倍增系數(shù)scale=4,測試集為Set5的條件下,使用DIV2K作為訓(xùn)練集進(jìn)行實(shí)驗(yàn),在其他條件保持相同的情況下,實(shí)驗(yàn)結(jié)果如圖5所示。從圖5可以看出,相較于VDSR和LapSRN,本文算法的收斂速度更快,且效果更好。
圖5 不同算法的PSNR與迭代次數(shù)的關(guān)系
3.4.3 反向投影層驗(yàn)證
反向投影層(Back Projection Layer)中交替使用升采樣和降采樣網(wǎng)絡(luò)來提取圖像特征。升采樣和降采樣可以理解為網(wǎng)絡(luò)自我糾正的過程,將上采樣和下采樣提取到的投影誤差提供給采樣層,這樣不斷地迭代來產(chǎn)生更優(yōu)解。本文進(jìn)行4組實(shí)驗(yàn),在其他條件保持一致的情況下,將反向投影層中的升采樣和降采樣替換為普通的卷積層,層數(shù)用C表示,C為反向投影層中升采樣和降采樣的層數(shù)之和,倍增系數(shù)scale=4,測試集使用Set5,實(shí)驗(yàn)結(jié)果如圖6所示。從圖6可以看出,相對于去除升采樣和降采樣的網(wǎng)絡(luò),含有升采樣和降采樣的網(wǎng)絡(luò)的PSNR更高,且收斂速度更快。
圖6 不同網(wǎng)絡(luò)結(jié)構(gòu)的PSNR與迭代次數(shù)的關(guān)系
3.4.4 不同尺度卷積核對圖像重建效果的影響
在圖像超分辨率重建中,特征信息需要在不同尺度上進(jìn)行處理,圖像的結(jié)構(gòu)信息也往往是不同尺度,這是因?yàn)閱我怀叨鹊奶卣魈崛〔蛔阋酝耆謴?fù)圖像的高頻紋理區(qū)域。
為了更好地驗(yàn)證使用多尺度卷積核的必要性,本文算法使用不同尺度大小的卷積核進(jìn)行實(shí)驗(yàn)。在淺層特征層提取特征時(shí),其他條件保持不變,使用3×3、5×5、7×7的單個(gè)卷積核和混合使用3×3、5×5、7×7不同尺度的卷積核進(jìn)行對比實(shí)驗(yàn)。實(shí)驗(yàn)倍增系數(shù)scale=4,測試集使用Set5,以PSNR作為判斷標(biāo)準(zhǔn),結(jié)果如表1所示。從表1可以看出,相對于單獨(dú)使用1個(gè)卷積核來提取淺層特征,本文算法可以獲得更好的PSNR值。實(shí)驗(yàn)證明不同尺度的卷積核能夠提取到圖像的多種特征,對這些特征信息的融合映射更能充分學(xué)習(xí)LR圖像與HR圖像之間的對應(yīng)關(guān)系,從而保證重建圖像的細(xì)節(jié)清晰性。
表1 不同尺度的卷積核在Set5測試集下的PSNR
3.4.5 本文算法與其他主流算法重建效果對比
實(shí)驗(yàn)將本文算法與Bicubic、SRCNN[13]、ESPCN[14]、VDSR[15]、LapSRN[16]5種主流算法進(jìn)行對比,用于測試本文算法的性能。實(shí)驗(yàn)選用Set5、Set14和Urban100作為測試集,從3個(gè)測試集中選擇邊緣細(xì)節(jié)豐富的3張圖片進(jìn)行測試。為了顯示紋理細(xì)節(jié)的重建效果,將特定的圖像區(qū)域進(jìn)行放大,觀察其細(xì)節(jié)重建效果。圖7、圖8和圖9展示了本文算法與其他主流算法在超分倍增系數(shù)scale=4下測試圖像的重建效果。從圖7~圖9的主觀視覺效果上來看,Bicubic整體的效果最差,重建圖像較為模糊,基本看不清楚細(xì)節(jié)信息。SRCNN[13]和ESPCN[14]能夠基本反映出圖像的特征輪廓,但是在圖像邊緣區(qū)域鋸齒比較嚴(yán)重。VDSR[15]和LapSRN[16]可以比較清楚地看清圖像的細(xì)節(jié)信息,但是相對于本文算法來說,重建圖像的清晰度不夠,在細(xì)節(jié)信息的重建效果上也不夠銳利。綜上所述,從主觀視覺效果上看,本文算法在細(xì)節(jié)信息的重建效果上優(yōu)勢更為明顯。
圖7 Butterfly在不同算法下的重建效果對比
圖8 Chimpanzee在不同算法下的重建效果對比
圖9 Building在不同算法下的重建效果對比
下面采用PSNR和SSIM 2種指標(biāo)對算法進(jìn)行客觀評價(jià)。表2為以上幾種不同的算法在測試集Set5、Set14和Urban100上分別放大2倍、3倍和4倍情況下PSNR和SSIM的平均值。由表2可以看出,相較于傳統(tǒng)的Bicubic、SRCNN[13]和ESPCN[14]3種算法來說,本文算法的PSNR和SSIM的數(shù)值均有明顯提升。相對于VDSR[15]和LapSRN[16]2種算法來說,本文算法的PSNR提高了0.5 dB左右,SSIM提高了0.05左右。
本文算法在淺層特征提取層中使用了多個(gè)不同尺度的卷積核對LR圖像進(jìn)行特征提取,得到多個(gè)維度的特征信息。在反向投影層中,交替多次使用升采樣和降采樣,并將它們通過級聯(lián)的方式連接起來,同時(shí)多個(gè)反向投影層之間也用級聯(lián)進(jìn)行連接,使得最后得到的HR特征圖能夠利用到之前所有升采樣和降采樣網(wǎng)絡(luò)提取到的特征。綜合主觀效果和客觀指標(biāo)2個(gè)方面的因素,本文算法相對于主流超分辨率重建算法能夠得到更好的實(shí)驗(yàn)結(jié)果。
表2 6種算法在不同測試集下的PSNR和SSIM
本文提出一種基于多尺度反向投影的圖像超分辨率重建算法。利用迭代反向投影算法的思想,同時(shí)將多尺度卷積核的概念引入到算法中,采用多個(gè)相互依賴的升采樣和降采樣模塊對圖像進(jìn)行特征提取,在迭代過程中,不僅可以利用升采樣模塊生成多樣的HR圖像特征,而且還可以利用降采樣層將其映射到LR圖像上,能夠更加完善地獲取圖像細(xì)節(jié)信息。通過實(shí)驗(yàn)對比可以看出,本文算法相較于現(xiàn)有主流算法Bicubic、SRCNN、ESPCN、VDSR、LapsRN的優(yōu)越性。在下一步實(shí)驗(yàn)中,可以引入生成對抗網(wǎng)絡(luò)的思想對網(wǎng)絡(luò)的結(jié)構(gòu)進(jìn)一步優(yōu)化,減少網(wǎng)絡(luò)的計(jì)算復(fù)雜度和訓(xùn)練時(shí)間,還可以嘗試使用多注意力機(jī)制通道網(wǎng)絡(luò)對算法進(jìn)行相應(yīng)的改進(jìn),以獲得更好的重建效果。