Enhanced Deep Residual Networks for Single Image Super-Resolution(EDSR)

摘要

近年来,随着深度卷积神经网络(DCNN)的发展,SR的研究也取得了进展。尤其是,残差学习技术展现出更好的效果。在本文中,我们开发了一个增强深度SR网络(EDSR),效果超过了那些目前最好的SR方法。我们通过移除传统残差网络中不必要的模块来优化,使得我们的模型性能显著提升。通过扩大模型大小来进一步提升效果,同时保持训练流程稳定。我们也提出了一种新的多尺度深度SR 系统(MDSR)和训练方法,它可以在一个简单的模型中重构不同放大因子的HR图像。提出的方法在基准数据集上显示效果优于最好的方法,而且通过赢得NTIRE2017 Super-Resolution Challenge证明了它的出色。

 

  1. 引言

图像超分辨率问题,尤其是单图超分辨率(SISR),近十年来越来越多的研究关注它。SISR旨在从一张低分辨率图像Enhanced Deep Residual Networks for Single Image Super-Resolution(EDSR)重建一个高分辨率图像Enhanced Deep Residual Networks for Single Image Super-Resolution(EDSR)。一般的,Enhanced Deep Residual Networks for Single Image Super-Resolution(EDSR)和原始高分辨率图像Enhanced Deep Residual Networks for Single Image Super-Resolution(EDSR)之间的关系可能因情况而变。很多研究假设Enhanced Deep Residual Networks for Single Image Super-Resolution(EDSR)Enhanced Deep Residual Networks for Single Image Super-Resolution(EDSR)的一个bicubic下采样版本,但是其他的退化因素如模糊、过滤或噪声,也被认为是部分应用。

Enhanced Deep Residual Networks for Single Image Super-Resolution(EDSR)

近年来,深度神经网络[11, 12, 14]在SR问题中在峰值信噪比PSNR方面展现了显著的提升效果。但是,这样的网络结构在结构优化方面有局限性。首先,神经网络模型的重构性能对微小的结构改变很敏感。而且,相同的模型用不同的初始化和训练技巧得到不同级别的性能。所以,在训练神经网络时需要仔细设计模型结构和复杂的优化方法。

第二,大多数存在的SR算法将不同尺度因子的SR看作是独立问题,不考虑和利用SR中不同尺度之间的乘法关系。这样,那些算法需要特定尺度的网络,需要单独训练来处理各种尺度。特殊的,VDSR[11]可以在单一的网络中一起处理几个尺度的SR。用多个尺度训练VDSR模型大幅度提升了性能,优于特定尺度训练,说明在不同尺度模型之间存在冗余。尽管如此,VDSR类型结构需要双三次插值图像作为输入,这导致大的计算时间的内存,相比较那些有特定尺度上采样方法的结构[5, 22, 14]

SRResNet[14]成功解决了这些时间和内存问题且有好的效果,它时简单应用了来自He等人的ResNet结构,没有很多修改。但是,原始ResNet被提出来是为了解决更高level的计算机视觉问题,如图像分类和识别的。因此,直接将ResNet结构用到low-level视觉问题如SR可能是没有达到最优的。

为了解决这些问题,基于SRResNet结构,我们首先通过分析和移除不必要的模块来简化网络结构。当模型是复杂的时,训练网络就变得不简单。我们实验显示修改结构获得更好的结果。

第二,我们调研了从其他尺度训练的模型转移信息的模型训练方法。为了在训练过程中利用独立尺度信息,我们从预训练的低尺度模型来训练高尺度模型。进一步,我们提出一个新的多尺度结构,在不同尺度之间共享大部分参数。提出的多尺度模型比多个但尺度模型用的参数少很多,但表现出相当的性能。

我么在标准数据集和一个新提出来的DIV2K数据集上评估我们的模型。在所有的数据集上,提出的单一和多尺度SR网络在PSNR和SSIM方面都优于目前最好的算法。我们的方法在the NTIRE 2017 Super-Resolution Challenge中排第一和第二。

 

 

  1. 相关工作

