黃 健,趙元元,郭 蘋,王 靜
西安科技大學 通信與信息工程學院,西安710600
圖像超分辨率重建即用特定算法將同一場景中的低分辨率(LR)圖像轉換成高分辨率(HR)圖像[1],該技術是圖像處理與計算機視覺的主要技術之一[2]。高分辨率圖像因其具有很高的像素密度,能夠獲得圖像更多的細節特征,而在實際場景中應用廣泛。超分辨率重建技術可根據輸入圖像的數量分為單張LR圖像生成HR圖像技術和多張LR圖像生成HR圖像技術。本文著重介紹單幅圖像超分辨率重建技術(Single Image Super-Resolution,SISR),該類技術憑借其靈活性與簡便性及高實用性,已經被普遍應用在圖像壓縮、醫學成像[3-5]、遙感成像[6]、公共安防[7]等領域,是目前圖像處理領域的研究熱點。
在過去的研究工作中,傳統的單幅圖像超分辨率算法已經取得了很大的成功,但是有一定的局限性,因為隨著放大倍數的增大,人為定義的先驗信息與模型能提供的用來進行高分辨率重建的信息逐漸變少,使得算法達不到重建圖像高頻信息的目的。傳統的SISR方法主要分為三大類[8]:基于插值的超分算法(最近鄰內插、雙三次插值[9]等),這類算法雖簡單但重建圖像有偽影和振鈴;基于建模的超分算法(最大后驗估計法[10]、迭代反向投影算法[11]等),這類算法相較于插值法重建效果較好,但模型運算效率低且受放大因子的影響較大;基于學習的超分算法(局部嵌入[12]、稀疏編碼[13]等),該類算法的重建質量最好,是目前研究的主流方向。這些方法都是通過學習HR圖像與LR圖像樣本對的映射函數,或者利用圖像的內部相似性來重建HR圖像。近年來,深度學習技術在其他領域得到了長足發展,被應用在各類人工智能任務中,且都取得了理想結果,隨之基于深度學習的超分辨率技術也得到了積極的探索與發展,目前已經提出了各種各樣的基于深度學習的超分辨率算法,且在各種公開數據集上取得了很好的重建效果。目前流行的網絡模型為卷積神經網絡(Convolution Neural Network,CNN)和生成對抗網絡(Generative Adversarial Network,GAN),在縮放因子較大時使用這兩個網絡模型都能夠很好地恢復出圖像的高頻細節,使輸出的圖像更接近真實圖像。
基于深度學習的超分辨率重建技術的出現,是圖像處理領域的一大創舉,解決了傳統算法中存在的諸多問題。近幾年在該領域取得了較大的發展。根據網絡模型結構的不同,可以分為以下兩大類:(1)基于CNN網絡模型的超分方法;(2)基于生成對抗網絡GAN網絡模型的超分方法。目前,基于CNN網絡模型的超分方法是單幅圖像超分辨率重建領域應用最廣泛的模型。
隨著深度學習的發展,在其他領域表現突出的卷積神經網絡CNN已經被成功地應用在圖像超分辨率重建領域,并取得了很好的重建結果。相比于其他的神經網絡方法,CNN提供的端到端學習模型通過梯度下降法訓練學習圖像特征,更適合圖像特征的學習與表達。本文又將基于CNN網絡模型的超分方法分為直連模型、殘差模型、密集模型以及注意力機制模型。
1.1.1 直連模型
第一個用于單幅圖像超分辨率重建的CNN網絡模型是由Dong團隊在2014年提出的SRCNN(Super-Resoution Convolutional Neural Network)算法[14],是直連模型結構。SRCNN的網絡結構簡單,如圖1所示,該網絡包含三個部分:特征提取、非線性映射和重建。

