这篇文章总结分析了ResNet 和DenseNet的优缺点,并将其结合,提出了新的结构ResidualDenseNet。文章中对ResNet 和DenseNet以及MemNet都进行了简单的对比分析。四篇原文都放在下面。
参考文档:
RDN:https://arxiv.org/pdf/1802.08797v2.pdf
ResNet:https://arxiv.org/pdf/1512.03385.pdf
DenseNet:https://arxiv.org/pdf/1608.06993.pdf
MemNet:https://arxiv.org/pdf/1708.02209.pdf

RDN:Residual Dense Network for Image Super-Resolution

  • Abstract
  • 1 Introduction
  • 2 Method
    • 2.1 Overview
    • 2.2 RDBs
    • 2.3 DFF
  • 3 Difference to DenseNet/SRDenseNet/MemNet
    • 3.1 Difference to DenseNet
    • 3.2 Difference to SRDenseNet
    • 3.3 Difference to MemNet
  • 4 Experiments
  • 5 Conclusions

Abstract

作者对比现有的论文发现大多数基于深度CNN的SR模型没有充分利用原始低分辨率(LR)图像的层次特征,从而网络的性能相对较低。针对这个问题,作者提出了一种新的残差密集网络(RDN),能充分利用所有卷积层的层次特征,来解决图像SR中的这个问题。
作者提出了残差密集块(RDB)来通过密集连接的卷积层提取丰富的局部特征。网络整体结构:

  1. RDB块通过skip-connection把先前的RDB块状态直接连接到当前RDB块的所有卷积层,从而形成连续内存(CM)机制
  2. 利用RDB中的局部特征融合,把先前和当前的局部特征通过 自适应地方式学习更有效的融合,从而稳定更广泛网络的训练。
  3. 充分获取块内的局部特征后,再使用全局特征融合,以整体的方式联合 自适应地学习全局层次特征。

作者使用不同的方式来下采样获得LR图像(退化模型),增加实验的难度。最终证明RDN模型相对于最先进的方法取得了最优的性能。

这篇文章讲的非常细化,对很多简单的结构都取了一个名字,所以文章中有非常多的新结构名称。其实不用担心,就把名字当成它的功能就可,很好理解。作者提出新的结构名称也是为了在实验中做对比时可以更方便的阐述。

1 Introduction

这篇文章的主要贡献有三个方面:

  1. 提出了一个统一的框架残差密集网络(RDN),用于重建对应不同退化模型的高质量图像SR。该网络充分利用了原始LR图像的所有层次特征
  2. 提出了残差密集块(RDB),不仅可以通过连续存储(CM)机制从先前的RDB读取状态,还可以通过局部密集连接充分利用其中的所有层。然后通过**局部特征融合(LFF)**自适应地保留累积的特征。
  3. 提出了全局特征融合(GFF),以自适应地融合LR空间中所有RDB的分层特征。通过全局残差学习,将浅层特征和深层特征结合起来,从原始LR图像中获得全局密集特征。

起因: 随着网络深度的增长,每个卷积层中的特征将具有不同的感受野,以往的方法忽略了充分利用每个卷积层的信息,网络的层次特征为图像重建提供更多线索。
结果: 为了解决以上问题,作者提出了残差密集网络(RDN),以充分利用原始LR图像中的所有层次特征。对于一个非常深的网络来说,直接提取LR空间中每个卷积层的输出既困难又不切实际。所以提出了残差密集块(RDB)作为RDN的构建模块。通过RDB提取多层次局部密集特征后,进一步进行全局特征融合(GFF),以全局方式自适应地保留层次特征。
过程: 每一个RDB都包含密集连接层和局部特征融合(LFF)和局部残差学习(LRL)。

  1. RDB支持块间的连续存储。一个RDB的输出可以直接传输到下一个RDB的每一层,传递需要保留的信息,从而产生连续的状态传递。
  2. LFF将前一个RDB和当前RDB中所有状态连接起来,通过自适应地方式保留信息,来提取局部稠密特征。

总结: 先局部多次提取特征,将之融合;再把多个局部特征融合;再重建图像。over。

2 Method


下面由总到分的结构来讲解RDN模型。

2.1 Overview

