这是CVPR2018的一篇文章,提出了针对图像复原任务的CNN模型RDN(residual dense network)。

RDN主要是提出了网络结构RDB(residual dense blocks),它本质上就是残差网络结构与密集网络结构的结合。

1.残差网络(resnet)与密集网络(densenet)

1.残差网络结构

  • 残差网络结构:在输入与输出之间引入一个前向反馈的shortcut connection,这有点类似与电路中的“短路”,即所谓的identity mapping(恒等映射y=x)。原本的网络是学习输入到输出的映射H(x),而残差网络学习的是F(x)=H(x)−x。
    残差学习有效缓解了随着网络深度增加引发的梯度消失的现象。使得提高网络深度,还能保持很好性能与效率。
    残差学习很适合做图像复原,因为低质图像与高质图像之间相似度很高,而他们的残差其实很稀疏,简单理解残差学习另网络需要学习的东西变少了。
    关于残差网络(resnet)的详解见我的另一篇文章:https://www.jianshu.com/p/11f1a979b384
    2.密集网络结构
  • 相比resnet,densenet提出更激进的密集连接机制,即每个层都会接受前面所有层作为额外的输入。
    ResNet是每个层与前面的某层(一般2~3层)短路连接在一起,连接方式是通过元素相加;
    而DenseNet是每一层与前面所有层在channel维度上连接(concat)在一起,实现特征复用。
    密集连接有效缓解了梯度消失问题,加强特征传播,鼓励特征复用,减少了参数量。

2.RDN网络结构

3.图(a)为针对超分任务的RDN、图(b)为针对去噪任务的RDN

2.1 RDN包含四个模块

  • Shallow feature extraction net(SFENet)表示前两个卷积层,用于提取浅层特征
  • Residual dense blocks(RDBs)融合残差模块和密集模块,每个块还包含Local feature fusion 和Local residual learning
  • Dense feature fusion(DFF)包含Global feature fusion 和Global residual learning 两部分
  • Up-sampling net(UPNet)网络最后的上采样(超分任务需要)+卷积操作

2.2 RDB(residual dense block)

4.RDB的由来

RDB模块主要将残差模块residual block和dense block模块进行了整合,将两者集合起来,形成了residual dense block 。

5.RDB的结构

每一个RDB包含以下三个模块,如上图所示:

  • Contiguous memory:将Fd-1、Fd,1 … Fd,c、Fd,C多层的特征都在channel这一维度串接(concat)起来。
  • Local feature fusion:concat之后的1*1的卷积操作,主要用于多通道的特征融合,降维作用
  • Local residual learning::将Fd-1、Fd,LF的特征进行融合。

2.3 DFF(dense feature fusion)

6.针对去噪的RDN

如上图所示,所谓global residual learning和RDB中的local residual learning其实本质上没有不同,只不过一个是全局、一个是局部;但是有细节需要注意,global feature fusion和local feature fusion还是有不同的,因为在RDB中是每一层都接收到了之前所有层的特征,但是在RDB之外的global feature fusion只是把每一个RDB的特征串接起来。区别简单来说:全局的特征融合的短接用的更少,局部特征融合短接用的更多。

3.其他细节

  • 除了local/global feature fusion中的1*1的卷积,所有卷积核都是3 * 3的,并且通过padding,保持每一层的特征图大小不变。
  • 每一层的卷积核数量都是64。
  • 应对超分的RDN比去噪的RDN多了一个上采样层,相反去噪的RDN多了一个从LQ图像到HQ图像的短接。如图3所示。

4. 超分网络性能对比图:

image.png

这张图来自其他论文,可见复原效果较好的网络,参数往往也很多,意味着模型的复杂度更高。

