[Paper Note] A Deep Journey into Super-resolution:A Survery

A Deep Journey into Super-resolution: A Survey

Saeed Anwar, Salman Khan, and Nick Barnes

Abstract
基於深度卷積網絡的超分辨率是一個快速發展的領域,具有許多實際應用。在本文中,我們在三個經典數據集和三個最近引入的具有挑戰性的數據集上對超過30個最先進的超分辨率卷積神經網絡(CNN)進行了比較,並以單圖像超分辨率爲基準來檢驗。我們提出了對基於深度學習的超分辨率網絡的分類法,將現有方法分爲九類,包括線性,殘差,多分支,遞歸,漸進,基於注意力和對抗性設計。我們還比較了網絡結構複雜性,內存佔用,模型輸入和輸出,學習細節,網絡損失類型和一些重要對結構差異(例如,深度,跳過連接,過濾器)。通過廣泛的評估,顯示出過去幾年中模型準確性的一致和快速增長,以及模型複雜性和可以使用的大規模數據集的相應提升。還觀察到,被確定爲基準的開創性方法已經明顯優於當前的競爭者。儘管近年來取得了進展,但我們發現了現有技術的一些缺點,併爲解決這些開放性問題提供了未來的研究方向
Index Terms—Super-resolution (SR), High-resolution (HR), Deep learning, Convolutional neural networks (CNNs), Generative adversarial networks (GANs), Survey.

1.Introduction

近幾年來,圖像超分辨率(SR)得到了越來越多的研究界的關注.超分辨率的目的是將具有粗細節的低分辨率圖像轉換爲具有高視覺質量和好的細節的高分辨率的圖像, 使用更高的視覺質量和精細的細節處理高分辨率圖像。圖像超分辨率也被冠以其他名稱,例如圖像縮放、插值、上採樣、縮放和擴大。生成分辨率更高的光柵圖的過程可以使用單個圖像或多個圖像來執行。本文主要關注單幅圖像的超分辨率,因爲單圖像的超分辨率更具挑戰性,並且多圖像的超分辨率直接建立在單圖像的基礎之上.

高分辨率圖像提升了場景和組成對象的重建細節,對於許多設備來說都是至關重要的,例如大型計算機的顯示、高清電視機和手持設備(移動電話、平板電腦、相機等)。此外,超分辨率在許多其他領域也有着重要的應用,例如場景中的物體檢測[1](特別是小的物體)[2]),監視視頻中的人臉識別[3]、醫學圖像[4]、提高遙感圖像的可解釋性[5]、天文圖像[6]和法醫鑑定[7]。

超分辨率是一個經典的問題,由於多種原因,它仍然被認爲是計算機視覺中一個具有挑戰性和開放性的研究問題。首先,SR是一個不適定的逆問題,例如 欠定問題。對於相同的低分辨率圖像,並不存在唯一,而是存在多個解。爲了限定解空間,通常需要可靠的先驗信息。第二,問題的複雜性隨着上採樣參數的增加而增加.在較多參數情況下,缺失的場景細節的恢復將更復雜,並且因此會經常導致重建出錯誤信息。此外,輸出結果的質量無法直接衡量,即定量指標(例如PSNR “Peak Signal to Noise Ratio” ,SSIM “Structural Similarity index” )與人類的感知的聯並不強。

超分辨率方法可大致分爲兩類:傳統方法和基於深度學習的方法。傳統的算法已經有幾十年了,但現在效果遠不如深度學習的方法。因此,許多新算法都是用數據驅動的深度學習模型來重建所需的細節,以獲得精確的超分辨率。深度學習是機器學習的一個分支,機器學習的目的是直接從數據中自動學習輸入和輸出之間的關係。除了SR領域,深度學習算法在其他人工智能[8]的子領域上也顯示出了良好的結果,例如,物體分類[9]和檢測[10]、自然語言處理[11],[12]、圖像處理[13],[14]和音頻信號處理[15]。鑑於這些原因,在本綜述中,我們主要關注SR的深度學習算法,對於傳統方法則只是講述簡單的背景(第2節)。

**我們的貢獻:**在這個論述中,我們的重點是單張(自然)圖像超分辨率的深度學習方法。我們的貢獻分五部分:1)我們對圖像超分辨率的最新技術作了全面的回顧。2)根據SR算法的結構差異,提出了一種新的SR算法分類方法。3)對參數個數、算法設置,訓練細節和重要的結構創新進行了綜合分析,這些都會使得性能顯著改進。4)在六個公開的SISR的數據集上對算法進行了系統的評價。5)我們討論了挑戰性問題,並對未來可能的研究方向提供了見解。

2.Background

