(CVPR2018)Residual Dense Network for Image Super-Resolution 阅读笔记
论文地址:Residual dense network for image super-resolution
代码:https://github.com/yulunzhang/RDN
摘要:大部分基于CNN的方法没有充分利用原始LR图像的分层特征,因此获得了非常低的性能。在这篇文章中,作者提出了新的残差密集网络(RDN)来解决这个问题。这个模型可以充分提取分成特征。特别是,基于密集连接的RDB模块可以提取充足的局部特征。RDB接收前面所有RDB的状态。在RDB中也使用了局部特征融合可以自适应的学习更多有效特征,并且可以有效的稳定训练过程。在局部特征融合之后,作者使用全局特征融合联合学习全局特征。在基准数据集上不同的退化模型的实验表明了模型的性能优于很多STOA模型、
引言

上面作者综述了几篇经典的论文。作者说,尽管使用各种构建模块加深网络可以提高模型性能,但是却没有充分利用每一个卷积层的分层特征。尽管在文献【26】中提出门单元可以控制短期记忆,但是局部特征并没有直接进入后续的卷积层,因此很难说记忆模块充分利用了所有层的信息

上面介绍了几种常见的模块。残差块,密集块,残差密集块


作者使用RDB作为模型的基本模块。RDB包含了密集连接,局部特征融合(LFF),局部残差学习(LRL)。RDB还支持CM(contigous memory)机制(每一个RDB的输出都直接进入下一个RDB模块的每一层)。局部特征融合(LFF)模块串联前面和当前所有层的信息提取局部特征。提取完多层次局部特征,作者构建了全局特征融合模块(GFF)自适应保持分层特征。
相关工作


作者这这一部分对现有的论文进行综述。将现有的论文分为两类。第一类,双三次插值作为预处理的,比如说SRCNN,VDSR,IRCNN,DRCN,DRRN,Memnet,作者认为这样不仅增加了计算量,而且这并不是端到端的学习。第二类是直接将LR图像作为输入的,比如说,FSRCNN,ESPCN,SRResNet,EDSR.但是作者这些方法,都忽略了每一层的特征只是采用最后一层的特征进行上采样。



该模型包含四个部分:浅层特征提取,残差密集块,密集特征融合,上采样模块。
作者使用两个卷积块去提取浅层特征。第一个卷积层的输出作为下一个卷积层的输入,还用来全局残差学习。 第二层的输出用作残差密集块的输入。
当提取完所有RDB的分层特征之后,作者搭建了密集融合模块,包含全局特征融合(GFF)和全局残差学习。
当提取完局部和全局特征,作者受文献【17】的启发,作者利用【22】ESPCN的亚像素卷积层然后跟着一个卷积层用于放大。



作者在这一部分提出RDB的组成,主要包含三个部分:1 密集连接 2 局部特征融合 3 局部残差学习
密集连接 是通过将前面所有层的信息都传递到后面所有层
从上面的公式可以看出密集连接重复利用分层特征。
局部特征融合,作者使用将所有的特征串联起来,受MemNet【26】启发,作者引入了1*1卷积来自适应的控制输出的信息。
局部残差学习。作者为了进一步提高信息的流动引入了局部残差学习。


作者在这一部分融合前面RDB模块产生了所有输出,并利用了全局残差学习。

作者在这一部分介绍了卷积的设置。除了融合部分的卷积其他的卷积都是3*3的卷积,作者为了保持卷积后图像的尺寸不变使用了零填充。在局部和全局特征融合阶段卷积核的数量是64个,至于RDB中的卷积核的个数是个超参。

这一部分作者对比了RDN和DenseNet.SRDenseNet,MemNet之间的区别
实验
数据数据集,作者选择DIV2K中800张训练集训练,所有结果在Y通道上进行计算。

退化模型
作者为了验证模型的有效性,在三种退化模型上进行测试。

第一种,是直接双三次插值下采样。(BI)
第二种,文献【38】用7*7大小的高斯模糊核(BD)
第三种,是先用BI下采样然后用高斯模糊。

和文献【17】一样,batchsize=16 裁剪大小为32 。通过水平翻转和选择来进行数据增强,每个Epoch迭代1000次。优化器设置Adam,学习率,
【17】


作者研究D,C,G这些超参数对模型的影响,D 表示RDB的个数,C表示每个RDB中卷积层的个数,G表示每个卷积层的个数。


上图主要是消融实验,作者提出了三个创新。CM(密集连接),局部残差学习,全局特征融合。通过测试,发现每一个机制都可以提高模型的性能。当三个都有的时候模型的性能最高。

在BI退化模型 下的各个算法进行对比,其中SRDenseNet是直接引入别人的结果。
后面的实验部分没看。
