【論文閱讀】Deep Learning for Image Super-resolution: A Survey(DL超分辨率最新綜述)

Deep Learning for Image Super-resolution: A Survey(DL超分辨率最新綜述)

博主最近看了一篇2019年最新的非常詳細的超分辨率領域DL方法的綜述,大大地贊!寫得非常好,文章工作整理地非常完善!所以想整理成文章發表,留作以後看,哈哈哈哈哈~~

Abstract

摘要部分:作者先講述了超分辨率(SR)問題的定義和狀況,圖像超分辨率(SR)是圖像處理的一個典型問題,用於增強圖像或者視頻的分辨率,屬於CV領域。目前深度學習在CV領域有很高的建樹,該文章就從頭梳理DL的超分辨率算法,研究者將圖像超分辨分成三種類型:監督SR,無監督SR,特定應用領域的SR。下面就問題定義,方法簡述,模型組件,分類,數據集等方面展開介紹。

Introduction

問題定義: 圖像超分辨率指的是從低分辨率圖像(LR)恢復成高分辨率圖像(HR )的過程。這個技術的應用領域非常廣泛,如醫學圖像,遙感圖像,加密等。縱覽所有的文獻,典型的SR方法有包括幾種:基於邊緣,基於預測,統計模型,基於塊還有稀疏表示等等。而基於深度學習的方法也有以下幾種區別:不同類型的網絡結構,不同類型的損失函數,不同類型的學習策略。
文章貢獻:

  • ‌給出一個基於深度學習的圖像超分辨技術概要性的回顧,包括問題設定,基準數據集,評價指標,SR方法,特定領域的應用等。
  • 提供一個系統性的縱覽,總結SR方法中每個組件的優點和侷限性; ‌討論了未來機遇和挑戰。

文章安排:

—圖1:展示圖像超分辨率的分類
—第二部分:給出問題的定義和回顧主流的數據集和評價指標
—第三部分:分析有監督的超分辨率主要部件
—第四部分:給出無監督超分辨率方法的簡要介紹
—第五部分:介紹主流的SR特定應用領域
—第六部分:討論未來的方向和開源問題

section 1:

結構框架概述
不得不說,這圖真的太讚了!清晰明瞭,這對於我這種剛接觸一個新領域的小白來說,一篇好的綜述能幫助好多,理清思路。在第一部分,我就根據表格的內容,簡單地做箇中文版。(有些專業術語不會翻譯,就不翻了,免得寫錯,哈哈哈英語水平有待提高)

1. 監督學習的超分辨率

  • 模型框架

     	1.提前上採樣
     	2.最後上採樣
     	3.漸近式上採樣
     	4.迭代交替式上下采樣
    
  • ‌上採樣方法

      1.基於傳統的插值方法
      	最近鄰
      	雙線性
      	雙三次方
      	其他
      2.基於學習的方法
      	反捲積
      	亞像素層
      	其他
    
  • 網絡設計

     	殘差學習
     	遞歸學習
     	多路徑學習
     	緊密連接
     	通道注意力機制
     	高級卷積
     	像素遞歸學習
     	金字塔池化
     	小波變換
    
  • 學習策略

     	1.損失函數
     		正則化
     		‌其他
     	2.curriculum learning ( 不好用中文表述)
     	3.多監督學習
    
  • 其他

     	上下文融合網絡
     	數據增強
     	多任務學習
     	網絡插值
     	self Ensemble
    
  • ‌評價指標

     	1.數據集
     	2.指標
     		客觀方法: PSNR,SSIM
     		主觀方法: MOS
     		基於任務評估
    

2. 無監督SR ‌ (該領域不是我所涉及的,在這不詳細介紹)

3. 特定領域應用 (粗略介紹)

Problem Definition

