謝余杭
(福建師范大學(xué) 光電與信息工程學(xué)院,福建 福州 350007)
圖像超分辨率(Super Resolution,SR)技術(shù)作為計(jì)算機(jī)視覺與圖像處理中一項(xiàng)至關(guān)重要的技術(shù),一直以來都是人們關(guān)注的焦點(diǎn),其目的是從低分辨率(Low-Resolution,LR)的圖像中恢復(fù)出清晰逼真的高分辨率(High-Resolution,HR)圖像。圖像超分辨率技術(shù)在醫(yī)學(xué)影像、衛(wèi)星圖像以及監(jiān)控成像等各個(gè)領(lǐng)域有著廣泛的應(yīng)用。
目前圖像超分辨率重建算法主要被分為三大類:基于插值的SR方法、基于重建的SR方法以及基于學(xué)習(xí)的SR方法。基于插值的圖像超分辨率算法[1]的思想是根據(jù)一個(gè)像素點(diǎn)的周圍某一區(qū)域內(nèi)的像素點(diǎn)來估計(jì)這一像素點(diǎn)的值。這類算法的優(yōu)點(diǎn)在于原理簡單、計(jì)算復(fù)雜度低、重建所需時(shí)間短,但是會產(chǎn)生過度平滑的現(xiàn)象,邊緣產(chǎn)生明顯鋸齒?;谥亟ǖ膱D像SR方法[2],比較典型的有凸集投影法、迭代反投影法以及最大后驗(yàn)法。基于重建的方法在一般情況下會比基于插值的方法重建效果好,但是基于重建的方法有時(shí)也會出現(xiàn)生成一些具有圖像邊緣不自然的情況,從而導(dǎo)致重建圖像質(zhì)量變差?;趯W(xué)習(xí)的圖像SR方法[3],其基本思想是學(xué)習(xí)LR空間到HR空間的映射關(guān)系,然后利用相應(yīng)的映射關(guān)系來恢復(fù)出高清的HR圖像。
不過近年來大多數(shù)圖像超分辨率網(wǎng)絡(luò)都是采用基于學(xué)習(xí)的方法,然而大多數(shù)現(xiàn)有的基于卷積神經(jīng)網(wǎng)絡(luò)的模型在基于大量參數(shù)和極深結(jié)構(gòu)的情況下才保持較高性能,而且這些網(wǎng)絡(luò)也沒有充分利用圖像的低頻特征信息。
因此,本文通過對殘差網(wǎng)絡(luò)進(jìn)行改進(jìn),提出一種新的圖像超分辨率重建算法。該算法將低分辨率圖像作為輸入,利用殘差網(wǎng)絡(luò)提取特征信息以獲得殘差圖像,通過多尺度塊來提取圖像的低頻信息,再將得到的殘差圖像與低頻信息進(jìn)行線性相加,最后進(jìn)行上采樣操作,從而得到最后的重建的高分辨率結(jié)果。所提算法去除殘差網(wǎng)絡(luò)中的批歸一化層,可以有效降低網(wǎng)絡(luò)的計(jì)算量,并且在殘差塊的尾部引入通道注意力來增強(qiáng)網(wǎng)絡(luò)的高頻特征提取能力。與此同時(shí),該算法設(shè)計(jì)了多尺度塊MSB作為跳層來提取輸入圖像的低頻信息,從而提高了網(wǎng)絡(luò)的重建效果。實(shí)驗(yàn)結(jié)果表明,該算法與大部分的圖像超分辨率算法相比,能更好恢復(fù)出低分辨率圖像中的紋理細(xì)節(jié)信息,重建出更清晰的高分辨率圖像。
2014年,Dong等人[4]建立了基于深度學(xué)習(xí)的SR方法與傳統(tǒng)的基于稀疏編碼算法的SR方法之間緊密的邏輯聯(lián)系,并提出了超分辨率卷積神經(jīng)網(wǎng)絡(luò)(Super Resolution Convolutional Neural Network,SRCNN)。SRCNN作為用深度學(xué)習(xí)實(shí)現(xiàn)超分辨率的先驅(qū),開啟了超分辨率的深度學(xué)習(xí)時(shí)代。盡管圖像超分辨率重建技術(shù)已經(jīng)進(jìn)行了相當(dāng)大的改進(jìn),但現(xiàn)有的基于CNN的模型仍然面臨一些限制。隨著網(wǎng)絡(luò)的不斷加深,每個(gè)卷積層中將具有不同的特征信息。而大部分SR方法沒能充分利用這些特征信息,因此He等人[5]提出殘差學(xué)習(xí)的思想,并提出了殘差卷積神經(jīng)網(wǎng)絡(luò)(Residual Network,ResNet)。從此,在基于CNN的模型中,殘差學(xué)習(xí)被廣泛用于提取輸入特征的殘差信息。而在圖像超分辨率重建領(lǐng)域,第一個(gè)使用殘差模型的則是Kim等人[6]提出的極深卷積網(wǎng)絡(luò)(Very Deep Convolutional Networks,VDSR)。VDSR證明了在圖像超分辨率重建中殘差學(xué)習(xí)可以提高網(wǎng)絡(luò)的表征能力,加快網(wǎng)絡(luò)的收斂速度。隨著網(wǎng)絡(luò)的不斷加深,網(wǎng)絡(luò)運(yùn)行所需的計(jì)算時(shí)間和內(nèi)存也會不斷增加。為了簡化網(wǎng)絡(luò)結(jié)構(gòu)、減少網(wǎng)絡(luò)的參數(shù)量,Kim等人[7]提出了應(yīng)用循環(huán)思想的深度遞歸卷積網(wǎng)絡(luò)(Deeply-Recursive Convolutional Network,DRCN)。為了進(jìn)一步獲取在超分辨率重建過程中的丟失的細(xì)節(jié)信息,Lai等人[8]提出了拉普拉斯金字塔超分辨率網(wǎng)絡(luò)(Laplacian Pyramid Super-Resolution Network,LapSRN)。Lai等人通過將拉普拉斯金字塔傳統(tǒng)圖像算法與深度學(xué)習(xí)相結(jié)合的方法,采用金字塔級聯(lián)結(jié)構(gòu)實(shí)現(xiàn)超分辨的多級放大。LapSRN將LR圖像作為輸入,并以從粗到細(xì)的方式逐步預(yù)測子帶殘差并進(jìn)行上采樣,也就是說若要將圖像放大4倍,需要先將圖像放大2倍然后再放大2倍,從而達(dá)到放大4倍的目的。通過這種多級放大的模式,拉普拉斯金字塔超分辨率網(wǎng)絡(luò)可以更加有效地利用圖像不同特征間的相互關(guān)系。
在不同的環(huán)境情況下,人們可以快速找到自己所關(guān)注的事物。例如人們拿到一張新照片時(shí),會迅速地把目光放在自己感興趣的部分上。受此啟發(fā),研究人員將通道注意力機(jī)制引入到計(jì)算機(jī)視覺領(lǐng)域,其目的是模擬人類的視覺感知系統(tǒng)。在應(yīng)用深度學(xué)習(xí)進(jìn)行圖像超分辨率的時(shí)代,注意力機(jī)制已經(jīng)成為計(jì)算機(jī)視覺領(lǐng)域不可或缺的一門技術(shù)。所謂的通道注意力機(jī)制,就是通道注意力轉(zhuǎn)移到圖像的最重要區(qū)域并忽略不相關(guān)部分。從本質(zhì)上來說,這種通道注意力機(jī)制可以被視為基于輸入圖像的特征的動(dòng)態(tài)權(quán)重調(diào)整過程。自從2018年Hu等人[9]在SENet(Squeeze-and-Excitation Networks)中提出通道注意力之后,通道注意力就被廣泛應(yīng)用在圖像超分辨率重建領(lǐng)域。
圖1展示了本文的網(wǎng)絡(luò)結(jié)構(gòu),網(wǎng)絡(luò)主要由跳層和主體兩個(gè)部分組成。其中,主體部分又細(xì)分為淺層特征提取、深層特征提取以及重建三個(gè)部分。淺層特征提取部分由一個(gè)3×3卷積構(gòu)成,深層特征提取部分則由16個(gè)殘差塊組成,而重建部分則由一個(gè)卷積和自適應(yīng)亞像素重建層[10](Adaptive Sub-pixel Reconstruction Layer,AFSL)構(gòu)成。該網(wǎng)絡(luò)將淺層特征、主體部分生成的殘差圖像以及跳層MSB提取的低頻信息線性相加,然后進(jìn)行重建,得到最終的重建圖像。
圖1 基于殘差網(wǎng)絡(luò)的雙路徑圖像超分辨率網(wǎng)絡(luò)
如圖2(a)所示,ResNet的殘差塊由兩個(gè)卷積層、兩個(gè)批歸一化層(Batch Normalization,BN)以及兩個(gè)ReLU激活函數(shù)組成。其中,一個(gè)批歸一化層的計(jì)算量幾乎和一個(gè)卷積層的計(jì)算量相當(dāng)。然而在圖像超分辨率與圖像復(fù)原領(lǐng)域,批歸一化層的表現(xiàn)并不好,加入批歸一化層反而會使得網(wǎng)絡(luò)訓(xùn)練速度變慢、變得不穩(wěn)定。因此本文網(wǎng)絡(luò)中去除BN層,同時(shí)在殘差塊的尾部引入通道注意力機(jī)制——壓縮-伸展塊(Squeeze-and-Excitation block,SE)來對特征圖潛在的信息進(jìn)行深度挖掘。在深度卷積神經(jīng)網(wǎng)絡(luò)中,不同特征圖的不同通道分別代表著不同對象。通道注意力可以根據(jù)自身需求給每個(gè)通道的分配權(quán)重,從而選擇關(guān)注的部分。而且SE可以有效地獲得各個(gè)特征圖通道間的通道注意力信息。SENet的核心就是SE,SE用于收集全局信息、捕獲各個(gè)通道間的關(guān)系并提高網(wǎng)絡(luò)的表征能力。SE的結(jié)構(gòu)如圖2(b)所示,通過將輸入的特征圖進(jìn)行全局池化操作(Global Pooling)來收集全局信息,然后通過兩個(gè)全連接層(Fully Connected layers,F(xiàn)C)對輸入的特征進(jìn)行升維和降維處理。而SE塊中嵌入ReLU激活函數(shù)則是為了降低模型的復(fù)雜度,以便網(wǎng)絡(luò)更好地進(jìn)行訓(xùn)練。最后通過sigmoid函數(shù)來有選擇地提取有用的特征信息,避免無用的特征信息對網(wǎng)絡(luò)的訓(xùn)練造成干擾。
圖2 ResNet的殘差塊和SE層結(jié)構(gòu)
跳躍連接的思想第一次是在ResNet中引入,而后在圖像恢復(fù)與語義分割等各種計(jì)算機(jī)視覺任務(wù)中被人們廣泛應(yīng)用。由于普通圖像超分辨率重建網(wǎng)絡(luò)無法通過一直加深網(wǎng)絡(luò)深度來增加網(wǎng)絡(luò)的性能,因此可以通過引入各種跳躍連接方式來獲得額外的性能增益。為了獲得輸入在不同尺度上的特征表示,本文進(jìn)一步引入了一個(gè)多尺度塊(Multi-Scale Block,MSB)作為跳層來直接從LR圖像中檢測圖像的低頻信息。MSB塊由幾個(gè)不同卷積核大小的卷積組合而成,卷積后的結(jié)果通過Concat層進(jìn)行級聯(lián)輸出。在圖像超分辨率重建任務(wù)中,通過將多尺度塊作為跳層的方式可以將低分率圖像和高分辨率圖像連接起來,以此來學(xué)習(xí)兩張圖像之間的殘差映射關(guān)系,從而捕獲圖像重建過程中丟失的低頻細(xì)節(jié)信息。
現(xiàn)有的大部分圖像超分辨率網(wǎng)絡(luò)都是使用單個(gè)的尺度模塊來進(jìn)行重建操作,這樣是無法充分利用網(wǎng)絡(luò)提取到的高頻和低頻特征信息的。因此,所提算法使用多尺度重建模塊來作為網(wǎng)絡(luò)的重建模塊。如圖3所示,自適應(yīng)亞像素重建層使用4個(gè)不同卷積核大小的亞像素卷積結(jié)構(gòu)分支并行實(shí)現(xiàn)上采樣,并能按照網(wǎng)絡(luò)中不同分支的權(quán)重剔除部分比例較小的分支,這么做可以在不損失網(wǎng)絡(luò)性能的前提下減少網(wǎng)絡(luò)的參數(shù)量。自適應(yīng)亞像素重建層采用的卷積核的大小分別為3、5、7、9,這里采用的是多尺度融合思想。4個(gè)分支的輸出通過Concat層進(jìn)行級聯(lián),然后再通過卷積層得到最后輸出結(jié)果。
圖3 自適應(yīng)亞像素重建層
本文的網(wǎng)絡(luò)采用的是L1損失函數(shù),該損失函數(shù)的計(jì)算公式如(1)所示:
其中ISR表示的是網(wǎng)絡(luò)生成的SR圖像,而IHR指的是真實(shí)的HR圖像。雖然L2損失函數(shù)是之前圖像超分辨率網(wǎng)絡(luò)中最常用的損失函數(shù),但是近幾年的研究表明盡管最小化L2損失函數(shù)可以提升峰值信噪比,然而與L1損失函數(shù)相比,L1損失函數(shù)可以提供更好的收斂性和重建效果。因此,本文最后選用L1損失函數(shù)來優(yōu)化網(wǎng)絡(luò)的性能。
本文的訓(xùn)練集為DIV2K數(shù)據(jù)集,將其中的800張高分辨率圖像用于訓(xùn)練,第801~810張圖像用于驗(yàn)證。同 時(shí) 在Set5、Set14、Urban100以 及B100數(shù) 據(jù) 集上進(jìn)行測試。其中,批尺寸為16,使用Adam作為優(yōu)化器,其學(xué)習(xí)率初始值為0.000 1,β1和β2分別設(shè)置為0.9和0.999。每迭代200 000次學(xué)習(xí)率就衰減為原來的一半。本文的網(wǎng)絡(luò)是通過型號為NVIDIA GTX 1060的GPU和16 GB內(nèi) 存 在PyTorch框 架 上 訓(xùn)練的。如果沒有特殊標(biāo)注,文中的卷積層均采用卷積核大小為3的卷積。
本文采用峰值信噪比(Peak Signal to Noise Ratio,PSNR)與結(jié)構(gòu)相似度(Structural Similarity Index Measure,SSIM)來作為圖像超分辨率網(wǎng)絡(luò)算法的評價(jià)指標(biāo)。峰值信噪比和結(jié)構(gòu)相似度是有損變換(如圖像壓縮、圖像修復(fù))中最常用的重建質(zhì)量度量指標(biāo)之一。本 文 通 過 與Bicubic、SRCNN、VDSR、DRCN、LapSRN以及MSLapSRN進(jìn)行數(shù)值和視覺對比,來驗(yàn)證所提算法的性能表現(xiàn)。在對數(shù)據(jù)集測試時(shí),需要將RGB通道的圖像轉(zhuǎn)換到Y(jié)CrCb色彩空間上,然后再對Y通道計(jì)算峰值信噪比與結(jié)構(gòu)相似度。表1展示了在4個(gè)不同的數(shù)據(jù)集上Bicubic、SRCNN、VDSR、DRCN、LapSRN、MSLapSRN以及本文所提算法進(jìn)行4倍放大的重建結(jié)果的PSNR值和SSIM值。其中,PSNR值越高越好;SSIM值越接近1,則表明重建的SR圖像越接近真實(shí)的HR圖像。
由表1可知,所提算法在Set5、Set14、Urban100以及B100數(shù)據(jù)集上的PSNR和SSIM值都達(dá)到了最優(yōu),粗體字表示最佳。在Urban100數(shù)據(jù)集中,所提算法的PSNR值為26.03 dB,比MSLapSRN高了0.52 dB,比LapSRN高了0.82 dB;本文所提算法的SSIM值為0.783 4,比MSLapSRN高了0.015 3,比LapSRN高了0.027 4。該算法性能的提升主要?dú)w功于在網(wǎng)絡(luò)中加入多尺度塊作為跳層,以及應(yīng)用了自適應(yīng)亞像素重建層和通道注意力機(jī)制。
表1 不同超分辨率算法對4個(gè)公共數(shù)據(jù)集進(jìn)行4倍放大的重建結(jié)果的PSNR和SSIM
為了進(jìn)一步驗(yàn)證所提算法的優(yōu)越性,文中給出了不同SR算法的重建效果圖。圖4展示了不同的方法對Urban100數(shù)據(jù)集中編號為img087的圖像進(jìn)行重建后效果的視覺比較。由圖可知,所提算法與Bicubic、SRCNN、VDSR、DRCN、LapSRN以 及MSLap-SRN相比,沒有產(chǎn)生大量的偽影,噪聲更少,同時(shí)恢復(fù)出更好的紋理細(xì)節(jié)。而圖5展示的是不同方法對Set14數(shù)據(jù)集中編號為ppt3的圖像進(jìn)行重建后效果的視覺比較。從圖中可以很明顯感受到該算法的重建效果比其他方法要好,能夠較為清晰地恢復(fù)出圖像中的單詞信息,重建的圖像更加貼近真實(shí)的原始圖像。由此可知,所提算法不僅在客觀指標(biāo)上高于其他方法,而且在視覺感知上也優(yōu)于其他方法。
圖4 不同超分辨率算法對Urban100-img087放大4倍的視覺比較
圖5 不同超分辨率算法對Set14-ppt3放大4倍的視覺比較
本文對網(wǎng)絡(luò)中的MSB和AFSL模塊做了消融實(shí)驗(yàn),具體如表2所示。其中,sub-pixel代表的是常用的亞像素卷積上采樣方式。由表2可知,在對Urban100數(shù)據(jù)集放大4倍的情況下,網(wǎng)絡(luò)使用MSB+AFSL比只使用AFSL的PSNR值高出了0.08 dB,這就證明了MSB作為跳層對網(wǎng)絡(luò)的重建起到了一定的作用;而使用MSB+AFSL的網(wǎng)絡(luò)比使用MSB+sub-pixel的網(wǎng)絡(luò)在PSNR值上高出了0.03 dB,這就證明了將AFSL作為上采樣方式可以使網(wǎng)絡(luò)重建的效果有一定的提升。經(jīng)過對網(wǎng)絡(luò)中的MSB和AFSL模塊做消融實(shí)驗(yàn),可以證明在圖像超分辨率領(lǐng)域使用多尺度特征融合的思想能夠有效地提高網(wǎng)絡(luò)重建能力。
表2 在Urban100數(shù)據(jù)集進(jìn)行4倍放大的情況下,對MSB和AFSL的消融實(shí)驗(yàn)
本文以殘差網(wǎng)絡(luò)為研究對象,提出了基于殘差網(wǎng)絡(luò)的雙路徑圖像超分辨率網(wǎng)絡(luò)。在殘差塊中去除BN層并引入壓縮-伸展卷積層以及使用多尺度塊MSB作為跳層,然后通過自適應(yīng)亞像素重建層來恢復(fù)LR圖像。實(shí)驗(yàn)結(jié)果表明,本文所提方法具有良好的性能,能獲得圖像更多的紋理細(xì)節(jié)信息,從而恢復(fù)出質(zhì)量更好的SR圖像。