假設以 yy 表示低分辨率(LR)圖像,並以 xx 表示相應的高分辨率(HR)圖像,則退化過程如下:
(1)y=Φ(x;θη) \mathbf{y}=\mathbf{\Phi}\left(\mathbf{x} ; \theta_{\eta}\right)\tag{1}
其中Φ\Phi是退化函數,θn\theta_n表示退化係數(例如縮放參數,噪聲等)。在現實世界中,只有yy是已知的,其餘的關於退化過程或者退化係數θn\theta_n的信息都沒有。超分辨率旨在消除退化效果,並復原出真實圖像xx的近似解x^\hat{x}
(2)x^=Φ1(y,θζ) \hat{\mathbf{x}}=\Phi^{-1}\left(\mathbf{y}, \theta_{\zeta}\right) \tag{2}
其中θζ\theta_\zeta是函數Φ1\Phi^{-1}的參數,退化過程是未知的並且十分複雜。這個過程可能被多種因素影響,例如噪音(傳感器和斑點)、壓縮、模糊(失焦和移動)以及一些其他的情況。因此,大多數研究方法都傾向於下面的退化模型而不是方程(1)
(3)y=(xk)s+n \mathbf{y}=(\mathbf{x} \otimes \mathbf{k}) \downarrow_{s}+\mathbf{n} \tag{3}
其中kk是模糊核,xkx\bigotimes k是高分辨率圖像和模糊核之間的卷積操作,\downarrow是下采樣操作,縮放參數爲s。變量 n 表示標準差(噪音等級)爲σ\sigma的加性高斯白噪聲。在圖像超分辨率中,目標是最小化與模型相關聯的數據保真項,模型爲y=xk+ny=x \bigotimes k + n,如
(4)J(x^,θζ,k)=xky data fidelity term +αΨ(x,θζ) regularizer  J\left(\hat{\mathbf{x}}, \theta_{\zeta}, \mathbf{k}\right)=\underbrace{\|\mathbf{x} \otimes \mathbf{k}-\mathbf{y}\|}_{\text { data fidelity term }}+\alpha \underbrace{\Psi\left(\mathbf{x}, \theta_{\zeta}\right)}_{\text { regularizer }} \tag{4}
其中α\alpha是數據保真項和圖像先驗Ψ()\Psi(·)的平衡因子。據Yang等人所說[16],根據先驗圖像,超分辨率方法大致可分爲:預測方法[17]、基於邊的方法[18]、統計方法[19]、基於圖像片(patch)的方法[20]、[21]、[22]和深度學習方法[23]。在本文中,我們的重點是應用深度神經網絡學習這個先驗的方法。

3. Single Image Super-Resolution

在這裏插入圖片描述
在這裏插入圖片描述
SISR問題得到了廣泛的研究,許多文獻都採用了不用的基於深度學習的技術。根據模型特點,我們將現有的方法分爲九組。Fig.1 顯示了本文獻中使用的總體分類,其中,我們首先討論了最早最簡單的網絡設計——線性網絡。

3.1 Linear networks

線性網絡有一個簡單的結構,只有一條信號流路徑,沒有任何跳過連接或多分支。在這樣的網絡設計中,多個卷積層相互疊加,輸入依次從初始層流到後面的層。線性網絡與上採樣操作(早期上採樣或後期上採樣)執行的方式不同。一些線性網絡學習重現殘差圖像,即LR和HR圖像之間的差值[24],[25],[26]。由於在這種情況下,網絡體系結構是線性的,所以我們將它們歸類爲線性網絡。線性網絡與殘差網絡(Sec 3.2)相反,殘差網絡在設計中有跳過鏈接。我們在兩個子分類中詳細闡述了值得注意的線性網絡設計。

3.1.1 Early Upsampling Designs

早期上採樣的結構是線性網絡,其首先對LR輸入進行上採樣,使其與期望的HR輸出大小相匹配,然後學習層次特徵表示來生成輸出。一種常見的上採樣操作是雙三次插值,這是一種計算量很大的運算。基於這條技術線路的一項開創性工作是SRCNN,我們接下來將對此進行解釋。

SRCNN Super Resolution CNN 超分辨率卷積神經網絡,簡稱SRCNN[23],[27]是第一次只使用卷積層來做超分辨率的成功的嘗試,被認爲是基於深度學習的SR的開創性工作,激發了後續在這個方向上的嘗試。SRCNN結構簡單明瞭,它只由卷積層組成,除最後一層外每一層後面都跟着整流線性單元(Relu)非線性。共有三個卷積層和兩個ReLU層,線性地疊加在一起。雖然卷積層是相同的,作者將卷積層按功能命名。第一個卷積層叫作圖像片(patch)提取層或特徵提取層,其從輸入圖像中得到feature map。第二層爲非線性映射層,將feature map映射成高維特徵向量。最後一層聚合feature map來輸出最終的高分辨率圖像。SRCNN的結構如 Fig.2 所示。
訓練數據集是通過從HR圖像中提取大小爲32×32的不重疊的稠密圖像塊來合成。低分辨率的輸入圖像片首先先下采樣,然後用雙三次插值進行上採樣,使其具有與高分辨率輸出圖像相同的大小。SRCNN是一種端到端可訓練的網絡,最大限度地減少了輸出的重構高分辨率圖像與真實高分辨率圖像的差值,損失函數使用的是均方誤差MSE。