問題定義:其實上面也有大概描述了一下。準確來說,超分辨率的過程是將LR恢復成HR,通常,LR圖像IxI_x是經過我們本來擁有的高清圖IyI_y(叫ground truth)降質得到的,公式如下:
Ix=D(Iy;θI_x=D(I_y; {\theta})
這裏D是降質的過程,代表着一個下采樣函數,參數θ{\theta}代表採樣因子等。而一般情況下只採用一個函數就可用對高清圖進行降質了,有些情況也可以使用一個卷積層或模型來完成降質過程。
而超分辨率這個過程是,將降質後的低分辨率圖像IxI_x還原成高分辨圖像IyI_y',這裏用公式表述:
Iy=F(Ix;α)I_y'=F(I_x; {\alpha})

F代表着超分辨率模型,α{\alpha}代表F的參數。這裏重建後的圖像和原來的高清圖會有一些差別,因此在深度學習上,就用損失函數來衡量,以優化兩者的差別達到重建效果相近。
θ=argminθL(Iy,Iy)+λΦ(θ){\theta'} = arg min_{\theta}L(I_y, I_y') + {\lambda}{\Phi({\theta})}
後面的λΦ(θ){\lambda}{\Phi({\theta})}代表的是正則化項。

Datasets for SR

這裏列舉了超分辨率領域的一些常用公開的數據集,下面把鏈接貼上來。
(表格來源是Github上一位大佬的, 他的github地址貼上來:https://github.com/LoSealL/VideoSuperResolution

Model Published Code* VSR (TF)** VSR (Torch) Keywords Pretrained
SRCNN ECCV14 -, Keras Y Y Kaiming
RAISR arXiv - - - Google, Pixel 3
ESPCN CVPR16 -, Keras Y Y Real time
VDSR CVPR16 - Y Y Deep, Residual
DRCN CVPR16 - Y Y Recurrent
DRRN CVPR17 Caffe, PyTorch Y Y Recurrent
LapSRN CVPR17 Matlab Y - Huber loss
EDSR CVPR17 - Y Y NTIRE17 Champion
SRGAN CVPR17 - Y - 1st proposed GAN
VESPCN CVPR17 - Y Y VideoSR
MemNet ICCV17 Caffe Y -
SRDenseNet ICCV17 -, PyTorch Y - Dense
SPMC ICCV17 Tensorflow T Y VideoSR
DnCNN TIP17 Matlab Y Y Denoise
DCSCN arXiv Tensorflow Y -
IDN CVPR18 Caffe Y - Fast
RDN CVPR18 Torch Y - Deep, BI-BD-DN
SRMD CVPR18 Matlab T - Denoise/Deblur/SR
DBPN CVPR18 PyTorch Y Y NTIRE18 Champion
ZSSR CVPR18 Tensorflow - - Zero-shot
FRVSR CVPR18 PDF T Y VideoSR
DUF CVPR18 Tensorflow T - VideoSR
CARN ECCV18 PyTorch Y Y Fast
RCAN ECCV18 PyTorch Y Y Deep, BI-BD-DN
MSRN ECCV18 PyTorch Y Y
SRFeat ECCV18 Tensorflow Y Y GAN
NLRN NIPS18 Tensorflow T - Non-local, Recurrent
SRCliqueNet NIPS18 - - - Wavelet
FFDNet TIP18 Matlab Y Y Conditional denoise
CBDNet arXiv Matlab T - Blind-denoise
SOFVSR ACCV18 PyTorch - Y VideoSR
ESRGAN ECCVW18 PyTorch - Y 1st place PIRM 2018
TecoGAN arXiv Tensorflow - T VideoSR GAN
RBPN CVPR19 PyTorch - Y VideoSR

*The 1st repo is by paper author.

**Y: included(包括); -: not included(不包括); T: under-testing(測試不足).

Image Quality Assessment

圖像評估指標:有主觀方法和客觀方法,但是這兩種方法的側重點不一致,並不能很好地統一說明圖像質量優劣。主觀方法是人爲的,帶有主觀性!而常用的客觀方法有PSNR,MSE,SSIM。其中PSNR叫峯值信噪比,是計算ground truth(簡稱GT)和重建的HR之間像素級的差異;SSIM叫結構相似度,是計算GT和HR之間亮度通道的相似度。
PSNR的公式依賴於MSE(均方差)計算,給定GT爲II,重建的圖像爲II',公式如下:
MSE=1Ni=1N(I(i)I(i))2MSE=\dfrac{1}{N} \sum_{i=1}^N (I(i)-I'(i))^2
PSNR=10lg(L2MSE)PSNR=10*lg (\dfrac{L^2}{MSE})
一般我們的使用的圖像都是8位,L代表着0-255的最大值,即255。
SSIM公式就分開了三種,公式有點多,這裏貼出我之前寫的一篇文章作參考,https://blog.csdn.net/Resume_f/article/details/103339722,先把公式放上來,具體解釋就不展開了。
l(x,y)=2uxuy+c1ux2+uy2+c1l(x, y)= \dfrac{2u_xu_y+c_1}{u^2_x+u^2_y+c_1}
c(x,y)=2σxσy+c2σx2+σy2+c2c(x, y)= \dfrac{2\sigma_x\sigma_y+c_2}{\sigma^2_x+\sigma^2_y+c_2}
s(x,y)=2σxy+c3σxσy+c3s(x, y)= \dfrac{2\sigma_{xy}+c_3}{\sigma_x\sigma_y+c_3}
其中c3c_3一般取c22\dfrac{c_2}{2}uxu_x是x的均值,uyu_y是y的均值,σx2\sigma^2_x是x的方差,σy2\sigma^2_y是y的方差。σxy\sigma_{xy}爲x和y的協方差。c1=(k1L)2,c2=(k2L)2c_1=(k_1L)^2, c_2=(k_2L)^2爲兩個常數,避免除零。L爲像素值範圍,一般爲255。k1=0.01, k2=0.03爲默認值。還有其他指標,文章沒有具體描述…

Operating Channels

此外,我們一般使用的顏色通道有兩種:RGB和YCbCr。RGB代表紅綠藍,而Y, Cb, Cr 分別代表明亮度,藍色和紅色的濃度偏移量成份。目前的大多數超分辨率方法都是基於這兩種通道做的,但是並沒有實踐證明在哪種通道進行SR較好。最後文章有句非常重要的話:在不同的通道做評估,性能表現是非常不同(大概有4db的差別)

Supervised Super-Resolution

雖然基於深度學習的網絡有很多種,它們之間有很大的差別,但是它們本質上是一些組件的結合:模型框架(下采樣)處理,上採樣方式,網絡設計和學習策略。這種整合型的SR網絡模型是通過結合不同的部件,來達到某種特定的目的。下面就逐一對不同組件進行介紹!!!!

Super-resolutio Frameworks

採樣工作部分:上圖!!!

在這裏插入圖片描述

—(a)提前上採樣
直接將低維空間轉到高維空間,深度學習網絡只需要提取粗高分辨圖像,減少學習難度,也可以進行任意大小和採樣因子的圖像作爲輸入。缺點:放大噪聲,引入模糊,引入過多的空間和時間消耗。

—(b)最後上採樣
通過非線性卷積的特徵提取的過程,僅發生在低維空間(計算量非常大),分辨率增強的過程僅在網絡最後一層,這樣計算複雜度和空間複雜度能大大地降低,帶來更快地訓練速度和推理速度。

—©漸進式上採樣
通過將複雜任務解壓成簡單任務,模型不僅減少了學習的難度,而且還能處理多種採樣因子,沒有引入過多的時間和空間損失。

—(d)迭代交替上下采樣
能可以更好地挖掘LR和HR之間的深層關係,但是目前沒有back-projection使用標準的規範,這種模型結構是非常複雜,未能簡化。

Upsampling Methods

基於傳統的插值方法

最近鄰插值:
簡單直接的方法,選擇每個位置的相鄰像素位的值進行插值。方法快速,但容易產生低質量的塊狀結果。

雙線性插值:
線性插值分開兩個軸xy,先在圖像的一個軸進行線性插值,再重複操作在另一個軸上。儘管每一步都是線性的採樣,但是結果是二次的插值,表現比最近鄰插值好。

雙立方插值:
是執行三次二維插值,是目前主流的抗鋸齒方法,被廣泛運用在預採樣中。但是這種插值僅基於自身內容提升圖像分辨率,不會引入更多額外信息,也有一定的影響(計算量複雜,噪聲放大,結果模糊)

基於學習的方法

學習的插值方法
—Fig4-反捲積層:
通過插入零值來擴充圖像大小,進行卷積。這個層容易在每個軸上出現不均勻的重疊,多個軸之間相乘的結果出現棋盤效應,有損重建效果!

—Fig5-亞像素層:
通過生成複數倍的通道數再重新鋪成高分辨率圖像。輸入尺寸是hwch*w*c, 採樣因子是s,輸出尺寸是hwc2h*w*c^2,再重塑形狀(reshape即shuffle)成shswcsh*sw*c

對比反捲積層,亞像素層有更大的感知域,能提供更多上下文信息幫助生成更精確的細節,但是!!亞像素層的感知域的分佈是不均勻的,塊狀區域共享相同的感知域,會導致不同的塊邊界會出現僞影。

Network Design

殘差學習

  1. 殘差學習

—全局殘差學習:
避免了學習從完整圖像到另一個圖像的複雜轉換,而只需要學習殘差圖以恢復丟失的高頻細節。

—局部殘差學習:
減輕由於增加網絡深度和提高學習能力而產生的退化問題。
前者直接連接輸入和輸出圖像,後者增加多個shortcut在層與層之間。

  1. 遞歸學習:指的是多次應用相同的模塊。

----DPCN 使用單一卷積層作爲遞歸單元,感受野到達4141,一共16層遞歸。
----DRNN 使用殘差塊作爲遞歸單元,25層遞歸,比沒有遞歸的17個殘差塊效果好。
—MemNet 由六個遞歸殘差塊組成的記憶塊,每一個塊的輸出都連接一個1
1的卷積進行記憶和遺忘。
—CARN 採用同樣幾個相似的遞歸單元。
–DSRN 雙信號循環網絡,在HR狀態和LR狀態之間交換信號。
—Lai[69] (簡寫:姓名[引文號]) 不僅使用卷積層作爲遞歸層,而且應用特徵嵌入模塊,特徵上採樣模塊和圖像上採樣模塊作爲遞歸模塊,這些模塊的參數在子問題中都是權值共享的。

  1. 多路徑學習:分爲全局,局部和特定規格的多路徑學習

全局多路徑學習: 是指使用多個路徑去提取圖像不同方面的特徵,這些路徑可以相互交叉
,因此能提高特徵提取的能力。
—LspSRN: 它包括一個以粗略到精細的方式預測子代殘差的特徵提取路徑,以及一個基於所有路徑的信息流重建可見的HR圖像的圖像重建路徑。
—DSRN: 分別利用LR路徑和HR路徑去提取低維和高維空間的信息。
—像素遞歸超分辨率: 採用一個捕獲圖像的全局結構的可調節路徑和一個捕獲生成像素的序列依賴性的先驗路徑。
—Ren等人[99] 提出的有不平衡結構進行上採樣和在模型最後融合一起的多路徑。

局部多路徑學習:
—MSRN
採用一個針對多采樣因子的特徵提取,分成兩條路徑卷積,分別使用33和55大小的核同時進行特徵提取。最後將輸出concate,送入1*1的卷積操作中得到最後的結果。這樣的多路徑學習,能更好地從不同採樣因子中提取圖像的特徵,進一步提升效果。

特定規格的多路徑學習:
—Lim等人[33]: 提出特定規格的多路徑學習策略,應對了多采樣因子的SR問題,這種模型是共享模型關鍵部分和在網絡的開頭和結尾處連接特定規模的預處理路徑和上採樣路徑。
—MDSR: 展示了單一採樣因子模型的不同表現效果。
–CARN和ProSR: 同樣採用了相同特定規格的多路徑學習。

  1. 緊密連續

—DenseNet:
對於每一個緊密塊,先前所有圖層的特徵圖均作爲輸入,而其自身的特徵圖用作後續所有圖層的輸入。這種緊密連接不僅幫助緩解梯度消失,增強信號傳遞,鼓勵特徵重用,而且大大減少了參數數量和concate之後消除了1維channel。

—Tong等人[79]:
提出了69層SRDenseNet,不僅採用了緊密塊連接不同的塊,對於每一個緊密塊,先前所有圖層的特徵圖均作爲輸入,而其自身的特徵圖用作後續所有圖層的輸入。

  1. 通道注意力機制

—squeeze-and-excitation:
使用全局平均池化將每個輸入的通道都壓縮成一個descriptor’(常量),然後將它們饋送到兩個全連接層中產生按通道縮放的因子。通過使用按通道乘法的比例因子對輸入通道進行重新縮放來獲得最終輸出。

  1. 高級卷積

—膨脹卷積: 是指在圖像超分辨率中根據上下文語境信息促進生成真實細節。
—組卷積: 能減少大量參數。

  1. 像素遞歸學習:大多數SR模型把SR當作一個獨立於像素的任務,無法獲取生成像素之間的相互依賴性

—Dahl等人[68] 首次提出像素遞歸學習,通過使用兩個網絡來捕獲全局上下文信息和序列生成依賴關係來執行逐像素生成。
----attention-FH: 通過求助於週期性策略網絡來有序地發現參與的補丁並執行本地增強。
雖然這些方法都有很好的表現效果,但是遞歸過程需要很長的傳播路徑,這極大地增加了計算開銷,訓練難度。

  1. 金字塔池化

----Zhao等人[112]: 提出金字塔池化模塊,更好地利用全局和局部上下文信息。hwc尺寸的特徵圖被分離成MM的塊,通過全局平均池化,產生MMc的輸出,最後經11卷積壓縮成1維通道,並將低維特徵圖通過雙線性插值上採樣成原始圖像大小。使用不同的M,模塊可以整合全局和局部的上下文信息。

  1. 小波變換:將圖像信號分解爲表示紋理細節的高頻小波和包含全局拓撲信息的低頻小波

—Bae等人[116] 首次結合小波變換到深度學習網絡中,以經插值的LR小波作爲輸出,預測對應的HR殘差。WT和逆WT分別作爲分解LR輸入和重建HR輸出。
—DWSR[117]和Wavelet-SRNet[118] 應用小波域在更復雜的結構中。
—MWCNN[119] 採用多水平WT和將子代concate一起作爲輸入送入一個單CNN網絡捕獲他們之間的依賴性。

Learning Strategies

Loss Function

在超分辨率領域,損失函數被用於衡量生成的HR和GT之間的差異,以引導模型進一步優化生成的HR。在早期,研究者應用像素級的L2損失,但後來被發現這個損失不能準確地測量重建圖像的質量。後來就衍生了很多類型的損失函數,如content loss(內容損失),adversarial loss(對抗損失)等等。

Pixel loss

像素級損失是測量兩張圖像之間逐個像素差異。主要包括L1和L2。
對比L1正則化,L2正則化懲罰了較大的錯誤,寬容了小錯誤。但實際上,L1顯示出比L2更高的性能和收斂性。
Lpixel1(I,I)=1hwci,j,kIi,j,kIi,j,kL_{pixel_1}(I', I)=\dfrac{1}{hwc}\sum_{i,j,k} |I_{i,j,k}-I'_{i,j,k}|
Lpixel2(I,I)=1hwci,j,kIi,j,kIi,j,k2L_{pixel_2}(I', I)=\dfrac{1}{hwc}\sum_{i,j,k} |I_{i,j,k}-I'_{i,j,k}|^2
h,w,ch,w,c 是圖像的高,寬,通道數。
由於PSNR是比較逐像素之間的差別,所以這種逐像素損失被應用起來。但是像素級損失不能考慮圖像質量(感知質量、紋理),因此這經常缺乏高頻信息和由於過度平滑的紋理產生感官上的不滿意。

Content loss

內容損失:基於感知質量來評估圖像質量。可以測量使用了預訓練圖像分類模型的圖像之間語義差別,內容損失表示兩幅圖像之間的歐幾里得距離。
Lcontent(I,I;ϕ,l)=1hlwlcli,j,k(ϕi,j,k(l)(I)ϕi,j,k(l)(I))2L_{content}(I', I; \phi, l)=\dfrac{1}{h_lw_lc_l}\sqrt{ \sum_{i,j,k} (\phi^{(l)}_{i,j,k}(I')-\phi^{(l)}_{i,j,k}(I))^2}
hl,wl,clh_l,w_l,c_l 是第ll層提取出來的特徵圖的高,寬,通道數。
對比逐像素損失,內容損失促進輸出在感知上和目標圖像相似,而不是強制性要求像素匹配精準。VGG,ResNet都是使用這個預訓練CNN。

Texture loss

因爲重建的圖像應該和目標圖像有相同的風格(顏色,紋理,對比度)。所以,圖像的紋理被視爲不同特徵通道之間的相關性,並定義爲Gram矩陣GijG_{ij},其中GijG_{ij}是第L層上矢量化特徵圖iijj之間的內積。
Gij(l)(I)=vec(ϕi(l)(I))vec(ϕj(l)(I))G^{(l)}_{ij}(I)=vec(\phi^{(l)}_{i}(I))*vec(\phi^{(l)}_{j}(I))
vec()vec()代表一個向量操作。因此紋理損失的公式如下:
Ltexture(I,I;ϕ,l)=1cl2i,j(Gi,j(l)(I)Gi,j(l)(I))2L_{texture}(I', I; \phi, l)=\dfrac{1}{c^2_l}\sqrt{ \sum_{i,j} (G^{(l)}_{i,j}(I')-G^{(l)}_{i,j}(I))^2}
影響紋理效果的與patch大小有很大關係,而確定其大小以匹配紋理目前仍靠經驗。太小的patch導致紋理區域有僞影,太大的patch會導致整個圖像都有僞影,因爲紋理統計量是在不同紋理的區域上取平均。

Adversarial Loss

在超分辨率中,對抗訓練一個前向過程,只需要把SR模型作爲一個生成器,再額外定義一個判別器去判斷輸入圖像是否是生成的。

—Ledig等人[27]
首次提出SRGAN使用基於交叉熵的對抗損失。公式如下:
Lgan_ce_g(I;D)=logD(I),L_{gan\_ce\_g}(I'; D) = -logD(I') ,
Lgan_ce_d(I,Is;D)=logD(Is)log(1D(I)),L_{gan\_ce\_d}(I', I_s; D) = -logD(I_s)-log(1-D(I')) ,
其中Lgan_ce_gL_{gan\_ce\_g}Lgan_ce_dL_{gan\_ce\_d}分別代表了對抗訓練中的生成器和判別器。IsI_s 代表從GT圖像中隨機採樣的數據。
—Wang等人[34]和Yuan等人[126]
使用基於最小平方差的對抗損失,公式如下:
Lgan_ls_g(I;D)=(D(I)1)2L_{gan\_ls\_g}(I'; D) = (D(I')-1)^2
Lgan_ls_d(I,Is;D)=(D(I)2)+(D(Is)1)2L_{gan\_ls\_d}(I', I_s; D) = (D(I')^2)+(D(I_s)-1)^2

