@Team
2019-06-28T17:24:08.000000Z
字数 2033
阅读 2033
石文华
1、介绍
单幅图像超分辨率(SISR)旨在于低分辨率(LR)尺寸的基础上生成视觉良好的高分辨率(HR)图像。SISR 用于各种计算机视觉任务,如安全和监视成像 、医学成像 和图像生成。图像超分辨率是一个不适定(ill-posed)逆过程,因为对于任何 LR 输入都存在多种解决方案。为了解决这个逆问题,研究者们已经提出了大量的图像 SR 算法,包括基于插值、基于重建和基于学习的方法 。
2、存在问题:
(1)、EDSR、MemNet等方法随着网络变深,每个卷积层中的特征将具有不同层级的感受野。然而,这些方法忽略了充分利用每个卷积层的信息。尽管提出的记忆块中的门控单元是控制短期记忆 的,但局部卷积层不能直接访问后续层,所以很难说记忆块充分利用了其内部所有层的信息。
(2)、图像中的物体具有不同的大小、视角和高宽比。一个非常深的网络的分层特征将为重构提供更多的线索,大多基于深度学习(DL)的方法(如 VDSR、LapSRN 和 EDSR )在重构时忽略了使用分层特征。
3、为了解决这些缺点,提出了残差密度网络(RDN)来有效地从LR空间的所有层中提取和自适应融合特征,通过残差密度网络的残差密集块(RDB)来充分利用原始 LR 图像的所有分层特征,残差密集块如下图(a为 MDSR 中的残差块(residual block),b为 SRDenseNet 中的密集块(dense block),c为残差密集块。):
4、网络结构:
由上图所示, RDN 主要包含四部分:浅层特征提取网络(SFENet)、残差密集块(RDBs)、密集特征融合(DFF)以及上采样网络(UPNet)。我们将 ILR 和 ISR 表示为 RDN 的输入和输出,具体来说,我们使用两个 Conv 层来提取浅层特征。前向传播表示如下:
(1)浅层卷积1(这一层提取的特征用于进一步的浅层特征提取以及全局的残差学习):
(2)浅层卷积2(这一层提取的特征作为RDB模块的输入):
(3)RDB模块,假设我们有d个RDBs,则第d个RDB的输出fd可以表示为:
(4)密集特征融合(DFF),包括全局特征融合(GFF)和全局残差学习(GRL),它充分利用了前面所有层的特性,可以表示为
(5)在提取了LR空间中的局部和全局特征后,接着堆叠了一个上采样网络(up net)。这里在upnet中使用了espcn的亚像素卷积层(sub-pixel convolutional layer) 技术,上采样之后再堆叠一个conv层。最后RDN的输出表示为:
5、细节
(1)、连续记忆机制。
通过将前一个RDB的状态传递给当前RDB的每一层来实现连续记忆机制。Fd−1和 Fd分别表示第d个RDB模块的输入输出,特征图数都是G0,则第d个 RDB中的第 c个conv层的输出可以表示为:
σ表示激活函数,Wd,c是第c个卷积层的权重,假设Fd,c有G个特征图,则[Fd−1, Fd,1, · · · , Fd,c−1]表示由输入(第d-1个RDB模块的输出)经过各个conv得到的特征进行通道上的拼接,拼接到的特征图通道数为:G0+(c − 1) ×G,这样的连接能够使前馈网络更好的传递信息,并且有利于提取局部的密集特征。
(2)、局部特征融合。
局部特征融合通过使用concatenation的方式融合前一个RDB和当前RDB中的整个conv层的状态特征,并采用1×1卷积层(助于更大增长率的RDB模块的训练)来自适应控制输出信息,表示如下(H_dLFF表示1*1卷积操作,输出特征图的通道数是G):
(3)、局部残差学习
也就是将RDB的输入跟局部特征融合之后的特征图进行加和操作,该操作有助于提升模型的表达能力。
(4)、密集特征融合(DFF)
DFF包括全局特征融合(GFF)和全局残差学习,全局特征融合表示如下:
[F1, · · · , FD]表示的是各个RDB模块产生的特征图在通道上拼接起来组成的整体,Hgff表示的是1×1和3×3的卷积操作,1×1卷积层用于自适应融合一系列不同层次的特征。引入3×3卷积层进一步提取特征(即公式9的Fgf)然后进行全局残差学习,全局残差学习表示如下:
全局残差学习其实就是浅层产生的也在F-1和FGF进行加和操作。跟RDB的局部残差的套路一样。
6、实验结果
(1)、BD 和 DN 退化模型的基准结果
(2)使用缩放因子×3 的 BD 退化模型的可视化结果。SR 结果分别是由 Urban100 的图像得到的「img 096」和由 Urban100 得到的「img 099」
(3) 使用缩放因子×3 的 DN 退化模型的可视化结果。SR 结果分别是由 B100 的图像得到的「302008」和 Manga109 得到的「LancelotFullThrottle」
代码地址
网络结构的代码详见:
https://github.com/cswhshi/super-resolution/blob/master/rdn.py
欢迎大家指正和star~