【論文筆記】Residual Dense Network for Image Super-Resolution

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
ILRI_{LR} Image with Low Resolution 低清晰度圖片(輸入)
IHRI_{HR} Image with High Resolution 高清晰度圖片(輸出)
F1F_{-1} Output of SFE layer1 淺層卷積第一層輸出
F0F_{0} Output of SFE layer2 淺層卷積第二層輸出
HsthH_{sth} Function of something 某某結構的功能
σ\sigma Activation Function 激活函數

Network Structure

RDN網絡由4部分組成:

RDN 結構

  • 1.淺層特徵抽取網絡(Shallow feature extraction net(SFENet)) 指上圖中左側藍色兩個卷積層,提取淺層特徵。
  • 2.多個密集殘差塊(Residual Dense Blocks (RDBs)) 指上圖中中間部分 DD 個RDB.
  • 3.密集特徵融合(Dense Feature Fusion(DFF))
  • 3.1 Local Feature Fusion(LFF) 指DD個RDB輸出結果Concate之後經過1*1 Conv 與Conv layer之後得出FGFF_{GF}的過程
  • 3.2 Global Feature Fusion(GFF) 指LFF的結果FGFF_{GF}與淺層卷積的中間結果F1F_{-1}結合得出FDFF_{DF}的過程
  • 4.升採樣網絡(Up-sample Net (UPNet)) 圖中紫色塊 Upscale的架構,主要用到了Related Work中的反捲積網絡

上述架構會在下文詳細介紹:

Shallow Feature Extraction Net:

F1=HSFE1(ILR)(1) F_{-1} = H_{SFE1}(I_{LR}) \tag{1}

F0=HSFE2(F1)(2)F_{0} = H_{SFE2}(F_{-1}) \tag{2}
其中:

  • ILRI_{LR}代表了低清晰度圖片輸入
  • HSFE1,HSFE2H_{SFE1}, H_{SFE2}代表了SFENet第一層, 第二層卷積
  • F1,F0F_{-1}, F_{0}分別代表了兩層卷積之後的輸出結果
Multiple Residual Dense Blocks:

Fd=HRDB,d(Fd1)=HRDB,d(HRDB,d1(...(HRDB,1(F0))...))(3)\begin{aligned} F_d &= H_{RDB, d}(F_{d-1})\\ &= H_{RDB, d}(H_{RDB, d-1}(...(H_{RDB, 1}(F_0))...)) \end{aligned} \tag{3}
其中:

  • HRDB,dH_{RDB, d}代表第dd個RDB, 其結果是前d1d-1個RDB的計算結果,HRDB,1H_{RDB, 1}的輸入就是 SFENet的輸出結果F0F_0
  • 每兩個RDB之間可以通過激活函數,文中用的是ReLU
  • FdF_d, Fd1F_{d-1}均是每個對應RDB 內部 Local Feature Fusion與Local Residual Learning之後的結果!,具體會在 RDB中解釋
Dense Feature Fusion:

FDF=HDFF(F1,F0,F1,...,FD)(4) F_{DF} = H_{DFF}(F_{-1}, F_{0}, F_{1}, ... ,F_{D}) \tag{4}
其中:

  • Dense Feature Fusion包含了 Dense Feature Learning 與 Global Feature Fusion
  • F1F_{-1} 是淺層卷積第一層輸出的feature (Dense Feature Learning)
  • F0,F1,...,FDF_{0}, F_{1}, ..., F_{D}分別代表了DD個RDB輸出的結果 (Global Feature Fusion)
  • HDFFH_{DFF}代表了Dense Feature Fusion功能

這樣就結合起了 最淺層的特徵,以及DD層級抽取的特徵,擁有了最全的圖像信息

Summarize:

ISR=HRDN(ILR)(5) I_{SR} = H_{RDN}(I_{LR}) \tag{5}
描述了整個網絡的功能即是將低分辨率圖像生成出高分辨率圖像

Residual Dense Block

RDB結構

RDB結構中包含:

  • 局部特徵融合(Local Feature Fusion(LFF))
  • 局部殘差學習(Local Residual Learning)
  • 連續記憶機制(contiguous memory(CM) mechanism)

Contiguous memory

在一個RDB中,有多個卷積層,對於第cc個卷積層的輸出爲:
Fd,c=σ(Wd,c[Fd1,Fd,1,...,Fd,c1])(6)F_{d, c} = \sigma(W_{d,c}[F_{d-1}, F_{d, 1}, ..., F_{d, c-1}]) \tag{6}
其中:

  • Wd,cW_{d, c}代表的是第dd個RDB中第cc個卷積操作 注意:爲了更簡潔的網絡,原文中每個weights對應的都取消了bias
  • Fd1F_{d-1}代表第d1d-1個RDB的輸出
  • Fd,1,Fd,2,...,Fd,c1F_{d, 1}, F_{d, 2}, ..., F_{d, c-1}代表前c1c-1個卷積的輸出,全部dense connect。
Contiguous memory 意思就是dense connection,連續的連接保證了連續的低級高級信息存儲和記憶,每一個RDB模塊的輸出結果,concate上一個RDB模塊的輸出,以及所有的卷積層之間的信息,其包含local feature極其豐富,也包含了層級信息,保證了信息不丟失。

Local Feature Fusion

對第dd個 RDB來說:
Fd,LF=HLFFd([Fd1,Fd,1,...,Fd,c,...,Fd,C])(7)F_{d, LF} = H^d_{LFF}([F_{d-1}, F_{d, 1}, ..., F_{d, c}, ..., F_{d, C}]) \tag{7}
其中:

  • Fd1F_{d-1}代表第d1d-1個RDB的輸出
  • Fd,1,Fd,2,...,Fd,CF_{d, 1}, F_{d, 2}, ..., F_{d, C}代表該RDB內部所有CC個卷積層輸出
  • 將以上信息通過HLFFdH^d_{LFF}融合 則得到 Fd,LFF_{d, LF}

Local Residual Learning

對第dd個RDB來說:
Fd=Fd1+Fd,LF(8)F_d = F_{d-1}+ F_{d,LF} \tag{8}
就是將公式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

FGF=HGFF([F1,...,FD])(9)F_{GF} = H_{GFF}([F_1, ..., F_D]) \tag{9}
其中:

  • [F1,...,FD][F_1, ..., F_D] 代表了DD個RDB的輸出結果concat起來
  • GGFFG_{GFF}代表了Fig.2中中間部分的11 Conv與 33 Conv兩層,抽取出更高層的特徵。

Global Residual Learning

FDF=F1+FGF(10)F_{DF} = F_{-1} + F_{GF} \tag{10}
就是將淺層特徵與最高層的全局融合特徵再進行了殘差連接
得到了FDFF_{DF},最後將這些特徵送入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的思想,極大程度的保證了信息的全面性與層級性,保證多層級特徵不被丟失,取得最佳的效果。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章