圖1 SRCNN網絡結構Fig.1 SRCNN network structure
SRCNN先用雙三次插值將低分辨率圖像放大至目標尺寸大?。ㄎㄒ活A處理),然后用9×9的卷積核進行圖像塊提取與表示,用1×1的卷積核進行非線性映射,最后用5×5的卷積核完成高分辨率圖像重建。網絡中通過使用大的卷積核來使淺層網絡(3層卷積網絡)獲得較大的感受野,從而獲得了較好的SR重建效果。SRCNN相比于傳統的超分辨率算法,重建圖像的質量有了很大的提升,但SRCNN的訓練速度非常慢。Dong等人針對SRCNN訓練慢的問題提出了FSRCNN[15]。FSRCNN網絡包括特征提?。褐苯訉υ糒R圖像操作;收縮:用小卷積核降維以減少參數;非線性映射:感受野大;擴張:利用小卷積核擴維;反卷積層:實現上采樣。FSRCNN網絡在重建層用反卷積放大輸入圖像,可直接向網絡輸入LR圖像,降低網絡的計算量。同時FSRCNN使用更小的卷積核和更深的網絡層數,提升訓練速度,重建圖像的質量更高。同時Shi等人也研究了如何將低分辨率圖像直接輸入網絡,在2016年提出了亞像素卷積超分重建網絡ESPCN[16]對SRCNN的重建部分進行了改進,通過亞像素卷積層來放大圖像,降低網絡的計算量,訓練速度有了成倍的提升。以上算法網絡結構簡單,實現非常容易,但該網絡存在的致命缺點是網絡中使用大的卷積核以及輸入插值放大圖像,導致淺層網絡需要大量參數來計算,使網絡加深加寬時參數逐漸變多,網絡訓練難度大,難以收斂,SR重建效果不佳。
1.1.2 殘差模型
傳統神經網絡會隨著深度加深而導致網絡性能退化,殘差網絡的提出解決了這個問題,目前大部分研究人員都在使用殘差網絡,它成功加深了ResNet[17]網絡的深度,成為現在模型中應用最廣泛的技術。原始低分辨率圖像與重建的高分辨率圖像在很大程度上相似,即它們的低頻部分信息基本一致,殘差學習用稀疏矩陣學習來代替原始稠密矩陣學習,使計算量大幅度降低。殘差網絡分為局部殘差和全局殘差,局部殘差主要用來解決隨著網絡的加深導致圖像退化的問題,全局殘差通過學習輸入圖像與原始HR圖像的極大相關性來重建圖像。Kim等人提出的VDSR算法[18]首次將殘差網絡引入單圖像超分辨率方法中。該網絡在輸入輸出之間用殘差進行連接使網絡的深度高達20層,僅學習LR圖像與HR圖像之間的高頻殘差部分,同時使用自適應梯度裁剪來解決網絡加深時訓練困難性能下降的問題,其網絡結構如圖2(a)所示。VDSR的實現證明網絡結構越深重建效果越好。RED[19]是由卷積與反卷積構成的編碼器和解碼器,卷積層用來進行圖像的特征提取,反卷積層用來恢復圖像的內容和細節。網絡中的卷積層與反卷積層的殘差跳接結構,使網絡的深度加深到30層并能恢復出更清晰的圖像。
更深的網絡存在過度擬合和模型過于復雜的問題,為了緩解這一問題,提出了遞歸學習。Kim團隊在VDSR算法的基礎上通過使用全局殘差網絡、多目標優化函數以及遞歸學習策略等方法提出了DRCN算法[20],網絡結構如圖2(c)所示。首次將遞歸神經網絡引入到圖像超分辨率算法中并取得了很好的效果。Tai等人又在DRCN的基礎上提出了DRRN算法[21],其結構如圖2(d)所示,該算法采用多路徑方式的全局殘差和局部殘差進行學習,同時在殘差單元中引入了遞歸循環,加深網絡的同時沒有帶來更多的計算量,加快了收斂速度,取得了更好的效果。這種方法證明通過遞歸網絡與殘差網絡的結合能夠使圖像層間的信息相互通信及上下文信息相互關聯,對網絡層間連接的建設提供指導思想。EDSR(Enhanced Deep Residual Networks for SR)算法[22]提出使用全局殘差和局部殘差來學習圖像的更多高頻細節,同時也可以降低網絡的訓練難度。具體做法是移除殘差塊中的BN層(批歸一化層),增加了卷積層的特征個數(由64改為256),提升了網絡的重建效果,其網絡結構如圖2(b)所示。

