深度學習在圖像超分辨率重建中的應用

eape3860 7年前發布 | 40K 次閱讀 深度學習 神經網絡

超分辨率技術(Super-Resolution)是指從觀測到的低分辨率圖像重建出相應的高分辨率圖像,在監控設備、衛星圖像和醫學影像等領域都有重要的應用價值。SR可分為兩類:從多張低分辨率圖像重建出高分辨率圖像和從單張低分辨率圖像重建出高分辨率圖像。基于深度學習的SR,主要是基于單張低分辨率的重建方法,即Single Image Super-Resolution (SISR)。

SISR是一個逆問題,對于一個低分辨率圖像,可能存在許多不同的高分辨率圖像與之對應,因此通常在求解高分辨率圖像時會加一個先驗信息進行規范化約束。在傳統的方法中,這個先驗信息可以通過若干成對出現的低-高分辨率圖像的實例中學到。而基于深度學習的SR通過神經網絡直接學習分辨率圖像到高分辨率圖像的端到端的映射函數。

本文介紹幾個較新的基于深度學習的SR方法,包括SRCNN,DRCN, ESPCN,VESPCN和SRGAN等。

1,SRCNN

Super-Resolution Convolutional Neural Network (SRCNN, PAMI 2016, 代碼 )是較早地提出的做SR的卷積神經網絡。該網絡結構十分簡單,僅僅用了三個卷積層。

該方法對于一個低分辨率圖像,先使用雙三次(bicubic)插值將其放大到目標大小,再通過三層卷積網絡做非線性映射,得到的結果作為高分辨率圖像輸出。作者將三層卷積的結構解釋成與傳統SR方法對應的三個步驟:圖像塊的提取和特征表示,特征非線性映射和最終的重建。

三個卷積層使用的卷積核的大小分為為9x9, 1x1和5x5,前兩個的輸出特征個數分別為64和32. 該文章分別用Timofte數據集(包含91幅圖像)和ImageNet大數據集進行訓練。相比于雙三次插值和傳統的稀疏編碼方法,SRCNN得到的高分辨率圖像更加清晰,下圖是一個放大倍數為3的例子。

對SR的質量進行定量評價常用的兩個指標是PSNR(Peak Signal-to-Noise Ratio)和SSIM(Structure Similarity Index)。這兩個值越高代表重建結果的像素值和金標準越接近,下圖表明,在不同的放大倍數下,SRCNN都取得比傳統方法好的效果。

2, DRCN

SRCNN的層數較少,同時感受野也較小(13x13)。DRCN (Deeply-Recursive Convolutional Network for Image Super-Resolution, CVPR 2016, 代碼 )提出使用更多的卷積層增加網絡感受野(41x41),同時為了避免過多網絡參數,該文章提出使用遞歸神經網絡(RNN)。網絡的基本結構如下:

與SRCNN類似,該網絡分為三個模塊,第一個是Embedding network,相當于特征提取,第二個是Inference network, 相當于特征的非線性變換,第三個是Reconstruction network,即從特征圖像得到最后的重建結果。其中的Inference network是一個遞歸網絡,即數據循環地通過該層多次。將這個循環進行展開,就等效于使用同一組參數的多個串聯的卷積層,如下圖所示:

其中的 是D個共享參數的卷積層。DRCN將每一層的卷積結果都通過同一個Reconstruction Net得到一個重建結果,從而共得到D個重建結果,再把它們加權平均得到最終的輸出。另外,受到ResNet的啟發,DRCN通過skip connection將輸入圖像與 的輸出相加后再作為Reconstruction Net的輸入,相當于使Inference Net去學習高分辨率圖像與低分辨率圖像的差,即恢復圖像的高頻部分。

實驗部分,DRCN也使用了包含91張圖像的Timofte數據集進行訓練。得到的效果比SRCNN有了較大提高。

3, ESPCN

在SRCNN和DRCN中,低分辨率圖像都是先通過上采樣插值得到與高分辨率圖像同樣的大小,再作為網絡輸入,意味著卷積操作在較高的分辨率上進行,相比于在低分辨率的圖像上計算卷積,會降低效率。 ESPCN(Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network,CVPR 2016, 代碼 )提出一種在低分辨率圖像上直接計算卷積得到高分辨率圖像的高效率方法。

ESPCN的核心概念是亞像素卷積層(sub-pixel convolutional layer)。如上圖所示,網絡的輸入是原始低分辨率圖像,通過兩個卷積層以后,得到的特征圖像大小與輸入圖像一樣,但是特征通道為 ( 是圖像的目標放大倍數)。將每個像素的 深度學習在圖像超分辨率重建中的應用 個通道重新排列成一個r x r的區域,對應于高分辨率圖像中的一個r x r大小的子塊,從而大小為 深度學習在圖像超分辨率重建中的應用 x H x W的特征圖像被重新排列成1 x rH x rW大小的高分辨率圖像。這個變換雖然被稱作sub-pixel convolution, 但實際上并沒有卷積操作。

通過使用sub-pixel convolution, 圖像從低分辨率到高分辨率放大的過程,插值函數被隱含地包含在前面的卷積層中,可以自動學習到。只在最后一層對圖像大小做變換,前面的卷積運算由于在低分辨率圖像上進行,因此效率會較高。

