这篇文章总结分析了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
作者对比现有的论文发现大多数基于深度CNN的SR模型没有充分利用原始低分辨率(LR)图像的层次特征
,从而网络的性能相对较低。针对这个问题,作者提出了一种新的残差密集网络(RDN),能充分利用所有卷积层的层次特征,来解决图像SR中的这个问题。
作者提出了残差密集块(RDB)来通过密集连接的卷积层提取丰富的局部特征。网络整体结构:
- RDB块通过skip-connection把先前的RDB块状态直接连接到当前RDB块的所有卷积层,从而形成连续内存(CM)机制。
- 利用RDB中的局部特征融合,把先前和当前的局部特征通过 自适应地方式学习更有效的融合,从而稳定更广泛网络的训练。
- 充分获取块内的局部特征后,再使用全局特征融合,以整体的方式联合 自适应地学习全局层次特征。
作者使用不同的方式来下采样获得LR图像(退化模型),增加实验的难度。最终证明RDN模型相对于最先进的方法取得了最优的性能。
这篇文章讲的非常细化,对很多简单的结构都取了一个名字,所以文章中有非常多的新结构名称。其实不用担心,就把名字当成它的功能就可,很好理解。作者提出新的结构名称也是为了在实验中做对比时可以更方便的阐述。
1 Introduction
这篇文章的主要贡献有三个方面:
- 提出了一个统一的框架
残差密集网络(RDN)
,用于重建对应不同退化模型的高质量图像SR。该网络充分利用了原始LR图像的所有层次特征。 - 提出了
残差密集块(RDB)
,不仅可以通过连续存储(CM)机制从先前的RDB读取状态,还可以通过局部密集连接充分利用其中的所有层。然后通过**局部特征融合(LFF)**自适应地保留累积的特征。 - 提出了
全局特征融合(GFF)
,以自适应地融合LR空间中所有RDB的分层特征。通过全局残差学习,将浅层特征和深层特征结合起来,从原始LR图像中获得全局密集特征。
起因: 随着网络深度的增长,每个卷积层中的特征将具有不同的感受野,以往的方法忽略了充分利用每个卷积层的信息,网络的层次特征为图像重建提供更多线索。
结果: 为了解决以上问题,作者提出了残差密集网络(RDN),以充分利用原始LR图像中的所有层次特征。对于一个非常深的网络来说,直接提取LR空间中每个卷积层的输出既困难又不切实际。所以提出了残差密集块(RDB)作为RDN的构建模块。通过RDB提取多层次局部密集特征后,进一步进行全局特征融合(GFF),以全局方式自适应地保留层次特征。
过程: 每一个RDB都包含密集连接层和局部特征融合(LFF)和局部残差学习(LRL)。
- RDB支持块间的连续存储。一个RDB的输出可以直接传输到下一个RDB的每一层,传递需要保留的信息,从而产生连续的状态传递。
- 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 )