Image Super-Resolution Using Deep Convolutional Networks (SRCNN )
想法來源
模擬稀疏編碼(sparse coding)溪厘,但稀疏編碼需要關注dict的學習和優(yōu)化掌唾,或者是建立有效的映射函數(shù)。
貢獻
- 首個使用CNN結構實現(xiàn)端到端的超分辨率算法,盡可能地減少了對輸入圖片的預處理
- 建立了稀疏編碼和深度學習在SR上的聯(lián)系
- 論證了深度學習在超分辨解決中有很好的質(zhì)量和速度
主要方法流程
- 利用bicubic 插值厅翔,將圖片轉換成HR圖片尺寸的大小
- path extraction and representation:用卷積網(wǎng)絡提取patches呢簸,映射到高維空間(類似稀疏編碼的映射到LR dict中)
- Non-linear mapping: 將一個高維空間映射到另一個高維空間中,類似稀疏編碼的LR dict 到 HR dict
- Reconstruction: 生成SR圖片
訓練
三層網(wǎng)絡漓概,3*9*9*64漾月,64*1*1*35,35*5*5*1胃珍,用MSE作為loss F梁肿,激活函數(shù)采用ReLU
體會
是把深度學習用到了超分辨上的開山之作,想法來自于稀疏編碼器觅彰,整個網(wǎng)絡框架的構建也是模擬稀疏編碼器去解釋吩蔑。
Accelerating the Super-Resolution Convolutional Neural Network (FSRCNN)
提出問題
SRCNN生成SR過慢,不能滿足一個實時(24fps)的效果填抬。
1.在LR圖片進入SRCNN網(wǎng)絡之前需要bicubic插值處理
- 因為插值過后圖片變大烛芬,在SRCNN的non-linear層需要一個很大的感知域
上述操作都會花費時間成本
貢獻
- 采用了反卷積層,實現(xiàn)了原始LR圖像到HR圖像的端到端合成
- 速度有很大的提升的同時,也能保持效果
- We transfer the convolution layers of the proposed networks for fast training and testing across different upscaling factors, with no loss of restoration quality. (沒太理解這句)
共享其中的映射層赘娄,如果需要訓練不同上采樣倍率的模型仆潮,只需要fine-tuning最后的反卷積層
網(wǎng)絡結構
分為5個部分:feature extraction, shrinking, mapping, expanding, deconvolution
1.feature extraction: 用55的卷積核將圖片映射到高維空間
2.shrinking:用11的卷積核并減少卷積核數(shù)量以降低參數(shù)數(shù)量,提高計算效率
3.mapping:使用m個3*3的卷積核實現(xiàn)映射
4.expanding: 是shrinking層的逆過程遣臼,shrinking減少了計算的參數(shù)輸量性置,但數(shù)量少的話,恢復的圖片質(zhì)量會不好揍堰。實驗證明鹏浅,如果沒有expanding的話,會損失0.3dB
5.deconvolution: 是卷積層的逆操作个榕,實現(xiàn)了上采樣的效果篡石。
、
訓練
使用了PReLU西采,凰萨,為了避免梯度消失。這樣就可以用所有的參數(shù)去測試不同網(wǎng)絡設計下的最大容量械馆。Loss F用了MSE
體會
利用了反卷積胖眷,減小卷積核數(shù)量和卷積核大小,雖然網(wǎng)絡層數(shù)增加霹崎,但速度還是有明顯的提升珊搀。在超分辨問題中,對于原先的插值預處理可以使用反卷積來代替尾菇,而且也可以讓卷積時候保持相對較小的尺寸境析,從而提升運算速度。
Accurate Image Super-Resolution Using Very Deep Convolutional Networks(VDSR)
問題
- SRCNN小圖片區(qū)域的上下文信息
- 訓練收斂得太慢
- 網(wǎng)絡僅僅適用于一個尺寸
貢獻
提出了一個非常深的卷積網(wǎng)絡派诬,然而使用過高學習率加速訓練速度會導致梯度爆炸劳淆,我們用殘差學習的方法和梯度裁剪的方法去解決了這個問題。同時還實現(xiàn)了單網(wǎng)絡的多尺寸輸出問題默赂。相比于其他state-of-art的方法有很好的提升沛鸵。
網(wǎng)絡結構
用了20層網(wǎng)絡,除了輸入和輸出以外缆八,都是3*3*64的卷積層曲掰。
訓練
- 輸入的圖片需要進行插值操作變成和HR一樣的尺寸
- 在每一層卷積完了之后,對圖片進行補零操作奈辰,對邊緣的恢復效果很好
- Loss F: MSE栏妖,使殘差和網(wǎng)絡預測的距離最小
- 用adjustable gradient clipping 去加速且避免梯度爆炸
- 利用多尺寸(下采用后的LR)數(shù)據(jù)去訓練
- 激活函數(shù):ReLU
效果
邊緣銳化
體會
文章最大的特色是模仿了ResNet的思想,加快了訓練的收斂速度冯挎。而且證明了深層的卷積網(wǎng)絡在超分辨上的效果也是非常好的底哥。但為了避免梯度爆炸和收斂較慢的問題咙鞍,需要用到一個gradient clipping。而且還用了不同的尺寸圖片去訓練趾徽,以適應不同尺寸圖片的輸入(感覺這個點光是靠數(shù)據(jù)的補充去達到了一個模型的泛化续滋,但沒有從算法設計的角度出發(fā)去考慮,雖然效果很好孵奶,但覺得這里其實可以再思考一下)
Deeply-Recursive Convolutional Network for Image Super-Resolution(DRCN)
問題
- 一般直覺是更大的感受野可以有更好的效果疲酌,感受野的擴大可以用增加網(wǎng)絡層數(shù)來實現(xiàn)。但因為在SR問題中了袁,用pooling層會丟失信息朗恳,而一昧地增加卷積層,會容易overfitting & 模型會變得太大難以保存
貢獻
- 提出了一個用深層的遞歸神經(jīng)網(wǎng)絡的方法载绿。
It utilizes a very large context compared to previous SR methods with only a single recursive layer.(沒懂這里) - 用兩個方法去提高遞歸網(wǎng)絡:用有監(jiān)督的遞歸網(wǎng)絡和skip-connection粥诫。
網(wǎng)絡結構
-
Basic Model
- Embedding net
將輸入圖片映射到特征map中,做特征提取 - Inference network
遞歸網(wǎng)絡崭庸,利用相同的卷積層 - reconstruction net
恢復最后的重建結果
-
Advanced Model
加入了skip-connection怀浆,并同時采用有監(jiān)督的方式對遞歸網(wǎng)絡進行訓練,最后計算每一層輸出的誤差和總輸出誤差(將所有輸出加權求和)
效果
邊緣較為銳化
體會
這篇論文和上面的一篇VDSR是同一個團隊提出的怕享,然后思想都非常相近执赡。希望能使用更深的網(wǎng)絡去使得對原始圖像的感受野更大。而且本文的skip-connection也是利用了殘差學習的思想函筋。
Deep Laplacian Pyramid Networks for Fast and Accurate Super-Resolution(LapSRN)
問題
- SCRNN的插值再輸入計算慢且引入了人為重建的東西沙合,用反卷積的方法去解決這個問題不能很好地學習特征
- 目前使用地L2 Loss不是最好的目標函數(shù),往往會讓HR圖片過于平滑跌帐,但不符合人的感覺
- 在重建圖像的時候首懈,如果只進行一次上采樣的操作,會在大的采樣因子時訓練困難
網(wǎng)絡結構
- 特征提取
每一級進行卷積提取特征后谨敛,進行X2的上采樣(反卷積)操作 - 圖像重建
將SR同步上采樣猜拾,然后和提取特征做和,相當于將殘差和原圖相加做運算 -
Loss F
其中佣盒,
x表示LR,y表示HR顽聂,r表示res
體會
這個論文提供了一個應對SR問題中multi-scale的一個很好的思路肥惭,如果需要大的上采樣的時候,可以進行逐步upscaling紊搪,首先是小尺寸的圖訓練速度快蜜葱,其次是網(wǎng)絡層數(shù)加深,降低了訓練的難度耀石。也利用了殘差網(wǎng)絡的思想牵囤。
Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network(ESPCN)
貢獻
- 最后一層才進行上采樣,減少了卷積時候的計算量
- 利用個上采樣的特征層去進行重建
網(wǎng)絡結構
采用了sub-pixel convolutional network,經(jīng)過三個卷積層之后揭鳞,得到一個通道數(shù)為的和輸入圖像大小的特征圖像炕贵,再將特征圖像每個像素的個通道排列成一個rxr的區(qū)域,對應HR的rxr的子塊野崇。
訓練
loss F: MSE称开,激活函數(shù):tanh,tanh在SISR指標上表現(xiàn)更好
主要效果
重建速度快(和SRCNN相比)
體會
提供了一種新的上采樣思路乓梨,與deconvolution不同的sub-pixel convolution鳖轰,也可以保證前期采用LR圖像減少預算量。感覺像是把一個細節(jié)按空間拆分都學習一遍扶镀,然后再把學習的結果按空間排序合成到一起蕴侣。(最后空間排序方式感覺還是一種直覺,細節(jié)按空間拆分因為卷積層的滑動可以理解臭觉,但最后的一步合成小塊個人感覺不能算是卷積的逆過程)
Image Super-Resolution via Deep Recursive Residual Network(DRRN)
問題
之前的工作指出“the deeper the better"在SR問題中仍然適用昆雀,但網(wǎng)絡過深會導致參數(shù)過多
算法新穎性
- 有局部的殘差學習也有全局的
- 對殘差有遞歸學習
網(wǎng)絡結構
ResNet是鏈模式,VDSR是全局殘差學習胧谈,DRCN是全局殘差學習+單權重的遞歸+多目標優(yōu)化忆肾,DRNN是多路徑模式的局部殘差+全局殘差+多權重的遞歸
效果
- 2x,6x菱肖,14x fewer parameters than VDSR客冈,DRCN & RED30
體會
在SR問題中,網(wǎng)絡的深度提高仍然會帶來好的效果稳强,用殘差學習的方式和遞歸的方式可以加速訓練的收斂速度和減少參數(shù)數(shù)量
Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network(SRGAN)
問題
- 現(xiàn)有的PSNR/MSE(基于像素的方式)客觀質(zhì)量評價分數(shù)高的场仲,并不一定是我們感知中的更加逼真的圖片。主要原因是只考慮了重建結果的信噪比退疫,但是缺少了高頻信息渠缕,出現(xiàn)了過度平滑的結果。
貢獻
- 設計了一個SRResNet的網(wǎng)絡
- 用GAN去計算perceptual loss
- 用MOS評價方法在三個數(shù)據(jù)集上比較褒繁,確認了SRGAN是新的一種state-of-art的方法
網(wǎng)絡結構
損失函數(shù)
體會
目前的MSE/PSNR亦鳞,SSIM評價方法并不是最符合人眼直觀感覺的評價方法,本文采用了MOS(Mean Opinion Score)棒坏,是一種主觀評價方法燕差。主觀評價方法的成本、耗時都較高坝冕。但SRGAN在這個評分上表現(xiàn)較好徒探,而在其他兩個上表現(xiàn)并沒有SRResNet的好。這也引出了一個問題喂窟,目前超分辨是否應該去研究更好的客觀質(zhì)量評價方法测暗,否則如果在不符合人眼直觀感覺的評價結果去做算法改進是不是一個有點偏離的方向央串?
本文也是GAN在SR上的一個開山之作,非常經(jīng)典碗啄。
而且重建速度較慢质和,不能實現(xiàn)real-time。
而且本文做的只是在采樣率為4的時候的重建挫掏,這個受限原因是什么侦另?
MemNet: A Persistent Memory Network for Image Restoration(MemNet)
問題
傳統(tǒng)的神經(jīng)網(wǎng)絡都是單向傳播,屬于短期記憶網(wǎng)絡尉共。Resnet褒傅,RED等網(wǎng)絡(有skip-connection,某一狀態(tài)時被特定的先前狀態(tài)影響)屬于限制的長期記憶網(wǎng)絡袄友。而人類大腦更符合長期記憶網(wǎng)絡的模式殿托。
貢獻
- 利用gate unit建立記憶,自適應學習
- 用了非常深的網(wǎng)絡(80層)
- 一個網(wǎng)絡解決了圖片去噪剧蚣、SR支竹、JPEG deblocking的問題
網(wǎng)絡結構
FENet: 用于提取特征
Memory block: 每個Memory block里由recursive unit和一個gate unit組成,gate unit的實現(xiàn)是將前面recursive block的結果concat到一起鸠按,然后經(jīng)過一個卷積
ReconvNet:重建圖像的卷積層
最后的Loss F和DRCN相像
體會
感覺這個其實和DRCN很相像礼搁,只是把其中的卷積層換成了Memory block,然后還結合了DenseNet的方法目尖。但應用還是挺廣的馒吴。而且這個文章的輸入圖片尺寸和輸出尺寸是一致的,就是說瑟曲,需要先上采樣一下(類似SRCNN)饮戳,這樣會產(chǎn)生較大的計算量。我覺得這里說了很多人的記憶模式洞拨,但其實還是在用一個殘差網(wǎng)絡的思想扯罐。
Enhanced Deep Residual Networks for Single Image Super-Resolution(EDSR)
想法來源
Resnet在圖像分類、檢測用的很好烦衣,但是在像素這種底層問題(SR)中并不是效果非常好歹河。然后本文試著去掉一些不需要的網(wǎng)絡結構
貢獻
效果好
網(wǎng)絡結構
remove了 batch normalization
在multi-scale里共享了部分參數(shù),實現(xiàn)了多采樣率重建的功能
采用L1 loss
體會
在NTIRE2017 Super-Resolution Challenge 的冠軍夯實了Resnet在SR中的地位花吟,同時也通過多次實驗启泣,給出了BN層在SR問題中作用不大的結論,但至于原理示辈,沒太懂。不過看實驗結果遣蚀,效果的確非常驚艷矾麻,高頻分量保持得很好纱耻。
總結
- 深度學習在SR中的應用仍舊是越深的網(wǎng)絡越好
- 為了避免較大的計算量,可以先輸入SR险耀,最后采用反卷積弄喘、sub-pixel的方式。
- 由于SR和HR有非常高的關聯(lián)度甩牺,殘差網(wǎng)絡的思想在SR中應用效果非常好
- 減少參數(shù)量的話蘑志,可以采用recursive net
- GAN的效果更加符合人直觀感受,但由于目前客觀質(zhì)量評價方法其實不是非常符合恰當?shù)姆椒ū崤桑珿AN在上面的評價并不好急但。
- 目前SR關注的問題主要是:圖像重建準確度,重建速度搞乏,多采樣率的重建波桩,模型參數(shù)數(shù)量,模型訓練擬合速度请敦。