圖2 VDSR、EDSR、DRCN、DRRN網絡結構對比Fig.2 VDSR,EDSR,DRCN,DRRN network structure comparison
分層特征融合可以充分利用網絡中不同層提取的圖像特征信息,有助于重建更準確的高分辨率圖像。首次使用分層融合方法實現圖像重建的算法是基于拉普拉斯金字塔網絡的單幅圖像超分辨率LapSRN[23],它將低分辨率圖像分為高頻細節和低頻內容兩部分,分別對這兩部分采取不同的方法處理后將圖像融合以得到高分辨率重建圖像。LapSRN提升了網絡訓練速度和圖像質量。
1.1.3 密集模型
網絡深度的增加使得梯度消失越來越明顯,受殘差連接的啟發,密集連接的提出能夠緩解這類問題。密集連接中的特有的跳躍連接方式可以使每一層的輸入都充分吸收該層前面所有層的輸出,充分利用不同卷積層提取到的細節特征信息,使輸出層得到更多的參考信息來重建SR圖像,基本結構如圖3所示?;诿芗瘔K網絡的SISR網絡SRDenseNet首次將密集連接網絡應用于圖像重建,重建的SR圖像質量有了很大的提升。該網絡通過堆疊密集連接的卷積層組成的稠密塊,來融合LR圖像的不同特征信息,增大了網絡層中信息交流的能力,并且有效抑制了梯度爆炸和梯度消失的問題[24]。He等人在SRDenseNet的基礎上提出了殘差密集網絡RDN[17],該方法在密集塊結構的首尾增加殘差連接和卷積來進行特征降維,構建RDN的基本單元殘差密集塊RDB,網絡結構如圖4所示。RDB的作用是整合殘差塊和密集塊,RDN充分利用每一個RDB學習到的圖像分層特征,使模型具有更強的特征表達能力,重建圖像的質量更好。

圖3 密集連接網絡結構Fig.3 Structure of dense connection network

圖4 RDN網絡結構Fig.4 Structure of RDN network
后來Haris等人在密集連接的基礎上又提出了深度反投影網絡D-DBPN[25],該網絡構建了多個上下投影單元來進行淺層特征到深層特征的映射,同時使用密集連接的方法使淺層網絡和投影網絡的輸出堆疊到迭代單元的輸入,使最終恢復圖像的效果優于SRDenseNet。這類方法將稠密塊應用到了網絡中,加強了圖像特征交流和圖像特征復用,極大豐富了重建模塊輸入圖像的信息以得到更加準確的特征細節來重建更好的圖像。
1.1.4 注意力機制模型
上述的網絡模型在各個通道都是對圖像的特征映射同等處理,但是在人類的視覺環境中圖像在不同的區域和通道中有著不同的重要性,如果等價處理這些映射將會造成計算量資源大,限制了網絡的深度。
注意力機制被引入到圖像超分辨率重建中,并且取得了很好的效果。如RCAN[26](Super-Resolution Using Very Deep Residual Channel Attention Networks),該算法通過學習不同通道的重要性得到權重值,來自適應地調整每個通道特征,強化有用通道的同時抑制無用通道,充分利用計算資源。通道注意力機制結構如圖5所示,其中HGP用于運算提取通道描述符,WD與WU為全連接層的參數,f是非線性變換,相當于對不同的通道特征重新加權分配。RACN還通過使用全局殘差和局部殘差結構使網絡的深度高達400層,恢復圖像效果得到顯著提升,總體來說,RCAN在PSNR和SSIM值上都取得了最佳重建結果。

圖5 RCAN網絡結構Fig.5 Structure of RCAN network
現有的基于CNN網絡模型的超分算法不論是恢復圖像的準確性還是訓練速度都取得了重大突破,但還存在一些缺陷,如圖像缺乏高頻細節,圖像邊緣模糊,尤其在較大的放大因子下,這種缺陷更加明顯。對抗網絡的引入將超分重建圖像的質量推向了一個新的高度,使網絡能夠生成更加精細的紋理細節,進一步增強重建圖像的視覺效果。
Leding等人首次將GAN[27]應用到圖像超分辨率重建領域中,在2017年提出了SRGAN(Photo-Realistic Single Image Super Resolution Using a Generative Adversarial Network)算法[28],SRGAN的生成器網絡結構主要由多個結構相同的殘差塊組成,包括兩個3×3卷積層和64個特征映射,然后是BN層[29]及PReLU激活函數[30],最后通過兩個亞像素卷積層用來實現圖像上采樣。SRGAN的鑒別器網絡同樣包括多個卷積層,特征通道由64逐漸變為512,激活函數為LReLU,最后使用兩個全連接層和S型激活函數得到樣本的分類概率。SRGAN的訓練原理是生成器生成的圖像盡可能騙過鑒別器,而鑒別器則盡可能區分生成器生成的圖像與真實高分辨率圖像,通過雙方的相互博弈,克服了1.1節所提網絡模型恢復圖像質量差的缺點,使恢復的圖像更加自然。
隨后,ESRGAN[31]通過移除SRGAN生成網絡中的BN層來降低重建圖像中產生的偽影,并且結合多級殘差網絡和密集連接提出密集殘差塊RRDB,如圖6所示,該結構具有更深更復雜的網絡結構,因此具有更高的容量,更容易訓練。在判別網絡中使用相對平均判別器,生成更穩定、質量更高的數據樣本,提升模型的訓練穩定性和圖像的重建質量。

