论文笔记 |(CVPR2018)_Residual Dense Network for Image Super-Resolution
论文笔记 |(CVPR2018)_Residual Dense Network for Image Super-Resolution
论文下载:(CVPR2018)_Residual Dense Network for Image Super-Resolution
论文代码:https://github.com/yudzhang/RDN
Abstract
超深卷积神经网络最近在图像超分辨率方面取得了巨大的成功,并且提供了分层特征。然而,大多数基于CNN的深度随机共振模型没有充分利用原始LR图像的层次特征,从而获得相对较低的性能。在本文中,我们提出了一种新的残差密集网络(RDN)来解决这一问题,充分利用了所有卷积层的层次特征。
具体来说,我们提出了残差密集块(RDB)来通过稠密连通卷积层提取丰富的局部特征。RDB还允许从之前的RDB直接连接到现在的RDB的所有层,从而形成了一个(CM)连续内存机制。然后利用RDB的局部特征融合,自适应地从先前和当前的局部特征中学习更有效的特征,并稳定更广泛网络的训练。在充分获取密集的局部特征后,利用全局特征融合,以整体方式联合自适应学习全局层次特征。
网络架构
对于一个非常深的网络来说,直接提取LR空间中每个卷积层的输出是困难和不切实际的。我们提出残差密集块(RDB)作为RDB网络的构建模块。
RDB
RDB由密集连通层和*局部特征融合(LFF)和局部残差学习(LRL)*组成。
密集连通层
以前馈的方式将每一层连接到其他每一层,一个RDB的输出可以直接访问下一个RDB的每一层,一个RDB的每个卷积层都可以访问该RDB内所有后续的卷积层,并传递需要保留的信息。
传统的具有L层的卷积网络有L个连接,而具有密集连通层的网络有L(L+1) 2个连接。对于每一层,所有前一层的特征映射被用作输入,并且把将自己的feature map用作所有后续层的输入。这种方式可以缓解梯度消失问题,加强了特征传播,鼓励特征重用,并大大减少了参数的数量。
局部特征融合(LFF)
LFF将前一个RDB层和当前RDB内所有Conv层的feature map以串联的方式连接起来,将前一个RDB的feature map引入当前RDB,减少feature map的数量。受MemNet 的启发,引入了1 × 1卷积层来自适应地控制输出信息提取局部密集特征。
局部残差学习(LRL)
局部残差学习将密集连接层与局部特征融合(LFF)相结合,在一个RDB中有多个卷积层,第d个RDB的最终输出可以通过F_d = F_d-1 + F_d,LF获得。LRL可以进一步提高网络表示能力,从而获得更好的性能。
RDN
在用一个RDB提取局部稠密特征后,进一步提出稠密特征融合(DFF)来全局地利用层次特征。
DFF包括全局特征融合(GFF)和全局残差学习(GRL)。
全局特征融合(GFF)
全局特征融合是将各RDB块的feature map通过串联的方式连接起来进行融合,再使用1 × 1卷积层用于自适应融合一系列不同层次的特征。全局特征融合(GFF)之前的所有其他层的feature map都被我们提出的RDB块们充分利用,这些RDB块产生多层次的局部密集特征,为了进一步提取用于全局残差学习的feature map,又引入了一个3 × 3的卷积层,让这些特征进一步自适应融合形成F_GF。
全局残差学习(GRL)
利用全局残差学习来获得全局的feature map,其中F_-1表示浅层特征图。经过全局残差学习,我们在LR空间中提取局部和全局特征,将F_-1和F_GF相加得到稠密特征F_DF。
应该注意的是,Tai等人利用MemNet中的长期密集连接来恢复更多的高频信息。然而,在存储块中,前面的层不能直接访问所有后面的层。局部特征信息没有得到充分利用,限制了长期连接的能力。此外,MemNet在HR空间中提取特征,增加了计算复杂性。
对比
DenseNet
- DenseNet广泛应用于高级计算机视觉任务(如物体识别),而RDN是为图像服务请求而设计的。
- RDN删除了批处理规范化(BN)层,因它与卷积层消耗相同的GPU内存,增加了计算复杂度,并阻碍了网络的性能。
- RDN删除了pooling层,因它可能会丢弃一些像素级信息。
- DenseNet过渡层被放置在DenseNet中两个相邻的密集块中,而在RDN中通过使用局部残差学习将密集连接层与局部特征融合(LFF)相结合。
- RDN采用全局特征融合来充分利用分层特征,这在DenseNet中是被忽略的。
SRDenseNet
第一个是基本架构的设计。
SRDenseNet从densente引入了基本密集块。我们的剩余密集块(RDB)在三个方面进行了改进:
(1)引入了连续内存机制,它允许前一个RDB的状态直接访问当前RDB的每一层。
(2)我们的RDB通过使用局部特征融合(LFF)允许更大的增长率,这稳定了广域网络的训练。
(3)RDB利用LRL进一步鼓励了信息和梯度的传输。
第二个是RDB之间没有紧密的联系。
我们使用全局特征融合(GFF)和全局残差学习来提取全局特征,因为我们具有连续内存的RDB已经在本地完全提取了特征,所有这些组件都显著提高了性能。
第三种是Loss函数不同。
SRDenseNet使用L2loss函数。我们使用L1loss函数,该函数已被证明在性能和收敛性方面更强大。
MemNet
- MemNet需要使用双三次插值将原始LR图像上采样到所需的大小。该过程导致在LR空间中的特征提取和重构。而RDN从原始LR图像中提取层次特征,显著降低了计算复杂度,提高了性能。
- MemNet中的memory block包含递归单元和门单元。一个递归单元中的大多数层不从它们的前一层或存储块接收信息。
在RDN中,RDB的输出可以直接访问下一个RDB的每一层。每个卷积层的信息也流入一个RDB内的所有后续层。此外,RDB的局部残差学习改善了信息流动和梯度。
-MemNet的当前存储块没有充分利用前一个块及其层的输出信息。即使MemNet采用了密集的内存块连接,MemNet也不能从原始输入中完全提取分层特征。