看上图2,RDN网络主要由四部分组成:SFENet - RDBs - DFF - UPNet。分别是浅层特征提取网络(SFENet)、残差密集块(RDB)、密集特征融合(DFF)、上采样网络(UPNet)。RDBs里包含:RDB - LFF - LRL。分别是残差密集块、局部特征融合、局部残差学习。DFF里包含:GFF - GRL,分别是全局特征融合和全局残差学习。(全局和局部特征融合、残差学习结构是一样的)。UPNet采用的是ESPCN中提出的亚像素卷积
输入和输出分别记作 I L R I_{LR} ILR​和 I S R I_{SR} ISR​。

浅层特征提取(SFENet): 使用两个Conv层来提取浅层特征。
其中 H S F E 1 ( ⋅ ) H_{SFE1}(\cdot) HSFE1​(⋅)表示第一次浅层特征提取卷积运算。 H S F E 2 ( ⋅ ) H_{SFE2}(\cdot) HSFE2​(⋅)表示第二次浅层特征提取层的卷积运算。
F − 1 F_{−1} F−1​还会用于进一步的浅层特征提取得到 F 0 F_0 F0​和用于后面的全局残差学习。 F 0 F_0 F0​用作残差密集层的输入。
F − 1 = H S F E 1 ( I L R ) , (1) F_{-1} = H_{SFE1}(I_{LR}),\tag{1} F−1​=HSFE1​(ILR​),(1)
F 0 = H S F E 2 ( F − 1 ) , (2) F_0 = H_{SFE2}(F_{-1}),\tag{2} F0​=HSFE2​(F−1​),(2)

残差密集块(RDBs):
假设有D个残差密集块,第d个RDB的输出 F d F_d Fd​可以表示为
F d = H R D B , d ( F d − 1 ) = H R D B , d ( H R D B , d − 1 ( ⋯ ( H R D B , 1 ( F 0 ) ) ⋯ ) ) , (3) \begin{aligned} F_d&= H_{RDB,d}(F_{d-1})\\ &=H_{RDB,d}(H_{RDB,d-1}(\cdots( H_{RDB,1}(F_0))\cdots)),\tag{3} \end{aligned} Fd​​=HRDB,d​(Fd−1​)=HRDB,d​(HRDB,d−1​(⋯(HRDB,1​(F0​))⋯)),​(3)
其中, H R D B , d H_{RDB,d} HRDB,d​表示第d个RDB的运算。H_{RDB,d}是卷积和校正线性单元(ReLU)等运算的复合函数。由于 F d F_d Fd​是由第d个RDB充分利用块内的每个卷积层生成的,因此可以将 F d F_d Fd​视为局部特征。
这部分会在2.2中详细介绍。

密集特征融合(DFF):
在用一组D个RDBs提取层次特征后,进一步进行密集特征融合(DFF),包括全局特征融合(GFF)和全局残差学习(GRL)。DFF充分利用了前面所有层的特性。这部分会在2.3中详细介绍。 F D F F_{DF} FDF​是DFF模块复合函数 H D F F H_{DFF} HDFF​的输出特征映射。可以表示为
F D F = H D F F ( F − 1 , F 0 , F 1 , ⋯ , F D ) , (4) F_{DF} = H_{DFF}(F_{-1},F_0, F_1,\cdots,F_D),\tag{4} FDF​=HDFF​(F−1​,F0​,F1​,⋯,FD​),(4)

上采样网络:
在LR空间中提取局部和全局特征并融合后得到 F D F F_{DF} FDF​,作为向上采样网络(UPNet)的输入。
UPNet中使用ESPCN,然后接一个Conv层。
ESPCN结构可以参看这篇博客:超分之ESPCN。

RDN网络整体 可以表示为: ( H R D N H_{RDN} HRDN​代表整个RDN网络的功能。)
I S R = H R D N ( I L R ) , (5) I_{SR} = H_{RDN}(I_{LR}),\tag{5} ISR​=HRDN​(ILR​),(5)

2.2 RDBs

该部分是本篇文章的重点。RDB包含密集连接层、局部特征融合(LFF)和局残差学习(LRL),从而形成了连续存储(CM)机制。