—Bulat等人[128]
採用鉸鏈格式的對抗損失,公式如下:
Lgan_hi_g(I;D)=D(I)L_{gan\_hi\_g}(I'; D) = -D(I')
Lgan_hi_d(I,Is;D)=min(0,D(I)1)+min(0,D(Is)1)L_{gan\_hi\_d}(I', I_s; D) = min(0,D(I')-1)+min(0, -D(I_s)-1)

與上述的研究對比,他們都集中在特定形式的對抗損失。
—Park等人[130]
討論了像素水平的判別器會導致生成器生成無意義的高頻噪聲(不能被像素損失所學習),而連接附加的特徵級別的判別器,以對由預訓練的CNN提取的高級表現進行操作,以捕獲實際HR圖像的更有意義的潛在屬性。
—Xu等人[67]
多類GAN包括一個單一生成器和特定類別的判別器。
—ESRGCN[101]
應用相對論的GAN去預測真實圖像比僞圖像相對真實的概率,而不是預測輸入圖像是真實的還是生成的。

MOS測試表明,用對抗損失和內容損失訓練的SR模型相對於那些像素損失的訓練有較低的PSNR值。因爲對抗損失帶來更多的感知質量。
事實上,判別器提取實際HR圖像的一些難以學習的潛在模式,並推動生成的HR圖像以使其符合。然而,目前GAN的訓練過程仍然很複雜和不穩定。如何確保將GAN集成到SR模型中,以便正確地訓練模型併發揮積極作用仍然是一個問題。

