【文章閱讀】【超解像】--Image Restoration Using Convolutional Auto-encoders with Symmetric Skip Connections
【文章閱讀】【超解像】–Image Restoration Using Convolutional Auto-encoders with Symmetric Skip Connections
RED-Net:Residual Encoder-Decoder Networks
論文連結:https://arxiv.org/abs/1606.08921
參考code: https://github.com/SSinyu/RED_CNN
1. 主要貢獻
- 提出了卷積反捲積對稱網路結構;
- 卷積和反捲積利用跳層結構相連;
- 提出的卷積反捲積架構可用於多工,如image denoising,image super-resolution,JPEG deblocking, non-blind image deblurring image inpainting.
2. 論文分析
網路整體結構:
區域性模組結構:
-
卷積反捲積網路結構
卷積:特徵提取,隨卷積進行,影象特徵被提取,同時噪聲的效果被降低,經過多層卷積後,影象的特徵被提取出來,也降低了噪聲的影響。
反捲積:針對特徵的上取樣,完成由影象特徵到影象的轉換,由於利用的是過濾後的噪聲後的影象特徵,因此達到了降噪、影象修復的目的。
文中通過實驗說明利用反捲積結構而不用padding 和upsampling的原因,如下圖,反捲積對影象細節有補償作用。
-
跳層結構(skip connections)
作用:
1)保留更多的影象細節,協助反捲積層完成影象的恢復工作;
2)反向傳播過程中的梯度反向,減少梯度消失,加快模型訓練,文章有一些公式推導說明跳層連線對梯度變化的好處,詳見論文;
利用影象修復實驗說明跳層作用:
多層結構中跳層能減少梯度消失,如下圖:
該跳層結構受何大神提出的Resnet激發,比較了該文提出的跳層結構和Resnet的跳層比較,本文提出效果較優:
-
提升測試效率
為提升模型的執行速度,本文中提出在卷積層使用降取樣,在反捲積層利用升取樣恢復影象大小。利用實驗比較了在不同卷積層降取樣對最終效能的影響。
實驗條件:影象大小160*240 , i7-2600CPU
降取樣位置 執行時間(s) no down-sample 3.17 down-sample at conv1 0.84 down-sample at conv5 1.43 down-sample at conv5 2.0 down-sample at conv5,9 1.17 結果比較:
結論:在conv1處降取樣,處理速度提升4倍,效能降低了0.1,根據具體應用進行trade-off -
實驗引數
損失函式:MSE
(a) filter number:濾波器大小為3x3,patch大小為50x50,跳層層數為2,不同的濾波個數,32,64,128,結果如下:
(b) filter size濾波器個數為64,patch大小為50x50,跳層層數為2,不同的濾波器大小為,3x3,5x5,7x7,9x9,結果如下:
© training patch size濾波器個數為64,濾波器大小為3x3 ,跳層層數為2,不同的patch size,25x25, 50x50,75x75,100x100結果如下:
(d) step size pf skip connections濾波器個數為64,濾波器大小為3x3 ,跳層層數為2,4,7,不同的patch size為50x50結果如下:
結論:濾波器個數越多,大小越大,訓練影象越大,跳層越少效能越好;
3. 結果分析
文章中進行了影象去噪、超解像、JPEG deblocking、Non-blind deblurring、影象修復實驗,列舉一下超解像相關結果:
與VDSR和DRCN進行了比較:
說明:
RED10:5層卷積,5層反捲積,無跳層
RED20:10卷積層,10反捲積層,跳層層距為2
RED30:15卷積層,15反捲積層,跳層層距為2
4.參考
https://blog.csdn.net/happyday_d/article/details/83715440
https://blog.csdn.net/wangkun1340378/article/details/78394673
https://blog.csdn.net/mzpmzk/article/details/54314864
論文個人理解,如有問題,煩請指正,謝謝!