圖6 RRDB網絡結構Fig.6 Structure of RRDB network
基于生成對抗網絡GAN網絡模型的超分方法相較于基于CNN網絡模型的超分方法能夠獲得更接近人眼真實感知的重建圖像,所以它更適合一些對感官要求比較高的圖像重建任務。但是對于需要高精度像素信息的任務,明顯不適用?;谏蓪咕W絡GAN網絡模型的超分方法學習速度慢,網絡計算較復雜,對硬件要求高,所以訓練難度很大。
1.1至1.2節分別詳細介紹了基于CNN網絡模型和基于GAN網絡模型的超分方法。整體而言,這兩類算法的重建質量在不斷提高,模型的訓練速度也有一定的提升。表1總結了不同網絡模型的優缺點及適用場景,表2總結了不同算法的網絡結構及優缺點對比。由表1可以看出,隨著深度學習的發展,超分辨率重建算法的網絡越來越復雜,重建效果也越來越優,已經達到了很高的水平,但是隨著網絡復雜度的提高也帶來了計算量的增大,因此模型訓練難度也加大,難以滿足實時重建。由表2可以看出,研究人員在不斷嘗試引入新的網絡到超分辨率重建領域,加深網絡的深度,使重建圖像的質量和網絡的訓練速度越來越好?;谏疃葘W習的圖像超分辨率重建方法在發展的過程中,不斷解決之前算法的缺陷,向著滿足更高更多樣化需求的方向發展,基于生成對抗網絡GAN模型的超分方法的提出更是提升了重建圖像的真實感。但是同時也面臨著新的挑戰,模型訓練慢的問題始終沒有得到根本性解決。未來該領域的發展,應在提高重建質量的同時提升訓練速度,并能降低模型的規模以滿足實際應用中對于模型規模限制的要求,使該類模型能在一些硬件平臺上得到大規模的部署和應用。

表1 不同網絡模型的優缺點及適用場景Table 1 Advantages and disadvantages of different network models and applicable scenarios

表2 不同算法的網絡結構及優缺點Table 2 Network structure and advantages and disadvantages of different algorithms
圖像超分辨率尺度放大其實質是圖像上采樣,放大原圖像并提高圖像的分辨率。根據上采樣的方式和時機,模型所重建的圖像效果大不相同。
目前,該領域常見的圖像上采樣方式主要有:基于插值的圖像SR上采樣、亞像素卷積圖像SR上采樣和反卷積圖像SR上采樣。
基于插值的圖像SR上采樣是利用合適的內插算法在圖像原始像素點的中間插入新生成的像素點。使用插值法來放大圖像的算法主要有最鄰近插值法和雙三次插值法等?;诓逯档膱D像SR上采樣方法計算量小,原理簡單,能夠高效率地放大低分辨率圖像的尺度,但是這種方法由于沒有考慮到離待測樣點遠的其他像素點的影響,因而圖像像素損失較大,重建圖像有鋸齒和模糊現象。早期使用插值法來放大圖像的算法包括SRCNN、VDSR等。
亞像素卷積[16]圖像SR上采樣是一種高效、快速、無參的像素重新排列的上采樣方式,如圖7(a)所示,它的原理是輸入r2個通道的特征圖,通過特定的算法規則將所有的像素重新排列,最后生成一幅尺度放大的圖像。這種方式非常靈活,對于不同的重建倍數,只需要改變低分辨率空間中的卷積通道數,且上采樣速度很快,可以實時地實現上采樣。
反卷積(Decnvolution)[32]即卷積操作的逆運算,是將卷積變換過程中某一步驟反向轉換,對圖像進行補零擴充操作再卷積,將小部分缺失像素信息最大化恢復,從而放大圖像的尺寸,其原理如圖7(b)所示。該方法屬于基于學習的上采樣方法,能夠減少圖像鋸齒狀失真等現象。目前SISR重建領域最常用的方法就是反卷積圖像SR上采樣,如FSRCNN、EDSR等。