密集连接层:
连续存储机制是指前一个RDB的状态信息能够传递给当前RDB的每一层卷积。上图中红色的弧线部分。
用 F d − 1 F_{d−1} Fd−1​和 F d F_d Fd​分别表示第d个RDB的输入和输出。第d个 RDB的第c层卷积的输出可以表示为 :
F d , c = σ ( W d , c [ F d − 1 , F d , 1 , ⋯ , F d , c − 1 ] ) , (6) F_{d,c} = \sigma(W_{d,c}[F_{d-1},F_{d,1},\cdots,F_{d,c-1}]),\tag{6} Fd,c​=σ(Wd,c​[Fd−1​,Fd,1​,⋯,Fd,c−1​]),(6)
其中 σ σ σ表示ReLU激活函数。 W d , c W_{d,c} Wd,c​是第c个Conv层的权重,这里省略了偏置项。 [ F d − 1 , F d , 1 , ⋯ , F d , c − 1 ] [F_{d-1},F_{d,1},\cdots,F_{d,c-1}] [Fd−1​,Fd,1​,⋯,Fd,c−1​]指第d-1个RDB输出和第d个RDB的1到c-1层卷积层输出特征映射拼接。前一个RDB和该RDB的每一卷积层的输出都直接连接到所有后续层,这不仅保留了前馈特性,还提取了局部密集特征。
这里要说一下 F d , c F_{d,c} Fd,c​表示该RDB中第c个卷积层输出,而 F d , C F_{d,C} Fd,C​表示该RDB中密集连接层的最后一个卷积层输出。
假设每一个RDB都输出G0个特征映射、 F d , c F_{d,c} Fd,c​增长率为G,那么该处拼接后有 G 0 + ( c − 1 ) × G \bm{G_0 + (c-1)\times G} G0​+(c−1)×G个特征映射。

局部特征融合(LFF):
经过密集连接层拼接后,共有 G 0 + ( c − 1 ) × G G_0 + (c-1)\times G G0​+(c−1)×G个 特征映射,如果不控制数量,经过多层RDB后特征维度将会是灾难性的,网络将难以训练。因此作者提出了局部特征融合,使用自适应的方式来融合得到的特征映射,使每个RDB输出映射固定在G0。
使用了1×1卷积层来自适应控制输出信息。公式如下:
F d , L F = H L F F d ( [ F d − 1 , F d , 1 , ⋯ , F d , c , ⋯ , F d , C ] ) (7) F_{d,LF} = H^d_{LFF}([F_{d-1},F_{d,1},\cdots,F_{d,c},\cdots,F_{d,C}]) \tag{7} Fd,LF​=HLFFd​([Fd−1​,Fd,1​,⋯,Fd,c​,⋯,Fd,C​])(7)
H L F F d H^d_{LFF} HLFFd​表示第d个RDB中1×1 Conv层的功能。
LFF能够稳定训练更广泛的网络,所以网络可以使用非常高的增长率G。

局部残差学习(LRL):
LRL的目的是为了进一步改善信息流。第d个RDB的最终输出表示为:
F − d = F d − 1 + F d , L F (8) F-d = F_{d-1} + F_{d,LF} \tag{8} F−d=Fd−1​+Fd,LF​(8)

这一步简单来说就是把上一个RDB输出和这个块特征融合后的结果相加
实验部分作者会对比有无LRL模块对性能的影响。证明了该模块可以进一步提高网络表示能力,从而获得更好的性能。

2.3 DFF

局部特征融合和残差学习是放在每个RDB内对局部信息进行整合,而DFF是对得到的每个RDB特征进行特征融合和残差学习,以全局方式利用层次特征。一个由小到大的过程。DFF包含:全局特征融合(GFF)全局残差学习(GRL)

全局特征融合(GFF):
通过融合所有RDB的特征(D个)来提取全局特征 F G F F_{GF} FGF​
F G F = H G F F [ F 1 , ⋯ , F D ] (9) F_{GF}= H_{GFF}[F_1,\cdots,F_D] \tag{9} FGF​=HGFF​[F1​,⋯,FD​](9)
其中 [ F 1 , ⋯ , F D ] [F_1,\cdots,F_D] [F1​,⋯,FD​]是指将第1到D个RDB生成的特征图的串联。 H G F H_{GF} HGF​是1×1和3×3卷积的复合函数。
1×1卷积层用于自适应地融合一系列不同级别的特征。3×3卷积层用以进一步提取用于全局残差学习的特征。

