【超分辨率】RDN论文详解(Residual Dense Network for Image Restoration)

【超分辨率】RDN论文详解(Residual Dense Network for Image Restoration)这是CVPR2018的一篇文章,提出了针对图像复原任务的CNN模型RDN(residualdensenetwork)。RDN主要是提出了网络结构RDB(residualdenseblocks),它本质上就是残差网络结构与密集网络结构的结合。1.残差网络(resnet)与密集网络(densenet)1.残差网络结构残差网络结构:在输入与输出之间引入一个前向反馈的shor…

大家好,又见面了,我是你们的朋友全栈君。

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

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

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

【超分辨率】RDN论文详解(Residual Dense Network for Image Restoration)

1.残差网络结构

  • 残差网络结构:在输入与输出之间引入一个前向反馈的shortcut connection,这有点类似与电路中的“短路”,即所谓的identity mapping(恒等映射y=x)。原本的网络是学习输入到输出的映射H(x),而残差网络学习的是F(x)=H(x)−x。
    残差学习有效缓解了随着网络深度增加引发的梯度消失的现象。使得提高网络深度,还能保持很好性能与效率。
    残差学习很适合做图像复原,因为低质图像与高质图像之间相似度很高,而他们的残差其实很稀疏,简单理解残差学习另网络需要学习的东西变少了。
    关于残差网络(resnet)的详解见我的另一篇文章:https://www.jianshu.com/p/11f1a979b384
    【超分辨率】RDN论文详解(Residual Dense Network for Image Restoration)

    2.密集网络结构

  • 相比resnet,densenet提出更激进的密集连接机制,即每个层都会接受前面所有层作为额外的输入。
    ResNet是每个层与前面的某层(一般2~3层)短路连接在一起,连接方式是通过元素相加;
    而DenseNet是每一层与前面所有层在channel维度上连接(concat)在一起,实现特征复用。
    密集连接有效缓解了梯度消失问题,加强特征传播,鼓励特征复用,减少了参数量。

2.RDN网络结构

【超分辨率】RDN论文详解(Residual Dense Network for Image Restoration)

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)

【超分辨率】RDN论文详解(Residual Dense Network for Image Restoration)

4.RDB的由来

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

【超分辨率】RDN论文详解(Residual Dense Network for Image Restoration)

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)

【超分辨率】RDN论文详解(Residual Dense Network for Image Restoration)

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. 超分网络性能对比图:

【超分辨率】RDN论文详解(Residual Dense Network for Image Restoration)

image.png

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/150449.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • MySQL的简单查询语句「建议收藏」

    MySQL的简单查询语句「建议收藏」查询:一:查询所有数据select * from Info 查所有数据select Code,Name from Info 查特定列二:根据条件查select * from Info where Code=’p001′ 一个条件查询select * from Info where Code=’p001′ and Nation=’n001′ 多条件 并关系 查询select * from Info …

  • Cocos2d Lua 越来越小样本 内存游戏

    Cocos2d Lua 越来越小样本 内存游戏

  • Linux安装PS_linux 安装命令

    Linux安装PS_linux 安装命令导读pstack命令可显示每个进程的栈跟踪。pstack命令必须由相应进程的属主或root运行。可以使用pstack来确定进程挂起的位置。此命令允许使用的唯一选项是要检查的进程的PID。实例pstree以树结构显示进程pstree-pwork|grepadsshd(22669)—bash(22670)—ad_preprocess(4551)-+-{ad_preproc…

  • Qt多线程通信

    Qt多线程通信简述:1>Qt线程间共享数据主要有两种方式:1)使用共享内存。即使用一个两个线程都能够共享的变量(如全局变量),这样两个线程都能够访问和修改该变量,从而达到共享数据的目的。2)使用singal/slot机制,把数据从一个线程传递到另外一个线程。第一种方法在各个编程语言都普遍使用,而第二种方法是QT的特有的,本文主要介绍第二种。2>

  • 移动端(手机及平板)禁止用户缩放/拖动网页

    移动端(手机及平板)禁止用户缩放/拖动网页

    2021年11月17日
  • 全部覆盖棋盘7×7_acwing题库

    全部覆盖棋盘7×7_acwing题库给定一个 N 行 N 列的棋盘,已知某些格子禁止放置。求最多能往棋盘上放多少块的长度为 2、宽度为 1 的骨牌,骨牌的边界与格线重合(骨牌占用两个格子),并且任意两张骨牌都不重叠。输入格式第一行包含两个整数 N 和 t,其中 t 为禁止放置的格子的数量。接下来 t 行每行包含两个整数 x 和 y,表示位于第 x 行第 y 列的格子禁止放置,行列数从 1 开始。输出格式输出一个整数,表示结果。数据范围1≤N≤100,0≤t≤100输出样例:8 0输出样例:32#include&l

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号