Cycle Consistentcy loss

週期一致性損失:週期指的是不僅是LR圖像到HR圖像,也是通過CNN將HR下采樣回LR‘圖像。損失是指約束LR’ 和LR之間的像素水平一致性。其公式如下:
Lcycle(I,I)=1hwci,j,k(Ii,j,kIi,j,k)2L_{cycle}(I', I)=\dfrac{1}{hwc} \sqrt{ \sum_{i,j,k} (I'_{i,j,k}-I_{i,j,k})^2}

Total Variation loss

總變化損失:最早是被Aly等人[136]引入到SR領域。它定義爲相鄰像素之間的絕對差之和,並衡量圖像中有多少噪聲。Lai等人[27]和Yuan等人[126]也應用這種損失來提升空間平滑度。其公式如下:
LTV(I)=1hwci,j,k(Ii,j+1,kIi,j,k)2+(Ii+1,j,kIi,j,k)2L_{TV}(I')=\dfrac{1}{hwc} \sum_{i,j,k}\sqrt{(I'_{i,j+1,k}-I'_{i,j,k})^2+(I'_{i+1,j,k}-I'_{i,j,k})^2}

Prior-Based loss

基於先驗知識的損失:
—Bulat等人[32] 關注人臉SR,引入FAN約束從原始圖像和生成圖像中檢測到的臉部標誌的一致性。FAN是被預訓練和集成,可提供人臉對齊的知識。
作者提出,實際上很多研究者通常通過權重平均來結合多個損失函數。然而,確定不同損失函數的權重需要大量的經驗,目前怎樣有效和合理地結合這些損失函數仍然是一個問題。

Batch Normalization

正則化:
—Sergey等人[140] 爲了加快訓練速度,減少網絡內部協變量移位。他們對每個小batch使用正則化,對每個channel訓練額外的轉換參數保留表現能力。因爲BN能校準中間的特徵分佈和減輕梯度消失問題,這允許我們使用較大的學習率和隨意的初始化。
----Lim等人[33] 爭論了BN會丟失圖像的尺寸信息,除掉了網絡大小的靈活性。他們去掉了BN層,內存減少了40%,提高了表現。

Curriculum learning

curriculum學習:指的是從簡單的子任務開始,逐漸增加任務難度。

----Wang等人[34]和Bei等人[144] 提出了ProSR和ADRSR,訓練從2倍的上採樣部分開始,在完成當前部分的訓練之後,逐漸開始具有4倍或更大比例因子的部分,並與之前的部分融合。

—Park等人[113] 將8倍SR問題分解成3個子問題(1x-2x, 2x-4x, 4x-8x) ,分別訓練每個問題單獨的網絡,然後兩兩concate和微調結合。而在困難情況下4倍SR也可以被分解成3個子問題(去噪聲/去模糊,1x-2x, 2x-4x)最後採用同樣的訓練策略。

對比整個訓練過程,curriculum學習策略能大大地減少訓練難度,提高任意採樣因子的表現(特別大的scale),也有效縮短總的訓練時間。

Multi-supervision

多監督:指的是增加多個額外的監督信號在模型內部,用於增強梯度傳播和避免梯度消失。

—DRCN[80] 它結合了對遞歸單元的多重監督,對每個遞歸單元的輸出饋送進一個重建模塊以生成一個HR圖像,使用權值平均所有中間HR圖像來建立最終的預測。
—MemNet[59]和DSRN[83] 也使用了。
—[69] 在漸進式上採樣框架中,在前向傳播過程裏生成不同尺寸的中間上採樣結果,這是一種直接前嚮應用多監督的方式。

在實際應用中,多監督技術經常通過在損失函數中增加一些項來實現,因此多監督信號能有效地反向傳播,增強模型的訓練。

Other Improvements

Context-wise Network Fusion

文本內容網絡融合:指的是融合來自多個SR網絡的預測的堆疊技術。特指多路徑學習。具體地說,他們分別訓練不同網絡結構的單獨的SR模型,將每個模型的預測輸入到單獨的卷積層中,最後相加所有的輸出作爲最後的預測結果。

Data Augmentation

數據增強的操作有裁剪crop,翻轉flip,縮放sacle,旋轉rotate,顏色抖動jitter等。
—Bei等人[144] 隨意打亂RGB通道,不僅增強數據,而且減輕由數據色彩不平衡帶來的顏色偏差問題。

Multi-task learning

多任務學習:
指的是通過使用包含相關任務的訓練信號的特定領域信息來提高泛化能力。

----Wang等人[48] 包含了預訓練的語義分割網絡來提供語義的知識,這能產生特定語義的細節。具體來說,他們引入了一個空間特徵轉換層,將語義圖作爲輸入和輸出一個逐空間參數的仿射變換。
—SFT-GAN能生成具有語義區域的圖像上逼真的逼真紋理。
----DNSR[144] 提出訓練一個降噪網絡和一個SR網絡,然後concate和微調。
----CinC-GAN[126] 結合週期降噪框架和週期SR模型,共同完成降噪和超分辨率工作

Network Interpolation

網絡插值:

—基於PSNR的模型 生成的圖像傾向於和ground truth接近,但是引入了噪聲和模糊。
—基於GAN模型 帶來更好的感知質量,但是有不滿意的僞影(無意義的噪聲)。爲了平衡視覺質量和圖像保真度,—Wang等人[101] 提出網絡插值策略,他們分別訓練一個基於PSNR網絡和一個基於GAN網絡,通過微調,然後插值所有的相對應的參數派生出一箇中間模型。通過微調插值權重,沒有重新訓練網絡,網絡表現有更好的結果,沒有太多僞影。

Self-Ensemble

self ensemble:是一種inference技術。旋轉(0°,90°,180°,270°)和翻轉(上下左右)應用於LR圖像以獲得一組8個LR圖像。 這些圖像被輸入到SR模型中,並將相應的逆變換應用於重建的HR圖像以獲得輸出。 最終的預測結果是通過這些輸出的平均值或中位數來進行的。

Domain-Specific Application

在特定領域部分,有深度圖的SR,高光譜的SR,人臉識別還有視頻,由於個人只研究視頻領域,所以這裏主要介紹視頻領域的SR。

Video Super Resolution(VSR)

在視頻超分辨率中,多幀提供更多場景信息,不僅在幀間空間依賴而且幀間時間依賴(運動,明亮度和顏色變換)。目前的工作主要關注在更好地利用時空依賴,包括顯式運動補償(光流算法,基於學習的方法)和循環方法。

大部分方法基於光流算法:
—Liao等人[182] 應用多種光流算法去生成候選的HR,並通過CNN合併他們
----VSRnet[183]和CVSRnet[184] 通過Druleas 算法實現了運動補償,和使用CNN來連接幀作爲輸入,預測HR幀。
----Liu等人[186][187] 使用整流光流對齊,提出一個時間適應網絡在各種時間規格去生成HR幀併合並他們。

還有直接嘗試學習運動補償:
----VESPCN[188] 利用一個可訓練的空間變換器去學習基於鄰幀的運動補償,將多幀送入時空ESPCN進行端對端的預測

—Tao等人[189] 他從精確的LR成像模型出發,提出了一個像子像素一樣的模塊,以同時實現運動補償和超分辨率,從而更有效地融合對齊的幀。

另外一種就是使用循環方法捕獲時空相關性,沒有顯式運動補償:
—BRCN[190]191] 應用一個雙向框架,使用CNN,RNN和有條件的CNN去分別建模時間,空間和時空相關性。