全局残差学习(GRL):
将最初的浅层特征 F − 1 F_{-1} F−1​ 和全局融合后的特征相加,进一步增强图像信息,减少信息丢失。
F D F = F − 1 + F G F (10) F_{DF} = F_{-1} + F_{GF}\tag{10} FDF​=F−1​+FGF​(10)

3 Difference to DenseNet/SRDenseNet/MemNet

作者的灵感来自于这些网络,又做了很多改进和整合,下面分别对这些网络做一个对比。

3.1 Difference to DenseNet

受DenseNet的启发,作者将局部稠密连接引入RDN结构中。

  1. 一般来说,DenseNet广泛用于高级计算机视觉任务(例如,目标识别)。而RDN是为图像SR这种简单任务设计的。因此去掉了批处理规范化(BN)层,减轻了GPU内存消耗,减小了计算复杂度,并提升了网络性能。
  2. 在DenseNe中,两个相邻密集区块之间使用过渡层。而在RDN中,密集连接层输出与局部特征融合输出(LFF)的结合方式是使用局部残差学习(LRL),这在实验中证明是非常有效的。
  3. 最后,采用全局特征融合来充分利用DenseNet中忽略的层次特征。

3.2 Difference to SRDenseNet

SRDenseNet和RDN之间主要有三个区别。

  1. 第一个是基本架构块的设计不同。本文的残差密集块(RDB)从三个方面做了改进:
    1). 引入了连续存储(CM)机制,它允许前面RDB的状态直接访问当前RDB的每一层。
    2). 通过使用局部特征融合(LFF),RDB允许更大的增长率,从而能够更稳定地训练深度网络。
    3). 局部残差学习(LRL)被用于RDB,以进一步优化信息流和梯度。
  2. 第二个不同是RDB之间没有紧密的连接。相反,RDB使用全局特征融合(GFF)和全局残差学习来提取全局特征,因为具有连续内存的RDB已经完整的提取了局部特征。
  3. 第三种个不同是SRDenseNet使用L2损失函数。然而,RDN使用了L1损失函数,L1损失函数已被证实了对性能具有更强大的收敛性。

3.3 Difference to MemNet

  1. 损失函数不同。MemNet中使用的L2损失函数,而RDN使用了L1损失函数。
  2. MemNet需要使用双三次插值将原始LR图像采样到所需大小。该过程导致后续都在HR空间中进行特征提取和重建。而,RDN从原始LR图像中提取层次特征,显著降低了计算复杂度,提高了性能。
  3. MemNet中的内存块包含递归和门单元。一个递归单元中的大多数层都不会从它们前面的层或内存块接收信息。而在RDN中,RDB的输出可以直接访问下一个RDB的每一层,每个卷积层的信息也会流入该RDB中的所有后续层。此外,RDB中的局部残差学习改善了信息流、梯度和性能。(块内)
  4. MemNet的当前内存块没有充分利用前一块及其层的输出信息。尽管MemNet在HR空间中采用了密集的内存块连接,但MemNet无法从原始LR输入中完全提取分层特征。而在RDN在使用RDB提取局部密集特征后,在LR空间中以全局方式进一步融合来自整个前一层的层次特征。(块间)

4 Experiments

实验设置:

  1. 除了局部和全局特征融合中的卷积层大小为1×1外,所有卷积层的大小都设置为3×3。对于内核大小为3×3的卷积层,输入的每侧填充零以保持大小不变。
  2. 浅层特征提取层、局部和全局特征融合层具有G0=64个卷积核。
  3. 每个RDB中的其他层都有G个卷积核,后面接激活函数ReLU。
  4. UPNet使用ESPCN将粗略分辨率特征升级为精细分辨率特征。
  5. 最后一个Conv层有3个输出通道。当然,该网络也可以处理灰度图像(1通道)。

batch:16
patch size:32×32
图像增强:随机水平或垂直翻转并旋转90°
每个epoch:1,000 iterations
optimizer:Adam
学习速率所有层初始化为 1 0 − 4 10^{-4} 10−4,每200个epochs减少一半。