VDSR Very Deep Super-Resolution 與SR-CNN[23]和FSRCNN[28]中使用的淺層網絡結構不同,深度超分辨率(VDSR)[24]基於[29]中提出的深度CNN體系結構。這種架構通常被稱爲VGG-NET,並在所有層都是用3x3大小的卷積核。爲了避免深層網絡(尤其是20層權重層)的收斂緩慢問題,提出了兩種有效的策略。首先,不直接生成HR圖像,而是學習殘差映射,通過映射來產生HR和LR圖像差。因此,它提供了一個更容易實現的目標,而且絡只關注高頻信息。其次,梯度剪裁至[θ,θ]範圍,這樣可以用很高的學習率來加快訓練過程。結果證明更深層次的網絡可以提供更好的上下文信息和更好的泛化表示能力,可以用來解決多尺度的超分辨率問題。

DnCNN Denoising CNN [25]學習直接預測高頻殘差,而不是超分辨圖像。殘差圖像是LR和HR圖像的差。DnCNN結構非常簡單,類似SRCNN,只堆疊卷積層,然後是批標準化和ReLU層。DnCNN的體系結構如 Fig.2 所示。

雖然這兩種模型都能獲得良好的結果,但它們的性能在很大程度上取決於噪聲估計的準確性,並且是不知道圖像底層結構和紋理的。此外,由於每個卷積層之後都有批標準化操作,所以計算量很大。

IRCNN Image Restore CNN[26]提出了一組基於CNN的去噪器,可以聯合起來用於一些低級視覺任務,例如圖像去噪、去模糊和超分辨率。該技術旨在將高性能的有區分度的CNN網絡與基於模型的優化方法結合起來,以便在圖像恢復任務上獲得更好的泛化能力。特別是半二次方分割技術,這項技術用來分離正則化和保真項。之後,由於CNN具有優秀的建模能力和測試時間效率,因此利用CNN分別對去噪先驗進行學習。CNN去噪器由7個擴展(膨脹)卷積層組成,每個層都有批標準化層和ReLU非線性層。擴展卷積操作通過更大的感受野來幫助建模更大的上下文信息。爲了加快學習過程,殘差圖像學習規則與之前的VDSR[24],DRCN[31],DRRN[32]結構相同。作者還提出了使用小尺寸樣本訓練和零填充,以避免卷積操作的邊界問題。

一組25個去噪器,訓練的噪聲等級屬於[0,50],這些噪聲集成在一起專門用來做圖像恢復任務的訓練。所提出的方法在圖像去噪、去模糊和超分辨率方面都有很好的效果。

3.1.2 Late Upsampling Designs

正如我們在前面的例子中所看到的,線性網絡通常對輸入圖像進行早期上採樣。這種操作計算量很大,因爲後期的網絡結構會因爲處理較大的輸入而成倍增長。爲了解決這一問題,提出後上採樣(post-upsampling)網絡,後上採樣網絡先學習低分辨率輸入,然後對網絡輸出附近的特徵進行上採樣。這種策略的優點是低內存佔用,並且高效。我們將在下面討論這些設計。

FSRCNN Fast Super-Resolution CNN (FSRCNN)[28]比SRCNN[27]有更高速度和更好的質量。目的是達到實時計算速度(24 fps),SRCNN是1.3fps。FSRCNN[28]架構簡單,由四個卷積層和一個反捲積層組成。FSRCNN[28]的體系結構如 Fig.2 所示。

儘管前四層都實現卷積運算,但FSRCNN[28]根據功能命名了各層,即特徵提取層、收縮層、非線性映射層和擴展層。特徵提取步驟類似於SRCNN[27],唯一的區別在於輸入大小和過濾器大小。SRCNN[27]的輸入是一個上採樣的雙三次圖像片,而FSRCNN[28]的輸入是沒有經過上採樣的原始圖像片。第二個卷積層被命名爲收縮層,因爲它通過採用更小的濾波器尺寸(f=1)來減少特徵維數(參數個數),從而提升了計算效率。第三層是非線性映射層,作者認爲這在SRCNN[27]和FSRCNN[28]中都是關鍵的一步,因爲它有助於學習非線性函數並且會因此對效果產生很大的影響。通過實驗,非線性映射層中的濾波器的大小設置爲3,通道數量和之前的層一樣。最後,擴展層,是收縮步驟的反運算。通過擴展來增加維數。該層使性能提高了0.3dB。

網絡的最後一部分是上採樣和聚集反捲積層,它是卷積的逆過程。在卷積運算中,圖像與卷積核按照一定步長進行卷積操作,輸出是輸入的大小乘以步長的倒數,即1/stride。然而,濾波器在反捲積層中的作用和卷積層正好相反,這裏的步長可看作是上採樣參數。類似地,另一個與SRCNN[27]的微妙的區別是在每個卷積層之後使用帶參數的ReLU(PReLU)[33]而不是ReLU。 ps.PReLU 是 分段爲 xαxx 和 \alpha * x

FSRCNN[28]使用與SRCNN[27]相同的損失函數,即均方誤差。在訓練方面,[28]使用了91-image 數據集[34],以及從互聯網上收集的100幅圖像。在數據增強方面,通過例如旋轉、翻轉和縮放等操作,使圖像的數量增加了19倍。