重建效果上,用PSNR指標看來ESPCN比SRCNN要好一些。對于1080HD的視頻圖像,做放大四倍的高分辨率重建,SRCNN需要0.434s而

ESPCN只需要0.029s。

4, VESPCN

在視頻圖像的SR問題中,相鄰幾幀具有很強的關聯性,上述幾種方法都只在單幅圖像上進行處理,而VESPCN( Real-Time Video Super-Resolution with Spatio-Temporal Networks and Motion Compensation, arxiv 2016)提出使用視頻中的時間序列圖像進行高分辨率重建,并且能達到實時處理的效率要求。其方法示意圖如下,主要包括三個方面:

一是糾正相鄰幀的位移偏差,即先通過Motion estimation估計出位移,然后利用位移參數對相鄰幀進行空間變換,將二者對齊。二是把對齊后的相鄰若干幀疊放在一起,當做一個三維數據,在低分辨率的三維數據上使用三維卷積,得到的結果大小為 。三是利用ESPCN的思想將該卷積結果重新排列得到大小為 的高分辨率圖像。

Motion estimation這個過程可以通過傳統的光流算法來計算,DeepMind 提出了一個Spatial Transformer Networks, 通過CNN來估計空間變換參數。VESPCN使用了這個方法,并且使用多尺度的Motion estimation:先在比輸入圖像低的分辨率上得到一個初始變換,再在與輸入圖像相同的分辨率上得到更精確的結果,如下圖所示:

由于SR重建和相鄰幀之間的位移估計都通過神經網路來實現,它們可以融合在一起進行端到端的聯合訓練。為此,VESPCN使用的損失函數如下:

第一項是衡量重建結果和金標準之間的差異,第二項是衡量相鄰輸入幀在空間對齊后的差異,第三項是平滑化空間位移場。下圖展示了使用Motion Compensation 后,相鄰幀之間對得很整齊,它們的差值圖像幾乎為0.

從下圖可以看出,使用了Motion Compensation,重建出的高分辨率視頻圖像更加清晰。

5, SRGAN

SRGAN (Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network, arxiv , 21 Nov, 2016)將生成式對抗網絡(GAN)用于SR問題。其出發點是傳統的方法一般處理的是較小的放大倍數,當圖像的放大倍數在4以上時,很容易使得到的結果顯得過于平滑,而缺少一些細節上的真實感。因此SRGAN使用GAN來生成圖像中的細節。

傳統的方法使用的代價函數一般是最小均方差(MSE),即

該代價函數使重建結果有較高的信噪比,但是缺少了高頻信息,出現過度平滑的紋理。SRGAN認為,應當使重建的高分辨率圖像與真實的高分辨率圖像無論是低層次的像素值上,還是高層次的抽象特征上,和整體概念和風格上,都應當接近。整體概念和風格如何來評估呢?可以使用一個判別器,判斷一副高分辨率圖像是由算法生成的還是真實的。如果一個判別器無法區分出來,那么由算法生成的圖像就達到了以假亂真的效果。

因此,該文章將代價函數改進為 第一部分是基于內容的代價函數,第二部分是基于對抗學習的代價函數。基于內容的代價函數除了上述像素空間的最小均方差以外,又包含了一個基于特征空間的最小均方差,該特征是利用VGG網絡提取的圖像高層次特征: 對抗學習的代價函數是基于判別器輸出的概率: 其中 是一個圖像屬于真實的高分辨率圖像的概率。 是重建的高分辨率圖像。SRGAN使用的生成式網絡和判別式網絡分別如下:

該方法的實驗結果如下

從定量評價結果上來看,PSNR和SSIM這兩個指標評價的是重建結果和金標準在像素值空間的差異。SRGAN得到的評價值不是最高。但是對于MOS(mean opinion score)的評價顯示,SRGAN生成的高分辨率圖像看起來更真實。

參考資料

1, Dong, Chao, et al. "Image super-resolution using deep convolutional networks." IEEE transactions on pattern analysis and machine intelligence 38.2 (2016): 295-307.

2, Kim, Jiwon, Jung Kwon Lee, and Kyoung Mu Lee. "Deeply-recursive convolutional network for image super-resolution." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition . 2016.

3, Shi, Wenzhe, et al. "Real-time single image and video super-resolution using an efficient sub-pixel convolutional neural network." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition . 2016.

4, Caballero, Jose, et al. "Real-Time Video Super-Resolution with Spatio-Temporal Networks and Motion Compensation." arXiv preprint arXiv:1611.05250 (2016).

5, Jaderberg, Max, Karen Simonyan, and Andrew Zisserman. "Spatial transformer networks." Advances in Neural Information Processing Systems . 2015.

6, Ledig, Christian, et al. "Photo-realistic single image super-resolution using a generative adversarial network." arXiv preprint arXiv:1609.04802 (2016).

7, 深度對抗學習在圖像分割和超分辨率中的應用 - 知乎專欄

 

來自:https://zhuanlan.zhihu.com/p/25532538

 

 本文由用戶 eape3860 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!