图像超分辨率(SR)问题,特别是单图像超分辨率(single image super-resolution,SISR)问题,最近十年来受到越来越多的研究关注。SISR的目的是从单个低分辨率图像I(LR)重建高分辨率图像I(SR)。通常,I(LR)与原始的高分辨率图像I(HR)之间的关系根据不同的情况是不同的。许多研究假设I(LR)是I(HR)的双三次降采样版本,但是其他降质因素,例如模糊,抽取或噪声在实际应用中也可以考虑。
最近,深度神经网络为SR问题中的峰值信噪比(PSNR)提供了显着的性能改进。但是,这样的网络在架构最优性方面有所限制。首先,神经网络模型的重建性能对架构的微小变化很敏感。同样的模型在不同的初始化和训练技术之下实现的性能水平不同。因此,精心设计的模型架构和复杂的优化方法对于训练神经网络至关重要。
其次,大多数现有的SR算法将不同缩放因子的超分辨率问题作为独立的问题,没有考虑并利用SR中不同缩放之间的相互关系。 因此,这些算法需要许多scale-specific的网络,需要各自进行训练来处理各种scale。例外的是,VDSR [11]可以在单个网络中同时处理多个scale的超分辨率。使用多个尺度训练VDSR模型可以大幅提升性能,超过scale-specific的训练,这意味着scale-specific的模型中存在冗余。尽管如此,VDSR型的架构需要双三次插值图像作为输入,这与scale-specific的上采样方法的架构相比,需要更多计算时间和存储空间。
SRResNet [14]成功地解决了计算时间和内存的问题,并且有很好的性能,但它只是采用了He et al. [9] 的ResNet架构,没有提出太多修改。但是,原始的ResNet目的是解决更高层次的计算机视觉问题,例如图像分类和检测。因此,将ResNet架构直接应用于超分辨率这类低级视觉问题可能不是最佳的。
为了解决这些问题,基于SRResNet架构,我们首先通过分析和删除不必要的模块进行优化,以简化这一架构。当模型非常复杂时,就不容易训练。因此,我们以适当的损失函数训练网络,并进行仔细的模型修改。我们的实验表明,修改的方案能产生更好的结果。
其次,我们调查了从其他尺度训练的模型迁移知识的模型训练方法。在训练期间利用与尺度无关(scale-independent)的信息,从预训练的low-scale模型中训练high-scale模型。此外,我们提出一个新的多尺度架构,它们分享不同尺度的大部分参数。与多个单尺度模型相比,这个多尺度模型使用的参数少得多,但性能相当。
我们在标准基准数据集和新的DIV2K数据集上评估我们的模型。评估显示,我们提出的单尺度和多尺度超分辨率网络在所有数据集上,PSNR和SSIM均显示出最优性能。我们的方法分别在NTIRE 2017超分辨率挑战赛中分别获得第一名和第二名。
单尺度SR方法(EDSR)与其他方法的比较,放大4倍。
方法
我们先分析了最近发表的超分辨率网络,并提出残差网络架构的一个增强版本,它具有更简单的结构,并且在计算效率上优于原始网络。接着我们提出一个处理特定超分辨率尺度的单尺度架构EDSR,以及一个在单模型中重建各种尺度高分辨率图像的多尺度架构MDSR。
原始 ResNet,SRResNet,以及我们提出的增强办残差网络中 residual blocks 的对比。
单尺度SR网络(EDSR)的架构
为×4模型(EDSR)使用预训练的×2网络的效果。红线表示绿线(从头开始训练)的最佳表现。训练期间使用10张图像进行验证。
多尺度SR网络(MDSR)的架构
实验
数据集
DIV2K数据集[26]是一种新发布的用于图像复原任务的高质量(2K分辨率)图像数据集。DIV2K数据集包含800张训练图像,100张验证图像和100张测试图像。由于测试数据集资料尚未发布,因此我们在验证数据集上比较了模型性能。我们还在另外4个标准基准数据集上比较了性能:Set5 [2],Set14 [33],B100 [17]和Urban100 [10]。
评估模型
我们在DIV2K数据集上测试我们提出的网络。从SRResNet开始,我们逐步改变各个设置。SRResNet [14]是我们自己训练的。首先,我们将损失函数从L2改为L1,然后根据前面部分的描述对网络架构进行修改,如表1所示。
模型设定
表2:在DIV2K验证集上的架构性能比较(PSNR(dB)/ SSIM))。红色表示最优的性能,蓝色表示其次。EDSR +和MDSR +分别表示EDSR和MDSR的自组合版本。
我们的模型与其他模型放大4倍(×4)超分辨率的定性比较
表3:公共基准测试结果和DIV2K验证结果(PSNR(dB)/ SSIM))。红色表示最优性能,蓝色表示其次。需要注意的是,DIV2K验证结果是从已发布的演示代码中获取的。
我们的方法在NTIRE2017超分辨率挑战赛的结果。
表4:我们的方法在NTIRE 2017超分辨率挑战赛测试数据集上的表现。红色表示最优性能,蓝色表示其次。
结论
在本文中,我们提出一种增强的超分辨率算法。通过从常规ResNet架构中删除不必要的模块,我们在使模型紧凑的同时实现了更好的结果。我们还采用残差缩放技术来稳定地训练大型模型。我们提出的单尺度模型超越了已有模型,取得了state-of-the-art的性能。
此外,我们还提出一个多尺度超分辨率网络,以减小模型规模并缩短训练时间。具有规模依赖性模块和共享主网络的多尺度模型可以在统一的框架中有效处理各种超分辨率尺度。虽然多尺度模型与一组单尺度模型相比保持了紧凑,但它显示出与单尺度SR模型相当的性能。我们提出的单尺度和多尺度模型在标准基准数据集和DIV2K数据集中均实现了最佳结果。