ESPCN Efficient sub-pixel CNN (ESPCN)[35]是一種快速的SR方法,可以在實時情況下對圖像和視頻進行操作。如上所述,傳統SR技術首先通過雙三次插值將LR圖像映射到更高的分辨率,然後在高維空間中學習SR模型。ESPCN指出,這套流程需要很高的計算要求,並建議在LR空間中進行特徵提取。在提取特徵後,ESPCN在其末端使用子像素卷積層來聚合LR特徵,並同時將其映射到高維空間,在高維空間中重建HR圖像。在LR空間中進行特徵處理大大減少了內存和計算量。

本工作中使用的子像素卷積運算實質上類似於卷積轉置或反捲積運算[36],其中使用分數核步長來增加輸入特徵圖的空間分辨率。另外使用一個單獨的擴展核來映射每個特徵圖,從而爲LR到HR映射的建模提供了更大的靈活性。使用l1l_1損失來訓練整體的網絡。ESPCN在單個GPU上對1080p的視頻處理,具備有競爭力的SR性能和較高的實時處理速度。

3.2 Residual Networks

與線性網絡相比,殘差學習在網絡設計中使用跳過連接來避免梯度消失問題,從而可以設計非常深的網絡。[9]首先闡述了它對圖像分類問題的意義。最近,一些網絡[37],[38]都利用殘差學習來提高SR性能。在這種方法中,算法學習殘差,也就是輸入和真實值之間的高頻。根據這些網絡中使用的階段數,我們將現有的殘差學習方法分爲單階段[37]、[38]和多階段網絡[39]、[40]、[41]。

3.2.1 Single-stage Residual Nets

EDSR\color{red}{EDSR} Enhanced Deep Super-Resolution (EDSR)[37]修改了最初用於圖像分類的ResNet體系結構[9],使其能夠處理SR任務。具體來說,從每個殘差塊中移除了批標準化層,移除了ReLU激活(殘餘塊外部),這種改動證明是有效的。與VDSR類似,還擴展了單一尺度方法以處理多個尺度。提出的多尺度深度SR(MDSR)結構能夠通過大量的共享參數來減少參數的數量。特定尺度的層僅在輸入和輸出塊附近並行地應用,以學習與尺度相關的表示。訓練使用l1l_1損失。數據增強(旋轉和翻轉)被用於創建“自集成”,即經過變換的輸入穿過整個網絡,加以反向變換和平均,合在一起創建單個輸出。作者指出,這種自集合方案不需要學習多個單獨的模型,但產生的結果可與傳統的基於集合的模型相比較。與以前的一些結構,例如SR-CNN、VDSR和其他基於ResNet的近似結構(SR-GAN[42])相比,EDSR和MDSR在量化方法(Peak Signal to Noise Ratio 峯值信噪比)方面有更好的性能。
CARN Cascading residual network(CARN)[38]使用殘差塊[43]學習低分辨率輸入與高分辨率輸出之間的關係。模型的不同之處在於局部和全局級聯模塊的存在。中間層的特徵被級聯並收斂到1×1的卷積層上。局部級聯中都是簡單的殘差塊,除此以外局部級聯連接與全局級聯連接相同。由於多級別表示和快捷(跳躍)連接,使得信息傳播效率更高。CARN模型結構如 Fig.2 所示。

這個模型使用64×6464\times64的圖像片進行訓練,數據來自Yang等人的BSD[44]和有數據增強的DIV2K數據集[45],採用l1l_1損失。優化器是Adam[46],初始學習率是10410^{-4},每經過4×1054\times10^5步學習率減半。

3.2.2 Multi-Stage Residual Nets

多階段結構由多個子網組成,並且一般是按順序訓練[39],[40]。第一個子網通常對粗特徵進行預測,然後其他子網改進初始預測。在本段還還包括了編碼器-解碼器的設計(例如[41]),它首先使用編碼器對輸入進行下采樣,然後通過解碼器執行上採樣(因此是兩個不同的階段)。下面的結構通過各種不同的階段進行了圖像超分辨率。

FormResNet Formesnet由[39]提出,其建立在DnCNN上,如 Fig.2 所示。該模型由兩個網絡組成,它們都類似於DnCNN,不同的是損失層。第一個網絡,被稱爲“Formatting layer”,包含歐幾里德和感知損失。像BM3D這樣的經典算法也可以代替這個格式化層。第二個網絡“DiffResNet”類似於DnCNN,其輸入來自於第一個網絡。第一個網絡消除了均勻區域中的高頻損壞,而第二個網絡學習結構化區域。FormResNet對DnCNN的結果做了很小的提升。

BTSRN BTSRN是用於圖像超分辨率的平衡的兩階段殘差網絡[40]的代表。該網絡由低分辨率階段和高分辨率階段組成。在低分辨率階段,feature map具有較小的大小,與輸入相同。使用反捲積和最近鄰上採樣對feature map進行上採樣。然後將上採樣後的feature map喂到高分辨率階段。在低分辨率和高分辨率級中,都使用了一種稱爲投影卷積的殘差塊[9]變體。殘差塊由1×1卷積層組成並作爲特徵圖的映射,以此來減小3×3卷積特徵的輸入大小。低分辨率階段有6個殘差塊,高分辨率階段由4個殘差塊組成。
作爲2017年NTIRE挑戰賽的參賽模型[45],該模型接受了來自DIV2K數據集[45],800個訓練圖像和100個驗證圖像,共900個圖像的訓練。在訓練過程中,圖像被裁剪爲108×108大小的圖像片,並通過翻轉和旋轉操作進行增強。初始學習率設定爲0.001,在每次迭代後指數下降0.6倍,使用Adam進行優化。 殘差塊由128個特徵圖作爲輸入,64個作爲輸出。預測值和真實值之間的差距通過l2l_2距離來衡量。

