姓名:楊安東;學號:21021210846;學院:電子工程學院
轉載自:https://blog.csdn.net/aBlueMouse/article/details/78710553
【嵌牛導讀】超分辨率技術(Super-Resolution, SR)是指從觀測到的低分辨率圖像重建出相應的高分辨率圖像,在監控設備、衛星圖像和醫學影像等領域都有重要的應用價值。
本篇針對端到端的基于深度學習的單張圖像超分辨率方法(Single Image Super-Resolution, SISR),總結一下從SRCNN到EDSR的發展歷程。
【嵌牛鼻子】SRCNN,高分辨重構技術,深度學習
【嵌牛提問】什么是高分辨重構?
【嵌牛正文】
1. SRCNN
(Learning a Deep Convolutional Network for Image Super-Resolution, ECCV2014)
SRCNN是深度學習用在超分辨率重建上的開山之作。SRCNN的網絡結構非常簡單,僅僅用了三個卷積層,網絡結構如下圖所示。
SRCNN首先使用雙三次(bicubic)插值將低分辨率圖像放大成目標尺寸,接著通過三層卷積網絡擬合非線性映射,最后輸出高分辨率圖像結果。本文中,作者將三層卷積的結構解釋成三個步驟:圖像塊的提取和特征表示,特征非線性映射和最終的重建。
三個卷積層使用的卷積核的大小分為為9x9,,1x1和5x5,前兩個的輸出特征個數分別為64和32。用Timofte數據集(包含91幅圖像)和ImageNet大數據集進行訓練。使用均方誤差(Mean Squared Error, MSE)作為損失函數,有利于獲得較高的PSNR。
code: http://mmlab.ie.cuhk.edu.hk/projects/SRCNN.html
2. FSRCNN
(Accelerating the Super-Resolution Convolutional Neural Network, ECCV2016)
FSRCNN與SRCNN都是香港中文大學Dong Chao, Xiaoou Tang等人的工作。FSRCNN是對之前SRCNN的改進,主要在三個方面:一是在最后使用了一個反卷積層放大尺寸,因此可以直接將原始的低分辨率圖像輸入到網絡中,而不是像之前SRCNN那樣需要先通過bicubic方法放大尺寸。二是改變特征維數,使用更小的卷積核和使用更多的映射層。三是可以共享其中的映射層,如果需要訓練不同上采樣倍率的模型,只需要fine-tuning最后的反卷積層。
由于FSRCNN不需要在網絡外部進行放大圖片尺寸的操作,同時通過添加收縮層和擴張層,將一個大層用一些小層來代替,因此FSRCNN與SRCNN相比有較大的速度提升。FSRCNN在訓練時也可以只fine-tuning最后的反卷積層,因此訓練速度也更快。FSRCNN與SCRNN的結構對比如下圖所示。
FSRCNN可以分為五個部分。特征提取:SRCNN中針對的是插值后的低分辨率圖像,選取的核大小為9×9,這里直接是對原始的低分辨率圖像進行操作,因此可以選小一點,設置為5×5。收縮:通過應用1×1的卷積核進行降維,減少網絡的參數,降低計算復雜度。非線性映射:感受野大,能夠表現的更好。SRCNN中,采用的是5×5的卷積核,但是5×5的卷積核計算量會比較大。用兩個串聯的3×3的卷積核可以替代一個5×5的卷積核,同時兩個串聯的小卷積核需要的參數3×3×2=18比一個大卷積核5×5=25的參數要小。FSRCNN網絡中通過m個核大小為3×3的卷積層進行串聯。擴張:作者發現低維度的特征帶來的重建效果不是太好,因此應用1×1的卷積核進行擴維,相當于收縮的逆過程。反卷積層:可以堪稱是卷積層的逆操作,如果步長為n,那么尺寸放大n倍,實現了上采樣的操作。
FSRCNN中激活函數采用PReLU,損失函數仍然是均方誤差。對CNN來說,Set91并不足夠去訓練大的網絡結構,FSRCNN提出general-100 + Set91進行充當訓練集。并且進行數據增強,1)縮小尺寸為原來的0.9, 0.8, 0.7和0.6。2)旋轉 90°,180°和270°,因此獲得了數據量的提升。
code: http://mmlab.ie.cuhk.edu.hk/projects/FSRCNN.html
————————————————
版權聲明:本文為CSDN博主「aBlueMouse」的原創文章,遵循CC 4.0 BY-SA版權協議。
原文鏈接:https://blog.csdn.net/aBlueMouse/article/details/78710553