【图像复原】RDN论文详解(Residual Dense Network for Image Restoration)相关推荐

  1. Residual Dense Network for Image Super-Resolution 代码详解

    Residual Dense Network for Image Super-Resolution 以下是 RND论文Tensorflow版本实现的源码解析,我假设你已经了解Python的基本语法,和 ...

  2. 【文章阅读】【超解像】--Residual Dense Network for Image Super-Resolution

    [文章阅读][超解像]–Residual Dense Network for Image Super-Resolution 论文链接:https://arxiv.org/pdf/1802.08797. ...

  3. 超分算法RDN:Residual Dense Network for Image Super-Resolution 超分辨率图像重建

    这篇文章总结分析了ResNet 和DenseNet的优缺点,并将其结合,提出了新的结构ResidualDenseNet.文章中对ResNet 和DenseNet以及MemNet都进行了简单的对比分析. ...

  4. ShuffleNetv2论文详解

    ShuffleNet v2 论文详解 近期在研究轻量级 backbone 网络,我们所熟悉和工业界能部署的网络有 MobileNet V2.ShuffleNet V2.RepVGG 等,本篇博客是对 ...

  5. KernelGAN论文详解分享

    KernelGAN- Blind Super-Resolution Kernel Estimation using an Internal-GAN论文详解 论文地址:https://arxiv.org ...

  6. GeniePath:Graph Neural Networks with Adaptive Receptive Paths 论文详解 AAAI2019

    文章目录 1 相关介绍 1.1 感受野的定义 贡献 2 图卷积网络GCN GCN.GraphSAGE.GAT Discussions 3 GeniePath 3.1 Permutation Invar ...

  7. Unsupervised Monocular Depth and Ego-motion Learning with Structure and Semantics 之论文详解

    Unsupervised Monocular Depth and Ego-motion Learning with Structure and Semantics 1.论文详解 2.问题 1.如何理解 ...

  8. YOLO v1论文详解

    YOLO v1:一体化的,实时物体检测 声明:笔者翻译论文仅为学习研究,如有侵权请联系作者删除博文,谢谢! 源论文地址:https://arxiv.org/pdf/1506.02640.pdf 注:文 ...

  9. 【GAN】二、原始GAN论文详解

    写在前面 在前面一篇文章:[GAN]一.利用keras实现DCGAN生成手写数字图像中我们利用keras实现了简单的DCGAN,并生成了手写数字图像.程序结果让我们领略了GAN的强大,接下来我们开始一 ...

最新文章

  1. MySql错误代码1045的解决方案(修改密码)
  2. could not open parameter file init**.ora
  3. 使用SQL Server分区表功能提高数据库的读写性能
  4. php静态资源服务器,Node实现静态资源服务器
  5. 典型排序算法(C语言实现)
  6. Spring集成JDBC组件开发
  7. 19电子设计速成实战宝典pdf_开发宝典丛书:Visual C++编程实战宝典PDF
  8. Linux sogou input method
  9. WinForms时代结束,报表控件FastReport.NET开启FastReport.Core.Skia 时代!
  10. 15款替代微软产品的开源软件
  11. Linux3._Linux环境基础开发工具使用
  12. 【DB笔试面试702】在Oracle中,如何定时清理INACTIVE状态的会话?
  13. PAT福尔摩斯的约会
  14. 硬盘对拷后没法启动怎么办
  15. Google在线翻译(WinForm版)
  16. Tree-Shaking原理
  17. PAT-2019年冬季考试-甲级 7-1 Good in C (20分)
  18. R语言︱SNA-社会关系网络—igraph包(中心度、中心势)(二)
  19. OrCAD导入元件原理图符号流程
  20. 使用 Engage 或 Workspace 创建 Monte Carlo 模拟的 4 个简单步骤

热门文章

  1. python3 字典遍历操作
  2. 9.进程监控(process_exporter)
  3. 【OBS-STUDIO】OBSApp: OBS入口类
  4. 沪江网校前端架构漫谈
  5. opensuse下安装网易云音乐netease-cloud-music
  6. 7-4 大炮打蚊子 (20分)__C++
  7. 计算机考研难度档,计算机考研院校报考难度排行
  8. 网页底部固定版权信息
  9. ROS进阶学习的过程
  10. php 警告提示框,js弹出对话框(消息框、警告框)