REDNet 最近,由於UNet[47]的成功,[41]提出了一種使用編碼器(基於卷積層)和解碼器(基於反捲積層)的超分辨率算法。RedNet[41]Residual Encoder Decoder Network主要由卷積層和對稱的反捲積層組成。在每個卷積層和反捲積層之後都有一個ReLU層。卷積層用來提取特徵並保留對象結構和消除退化。另一方面,反捲積層重構了圖像中缺失的細節。此外,在卷積層和對稱的反捲積層之間增加了跳躍連接。在進行非線性校正之前,將卷積層的特徵圖與鏡像反捲積層的輸出相加。輸入是雙三次插值圖像,最後的反捲積層的輸出是高分辨率圖像。網絡是端到端可訓練的,通過最小化系統輸出和真實值之間的l2l_2範數實現收斂。結構如 Fig.2。

作者提出了RedNet體系結構的三個變體,其總體結構保持不變,但卷積層和反捲積層的數目發生了一些變化。最佳執行體系結構有30層權重層,每個層64個feature map。此外,Berkeley Segmentation Dataset(BSD)[44]中的亮度通道被用來生成訓練圖像集。按規則步長提取50×5050\times50大小的圖像塊,作爲真實值。通過對真實值進行進行下采樣,再對其用雙三次插值上採樣到原始大小,形成輸入。網絡通過從91 images[34]中提取圖像片進行訓練,使用均方誤差(MSE)損失函數。輸入大小9×99\times9,輸出大小5×55\times5。這些圖像片通過均值和方差標準化,這些均值和方差隨後添加到相應的復原得到的高分辨率輸出中。核的大小爲5×55\times5,有128個特徵通道。

3.3 Recursive networks

顧名思義,遞歸網絡[31]、[32]、[48]使用遞歸連接的卷積層或遞歸鏈接的單元。這種設計的主要目標是逐步將更困難的SR問題分解成一組簡單的問題,這些簡單的問題更容易解決。基本結構如 Fig.2 所示,並且在下文中提出了更多的遞歸模型的細節。

3.3.1 DRCN

如名字所示,Deep Recursive Convolutional Network (DRCN)多次疊加相同的卷積層。這種技術的一個優點是對於更多的遞歸,參數的數量保持不變。DRCN[31]由三個較小的網絡組成,即嵌入網、推理網和重建網。

第一個子網稱爲嵌入網絡,將輸入(灰度或彩色圖像)轉換爲特徵圖。第二個網絡(推理網)執行超分辨率分析,通過遞歸地使用由卷積和ReLU組成的單個層來分析圖像區域。每次遞歸後,感受野的大小都會增加。推理網的輸出是高分辨率的特徵圖,通過重構網絡將其轉換爲灰度或彩色。

3.3.2 DRRN

Deep Recursive Residual Network (DRRN)[32]提出了一個深度CNN模型,但具有保守的參數複雜程度。與以前的模型VDSR[24]、REDNet[41]和DRCN[31]相比,該模型更深,具有多達52個卷積層。同時,相對於REDNet、DRCN和VDSR,DRRN分別將網絡複雜度降低了14、6和2倍。這是通過將殘差圖像學習[49]與網絡層的小塊之間的局部特徵連接結合起來實現的。作者強調,這種並行信息流實現了更深的網絡結構的穩定訓練。

與DRCN[31]類似,DRRN利用遞歸學習,即多次複製一個基本的跳躍連接塊來實現多路徑網絡區域(見Fig.2)。因爲重複部分之間的參數是共享的,所以內存開銷和計算複雜度都得到了顯著的降低。最終結構通過堆疊多個遞歸部分獲得。DRCN使用標準的SGD優化器[49]進行參數訓練。損失層基於MSE損失,類似於其他流行的結構。這個提出的構作出了與以前的方法一致的改進,它支持更深的遞歸結構和殘差學習。

3.3.3 MemNet

Tai等人提出了一種新的圖像超分辨率的持久記憶網絡(簡稱MemNet)[48]。.MemNet可以同SRCNN[27]一樣分解爲三個部分。第一部分稱爲特徵提取塊,它從輸入圖像中提取特徵。這部分與[27]、[28]、[35]等早期設計相同。第二部分由堆疊在一起的一系列記憶塊組成,是記憶網絡中的關鍵部分。如Fig.2 所示,記憶塊由一個遞歸單元和一個門單元組成。遞歸部分類似於ResNet[43],由兩個具有預激活機制的卷積層和與門單元的緊密連接組成。每個門單元是一個1×1卷積核大小的卷積層。