—STCN[192] 使用一個深度CNN和雙向LSTM去提取時空信息

—FRVSR[194] 它使用先前推斷的HR估計值,以遞歸方式通過兩個深層CNN重建後續的HR幀。

—FAST[195] 利用壓縮算法提取的結構和像素相關性的緊湊描述,將SR結果從一幀傳輸到相鄰幀,並以15倍的速度將最新的SR算法加速,而性能損失很小。

—Jo等人[196] 產生靜態的上採樣核和基於每個像素的局部時空領域的HR殘差圖,也避免了顯式運動補償。

Conclusion

近幾年,基於深度學習的圖像超分辨率已經有大的突破成就。在文章最後,作者對目前存在的問題以及改進點做了一個概述。

Network Design

好的網絡設計不僅可以確定具有較高性能上限的假設空間,而且還可以有效地學習數據表示而不會產生過多的時間和計算冗餘。下面就介紹一些有關網絡設計的可改進的地方。

  • 結合局部和全局信息:
    大的感知域能提供更多的上下文信息,幫助產生更真實的HR圖像。這對於超分辨率是很有希望的方法,通過結合局部和全局信息來提供不同scale的上下文信息。
  • 結合淺層和深層信息:
    淺層只能提取低水平的特徵,如顏色和邊緣;深層提取高水平表現,如對象標識。因此結合低水平細節和高水平抽象語義對HR重建非常有幫助。
  • 特定語境注意力:
    不同的語境關注的信息不同。對於草區域更多關注顏色和紋理,而動物身體區域則關注頭髮細節。因此結合注意力機制去開發語境信息,能增強關鍵特徵的注意力,提升真實細節的生成。
  • 輕量化結構:
    目前的SR模型都追求最終的表現,而忽略了模型大小和推理速度。如此長時間的預測是不被接受的,因此輕量化結構勢在必行。如何減少模型大小和加快預測速度的同時保持表現,仍是個問題。
  • 上採樣層:
    在SR中,上採樣操作扮演一個非常重要的角色。目前存在的方法或多或少有缺點:基於插值的方法–導致高成本的計算和不能端到端學習;反捲積—產生棋盤效應的僞影;亞像素層–帶來感受野不均勻的分佈。如何提高效率和有效上採樣仍然需要研究,特別是大采樣因子。