圖7 亞像素卷積和反卷積實現原理Fig.7 Principle of deconvolution and sub-pixel convolution
目前SISR重建領域上采樣時機包括預先上采樣、后上采樣、漸進上采樣及迭代變動上采樣。
預先上采樣考慮到直接學習LR圖像到HR圖像比較困難,因此先使用傳統的插值法將圖像上采樣到HR圖像,再通過神經網絡精調。最早使用預先上采樣方法的是SRCNN算法,后來VDSR、DRCN及DRRN都使用該方法對圖像進行上采樣。由于該方法將最困難的上采樣操作交給了傳統的方法,神經網絡值需要對上采樣后的粗糙圖像進行調整,因此減少了訓練難度。但是在預處理階段進行上采樣操作,增大了網絡的計算量,且網絡深度越深計算量越大,模型的效率和重建圖像的質量都有待提高。
后上采樣解決了預先上采樣計算量大的問題,將上采樣操作放在SISR模型的最后一個模塊,通過亞像素卷積或者反卷積重建來放大圖像的特征尺度。使用該方法的網絡模型有FSRCNN、ESPCN等。后上采樣方法雖然提高了計算效率但恢復出的圖像存在失真和重建質量差的問題。
為了解決后上采樣中的問題,研究學者們提出了漸進上采樣,在級聯的深度卷積神經網絡模型下,每個階段都進行一次上采樣,從而得到更高分辨率的圖像,最后再使用卷積神經網絡進行精調,實現較好的上采樣效果,使恢復的圖像質量更優。漸進上采樣使用低倍上采樣(2倍)來解決大尺度(4倍、8倍)上采樣的問題。使用該方法的網絡有LapSRN和EUSR,表3為ESUR算法[33]使用不同的上采樣方法重建圖像的效果,其中數字加粗表示最優,可以看出相比于直接上采樣,漸進上采樣恢復圖像的效果更好。

表3 ESUR算法中采用不同上采樣方法重建效果對比Table 3 Comparison of reconstruction effects using different upsampling methods in ESUR network
迭代變動上采樣方法是迭代地進行上采樣之后再進行反向傳播并且精調,它是通過計算重建誤差來調整高分辨率圖像的。這種方法能夠學習到更多不同深度的圖像上采樣特性,通過圖像在不同層的特征來重建上采樣圖像,使得恢復的圖像擁有更多細節特征。迭代變動上采樣方法被應用在DBPN和SRFBN算法[34]中,都展現出良好的重建效果。DBPN網絡通過交替循環連接上采樣層和下采樣層,最后用所有中間重建圖像來重建最終的HR圖像,使得重建出的圖像效果更佳。SRFBN通過迭代具有密集跳躍連接的上下采樣反饋塊來學習,使重建出的HR圖像更好。近年來,迭代變動上采樣方法也是研究學者們使用的主流方法之一。
目前在單幅圖像超分辨率重建領域常用的損失函數主要有像素損失函數和感知損失函數。
許多超分辨率重建網絡訓練模型都是以均方誤差(MSE)[35]作為損失函數訓練網絡的,如SRCNN、DRCN、FSRCNN等。MSE計算的是實際值與目標值之間絕對值的平方和,其表達式如下:

其中,n為訓練樣本的數量,θ為訓練參數,F(Xi,θ)網絡重建后的圖像,Yi為對應的高分辨率圖像。MSE衡量了網絡重建出的高分辨率圖像與原始高分辨率圖像之間的差值,使得基于深度學習的圖像超分模型在性能方面有了很大的提高。但是MSE損失能夠對大的損失進行懲罰,在小的損失上卻無能為力,因此恢復出的圖像會模糊。與MSE類似的另一種損失函數為絕對值誤差MAE。它計算實際值與目標值之間絕對差值的總和,LapSRN、ESRGAN等都使用MAE損失函數取得了較好的效果。其表達式如下:

為了提高模型的泛化能力,Lai等人提出了L1損失的變體,其表達式如下:

基于像素的損失函數沒有考慮到圖像的感知、紋理質量,在視覺上難以令人滿意。在GAN被應用于圖像超分辨率領域之后,基于感知的損失函數因其能恢復更豐富的高頻細節而被廣泛應用。目前,基于感知的損失函數主要有內容損失和對抗損失,其中內容損失又分為特征重建損失和風格重建損失。
Smonyan等人[36]首次通過預訓練的VGG19網絡提取重建圖像與原始高分辨率圖像在特征空間中對應的特征映射提出特征重建損失函數,其表達式如下:

其中,GθG(X)為生成的高分辨率圖像,?j為VGG19網絡內第j個卷積獲得的特征圖,W和H為特征圖的寬和高,X、Y為原始LR圖像和重建的HR圖像。實驗表明,在網絡模型中使用特征重建損失函數能夠獲得比基于像素損失更好的視覺效果。Gatys等人[37]在特征重建損失函數的基于上又提出了風格重建損失函數,該函數首先在loss網絡的每一層中對原始LR圖像和重建的HR圖像計算Gram矩陣,計算公式如下:

隨后在對應層中計算Gram矩陣的歐式距離差并相加得到風格重建損失函數,如式(6):

風格重建損失使重建圖像與原始圖像在條紋、色澤上保持一致,重建出的高分辨率圖像質量更優。
SRGAN網絡首次提出對抗損失,其基本形式如下:

其中,DθD(GθG(X))為模型生成的HR圖像,GθG(X)是原始HR圖像的概率。網絡最終的優化目標為最小最大化問題:

其中,Ptrain(IHR)為HR圖像分布,PG(ILR)為原始LR圖像分布。對抗網絡訓練使得生成的圖像與原始高分辨率圖像高度相似,使判別器難以區分,最終獲得高度接近原始高分辨率的圖像。ESRGAN網絡中使用了相對平均判別器[38],讓判別器預測真實HR圖像比生成HR圖像更真實的概率。

其中,C(real)為鑒別器判別結果,E[C(fake)]為鑒別器網絡判別結果的平均值,σ為Sigmoid激活函數,ESRGAN實驗結果表明使用相對平均判別器恢復出的圖像具有更銳利的邊緣和更多的紋理細節。
3.1至3.2節分別詳細介紹了圖像超分辨率重建領域常用的兩種損失函數。其中像素損失始終反映的是圖像像素之間的誤差,而沒有考慮到像素與像素之間的內在聯系,因此恢復的圖像邊緣模糊有振鈴現象,如FSRCNN、DRCN等算法恢復出的圖像邊緣模糊。內容損失通過使用特征足夠相似來促進生成圖像的質量,而對抗損失可以使鑒別網絡可以提取真實圖像中的一些難以獲取的潛在特征將解決方案推向自然圖像流形,在感知質量上有顯著的提高使重建圖像相對真實,但圖像的PSNR[39-40]值下降了。隨著損失函數的發展,圖像超分辨率重建的質量也越來越高,滿足更高更多樣化的需求。但是現有的損失函數仍然不能充分結合圖像中的語義、內容等信息來重建圖像,未來該領域損失函數的發展,應在提高PSNR值的同時恢復圖像中的更多紋理細節,滿足人眼觀感。
本章對現有的單幅圖像超分辨率重建算法進行性能對比。通過PSNR和SSIM評價指標來度量超分算法的性能[41]。所對比的算法包括雙三次插值Bicubic和10個文中提到的基于深度學習的單幅圖像超分辨率重建算法。在公開數據集DIV2K[42]上訓練,網絡在Set5[43]、Set14[44]和BSD100[45]數據集下完成測試,基于像素損失函數的SR方法實驗結果如表4。