Memnet[48]採用MSE損失函數。實驗設置與VDSR[24]相同,使用了200張來自BSD[44]的圖片和來自Yang等人的91圖。網絡由六個記憶塊組成,每個記憶塊有六次遞歸。MemNet中的總層數爲80。MemNet還用於其他圖像恢復任務,例如圖像去噪和JPEG去塊,並在這些任務中顯示出了不錯的結果。

3.4 Progressive reconstruction designs

通常情況下,CNN算法可以在一步內預測輸出,但是對於大規模參數來說,這可能是不可行的。爲了處理大數目的參數,一些算法[50]、[51]對輸出進行了多步預測,即2×然後4×等。

3.4.1 SCN

Wang等人[50]提出了一種將稀疏編碼[52]的優點與深度神經網絡的領域知識相結合的方案。通過這種結合,它致力於獲得一個緊湊的模型和性能提升。所提出的sparse coding-based network(SCN)[50]模擬了Learned Iterative Shrinkage and Thresholding Algorithm(LISTA)來建立多層神經網絡。

類似於SRCNN[23],第一個卷積層從低分辨率圖像中提取特徵,然後將其送到LISTA網絡。爲了獲得每個特徵的稀疏編碼,LISTA網絡由有限數量的重複階段組成。LISTA級由兩個線性層和一個具有激活函數的非線性層組成,激活函數的閾值是在訓練期間學習/更新的。爲了簡化訓練,作者將非線性神經元分解爲兩個線性縮放層和一個單位閾值神經元。這兩個縮放層是對角矩陣,它們之間是相互的。例如,如果存在成倍增大的層,則在閾值單元之後對其進行相應的縮小。在LISTA網絡之後,通過在連續的線性層上將稀疏碼和高分辨率字典相乘,重建原始高分辨率圖像片。最後一步,再次使用線性層,將高分辨率圖像片放置在圖像的原始位置,以獲得高分辨率的輸出。

3.4.2 LapSRN

Deep Laplacian pyramid super-resolution network (LapSRN)[51]採用金字塔框架。LapSRN由三個子網絡組成,它們將殘差圖像逐步預測到8倍大小。每個子網絡的殘差圖像被添加到低分辨率輸入圖像中,以獲得高分辨率圖像。第一個子網絡的輸出爲是2倍殘差,第二個子網絡提供4倍大小的殘差,最後一個子網給出8倍殘差圖像。將這些殘差圖像添加到相應尺寸的上採樣圖像中,以獲得最終的超分辨率圖像。作者將殘差預測分支定義爲特徵提取,同時將雙三次圖像和殘差的和稱爲圖像重建分支。LapSRN網絡結構如Fig.2。由三種類型組成,即卷積層、leaky ReLU層和反捲積層。按照CNN的慣例,卷積層在Leaky ReLU(允許負斜率爲0.2)之前,反捲積層在在子網末端,以增加相應尺寸的殘差圖像的大小。

LapSRN使用l1l_1損失函數的的一個可微變體,稱爲Charbonnier,它可以處理異常值。每個子網絡都使用該損失,類似於一種多損耗結構。卷積層過濾器大小3×33\times3,反捲積層過濾器大小4×44\times4,每個都有64個通道。訓練數據類似SRCNN[27],Yang等人的91圖和BSD數據集中的200圖。
LapSRN模型使用三種不同的模型執行2×、4×和8×的超分辨率。他們還提出了一個單模型,稱爲多尺度(MS)LapSRN,它聯合在一起學習如何處理多種SR尺度[53]。有趣的是,單個MSLapSRN模型的性能優於從三個不同模型得到的結果。一個解釋是,單個模型利用了公共的尺度特徵,有助於實現更精確的結果。

3.5 Densely Connected Networks

在用於圖像分類的DenseNet[54]體構獲得成功後,受到啓發提出了基於稠密連接的CNN的超分辨率算法,以提高性能。這種設計的主要動機是將網絡深度上可獲得的層次線索結合起來,以獲得高度的靈活性和更豐富的特徵表示。下面討論一些流行的模型。

3.5.1 SR-DenseNet

網絡體系結構[55]基於DenseNet[54],DenseNet使用層間的密集連接,即一個層直接操作所有之前層的輸出。這樣的從低級到高級特徵層的信息流避免了消失梯度問題,能夠學習精簡模型並加快訓練過程。對於網絡的後面部分,SR-DenseNet使用幾個反捲積層來擴大輸入尺寸。作者提出了SR-DenseNet的三種變體。(1)稠密塊順序排列,然後是反捲積層。在這種方式下只有高級特徵被用來重建最終的SR圖像。(2)在最終重建前,結合從初始層獲得的低級特徵。爲此,需要使用跳躍連接來結合低級別和高級別的特徵。(3)通過利用低層特徵和稠密塊之間的多個跳躍連接將所有特徵結合起來,以獲得直接的信息流,從而獲得更好地HR重建結果。由於互補特徵是在網絡中的多個階段編碼的,所以將所有feature map結合一起的方式比SR-DenseNet的其他變體有更好的效果。整個模型訓練使用均方誤差(l2l_2損失)。總的來說,SR-DenseNet模型證明,與不使用層間稠密連接的模型相比,使用以後性能得到提高。