为了解决SR问题,早期的方法时利用基于采样理论的插值技术[1,15,34]。但是,这些方法在预测细节真实的纹理时都存在局限性。之间的研究[25,23]采用自然图像统计方法来重构更好的HR图像。

进一步的工作旨在学习Enhanced Deep Residual Networks for Single Image Super-Resolution(EDSR)Enhanced Deep Residual Networks for Single Image Super-Resolution(EDSR)图像对之间的映射函数。这些学习方法依赖从邻近嵌套[3, 2, 7, 21]到稀疏编码[31, 32, 27, 33]技术。Yang等人介绍了另外一种方法,聚类空间块学习相应的函数。一些方法利用了图像自相似性来避免外部数据库[8, 6, 29],通过patches的集合转换来增加有限的内部词典的大小[10]。

最近,深度神经网络的强大能力使得SR有了很大的提升。自从Dong等人[4,5]首次提出基于深度学习的SR方法后,研究了针对SR的各种CNN结构。Kim等人[11,12]首席引入了残差网络来训练更深的网络结构,并获得了出众的效果。特别的,他们说明了在SR网络中skip-connection和recursive convolution减缓了携带等价信息的负担。类似于[20],Mao等人用编解码网络和对称skip connection来处理通用图像恢复问题。在[16]中,他们讨论了那些内嵌skip connection提供了更快更好的收敛。

在很多基于深度学习的SR算法中,输入图像是在送到网络之前通过bicubic插值法进行上采样的[4, 11, 12]。不用插值图像作为输入,在网络的最后训练上采样模块在[5, 22, 14]中显示也可能的。通过这样做,在不损失模型能力的同时可以减少很多计算量。因为特征的大小减小了。但是,那一类方法有一个缺点:它们不能在单一的框架下处理多尺度问题像在VDSR[11]中。在本文工作中,我们解决了多尺度和计算效率的困难。我们不仅研究了各个尺度学习的特征之间的内部关系,还提出了一种新的多尺度模型,对各种尺度都可以有效的重构HR图像。而且,我们提出一种合适的训练方法,对单一-或多尺度模型用多个尺度。

几项研究已经关注loss函数来训练更好的网络模型。均值平方误差(MSE)或L2 loss对于一般的图像恢复是广泛使用的loss函数,对于那些问题也是主要的性能测试指标。但是,Zhao等人[35]公布了用L2 loss训练和其他loss函数相比,在PSNR和SSIM方面不能保证很好的性能。在他们的实验中,用L1训练的网络比用L2训练的网络获得更好的效果。

 

 

  1. 提出的方法

在本小节,我们描述了提出的模型结构。我们首先分析了最近公布的SR网络,提出了一个有更简单结构的残差网路结构的增强版本。我们证明了我们的网络优于原始网络,同时提高了计算效率。在下边的各部分中,我们提出了一个单一尺度的结构(EDSR),它可以处理特定尺度的 SR和在单一模型中重构HR图像的多个尺度的多尺度结构(MDSR)。

 

3.1、残差blocks

近年来,残差网络[11,9,14]在计算机视觉中的低level到高level的任务中表现出优异的性能。尽管Ledig等人[14]用SRResNet成功将ResNet结构应用到了SR问题中,但是我们通过用更好的ResNet的结构来进一步提高效果。

Enhanced Deep Residual Networks for Single Image Super-Resolution(EDSR)

在图2中,我们对比了原始ResNet、SRResNet和我们提出的网络的组成块。我们从我们的网络中删除BN层,如Nah等人[19]在他们的图像去模糊工作中提出的。因为BN层归一化了特征,他们通过归一化特征消除了网络的灵活范围,移除它们更好。我们实验证明了这个简单的修改大幅提升了性能,如小节4所描述。

