2017年的文章,本文提出了使用特定尺度的单尺度架构,和在单个模型中重建各种尺度的高分辨率图像的多尺度架构
1 Residual blocks
由于BN层对特征进行归一化,消除了网络的范围灵活性,因此最好将BN层删除,还减少了GPU的内存使用,基线模型节省了40%的内存使用量,因此可以在有限的计算资源下建立一个比SRResnet结构更好性能的更大模型。
2 Single-scale model
增强网络模型性能的最简单方法是增加参数数量。 在卷积神经网络中,可以通过堆叠许多层或增加滤波器的数量来增强模型性能。 具有深度(层数)B 和宽度(特征通道数)F 的一般 CNN 架构大约占用 O(BF) 内存和 O(BF2) 参数。 因此,在考虑有限的计算资源时,增加 F 而不是 B 可以最大化模型容量。
将特征图的数量增加到一定水平以上会使训练过程在数值上不稳定。通过采用因子0.1的残差缩放来解决这个问题,在每个残差块中,恒定缩放层放置在最后一个卷积层之后。 当使用大量过滤器时,这些模块可以极大地稳定训练过程。 在测试阶段,可以将该层集成到前面的卷积层中以提高计算效率。
基线模型每个卷积层使用64个特征图,在final model中B=32,F=256,缩放因子为0.1。
训练模型时,使用*2的模型参数初始化*3、*4的模型,这样可以加速训练并提高性能。
3 Multi-scale model
多个尺度的超分辨率是相互关联的任务。将基线(多尺度)模型设计为具有 B = 16 个残差块的单个主分支,以便大多数参数在不同尺度之间共享.在多尺度架构中,引入了特定于尺度的处理模块来处理多个尺度的超分辨率。
首先,预处理模块位于网络的头部,以减少不同尺度的输入图像的方差。 每个预处理模块由两个具有 5 × 5 内核的残差块组成。 通过采用更大的内核进行预处理模块,可以使特定于尺度的部分保持较浅,同时在网络的早期阶段覆盖更大的感受野。 在多尺度模型的末端,并行放置特定尺度的上采样模块来处理多尺度重建。
构建最终的多尺度模型(MDSR),其中 B = 80 和 F = 64。虽然我们的 3 个不同尺度的单尺度基线模型每个都有大约 150 万个参数,总共 450 万个参数,但基线多尺度模型只有 320 万个参数。 尽管如此,多尺度模型表现出与单尺度模型相当的性能。 此外,多尺度模型在深度方面是可扩展的.
尽管与基线多尺度模型相比,最终的 MDSR 的深度大约增加了 5 倍,但只需要 2.5 倍的参数,因为残差块比特定于尺度的部分更轻。 请注意,MDSR 还显示了与特定规模的 EDSR 相当的性能。