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

超分算法RDN:Residual Dense Network for Image Super-Resolution 超分辨率图像重建
这篇文章总结分析了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:Residual Dense Network for Image Super-Resolution 超分辨率图像重建
下面由总到分的结构来讲解RDN模型。

; 2.1 Overview

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

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

残差密集块(RDBs):
假设有D个残差密集块,第d个RDB的输出F d F_d F d ​可以表示为
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}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 )
其中,H R D B , d H_{RDB,d}H R D B ,d ​表示第d个RDB的运算。H_{RDB,d}是卷积和校正线性单元(ReLU)等运算的复合函数。由于F d F_d F d ​是由第d个RDB充分利用块内的每个卷积层生成的,因此可以将F d F_d F d ​视为局部特征。
这部分会在2.2中详细介绍。

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

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

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

2.2 RDBs

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

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

局部特征融合(LFF):
经过密集连接层拼接后,共有G 0 + ( c − 1 ) × G G_0 + (c-1)\times G G 0 ​+(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}F d ,L F ​=H L F F d ​([F d −1 ​,F d ,1 ​,⋯,F d ,c ​,⋯,F d ,C ​])(7 )
H L F F d H^d_{LFF}H L F F d ​表示第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 =F d −1 ​+F d ,L F ​(8 )

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

; 2.3 DFF

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

超分算法RDN:Residual Dense Network for Image Super-Resolution 超分辨率图像重建
全局特征融合(GFF):
通过融合所有RDB的特征(D个)来提取全局特征F G F F_{GF}F G F ​
F G F = H G F F [ F 1 , ⋯ , F D ] (9) F_{GF}= H_{GFF}[F_1,\cdots,F_D] \tag{9}F G F ​=H G F F ​F 1 ​,⋯,F D ​
其中[ F 1 , ⋯ , F D ] [F_1,\cdots,F_D][F 1 ​,⋯,F D ​]是指将第1到D个RDB生成的特征图的串联。H G F H_{GF}H G F ​是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}F D F ​=F −1 ​+F G F ​(1 0 )

3 Difference to DenseNet/SRDenseNet/MemNet

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

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

; 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}1 0 −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允许更深更广的网络,从中提取更多层次特征以获得更高的性能。

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

; 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 紫色

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

Original: https://blog.csdn.net/qq_45122568/article/details/124080711
Author: 暖风️
Title: 超分算法RDN:Residual Dense Network for Image Super-Resolution 超分辨率图像重建

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/688652/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球