3.5.2 RDN

顧名思義,Residual Dense Network[56] (RDN)將殘差跳躍連接(受SR-ResNet的啓發)與稠密連接(受SR-DenseNet的啓發)結合起來。主要想法是分層特徵表示應完全用來學習局部模式。爲此,在兩種不同範圍內引入殘差連接,局部和全局。在局部範圍,提出了一種新的殘差稠密塊(RDB),其中每個塊的輸入(前一個塊的圖像或輸出)被轉發到所有有RDB的層,並添加到塊的輸出,從而使得每個塊更多地關注殘差模式。由於稠密的連接會快速地導致高維輸出,因此在每個RDB中採用了一種使用1×11\times1卷積的局部特徵融合方法來減少維數。在全局範圍,將多個RDB的輸出融合在一起(通過級聯和1×1卷積操作),並進行全局殘差學習,以結合來自多個塊的特徵。殘差連接有助於穩定網絡訓練,並提升了SR-DenseNet[55]的性能。

相對於SR-DenseNet中使用的l2l_2損失,RDN使用了l1l_1損失函數,並證明了其收斂性有所提升。對每個批次隨機選取的32×32的圖像片對網絡進行訓練。將翻轉和旋轉等數據增強方法作爲一種正則化措施使用。作者還試驗了在LR圖像中存在的不同形式的退化(例如噪聲和僞影)。本網絡顯示了良好的抵抗退化的彈性,並恢復了大量的增強SR圖像。

3.5.3 DDBPN\color{red}{D-DBPN}

Dense deep back-projection network。用於超分辨率的稠密深度反向投影網絡[57]從傳統的SR方法(例如,[17])中汲取靈感,這些傳統方法迭代地執行反向投影來學習LR和HR圖像之間的反饋誤差信號。其動機是,只用前饋方法不是最佳的對從LR到HR的圖像映射進行建模的方法,而反饋機制可以極大地幫助獲得更好的結果。爲此目的,所提出的結構包括一系列的上、下采樣層,它們之間緊密相連。通過這種方式,將來自網絡中不同深度的HR圖像組合在一起,以實現最終的輸出。

上、下采樣塊的結構如Fig.2所示。簡潔起見,本文給出了前幾層單連接的更簡單的情況,並將讀取器定向到[57]以獲得完整的稠密連接塊。該設計的一個重要特徵是把輸入特徵圖的上採樣輸出和殘差信號結合起來。在上採樣特徵圖中顯式地添加殘差信號提供了誤差反饋,並迫使網絡將注意力放在精細的細節上。使用標準的l1l_1損失函數訓練網絡。D-DBPN對於4倍的SR有相對較高的計算複雜度,具有千萬級的參數。不過,也推出了複雜度較低的版本,但是會導致性能略有下降。

3.6 Multi-branch designs

與單流程(線性)和跳躍連接的設計不同,多分支網絡的目標是在多個上下文尺度上獲得不同特徵集合,然後融合這些互補信息以獲得更好的HR重建。該設計還可以實現多個信號流,從而在訓練中的前向和後向過程中更好交換信息。多分支設計在其他幾個計算機視覺任務中也越來越普遍。我們在下面一節中解釋多分支網絡。

3.6.1 CNF

Ren等人[58]提出了融合多卷積神經網絡用來解決圖像超分辨率問題。作者將他們的CNN網絡稱爲上下文網絡融合(CNF),其中每個SRCNN[27]都是由不同的層數構成的。然後,每個SRCNN[27]的輸出通過一個卷積層,最後通過求和池化融合。

使用從開放圖像數據集[59],[60]收集的2,000萬個圖像訓練模型,每個圖像大小僅爲33×3333\times33像素,只有亮度通道。首先,每個SRCNN分別被訓練50輪,學習率爲1e-4。然後對融合網絡進行十輪訓練,學習率不變。這種漸進學習策略類似於課程學習,它從簡單的任務開始,然後轉移到更復雜的任務,聯合優化多個子網以獲得更好的SR。損失是均方誤差。

3.6.2 CMSC

Cascaded multi-scale cross-network, 簡稱CMSC[61],由特徵提取層、級聯子網和重構網絡組成。特徵提取層和SRCNN[27]、FSRCNN[28]中的特徵提取層功能一樣。每個子網由合併運行塊(merge-and-run MR)組成。每個MR塊由兩個平行分支組成,每個分支具有兩個卷積層。每個分支的殘差連接被累積在一起,然後分別添加到兩個分支的輸出中,如Fig.2 所示。CMSC的每個子網由4個MR塊組成,它們各自具有的感受野,大小分別爲3×33\times35×55\times57×77\times7,用於在多尺度上獲取上下文信息。此外,MR塊中的每個卷積層後都跟着批標準化和Leaky ReLU[62]。最後的重建層生成最終輸出。

使用l1l_1損失函數是,它使用一個平衡項將中間輸出與最終輸出相結合。輸入採用雙三次插值的上採樣,圖像大小爲41×4141\times41。該模型使用與VDSR[24]相似的291幅圖像進行訓練,初始學習速率爲10110^{-1},共50輪,每10輪學習率降低10倍。CMSC性能不如EDSR[37]及其變體MDSR[37]。