Learning strategies

  • 損失函數:
    現有的損失函數可被視爲在LR / HR / SR圖像之間建立約束,並基於是否滿足這些約束來指導優化。實際上,這些損失函數通常是結合權重的,最好的損失函數仍然不清晰,因此最有前途的方向之一是探索這些圖像之間的潛在相關性,並尋求更準確的損失函數。
  • 正則化:
    雖然BN被廣泛應用在視覺任務,這能大大加快訓練和提升表現,被證明是超分辨率的次優化項。因此,其他有效的正則化技術需要被研究。
Evaluation Metrics
  • 更準確的指標:
    被廣泛應用在SR領域的指標是PSNR和SSIM。PSNR—趨向於結果過度平滑,如果在難以區分的圖像中結果會變化很大。SSIM----在一定程度上是明亮度,對比度和結構的評估,但是仍不能準確地測量圖像的感知質量。MOS—最接近人類的視覺響應,但是需要大量的人力和精力,並且是不可複製的。
  • 盲IQA方法:
    目前,大多數指標是全參考方法,假設我們已將LR-HR圖像與完美質量配對,但因爲不能獲取這樣的數據集,常用作評估的數據集通常是通過人工降質得到的。
    在這樣的情況下,我們執行評估的任務實際上是預定義降質的逆過程。因此發展盲IQA方法是很有必要的。

以上內容總結了整篇綜述重要描述的部分,終於完結了!!!好開心,今天可以放假啦啦啦啦!看在寫了那麼多字的份上,球球各位路過的小姐姐小哥哥點個贊,激勵我以後出有質量的文章。最後不忘附上原文地址和作者的GitHub!
https://arxiv.org/abs/1902.06068
https://github.com/LoSealL/VideoSuperResolution
本博文是原創,轉載需要註明出處噢,謝謝

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