Residual Dense Network for Image Super-Resolution
Abstract
- 深层CNN拥有提取多层次的特征(低维,高维特征)的能力,但多数基于CNN的超分辨率模型不能完全利用这些特征。
- (Residual Dense Network) RDN网络可以解决上述问题,充分利用提取出的多层次信息。
- RDN网络中的密集连接 Residual dense block(RDB)抽取足够多的局部特征,通过连续记忆机制(contiguous memory(CM)),链接至所有当前RBD的卷积操作(Dense)。
- RDB抽取出的局部特征会通过 1*1的卷积来减少多余特征并进行再学习
- 局部特征抽取完毕之后,RDN网络会将多个RDB结构的输出以及浅层特征进行全局特征结合。
- 上述网络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,希望能够保存底层,浅层的特征
- 上述方法1,2不能保证完整使用层级特征(Abstract 1)方法3长期记忆机制并不能直接链接特征,因此也很难利用全部特征。
- 层级特征会更完善的表征图像,从大小,视图,角度等方面,但很多网络拒绝这么做。XXXX的网络有XXXX不好
- RDN网络可以通过RDB运用全部的层次特征(Abstract 2)
- 5.1 RDB中通过密集残差链接 通过局部残差学习(Local Residual Learning(LRL))得到Local Feature Fusion(LFL),RDB之间支持连续学习机制
- 5.2 LFL允许大量的特征进入并动态过滤出有效的结果,这为网络学习的稳定性提供了很好的保证
- 5.3 局部特征融合(LFF)完成之后,网络会进行全局特征融合(Global Feature Fusion(GFF)),将每一个RDB的输出结果与最初的卷积提取出的浅层结果进行特征融合。
Realted 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部分组成:
[图片上传失败...(image-7189b0-1559301171397)]
- 浅层特征抽取网络(Shallow feature extraction net(SFENet)) 指上图中左侧蓝色两个卷积层,提取浅层特征。
- 多个密集残差块(Residual Dense Blocks (RDBs)) 指上图中中间部分 个RDB.
- 密集特征融合(Dense Feature Fusion(DFF))
- 3.1 Local Feature Fusion(LFF) 指个RDB输出结果Concate之后经过1*1 Conv 与Conv layer之后得出的过程
- 3.2 Global Feature Fusion(GFF) 指LFF的结果与浅层卷积的中间结果结合得出的过程
- 升采样网络(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
[图片上传失败...(image-2bab10-1559301171397)]
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
[图片上传失败...(image-bbc41b-1559301171397)]
通过对模型不同模块的缺省和性能分析,可以看出每一个模块和连接均对性能有了不同程度的提升。
CaseStudy
[图片上传失败...(image-b528ea-1559301171397)]
Conclusion
- 文章将 MemNet中对记忆机制运用到dense connection与feature fusion的特征通过上
- 文章将residual connect 与 dense connect进行了结合,从loca,global等多个角度均体现了dense, residual的思想,极大程度的保证了信息的全面性与层级性,保证多层级特征不被丢失,取得最佳的效果。
网友评论