此外,GPU内存使用也得到了有效地减少,因为BN层消耗与前边卷积层相同的内存。和SRResNet相比,我们没有BN层的基线模型在训练过程中节省了大约内存使用的40%。因此,我们可以构建一个更大的模型,可以比受计算资源限制的传统ResNet结构有更好的性能。

 

3.2、单一尺度模型

增强网络模型的效果最简单的方式就是增加参数量。在传统神经网络中,模型性能可以通过堆叠更多层或增加滤波器个数来增强。普通CNN结构,深度(层数)B和宽度(特征通道数)F大致参数O(BF²)占用内存是O(BF)。因此,当考虑有限的计算资源时,增加F代替B会最大化模型的容纳量。

但是,我们发现特征maps的数量增长到一定级别时,可能会使训练过程在数值上不稳定。类似的现象在Szegedy等人[24]中也报告过。我们通过用因子0.1的残差收缩[24]来解决这个问题。在每个residual block,在最后的卷积层后边放置固定尺度层。当用大量滤波器时,这些模块使得训练过程更稳定。在测试阶段,为了计算效率这个层可以集成到前边的卷积层中。

我们用我们提出的残差块构建了我们的基线(单一尺度)的模型,如图2。这个结构和SRResNet[14]类似,但是我们的模型在残差块外没有ReLUctant**层。另外,我们的基线模型没有residual scaling层,因为我们对每个卷积层仅仅用64个特征map。在我们最后的单一尺度的模型(EDSR)中,我们用一个尺度因子0.1扩展了B=32、F=256的基线模型。这个模型结构如图3所示。

当用上采样因子x3和x4训练我们的模型时,我们用预训练的x2的网络来初始化模型参数。预训练策略加速训练,提高最后的效果,如图4所示。对于上采样x4,如果我们用预训练尺度x2的模型(蓝线),训练比开始随机初始化的(绿线)收敛快。

Enhanced Deep Residual Networks for Single Image Super-Resolution(EDSR)

 

3.3、多尺度模型

从图4观察所得,我们的结论是,多尺度的SR是互相关联的任务。我们进一步通过构建一个多尺度结构来探索这个想法,如VDSR中做的那样,利用了内部尺度相关性的优势。我们设计了我们的基线(多尺度)模型,有B=16的残差块的单一主干网络,所以在不同尺度之间共享大部分参数,如图5所示。

在我们的多尺度结构中,我们介绍了特定尺度的处理模块来处理多尺度SR。首先,在网络开头放一个预处理模块来减少不同尺度的输入图像的变化。每个预处理模块包括2个核为5*5大小的残差块。通过对预处理模块使用咯咯哒的核,我们可以保持特定尺度部分较浅,同时在网络的前边阶段覆盖更大的感受野。在多尺度模型的最后,特定尺度上采样模块核处理多尺度重构并行放置。上采样模块的结构和在前边部分描述的那些单尺度模型类似。

我们构建了B=80,F=64的多尺度模型(MDSR)。我们单尺度基线模型对于3个不同的尺度,每个大约有1.5M参数,共4.5M,我们的多尺度模型仅仅有3.2million参数。不过,多尺度模型表现出和单尺度模型相当的性能。而且,多尺度模型在深度方面是可扩展的。尽管我们最后的MDSR比基线多尺度模型有大约5倍多的深度,但仅仅多哦了2.5倍的参数,因为残差块比单尺度部分更轻量级。注意到MDSR也显示了和特定尺度的EDSRs相当的性能。我们提出的模型的详细效果对比如表2和3所示。

Enhanced Deep Residual Networks for Single Image Super-Resolution(EDSR)

 

Enhanced Deep Residual Networks for Single Image Super-Resolution(EDSR)

Enhanced Deep Residual Networks for Single Image Super-Resolution(EDSR)

 

  1. 实验

4.1、数据集

 

 

Enhanced Deep Residual Networks for Single Image Super-Resolution(EDSR)

 

 

 

  1. 总结