今天給大家介紹一篇圖像超分辨率鄰域的綜述,這篇綜述總結了圖像超分辨率領域的幾方面:problem settings、數據集、performance metrics、SR方法、特定領域應用以結構組件形式,同時,總結超分方法的優點與限制。討論了存在的問題和挑戰,以及未來的趨勢和發展方向。
1.前言
超分辨率(Super Resolution,SR)是從給定的低分辨率(LR)圖像中恢復高分辨率(HR)圖像的過程,是計算機視覺的一個經典應用。SR是指通過軟件或硬件的方法,從觀測到的低分辨率圖像重建出相應的高分辨率圖像(說白了就是提高分辨率),在監控設備、衛星圖像遙感、數字高清、顯微成像、視頻編碼通信、視頻復原和醫學影像等領域都有重要的應用價值。
近年來,目睹了使用深度學習技術的圖像超分辨率的顯著進步。文中將現有的使用深度學習方法解決圖像超分辨率問題的研究工作主要分成三個部分:
1.supervised SR(有監督學習的圖像超分辨率)
2.unsupervised SR(無監督學習的圖像超分辨率)
3.domain-specific SR (特定應用領域的圖像超分辨率)
2.超分辨率SR問題定義
其中,Φ(θ)是正則化項,SR最常見的損失函數為逐像素差的均方誤差,更強大的模型往往采用將多種損失函數相結合的方式。
3.數據集
一些數據集提供HR-LR圖像對,有的只提供HR圖像,LR圖像通常是通過MATLAB中默認設置的imresize函數(雙三次插值with anti-aliasing)獲得。下表是一些SR常用數據集:
4.圖像質量評估
如何定量地評估模型的性能?許多圖像質量評估(IQA)技術(或度量)用于相同的目的。這些指標可以大致分為兩類——主觀指標和客觀指標。
峰值信噪比 PSNR
峰值信噪比(PSNR)是一種常用的客觀指標,通常用來衡量有損變換的圖像質量。對于SR,通過圖片間的最大可能像素值L和均方誤差MSE定義,PSNR與ground truth圖像與生成圖像的均方誤差(MSE)的對數成反比。假設HR圖像I和重建圖像 ? I,兩者的像素都是N,MSE和PNSR(db)如下所示:
在上面的公式中,8bit表示一個像素點的取值,取值范圍為0~255,L是可能的最大像素值(對于8位RGB圖像,它是255),PSNR的典型值從20到40不等,越高越好。從式子可以看出,L一定,PNSR只與像素間的MSE有關,所以,PSNR只關心像素值之間的差異,它并不能很好地代表感知質量。PSNR在真實場景的SR衡量效果較差,但由于缺乏感知衡量標準,運用最為廣泛。
結構相似度 SSIM
Operating Channels
除了RGB,YCbCr顏色空間也被廣泛使用。Y, Cb, Cr 分別表示亮度、藍差、紅差色度分量。早期的模型更傾向于在Y通道上進行操作,最近的模型更多的處理RGB顏色通道。在不同的顏色空間或者通道上操作會使評估的性能造成很大的不同。
其他的IQA分數
平均意見評分(MOS)
基于任務的評價
信息保真度準則(IFC)
視覺信息保真度(VIF)
5.監督式SR方法
深度學習可以用給定的低分辨率圖像來估計高分辨率圖像。通過使用高分辨率圖像作為目標(或 ground-truth)和LR圖像作為輸入,我們可以將其視為監督學習問題。監督式SR方法是同時使用LR和相應的HR圖像進行訓練。
監督式SR方法框架
通過上采樣模塊在模型中的位置,可以將這些模型分為四個框架。
1、前置上采樣SR
該方法首先對低分辨率圖像進行插值,得到“粗”的高分辨率圖像。
直接從LR圖像學習HR圖像存在一定難度,利用傳統方法(雙三次插值)上采樣,在通過神經網絡優化重建高質量的細節,是一種直接的解決方案。SRCNN學習經過插值處理的LR圖像到HR圖像之間的映射。
優點:通過傳統算法進行上采樣,神經網絡只需要對粗HR圖像進行精細化處理,大大降低了學習難度。可以將任意大小的插值處理后的圖像作為輸入,效果與單尺度模型相當。
預先上采樣方法的副作用:噪聲放大、模糊、在高維空間計算造成的時間和空間成本大。由于這里沒有使用轉置卷積,checkerboard artifacts可能會被繞過。
2、后置上采樣SR
在這種情況下,低分辨率圖像被傳遞到CNNs。上采樣在最后一層使用可學習層來執行。將上采樣操作移至網絡末端,在低維空間中學習映射。
該方法的優點是在較低維空間(上采樣前)進行特征提取,從而降低了計算復雜度。此外,通過使用一個可學習的上采樣層,可以對模型進行端到端的訓練。分辨率提升只在網絡后端發生,計算復雜度大大提升。上采樣只在一個步驟中進行,學習大的上采樣因子的難度很大。每個尺度都需要單獨的SR模型,無法滿足多尺度SR的需要。
3、逐步上采樣SR
在上面的組中,雖然計算復雜度降低了,但是只使用了一個上采樣卷積。這使得大尺度縮放的學習過程更加困難。為了解決這個缺陷,Laplacian Pyramid SR Network和progressive SR采用了漸進上采樣的框架。在這種情況下,模型使用級聯神經網絡在較小的尺度上每一步逐步重建高分辨率的圖像。
通過將一個困難的任務分解成更簡單的任務,可以大大降低學習難度,獲得更好的性能。此外,像curriculum learning這樣的學習策略可以進一步降低學習難度,提高最終的performance。lapSRN 采用漸進式SR框架解決了Post-upsampling SR框架無法滿足的多尺度問題。采用連續的神經網絡結構,逐步重建高分辨率圖片。MS-LapSRN和progressive SR也采用了這個框架。但存在模型復雜、訓練難度大的問題。
4、迭代上下采樣SR
另一種流行的模型架構是hourglass(或U-Net)結構。有些變體,如Stacked Hourglass網絡使用幾個連續的hourglass結構,有效地在上采樣和下采樣過程之間交替。
該框架下的模型能夠更好地挖掘出低分辨率圖像和高分辨率圖像對之間的深層關系,從而提供更高質量的重建結果。為了探究LR-HR圖像對之間的關系,將一種有效的迭代過程——反向投影引入到SR中,迭代的上采樣-下采樣操作,迭代的應用反向投影精細化圖像。計算重建誤差,再將其融合回來調整HR圖像的強度。DBPN采用這種結構,將一系列中間HR結果聯系起來重構成最后的HR結果。
6.上采樣方法
除了模型中的上采樣位置外,如何執行上采樣也非常重要。盡管存在多種傳統的上采樣方法,但利用CNN來學習端到端的上采樣已逐漸成為一種趨勢。在本節中,我們將介紹一些傳統的基于插值的算法和基于深度學習的上采樣方法。
上采樣方法有:
1、最近鄰插值和雙線性插值
最近鄰插值:每個待插值的位置選擇最相鄰的像素值,而不考慮其他像素,處理速度快,生成圖片質量低、塊狀化。
雙線性插值:每次在一個軸上進行,然后在另一個軸上再次進行。保持速度較快的同時,性能比最近鄰插值好得多。感受野為2*2雙三次插值同樣,雙三次插值對圖像的兩個維度進行三次插值,需要4x4的像素進行計算,計算速度慢,效果更平滑。anti-aliasing的雙三次插值是目前構造SR數據集的主流方法。
基于插值的上采樣方法只能通過圖像的本身內容提高圖像的分辨率,并沒有帶來更多信息,相反還有噪聲放大、計算復雜度增加、結果模糊等副作用。
2、轉置卷積
通過插入零值,進行卷積來提高圖像的分辨率。由于轉置卷積在保持與卷積兼容的連接模式的同時以端到端的方式放大了圖像大小,因此它被廣泛用作SR模型的上采樣層。
然而,該層很容易在每個軸上引起“不均勻重疊”,并且兩個軸上的相乘結果進一步創建了大小變化的棋盤狀圖案,從而損害了SR性能。
3、亞像素層
與轉置卷積層相比,亞像素層具有更大的感受野,它提供了更多的上下文信息以幫助生成更多逼真的細節。然而,由于感受野的分布是不均勻的,并且塊狀區域實際上共享相同的感受野,因此可能會導致在不同塊的邊界附近出現一些偽影。另一方面,獨立預測塊狀區域中的相鄰像素可能會導致輸出不平滑。
4、Meta upscale module
以前的方法需要預先定義縮放因子,即針對不同的因子訓練不同的上采樣模塊,效率低下,而且不符合實際需求。Meta upscale 模塊基于元學習解決任意比例因子的SR。具體來說,對于HR圖像上的每個目標位置,此模塊將其投影到LR特征圖上的一個小塊(即k ×k×cin),根據密集層的投影偏移和縮放因子預測卷積權重(即,k×k×cin×cout)并執行卷積。
這樣,Meta upscale module可以通過單個模型以任意因子連續放大它。并且由于大量的訓練數據(同時訓練多個因素),該模塊在固定因素上可以表現出相當甚至更好的性能。但是,該方法基于與圖像內容無關的多個值來預測每個目標像素的大量卷積權重,因此當面對較大放大倍數時,預測結果可能不穩定且效率較低。
7.常用網絡結構設計
除了經典的2D卷積,網絡中還可以使用一些有趣的變體來改進結果。Dilated卷積可以提供更有效的感受野,因此可以使用長距離依賴的信息。Skip connections、Spatial Pyramid Pooling和Dense Blocks推動了低級特征和高級特征的結合,以提高性能。
1、Residual Learning
全局殘差學習:由于輸入與輸出圖像高度相關,研究者嘗試只學習兩幅圖像的殘差,只需要學習一個殘差映射恢復丟失的高頻細節,大大降低了模型的復雜度和難度。
局部殘差學習:用于緩解網絡不斷加深造成的梯度消失、爆炸的問題,增強網絡的學習能力。
由跳躍連接和逐像素加法進行計算,前者連接輸入與輸出,后者在不同網絡層之間進行連接。
2、Recursive Learning
為了實現更大的感受野和進行更高層次的特征學習并且避免更多的參數,將遞歸引入模型。16個循環的DRCN采用單卷積層遞歸,感受野達到41×41,遠大于SRCNN的13×13,并且沒有過多參數。
DRRN將殘差塊作為遞歸單元進行25次遞歸,性能優于17個殘差塊的非遞歸基線。
后來Tai等人提出了基于記憶塊的MemNet,記憶塊由6個遞歸殘塊組成,每個遞歸的輸出連接起來,再經過一個額外的1×1卷積進行記憶和遺忘。CARN也采用了包含多個殘差塊的遞歸單元。
Han等提出了雙狀態遞歸網絡(dual-state network, DSRN)來交換HR狀態和LR狀態之間的信號。在每個時間步,它們根據當前LR狀態和HR狀態更新LR狀態,然后將其傳輸到HR狀態進行更新。通過雙態遞歸學習(最多7次遞歸),更好地探索了LR-HR圖像對之間的深層關系。而Lai不僅將卷積層作為遞歸層,還將特征嵌入模塊、特征上采樣模塊和圖像上采樣模塊作為遞歸模塊,對每個子問題共享參數。
遞歸學習使得參數的數量大大減少,但帶來了梯度消失和梯度爆炸的問題。因此通常將殘差學習和遞歸學習結合來緩解這些問題。
3、Multi-path Learning
多路徑學習是指通過模型的多個路徑傳遞特性,這些路徑執行不同的操作,以提供更好的建模能力。具體來說,它可以分為三種類型:
Global Multi-path Learning:全局多路徑學習是指利用多個路徑提取圖像不同方面的特征。這些路徑在傳播過程中可以相互交叉,從而大大提高了特征提取的能力。
LapSRN包含一種從粗到細預測子帶殘差的特征提取路徑,以及一種基于兩種路徑信息重構可見HR圖像的圖像重建路徑。
同樣,DSRN利用LR路徑和HR路徑分別在低維空間和高維空間中提取信息。這兩條路徑不斷交換信息,進一步提高學習能力。
Local Multi-path Learning:MSRN采用了一種新的多尺度特征提取塊,如上圖所示,在該塊中,采用核大小為3×3和5×5的兩個卷積運算同時提取特征,然后將輸出串接起來,再次進行相同的運算,最后再進行一個額外的1×1卷積。,最后再進行一個額外的1×1卷積。跳躍連接通過elementwise加法連接此塊的輸出和輸入。通過這種局部多路徑學習,SR模型可以更好地從多個尺度提取圖像特征,進一步提高性能。
Scale-speci?c Multi-path Learning:不同尺度要經歷相同的特征提取過程,提出這種結構,來處理單一網絡下的多尺度SR問題。
具體來說,它們共享模型的主要部分,并在網絡的開始端和結束端分別附加特定尺度的預處理路徑和上采樣路徑。在訓練期間,只啟用與所選比例相對應的路徑。通過這種方式,大多數參數可以在不同的尺度上共享。
4、Dense Connections
5、Channel Attention
6、Advanced Convolution
Dilated Convolution. 空洞卷積,增大感受野,有助于生成逼真的細節
Group Convolution:群卷積。一些工作已經證明,群卷積可以在性能不高的情況下減少大量的參數和運算,而CARN-M在性能損失很小的情況下將參數數量減少了5倍,運算減少了4倍。
7、Pixel Recursive Learning
大多數SR模型將SR看作是一個像素獨立的任務,因此不能合理地獲取生成像素之間的相互依賴關系。
受PixelCNN的啟發,Dahl等首先提出像素遞歸學習,利用兩個網絡分別捕獲全局上下文信息和序列生成依賴關系,逐像素生成。雖然這些方法在一定程度上表現出了較好的性能,但是需要較長的傳播路徑的遞歸過程大大增加了計算成本和訓練難度,特別是對于超分辨率HR圖像。
8、Pyramid Pooling
受空間金字塔池層的激勵,提出了金字塔池模塊,以更好地利用全局和局部上下文信息。
9、Wavelet Transformation
10、Desubpixel
11、xUnit
8.常用損失函數
利用損失函數來測量生成的高分辨率圖像與ground truth高分辨率圖像之間的差異。然后用這個差(誤差)來優化監督學習模型。存在幾種類型的損失函數,每一種函數都對生成的圖像的不同方面進行懲罰。
通常,通過對每個損失函數的誤差分別加權和求和,可以使用多個損失函數。這使得模型能夠同時關注多個損失函數所貢獻的方面。
total/_loss = weight/_1 * loss/_1 + weight/_ 2 * loss/_2 + weight/_3 * loss/_3
像素損失
像素損失是最簡單的一類損失函數,其中生成的圖像中的每個像素都直接與ground-truth圖像中的每個像素進行比較。使用流行的損失函數,如L1或L2損失,或高級變體,如smooth L1損失。
PSNR度量(下面討論)與像素損失高度相關,因此最小化像素損失可以直接最大化PSNR度量值(表明性能良好)。然而,像素損失并沒有考慮到圖像質量,而且模型常常輸出感知上不令人滿意的結果(通常缺乏高頻細節)。
內容損失
這種損失是基于圖像的感知質量來評估圖像質量的。一種有趣的方法是比較生成的圖像和ground truth圖像的高層特征。我們可以讓圖像通過一個預先訓練好的圖像分類網絡(如VGG-Net或ResNet)來獲得這些高級特征。
上面的函數計算ground-truth圖像和生成的圖像之間的內容損失,給定pre-trained網絡(Φ),和第I層的輸出,網絡計算這兩者的損失。這種損失鼓勵生成的圖像在感知上類似于ground-truth圖像。由于這個原因,它也被稱為感知損失。
紋理損失
為了使生成的圖像具有與ground-truth圖像相同的樣式(紋理、顏色、對比度等),使用紋理損失(或樣式重建損失)。根據Gatys et. al的描述,圖像的紋理被定義為不同特征通道之間的相關性。特征通道通常用預訓練的圖像分類網絡(Φ)來提取。
對抗損失
生成對抗網絡(GANs)已越來越多地用于包括超分辨率在內的幾種基于圖像的應用。GANs通常由兩個神經網絡組成——生成器和鑒別器——相互競爭。
給定一組目標樣本,生成器嘗試生成樣本,以欺騙鑒別器,使其相信它們是真實的。鑒別器試圖從假(生成的)樣本中分辨出真實(目標)樣本。使用這種迭代訓練方法,我們最終得到一個生成器,它非常擅長生成與目標示例類似的示例。下圖顯示了一個典型GAN的結構。
為了提高性能,對基本GAN體系結構進行了改進。例如,Park et. al使用特征級鑒別器來捕捉真實高分辨率圖像的更有意義的潛在屬性。你可以查看這個blog:https://medium.com/beyondmind...
通常情況下,進行對抗損失訓練的模型具有更好的感知質量,即使它們在PSNR上可能比那些進行像素損失訓練的模型要差。一個小缺點是,GAN的訓練過程有點困難和不穩定。但是,目前正在積極研究穩定的GAN的訓練的方法。
9.特定領域的應用
1、深度圖超分辨率
深度圖記錄了場景中視點和目標之間的距離,深度信息在姿態估計 、語義分割 等許多任務中發揮著重要作用。然而,由于生產力和成本方面的限制,由深度傳感器生成的深度圖通常分辨率較低,并飽受噪聲、量化、缺失值等方面的降級影響。為了提高深度圖的空間分辨率,研究人員引入了超分辨率。
2、人臉圖像超分辨率
人臉圖像超分辨率(又名 face hallucination,FH)通常有助于完成其它與人臉相關的任務。與一般圖像相比,人臉圖像擁有更多與人臉相關的結構化信息,因此將人臉先驗知識整合到 FH 中是一種非常流行且頗有前景的方法。
3、超光譜圖像超分辨率
與全色圖像(panchromatic image,PAN)相比,超光譜圖像(HSI)包含數百個波段的高光譜圖像,能夠提供豐富的光譜特征,幫助完成許多視覺任務。然而,由于硬件限制,不僅是搜集高質量 HSI 比搜集 PAN 難度更大,搜集到的 HSI 分辨率也要更低。因此,該領域引入了超分辨率,研究人員往往將 HR PAN 與 LR HSI 相結合來預測 HR HSI。
4、視頻超分辨率
在視頻超分辨率中,多個幀可以提供更多的場景信息,該領域不僅有幀內空間依賴,還有幀間時間依賴(如運動、亮度和顏色變化)。因此,現有研究主要關注更好地利用時空依賴,包括明確的運動補償(如光流算法、基于學習的方法)和循環方法等。
5、其它應用
基于深度學習的超分辨率也被應用到其它特定領域的應用中,而且表現出色。尤其是,RACNN 利用 SR 模型增強了用于細粒度分類的 LR 圖像細節的可辨性。類似地,感知 GAN 通過超分辨小目標的表征解決了小目標檢測問題,實現了與大目標相似的特征,檢測更具可辨性。FSR-GAN超分辨化了特征空間而非像素空間中的小圖像,將質量較差的原始特征轉換成了可辨性更高的特征,這對圖像檢索非常有利。此外,Dai 等人驗證了 SR 技術在若干視覺應用中的有效性和有用性,包括邊緣檢測、語義分割、數字和場景識別。Huang 等人 開發了專門用于超分辨率遙感圖像的 RS-DRL。Jeon 等人 利用立體圖像中的視差先驗來重建配準中具有亞像素準確率的 HR 圖像。
10.未來發展方向
1、Network Design(網絡結構設計)
可考慮從如下方面改進網絡結構:
Combining Local and Global Information,結合局部和全局信息,大的感受野可以提供更多的紋理信息,這樣可生成更加真實的的HR圖像。
Combining Low- and High-level Information,結合低層和高層信息,deep CNNs中的較淺層易于抽取如顏色和邊緣等低層特征,而較高層更易獲得如目標識別等高層次的特征表示,結合低層網絡抽取的低層細節信息和高層網絡抽取到的高層紋理信息可獲得效果更好的HR圖像。
Context-specific Attention,結合特定內容的注意力機制,增強主要特征可促進生成的HR圖像具體更加真實的細節。
Lightweight Architectures,目前網絡結構日趨復雜,如何減少模型大小,加快預測時間并保持性能仍然是一個研究課題。
Upsampling Layers,如何設計出有效并有效率的上采樣層是值得研究的,特別是在放大倍數較大的圖像超分辨率問題上。
2.Learning Strategies(學習策略)
Loss Functions,目前的損失函數是建立于 LR/HR/SR 圖像之間的限制并優化層面上的。在實際應用上,通常把這些損失函數進行加權得到,對SR問題來說,最有效的損失函數還不明確。因此,一項有意義的研究工作是,如何找到 LR/HR/SR 圖像間的潛在聯系并找到更加準確的損失函數。
Normalization,雖然BN在視覺問題上大量使用,但是在SR問題上,BN并不是最佳的規范化效果,有時使用BN反而會得到不好的效果。因此,在SR領域,其他有效的規范化技術是需要被提出的。
3.Evaluation Metrics(評價方法)
More Accurate Metrics,傳統的PSNR/SSIM圖像質量評價方法并不能客觀反應圖像的主觀效果,MOS方法需要大量的人力成本并且不能再現。因此,更加精確的圖像質量評價方法亟待提出。
Blind IQA Methods,目前所提到的SR問題,都是LR-HR圖像對做出的,但是,在這類數據集是很難獲得的,大部分都是通過人工手段獲得的LR-HR圖像對。這樣,在評價這類問題時,就變成了反向預測退化問題的過程,因此,無依賴的圖像質量評價方法是有很大需要的。
4.Unsupervised Super-resolution(無監督圖像超分辨率)
文中提到了一些已有的無監督超分辨率工作:
A. Shocher, N. Cohen, and M. Irani, “zero-shot super-resolution using deep internal learning,” in CVPR, 2018.
A. Bulat, J. Yang, and G. Tzimiropoulos, “To learn image super- resolution, use a gan to learn how to do image degradation first,” in ECCV, 2018.
Y. Yuan, S. Liu, J. Zhang, Y. Zhang, C. Dong, and L. Lin, “Unsu- pervised image super-resolution using cycle-in-cycle generative adversarial networks,” in CVPRW, 2018.
D. Ulyanov, A. Vedaldi, and V. Lempitsky, “Deep image prior,” in CVPR, 2018.
目前大量的SR方法都是使用Matlab Bicubic方法獲得LR圖像,用LR-HR作為SR網絡的訓練數據,這樣SR問題會變成預先定義圖像退化過程的逆過程,在自然低分辨率圖像上應用這類SR方法,效果會很不好。因此,在未來的研究領域,沒有LR-HR圖像對的無監督圖像超分辨率問題是有意義的研究方向。
5.Towards Real-world Scenarios(面向真實場景)
Image super-resolution在真實場景上,往往會受到“不明確的圖像退化過程”,“缺少LR-HR圖像對”等的條件限制,使得現有的SR算法難以實際應用。
Dealing with Various Degradation,解決多種圖像退化問題,針對不同方式獲得的LR圖像。目前已有一部分這方面的工作,但是存在一些固有缺點,如模型難以訓練,過于理想的假設條件。
Domain-specific Applications,特定領域的應用,SR算法不一定非要用于特定領域數據或場景中,SR算法同樣可協助處理其他視覺問題,如視頻監控、人臉識別、目標跟蹤、醫學圖像、場景渲染等。SR算法可用于這類視覺問題的預處理或后處理。
Multi-scale Super-resolution,目前大部分SR網絡是針對固定放大尺寸訓練的,實際應用中,有一定局限性。使用單一網絡的進行多尺度圖像超分辨率,有一定的研究價值。最近在CVPR 2019上,曠視提出了“Meta-SR: A Magnification-Arbitrary Network for Super-Resolution”:單一模型實現任意縮放因子。是這一研究方向的最新進展。
審核編輯 黃昊宇
-
超分辨率
+關注
關注
0文章
27瀏覽量
9925 -
深度學習
+關注
關注
73文章
5500瀏覽量
121113
發布評論請先 登錄
相關推薦
評論