Residual Dense Network for Image Super-Resolution
Abstract
- 1.深層CNN擁有提取多層次的特徵(低維,高維特徵)的能力,但多數基於CNN的超分辨率模型不能完全利用這些特徵。
- 2.(Residual Dense Network) RDN網絡可以解決上述問題,充分利用提取出的多層次信息。
- 3.RDN網絡中的密集連接 Residual dense block(RDB)抽取足夠多的局部特徵,通過連續記憶機制(contiguous memory(CM)),鏈接至所有當前RBD的卷積操作(Dense)。
- 4.RDB抽取出的局部特徵會通過 1*1的卷積來減少多餘特徵並進行再學習
- 5.局部特徵抽取完畢之後,RDN網絡會將多個RDB結構的輸出以及淺層特徵進行全局特徵結合。
- 6.上述網絡RDN在Super Resolution(超分辨率)任務多個公共數據集上取得state-of-the-art
Introduction
- 1.Single image Super-Resolution(SISR)任務是通過低分辨率低圖片生成高分辨率的圖片。應用場景十分廣泛
- 2.此處至介紹了DL相關的方法,SISR任務中主要性能的提升都是一些CNN中普適的優化:
- 2.1 增加CNN網絡深度,使用殘差,梯度裁剪等方法降低訓練難度
- 2.2 大大增加網絡寬度和深度,使用殘差縮放,用大型的網絡提升性能
- 2.3 memory block 記憶塊來建立MeMNet,希望能夠保存底層,淺層的特徵
- 3.上述方法1,2不能保證完整使用層級特徵(Abstract 1)方法3長期記憶機制並不能直接鏈接特徵,因此也很難利用全部特徵。
- 4.層級特徵會更完善的表徵圖像,從大小,視圖,角度等方面,但很多網絡拒絕這麼做。XXXX的網絡有XXXX不好
- 5.RDN網絡可以通過RDB運用全部的層次特徵(Abstract 2)
- 5.1 RDB中通過密集殘差鏈接 通過局部殘差學習(Local Residual Learning(LRL))得到Local Feature Fusion(LFL),RDB之間支持連續學習機制
- 5.2 LRL允許大量的特徵進入並動態過濾出有效的結果,這爲網絡學習的穩定性提供了很好的保證
- 5.3 局部特徵融合(LFF)完成之後,網絡會進行全局特徵融合(Global Feature Fusion(GFF)),將每一個RDB的輸出結果與最初的卷積提取出的淺層結果進行特徵融合。
Related Work
第一部分主要介紹了SR這個領域中深度學習的方法,此處僅列出粗淺結構特性,建議大家通過網絡名稱去查詢原論文
1. 具有代表性的解決 SR 問題的DL方法
- 1.1 SRCNN 端到端映射
- 1.2 VDSR IRCNN 堆疊stack 殘差卷積層 增加網絡深度
- 1.3 DRCN 遞歸學習
- 1.4 DRRN (Recusive block)遞歸塊
- 1.5 Memnet (Memory block)記憶塊
以上的網絡均需要在網絡輸入時對其插值(resize操作),這對圖片本身的信息就有了損失且增加了計算量,最終難以建立低清晰度與高清晰度圖片之間的映射。
2. 爲了解決上述問題,另外一類DL方法:
- 2.1 使用反捲積網絡進行 upsample
- 2.2 PCN sub-pixel卷積層 upscale
- 2.3 SRResNet EDSR sub-pixel + residual block
第二類網路由於使用了反捲積或者sub-pixel卷積,均不可以做到實時的圖片超分辨率,甚至不可以建立大型的網絡
3.爲了解決上述問題:
- 3.1 堆疊建立殘差卷積層的網絡可以使用最後一層特徵來進行放大
第二部分主要介紹RDN網絡相關的工作
1. DenseNet
- 1.1 DenseNet 使得任意兩個卷積層之間的結果進行連接,使得更多的信息被保留
- 1.2 Dense connection 被運用於 DensetNet, SRDenseNet, MemNet, RDN
總結
上述工作均取得了不錯的效果,但是要用上全部層級特徵的問題,還是看我們提出的RDN (筆者:挺搞笑的)
Residual Denset Network for Image Super Resolution
文章縮寫過多,使用Main Abbreviation table列舉
Abbreviation | Full name | Meaning |
---|---|---|
RDN | Residual Dense Network | 密集殘差網絡 |
RDB | Residual Dense Block | 密集殘差塊 |
SR | Super Resolution | 超分辨率 |
LR | Low Resolution | 低分辨率 |
HR | High Resolution | 高分辨率 |
LFF | Local Feature Fusion | 局部特徵融合 |
LRL | Local Residual Learning | 局部殘差學習 |
CM | contiguous memory | 連續記憶 |
SFE | Shallow Feature Extraction | 淺層特徵抽取 |
GFF | Global Feature Fusion | 全局特徵融合 |
GRL | Global Residual Learning | 全局殘差學習 |
DFF | Dense Feature Fusion | 密集特徵融合 |
UPNet | Up-sampling net | 超採樣網絡 |
Main notation table
Notation | Meaning | Explaination |
---|---|---|
Image with Low Resolution | 低清晰度圖片(輸入) | |
Image with High Resolution | 高清晰度圖片(輸出) | |
Output of SFE layer1 | 淺層卷積第一層輸出 | |
Output of SFE layer2 | 淺層卷積第二層輸出 | |
Function of something | 某某結構的功能 | |
Activation Function | 激活函數 |
Network Structure
RDN網絡由4部分組成:
- 1.淺層特徵抽取網絡(Shallow feature extraction net(SFENet)) 指上圖中左側藍色兩個卷積層,提取淺層特徵。
- 2.多個密集殘差塊(Residual Dense Blocks (RDBs)) 指上圖中中間部分 個RDB.
- 3.密集特徵融合(Dense Feature Fusion(DFF))
- 3.1 Local Feature Fusion(LFF) 指個RDB輸出結果Concate之後經過1*1 Conv 與Conv layer之後得出的過程
- 3.2 Global Feature Fusion(GFF) 指LFF的結果與淺層卷積的中間結果結合得出的過程
- 4.升採樣網絡(Up-sample Net (UPNet)) 圖中紫色塊 Upscale的架構,主要用到了Related Work中的反捲積網絡
上述架構會在下文詳細介紹:
Shallow Feature Extraction Net:
其中:
- 代表了低清晰度圖片輸入
- 代表了SFENet第一層, 第二層卷積
- 分別代表了兩層卷積之後的輸出結果
Multiple Residual Dense Blocks:
其中:
- 代表第個RDB, 其結果是前個RDB的計算結果,的輸入就是 SFENet的輸出結果
- 每兩個RDB之間可以通過激活函數,文中用的是ReLU
- , 均是每個對應RDB 內部 Local Feature Fusion與Local Residual Learning之後的結果!,具體會在 RDB中解釋
Dense Feature Fusion:
其中:
- Dense Feature Fusion包含了 Dense Feature Learning 與 Global Feature Fusion
- 是淺層卷積第一層輸出的feature (Dense Feature Learning)
- 分別代表了個RDB輸出的結果 (Global Feature Fusion)
- 代表了Dense Feature Fusion功能
這樣就結合起了 最淺層的特徵,以及層級抽取的特徵,擁有了最全的圖像信息
Summarize:
描述了整個網絡的功能即是將低分辨率圖像生成出高分辨率圖像
Residual Dense Block
RDB結構中包含:
- 局部特徵融合(Local Feature Fusion(LFF))
- 局部殘差學習(Local Residual Learning)
- 連續記憶機制(contiguous memory(CM) mechanism)
Contiguous memory
在一個RDB中,有多個卷積層,對於第個卷積層的輸出爲:
其中:
- 代表的是第個RDB中第個卷積操作 注意:爲了更簡潔的網絡,原文中每個weights對應的都取消了bias
- 代表第個RDB的輸出
- 代表前個卷積的輸出,全部dense connect。
Contiguous memory 意思就是dense connection,連續的連接保證了連續的低級高級信息存儲和記憶,每一個RDB模塊的輸出結果,concate上一個RDB模塊的輸出,以及所有的卷積層之間的信息,其包含local feature極其豐富,也包含了層級信息,保證了信息不丟失。
Local Feature Fusion
對第個 RDB來說:
其中:
- 代表第個RDB的輸出
- 代表該RDB內部所有個卷積層輸出
- 將以上信息通過融合 則得到
Local Residual Learning
對第個RDB來說:
就是將公式7 LFF的結果與上一個RDB的輸出結果進行skip connection也就是殘差鏈接。整合了上一層RDB輸出信息與當前RDB結合的feature,保證了層級信息與信息不被丟失。
Dense Feature Fusion
通過RDBs 抽取除了足夠多了 Local Dense Features之後,進行全局信息整合,具體包含兩步:
- 全局特徵融合 (Global Feature Fusion(GFF))
- 全局殘差學習 (Global Residual Learning(GRL))
Global Feature Fusion
其中:
- 代表了個RDB的輸出結果concat起來
- 代表了Fig.2中中間部分的11 Conv與 33 Conv兩層,抽取出更高層的特徵。
Global Residual Learning
就是將淺層特徵與最高層的全局融合特徵再進行了殘差連接
得到了,最後將這些特徵送入Upscaler,最終得到放大後的圖片輸出。
Implementation Details
- LFF 與 GFF中的兩個卷積 kernel size 1*1,其他所有的卷積核size均爲3 * 3.
- 每一層之間不同於傳統的Residual Block,取消了Batch Normalization
- 不再使用pooling layers
Experiments
實驗此處不再贅述。有興趣直接去看原論文吧
代碼:https://github.com/yulunzhang/RDN.
主要數據集: DIV2K, Set5, Set14, B100, Urban100, Manga109
Ablation Study
通過對模型不同模塊的缺省和性能分析,可以看出每一個模塊和連接均對性能有了不同程度的提升。
CaseStudy
Conclusion
- 文章將 MemNet中對記憶機制運用到dense connection與feature fusion的特徵通過上
- 文章將residual connect 與 dense connect進行了結合,從loca,global等多個角度均體現了dense, residual的思想,極大程度的保證了信息的全面性與層級性,保證多層級特徵不被丟失,取得最佳的效果。