training:使用800张DIV2K训练图像训练所有模型,并在训练过程中使用5张验证图像。
testing:使用了五个标准基准数据集:Set5、Set14、B100、Urban100和Manga109。
在变换后的YCbCr空间的Y通道(即亮度)上,使用PSNR和SSIM评估SR结果。

作者使用三种方式获取低分辨率图像(退化模型),以获取不同难度的实验。

  1. BI: 双三次下采样。模拟比例因子为×2、×3和×4的LR图像。
  2. BD: 用7×7的高斯核对HR图像进行模糊,标准偏差为1.6。然后用比例因子×3对模糊图像进行下采样。
  3. DN: 使用比例因子×3对HR图像进行双三次下采样,然后添加噪声级为30的高斯噪声。
    在三种退化模型下,RDN网络都可以抑制了模糊伪影,恢复更清晰的边缘。对于DN退化模型,LR图像被噪声破坏并丢失一些细节。其他模型难以恢复被噪声污染的细节,而RDN不仅可以有效地处理噪声,还可以恢复更多细节。
    这种比较表明,RDN适用于联合图像去噪和SR。证明了RDN模型的有效性和鲁棒性。
    具体的实验数据和图像对比参看论文。

实验中作者还比较了三个参数对模型的影响:(D、C、G)
RDB的数量(简称D)、每个RDB的Conv层数量(简称C)和增长率(简称G)。
C、D越大,性能越好,这主要是因为D或C越大,网络越深。
更大的G有助于提高性能,由于RDN提出了LFF来控制特征数量,所以可以使用更大的G。
最重要的是,RDN允许更深更广的网络,从中提取更多层次特征以获得更高的性能。

5 Conclusions

在本文中,提出了一种用于图像SR的超深残差密集网络(RDN),其中残差密集块(RDB)作为基本构建模块。充分利用了原始LR图像的所有层次特征。。
总体的结构简单来说就是:局部多次提取特征并融合,再对提取出的多个局部特征融合,再重建图像。
可以拆分为两步看,局部(单个RDB内)和全局(RDB之间)。

  1. 提出了残差密集块(RDB),在每个RDB中,通过密集连接充分利用其中的所有层信息。局部特征融合(LFF)不仅可以稳定训练网络,还可以自适应地控制当前和之前RDB中信息的保存。RDB还允许在前面的RDB和当前块的每一层之间直接连接,从而形成连续存储(CM)机制。局部残差学习(LRL)进一步改善了信息流和梯度。
  2. 还提出了全局特征融合(GFF)来提取LR空间中的层次特征。通过充分利用局部和全局特征,RDN实现了密集的特征融合和深度监控。

作者在实验中使用相同的RDN结构来处理三个退化模型和现实世界的数据。广泛的基准评估很好地证明了RDN比其他的方法具有优势。


附上一些CSDN常用的颜色(颜色表)(非专业,颜色写错勿怪)
color=maroon 暗红色
color=grey 灰色
color=silver 淡灰色
color=lightgrey 更淡灰色
color=HotPink 亮粉色(荧光粉)
color=DeepPink 深粉色
color=VioletRed 梅紫色
color=Purple 深紫色
color=navy 墨蓝色
color=Blue 克莱茵兰
color=DeepSkyBlue 天蓝色
color=LightSkyBlue 淡蓝色
color=aqua 荧光蓝
color=DarkTurquoise 青色(蓝绿)
color=LightSeaGreen 深青色
color=YellowGreen 黄绿
color=LawnGreen 荧光黄绿
color=GreenYellow 更淡的荧光黄绿
color=Yellow 荧光黄(荧光黄)
color=Tomato 枫叶红
color=red 大红
color=fuchsia 玫红
color=MediumOrchid 紫色


最后祝大家科研顺利,身体健康,万事胜意~