3.6.3 IDN

The Information Distillation Network (IDN)[63]由三部分組成:特徵提取、多層信息蒸餾和重建。特徵提取塊由兩個卷積層組成,用於特徵提取。蒸餾塊由兩部分組成,一個是增強單元,另一個是壓縮單元。
增強單元有六個卷積層,每層都有leaky ReLU。第三個卷積層的輸出被切片,一半與塊的輸入連接,另一半作爲第四卷積層的輸入。級聯組件的輸出與增強塊的輸出相加。總共使用了四個增強塊。壓縮單元的實現通過在每個增強塊後使用1×1卷積層來實現。重建部分是一個核大小爲17×1717\times17的反捲積層。

首先使用絕對值平均誤差損失對網絡進行訓練,然後利用均方誤差損失對網絡進行精細調整。訓練的圖像與[48]相同。輸入大小是26×2626\times26。使用Adam46]作爲優化器,初始學習速率爲1e-4,共10510^5次迭代。

3.7 Attention-based Networks

前面討論的網絡設計考慮所有空間位置和信道對於超分辨率問題有一致的重要性。在一些情況下,在給定的層中選擇性地處理部分特徵可能會更有幫助。基於注意力的模型[64],[65]允許這種特定選擇的靈活性,並認爲並不是所有的特性都是超分辨率所必需的,其重要程度不同。基於注意力的模型與深層網絡相結合,已經顯示出對SR的顯著改進。下面是使用注意機制的CNN模型。

3.7.1 SelNet

Choi和Kim[64]提出了一種新的用於圖像超分辨率網絡的選擇單元,稱爲SelNet。選擇單元充當卷積層之間的門,只允許通過從特徵圖中選定的值。該選擇單元由一個恆等映射和一個ReLU級聯、1×11\times1卷積和一個sigmoid層組成。SelNet總共有22個卷積層,在每個卷積層之後都有選擇單元。類似於VDSR[24],在SelNet[64]中也採用了殘差學習和梯度轉換(梯度裁剪的一種),以實現更快的學習。

從DIV2K數據集[45]中剪裁出大小爲120×120120\times120的低分辨率圖片作爲網絡輸入。學習率爲10110^{-1},共訓練50輪,使用l2l_2損失。

3.7.2 RCAN{\color{red}{RCAN}}

Residual Channel Attention Network (Rcan)[65]是最近提出的一種用於單圖像超分辨率的深度CNN結構。這種結構的主要亮點包括:(a)遞歸殘差設計,殘差連接在全局殘差網絡的每個塊內均存在,(B)每個局部殘差塊都有一個通道注意機制,使得濾波器激活從KaTeX parse error: Expected 'EOF', got '\timesw' at position 2: h\̲t̲i̲m̲e̲s̲w̲\timesc摺疊到一個KaTeX parse error: Expected 'EOF', got '\timesc' at position 9: 1\times1\̲t̲i̲m̲e̲s̲c̲維的向量(通過瓶頸後),這個向量作爲所有通道圖的選擇注意力。第一個亮點允許多條信息流從初始層傳到最終層。第二個貢獻是使網絡能夠專注於對最終任務更爲重要的有選擇性的特徵,並有效地對特徵圖之間的關係進行建模。

網絡訓練使用l1l_1損失函數。據觀察,遞歸殘差樣式的結構可以使非常深的網絡具有更好的收斂性。此外,與IRCNN[26]、VDSR[24]和RDN[56]等現代方法相比,它具有更好的性能。這展現了通道注意力機制[66]對於低水平視覺任務的高效性。儘管如此,該框架的一個缺點是與LapSRN[51]、MemNet[48]和VDSR[24]相比,它的計算複雜度較高(對於4×SR需要約1500萬個參數)。

3.7.3 SRRAM

A Residual Attention Module for SR (SRRAM) 。這項最近的工作[67]重點關注用於單圖像超分辨率的注意力塊。他們利用通用的SR結構來評估一系列注意力機制,以比較其性能和各自的優點/缺點、SRRAM[67]的結構類似於RCAN[65],這兩種方法都受到EDSR[37]的啓發。SRRAM可分爲特徵提取、特徵擴大和特徵重建三個部分。第一部分和最後一部分都類似於先前討論的方法[23],[28]。特徵擴大部分則是由殘差注意模塊(RAM)組成的。RAM是SRRAM的一個基本單元,它由殘差塊、空間注意力和信道注意力組成,用於學習信道間和信道內的依賴關係。

模型訓練的數據是從DIV2K數據集中隨機裁剪的圖像片,大小爲48×4848\times48,帶有數據增強。過濾器大小3×33\times3,feature map 64個.使用Adam優化器和l1l_1損失,初始學習率固定爲10410^{-4},最終模型使用了共計64個RAM塊。

3.8 Multiple-degradation handling networks

目前討論的超分辨率網絡(例如,[23],[24])考慮了雙三次退化。然而,在現實中這可能不是一種可行的假設,因爲可能同時發生多次退化。爲了處理這些真實世界的場景,本文提出了以下方法.

3.8.1 ZSSR

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章