陳錦倫 王勇 王瑛
摘要:圖像超分辨率是由低分辨率圖像重建生成高分辨率圖像的過程,是計算機視覺領域的一個研究熱點。近年來,隨著圖像超分辨率技術理論的不斷創(chuàng)新,從傳統(tǒng)的插值法、重構(gòu)法發(fā)展到主流的深度學習算法。文中從圖像超分辨率的定義出發(fā),梳理了圖像超分辨率各個時期的代表性算法,詳細介紹了基于卷積神經(jīng)網(wǎng)絡、殘差網(wǎng)絡與生成對抗網(wǎng)絡三個主流的超分辨率模型,并討論了各個模型的網(wǎng)絡結(jié)構(gòu)、學習策略以及損失函數(shù)等問題。最后,對圖像超分辨率當前的研究情況進行總結(jié)。
關鍵詞: 圖像超分辨率; 深度學習; 神經(jīng)網(wǎng)絡; 計算機視覺
中圖分類號:TP18? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)30-0024-02
開放科學(資源服務)標識碼(OSID):
Image Super Resolution Based on Deep Learning
CHEN Jin-lun,WANG Yong,WANG Ying
(School of Computer, Guangdong University of Technology, Guangzhou 510006, China)
Abstract:Image super resolution is the process of generating high resolution image from low resolution image. It is a research hotspot in the field of computer vision. In recent years, with the continuous innovation of the technical theory of image super resolution, the traditional interpolation and reconstruction methods have developed to the mainstream algorithms based on deep learning. In this paper, starting from the definition of image super-resolution, representative algorithms of each period are sorted out.Then, three main super-resolution models based on convolutional neural network, residual network and generative adversarial network are introduced in detail.Also, the network structure, learning strategy and loss function of each model are discussed in particular. Finally, the development of image super-resolution is summarized.
Key words:image super-resolution; deep learning; neural network; computer vision
1 引言
近年來,隨著智能手機、平板電腦的普及,人們對高分辨率圖像的需求日益擴大,如何獲取高質(zhì)量圖像越來越受到關注。在圖像形成過程中,環(huán)境噪聲、欠采樣、光學模糊、運動模糊等因素都會造成圖像成像質(zhì)量較差、分辨率較低[1]。在實際應用中,由于受到開發(fā)成本、工藝水平等原因,單純通過改善硬件設備來提高圖像分辨率是不現(xiàn)實的。為了解決這一問題,圖像超分辨率(Super-resolution)[2]技術應運而生,通過計算機軟件算法提高分辨率,獲取高質(zhì)量圖像。
圖像超分辨率是將給定的一張低分辨率(LR)圖像恢復為對應的具有更高視覺質(zhì)量的高分辨率(HR)圖像的任務。高分辨率圖像細節(jié)清晰、色彩豐富,被廣泛應用于安全監(jiān)控、醫(yī)療成像、衛(wèi)星圖像、視頻直播等[3]領域。早期的研究人員通過基于插值的方法、基于重構(gòu)的方法進行超分辨率圖像重建,得到的圖像較為模糊,缺少細節(jié)信息。傳統(tǒng)方法在LR與HR空間之間建立的映射定義不清晰,算法效率較低?;谏疃葘W習的方法擁有強大的特征學習、特征提取能力,構(gòu)建的神經(jīng)網(wǎng)絡在理論上可以模擬任何一種函數(shù),通過端到端的模型訓練,直接從數(shù)據(jù)中學習LR圖像與HR圖像之間的映射關系,相比傳統(tǒng)方法在性能、各項評估基準上都有著顯著的提升。
2 圖像超分辨率簡介
圖像超分辨率的目標是將一張低分辨率圖像恢復為對應的高分辨率圖像。通常,用[y]表示低分辨率圖像,用[x]表示相應的高分辨率圖像,圖像下采樣過程建模為:
[y=(x?k)↓s+n]? ? ? ? ? ? ? ? ? ? (1)
其中[k]表示模糊內(nèi)核,[x?k]為高分辨率圖像與模糊內(nèi)核的卷積運算,[↓s]表示縮放系數(shù)為s的下采樣運算,[n]為獨立的噪聲項。下采樣過程通常是未知的,可能會受到壓縮偽影、散焦模糊、傳感器噪聲等因素影響。在圖像超分辨率模型中,要求盡可能從低分辨率圖像[y]中恢復真實高分辨率圖像[x]的近似值[x]。
[x=F(y;θ)]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2)
其中[F]為超分辨率模型函數(shù),[θ]為函數(shù)[F]的參數(shù)。本質(zhì)上,求解公式(2)不滿足“解的唯一性”,屬于一個經(jīng)典的不適定問題。對于同一張LR圖像,始終存在若干張可能對應的HR圖像,而不是唯一一張對應的HR圖像。目前,圖像超分辨率的主流算法可分為兩大類:基于插值、基于重構(gòu)的傳統(tǒng)方法與基于深度學習的方法。
3 研究現(xiàn)狀
3.1 傳統(tǒng)方法
傳統(tǒng)的圖像超分辨率方法主要分為基于插值的方法與基于重構(gòu)的方法。插值法利用圖像相鄰像素點之間的連續(xù)性和關聯(lián)性,選擇合適的像素坐標進行圖像插值。常見的插值法有最近鄰插值法、雙線性插值法、雙三次插值法等。其中,雙三次插值法利用16個相鄰像素點的信息來計算待插入的像素值,在原圖像兩個軸上分別進行三次插值。與雙線性插值法相比,雙三次插值法利用的像素點信息更多,輸出的圖像效果更平滑。基于插值的方法簡單易實現(xiàn),僅利用原圖像相鄰像素點間的信息去提高分辨率,而沒有考慮整張圖像的語義信息。插值法重建速度較快,可以在線性時間內(nèi)實時重建高分辨率圖像,雖然增加了圖像的像素點,但是輸出的圖像質(zhì)量較低,容易出現(xiàn)模糊偽影。
基于重構(gòu)的方法,對光學模糊、運動模糊等成像因素建立數(shù)學優(yōu)化模型,利用圖像的先驗知識來約束解空間,從圖像下采樣模型中得出低分辨率與高分辨率圖像之間的內(nèi)在關系,逆推生成高分辨率圖像。常見的重構(gòu)法有迭代反向投影法、凸集投影法、最大后驗概率估計法[4]等。其中,最大后驗概率估計法基于概率統(tǒng)計理論,通過貝葉斯定理求解問題,使重建圖像的統(tǒng)計后驗概率最大。與插值法相比,重構(gòu)法更關注圖像下采樣的實際情況,同時也獲得較好的重建效果。但是隨著放大系數(shù)的增大,重構(gòu)法的性能會急劇下降,重建過程非常耗時。
3.2 基于深度學習的方法
深度學習是機器學習的一個分支,可以處理大量非結(jié)構(gòu)化數(shù)據(jù),自動學習數(shù)據(jù)的層次表示。近年來,隨著計算機硬件的高速發(fā)展,深度學習在計算機視覺、自然語言處理等領域均取得了較好的效果。大多數(shù)深度學習模型都是基于神經(jīng)網(wǎng)絡的,具有較好的非線性學習能力,這點在圖像超分辨率中有很大的優(yōu)勢?;谏疃葘W習的圖像超分辨率方法,通過在大量的低分辨率、高分辨率圖像對中進行端到端的訓練學習,提取有效的高頻特征,解決了傳統(tǒng)方法難以學習圖像深層特征的瓶頸。
3.2.1 基于SRCNN及其改進方法
Dong等人[5]提出的SRCNN模型,是深度學習應用于圖像超分辨率領域的開山之作。SRCNN通過三層結(jié)構(gòu)的卷積神經(jīng)網(wǎng)絡,完成圖像塊提取、非線性映射、圖像重建等過程。網(wǎng)絡第一層為圖像塊提取層,輸入經(jīng)過雙三次插值預處理的LR圖像,應用9x9的卷積核提取[n1]個特征圖。第二層為非線性映射層,將[n1]維的LR圖像特征圖映射到[n2]維HR圖像特征圖的映射空間。第三層為重建層,通過全連接的方式聚合[n2]維的HR特征圖重建生成HR圖像。SRCNN采用逐像素損失為優(yōu)化目標,通過最小化重建圖像[Y]與原始高分辨率圖像[X]間的均方誤差(MSE)訓練網(wǎng)絡。
[L(θ)=1ni=1n∥Yi;θ-Xi∥2]? ? ? ? ? ? ? ? ? ? (3)
其中[L(θ)]為損失函數(shù),[θ]為網(wǎng)絡模型的參數(shù),[n]為訓練樣本的數(shù)量,[F]表示LR與HR空間之間的映射函數(shù),[Y]為重建圖像,[X]為相應的原始高分辨率圖像。通過不斷的迭代訓練,SRCNN以端到端的方式學習LR圖像到HR圖像的抽象映射。與傳統(tǒng)方法相比,SRCNN在峰值信噪比(PSNR)與結(jié)構(gòu)相似度(SSIM)等評價指標上均取得了更好的表現(xiàn)。隨后,Dong等人[6]繼續(xù)改進SRCNN,提出了FSRCNN模型。FSRCNN使用反卷積來進行圖像上采樣,解決了SRCNN輸入圖像前需要進行插值預處理的問題,減少了輸入誤差;使用1x1的卷積核進行降維并且加深了網(wǎng)絡深度,最終取得了更好的圖像重建效果。
3.2.2 基于殘差學習的方法
Kim等人[7]提出的VDSR模型,首次將殘差結(jié)構(gòu)應用于超分辨率重建。該模型的網(wǎng)絡深度達20層,更深的網(wǎng)絡結(jié)構(gòu)擁有更大的有效感受野,VDSR的有效感受野為41x41,可以在特征提取中融合更多的上下文信息。但是網(wǎng)絡模型越深,隨之而來的是梯度爆炸問題。殘差網(wǎng)絡[8]中的跳躍鏈接(skip conections)可以巧妙避免該問題。由于圖像超分辨率是從圖像到圖像的轉(zhuǎn)換任務,其中輸入圖像與輸出圖像是密切相關的,因此VDSR模型提出僅學習原始HR圖像和輸入LR圖像之間的殘差,從而避免了學習從完整圖像到圖像的復雜轉(zhuǎn)換任務。殘差圖像[r]的定義如下:
[r=y-x]? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(4)
其中[r]為殘差圖像,[y]為原始HR圖像,[x]為插值后的LR圖像。網(wǎng)絡的優(yōu)化目標為最小化殘差圖像[r]與輸出圖像[f(x)]之間的誤差,損失函數(shù)[L]的定義如下:
[L=12∥r-f(x)∥2]? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(5)
其中[L]為損失函數(shù),[r]為殘差圖像,[f(x)]為網(wǎng)絡輸出的預測圖像。由于網(wǎng)絡只需要學習圖像的殘差,而大多數(shù)圖像塊的殘差值接近于0,因此大大降低了網(wǎng)絡的復雜度與訓練成本。相比線性網(wǎng)絡,VDSR模型的訓練速度更快,輸出結(jié)果能夠保留較好的圖像高頻細節(jié)。此外,該模型將不同縮放系數(shù)的LR圖像混合在一起訓練,將單一倍數(shù)的超分模型改進為適應多倍數(shù)的超分模型,并取得了較好的泛化效果。
3.2.3 基于生成對抗網(wǎng)絡的方法
生成對抗網(wǎng)絡(GAN)是由Goodfellow 等人[9]提出的無監(jiān)督學習模型,主要包括一個生成器網(wǎng)絡和一個判別器網(wǎng)絡,兩個網(wǎng)絡同時訓練,以相互博弈的方式去競爭學習。Ledig等人[10]提出的SRGAN模型,將生成對抗網(wǎng)絡應用于圖像超分辨率。該模型的生成器網(wǎng)絡G通過輸入的低分辨率圖像,不斷生成高分辨率圖像。判別器網(wǎng)絡D則需要判斷輸入的圖像是生成的高分辨率圖像,還是真實的高分辨率圖像。兩個網(wǎng)絡不斷迭代訓練,直至判別器網(wǎng)絡D無法判斷輸入的圖像來自生成圖像還是真實圖像,兩者達到了博弈均衡,最后生成器網(wǎng)絡G輸出逼真的高分辨率圖像。
大多數(shù)的超分模型都是以均方誤差作為損失函數(shù),導致生成的高分辨率圖像過于平滑,與人的視覺感知不一致。SRGAN在損失函數(shù)中引入感知損失(perceptual loss),嘗試從人類觀感的角度去評估圖像質(zhì)量。在4倍放大圖像時,SRGAN輸出圖像的平均PSNR值雖然略低于SRCNN,但是生成圖像的紋理細節(jié)清晰,視覺效果逼真,更符合人類的觀感需求。
4? 總結(jié)
圖像超分辨率的發(fā)展經(jīng)歷了基于插值、基于重構(gòu)和基于深度學習的三個階段。近年來,隨著深度學習技術的蓬勃發(fā)展,基于深度學習的超分辨率模型已經(jīng)成為圖像超分辨率領域的主流算法,并廣泛應用于各個領域。相比傳統(tǒng)方法,深度學習模型擁有強大的特征提取能力,能夠在數(shù)據(jù)中自動學習從LR圖像到HR圖像的復雜映射,重建出紋理清晰、細節(jié)豐富的高分辨率圖像,有效解決了傳統(tǒng)方法難以學習圖像高頻信息、生成圖像含有模糊偽影等問題。
參考文獻:
[1] 謝海平,謝凱利,楊海濤.圖像超分辨率方法研究進展[J].計算機工程與應用,2020,56(19):34-41.
[2] Nasrollahi K,Moeslund T B.Super-resolution:a comprehensive survey[J].Machine Vision and Applications,2014,25(6):1423-1468.
[3] 王威,張彤,王新.用于圖像超分辨率重構(gòu)的深度學習方法綜述[J].小型微型計算機系統(tǒng),2019,40(9):1891-1896.
[4] Liu C,Sun D Q.On Bayesian adaptive video super resolution[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2014,36(2):346-360.
[5] Dong C,Loy C C,He K M,et al.Image super-resolution using deep convolutional networks[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2016,38(2):295-307.
[6] Dong C,Loy C C,Tang X O.Accelerating the super-resolution convolutional neural network[C]//Computer Vision - ECCV 2016,2016:391-407. DOI:10.1007/978-3-319-46475-6_25.
[7] Kim J,Lee J K,Lee K M.Accurate image super-resolution using very deep convolutional networks[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).June 27-30,2016,Las Vegas,NV,USA.IEEE,2016:1646-1654.
[8] He K M,Zhang X Y,Ren S Q,et al.Deep residual learning for image recognition[C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).June 27-30,2016,Las Vegas,NV,USA.IEEE,2016:770-778.
[9] Goodfellow I, Pouget-Abadie J, Mirza M, et al. Generative adversarial networks[C]. Proceedings of the Advances in Neural Information Processing Systems, Quebec, Dec 8-13, 2014:2672-2680.
[10] Ledig C,Theis L,Huszár F,et al.Photo-realistic single image super-resolution using a generative adversarial network[C]//2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).July 21-26,2017,Honolulu,HI,USA.IEEE,2017:105-114.
【通聯(lián)編輯:唐一東】