超分算法RDN:Residual Dense Network for Image Super-Resolution 超分辨率图像重建相关推荐

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

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

  2. 图像超分算法SRLUT: Practical Single-Image Super-Resolution Using Look-Up Table图像超分辨率重建

    这篇文章是首次将查表法引入SR领域.将SR网络训练好的缩放像素值存在表中,在测试阶段只需要在表中查找对应值,就能完成图像重建任务.由于该方法不需要大量的浮点运算,因此可以非常快速地执行. 原文链接:S ...

  3. 图像超分算法小合集二:FSRCNN、DRCN、RDN、EDSR

    目录 FSRCNN DRCN RDN EDSR 文章: FSRCNN : Accelerating the Super-Resolution Convolutional Neural Network ...

  4. 【图像复原】RDN论文详解(Residual Dense Network for Image Restoration)

    这是CVPR2018的一篇文章,提出了针对图像复原任务的CNN模型RDN(residual dense network). RDN主要是提出了网络结构RDB(residual dense blocks ...

  5. AliSSR 语音超分算法:让在线会议语音更明亮更自然

    超分让在线会议语音更明亮,在线会议已成为日常工作中较为普遍的沟通交流方式,接入会议的方式也呈现多样化,比如电脑入会.手机入会又或是电话入会. 雪雅.曜辰|作者 众所周知,高采样率且高带宽的音频信号富含 ...

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

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

  7. 可生成高清视频的Stable Diffusion来了!分辨率提升4倍,超分算法来自腾讯,支持Colab在线试玩...

    明敏 发自 凹非寺 来源 | 量子位 QbitAI 免费玩的Stable diffusion,又出新变种了! 古典人像丝滑切换,还都是4倍超分辨率水平,细节也就多了亿点点吧,眉毛发丝都根根分明. 还能 ...

  8. 突破网络和屏幕的限制,超分算法让图片和视频秒变清晰

    如上图,从100x133pix→400x532pix,除了肉眼可见的清晰,拥有可以将分辨率提升400%的技术到底意味着什么? 它意味着: 老照片.老电影.动漫等画质可快速提升,分辨率自由调节 产业算法 ...

  9. 超分算法DRCN:Deeply-Recursive Convolutional Network for Image Super-Resolution超分辨率重建

    DRCN:Deeply-Recursive Convolutional Network for Image Super-Resolution Abstract 1 Introduction 2 Met ...

最新文章

  1. 2019秦皇岛ccpc A题:Angle Beats[计算几何:统计符合直角三角形的个数]+[向量hash+3hash]
  2. python如何调用图片-python调用图片
  3. C++类继承时的作用域嵌套,破解C++继承的一切秘密
  4. python+selenium中webdriver相关资源
  5. DotNetCore跨平台~xUnit和测试报告
  6. [react] 请说说react中Portal是什么?
  7. PyTorch 1.0 中文官方教程:用例子学习 PyTorch
  8. mongodb java驱动_Java操作MongoDB之mongodb-driver(一)
  9. SpringMVC+Vue项目班级管理系统
  10. 高斯过程、高斯过程回归、克里金模型
  11. easyui datagrid checkbox使用
  12. 人工智能导论测试题——第六章 进化智能与群体智能(2)
  13. nRF 协议栈操作相关
  14. android 免root冻结,自冻FreezeYou(超强免ROOT冻结神器)
  15. PHP7+MySql开发的视频点播程序,知识付费系统
  16. Ethereum开发
  17. windows下实现屏幕分享(C#)
  18. 使用mysqldumpslow和mysqlsla分析mysql慢查询日志
  19. 二次元属性被稀释,B站还剩什么?| 数据获取
  20. 犀牛书第七版学习笔记:let、const和 var 声明与赋值

热门文章

  1. 好像还挺好玩的GAN8——SRGAN实现图像的分辨率提升
  2. 加班的程序员:996 没有未来
  3. IDEA配置优化,idea配置大全
  4. 《Android Studio开发实战》学习(五) - 截图
  5. Android 底部导航栏 BottomNavigationBar
  6. 遥感在计算机领域的应用,浅谈遥感技术在测绘领域发展应用.doc
  7. WPS文字表格外计算功能配合书签使用公式轻松实现
  8. 五大内存分区,堆与栈的区别
  9. python绑定按键pageup键_键盘事件keydown、keypress、keyup随笔整理总结(摘抄)
  10. Mac Google浏览器出现:您目前无法访问 XX.XX.XX.XX,因为此网站发送了 Google Chrome 无法处理的杂乱凭据