表4 不同數據集下基于像素損失函數的SR算法的PSNR和SSIM值對比Table 4 Comparison of PSNR and SSIM values of SR algorithm based on pixel loss function under different data sets
對比實驗數據可以明顯看出基于深度學習的算法相比傳統算法的PSNR值和SSIM值都有了很大的提升。作為圖像超分辨率重建領域的開山鼻祖,SRCNN在插值方法的基礎上利用卷積網絡強大的特征學習能力,構建了端到端的映射,使重建圖像的質量遠超雙三次插值Bicubic算法。隨著SRCNN的突破性進展,研究學者們在該算法的基礎上提出很多超分辨率算法,如FSRCNN在SRCNN的基礎上加快了訓練速度且恢復出更好的圖像,VDSR、DRCN、DRRN、EDSR將殘差連接與稠密連接引入網絡來構建更深更復雜的網絡結構,實驗表明能夠獲得更好的恢復效果。LapSRN算法融合了網絡中不同層提取的特征信息,簡化網絡結構提升了訓練速度,恢復圖像的效果接近DRCN。目前最好的算法是RCAN,它在EDN的基礎上將注意力機制引入網絡通道中,同時構建殘差結構加深網絡深度,放大因子為2時,與傳統Bicubic算法相比在Set5、Set14和BSD100數據集上的PSNR值分別提高4.67、3.99和2.9,SSIM值分別提高0.031 8、0.053 7和0.06;放大因子為3時,PSNR值分別提高4.46、3.21和2.18,SSIM值分別提高0.062 3、0.075 2和0.073 7;放大因子為4時,PSNR值分別提高4.31、2.98和1.89,SSIM值分別提0.909、0.088 3和0.078。通過觀察實驗數據可以看出,算法的網絡越深,重建圖像的質量越好。隨著放大因子的增大,算法的性能提升越來越弱,因此對于大的放大因子圖像超分辨率重建仍然具有很大的挑戰。
基于像素的損失函數存在的問題是重建圖像邊緣平滑,缺乏高頻信息,人眼視覺感知效果并不是很好。感知損失函數能在一定程度上提升圖像的人眼視覺感知質量。Set14數據集上放大因子為4時基于感知損失函數的網絡與基于像素損失函數的網絡重建圖像的結果比較為表5。L1、L2表示MSE損失函數和MAE損失函數,LC、LGAN表示內容損失函數和對抗損失函數。其可視化效果圖如圖8。由表5可以看出,基于感知的損失函數網絡(SRGAN、ESGAN)相比于基于像素的損失函數網絡(EDSR、SRCNN)重建圖像的PSNR值有所下降。但是對比圖8的可視化效果可以看出,基于感知的損失函數網絡恢復出的圖像紋理更豐富,邊緣更清晰,圖中胡須毛發相對比較清楚,更接近原始圖像,人眼的感知效果更好。ESRGAN結合感知損失和像素損失,均衡了視覺感知和像素精確值,使重建圖像在視覺上更符合真實圖像。

表5 不同類型損失函數算法Table 5 Different types of loss function algorithm

圖8 Set14數據集上不同網絡重建圖像效果可視化Fig.8 Visualization of effect of different network reconstruction images on Set14 dataset
本文在對單幅圖像超分辨率重建網絡廣泛研究的基礎上,系統總結了基于深度學習的圖像超分辨率重建算法的發展情況,從網絡模型結構、尺度放大方法和損失函數三個方面來詳細介紹了圖像超分辨率算法,分析主流算法的網絡結構和優缺點,并對其性能進行對比。
總體來看,基于CNN的圖像超分辨率重建網絡結構越來越復雜,近幾年許多研究學者在這些主流算法的基礎上不斷改進,重建圖像的像素精確值越來越高[46],但是人眼感知效果并不理想,且重建速度上普遍偏慢,難以滿足實際應用的實時性需求,在應用推廣上面臨困難。而基于GAN的圖像超分辨率重建網絡雖然在圖像的像素精確值上不如前者,但是重建出的圖像在人眼視覺感知上更有優勢,隨著近幾年的發展,其恢復出的圖像更逼真更自然,且重建圖像的像素精確值也在逐漸提高[47-48],在實際應用上更有潛力。未來的研究方向將更專注于像素值、視覺感知和速度的結合,借鑒CNN高像素精度和GAN高感知質量的優勢,同時提高像素值與感知質量,以滿足實際需求。
深度學習的快速發展,以及硬件設施的不斷完善,為圖像超分辨率領域提供了非常好的發展機遇。雖然現有的深度學習圖像超分辨率重建算法的性能已經遠遠超越了傳統算法,但是還有很多改進空間。如何實現任意放大倍數的超分重建,如何在放大比例較大時保證重建出的高分辨率圖像質量,如何選擇重建圖像的質量評價標準,如何更好地利用場景信息和圖像的語義、內容信息,如何滿足視頻監控、衛星遙感成像、醫學圖像、刑偵分析和人臉識別等實際應用領域的精確性和實用性的需求等,這將是接下來圖像超分辨率重建領域的重點研究方向。