SRCNN
SRCNN是超越传统方法的首个深度学习方法。它是一个卷积神经网络,包含3个卷积层:图像块提取与表征、非线性映射和最后的重建。
图像在馈送至网络之前需要通过双立方插值进行上采样,接着它被转化为YCbCr色彩空间,尽管该网络只使用亮度通道(Y)。然后,网络的输出合并已插值的CbCr通道,输出最终彩色图像。我们选择这一步骤是因为我们感兴趣的不是颜色变化(存储在CbCr通道中的信息)而只是其亮度(Y通道);根本原因在于相较于色差,人类视觉对亮度变化更为敏感。
我们发现SRCNN很难训练。它对超参数的变化非常敏感,论文中展示的设置(前两层的学习率为10-4,最后两层的学习率为10-5,使用SGD优化器)导致PyTorch实现输出次优结果。我们观察到在不同的学习率下,输出结果有一些小的改变。最后我们发现,使性能出现大幅提升的是设置是:每层的学习率为10-5,使用Adam优化器。最终网络在1.4万张32×32的子图上进行训练,图像和原始论文中的图像来自同样的数据集(91张图像)。
图3:左上:双立方插值,右上:SRCNN,左下:感知损失,右下:SRResNet。SRCNN、感知损失和SRResNet图像由对应的模型输出。
感知损失(Perceptualloss)
尽管SRCNN优于标准方法,但还有很多地方有待改善。如前所述,该网络不稳定,你可能会想优化MSE是不是最佳选择。
很明显,通过最小化MSE获取的图像过于平滑。(MSE输出图像的方式类似于高分辨率图像,导致低分辨率图像,[图1])。MSE无法捕捉模型输出和真值图像之间的感知区别。想象一对图像,第二个复制了第一个,但是改变了几个像素。对人类来说,复制品和原版几乎无法分辨,但是即使是如此细微的改变也能使PSNR显著下降。
如何保存给定图像的可感知内容?神经风格迁移中也出现了类似的问题,感知损失是一个可能的解决方案。它可以优化MSE,但不使用模型输出,你可以使用从预训练卷积神经网络中提取的高级图像特征表示(详见#L81)。这种方法的基础在于图像分类网络(如VGG)把物体细节的信息存储在特征图中。我们想让自己提升后的图像中的物体尽可能地逼真。
除了改变损失函数,网络架构也需要重新建模。该模型比SRCNN深,使用残差块,在低分辨率图像上进行大部分处理(加速训练和推断)。提升也发生在网络内部。在这篇论文中(),作者使用转置卷积(transposedconvolution,又叫解卷积,deconvolution),3×3卷积核,步幅为2。该模型输出的「假」图像看起来与棋盘格滤镜效果类似。为了降低这种影响,我们还尝试了4×4卷积的解卷积,以及最近邻插值与3×3的卷积层,步幅为1。最后,后者得到了最好的结果,但是仍然没有完全移除「假」图像。
与论文中描述的过程类似,我们的训练流程包括从MS‑COCO近一万张图像中抽取的一些288×288随机图像组成的数据集。我们将学习率设置为10-3,使用Adam优化器。与上面引用的论文不同,我们跳过了后处理(直方图匹配),因为该步骤无法提供任何改进。
SRResNet
为了最大化PSNR性能,我们决定实现SRResNet网络,它在标准基准上达到了当前最佳的结果。原论文()提到一种扩展方式,允许修复更高频的细节。
和上文描述的残差网络一样,SRResNet的残差块架构基于这篇文章()。存在两个小的更改:一个是SRResNet使用ParametricReLU而不是ReLU,ReLU引入一个可学习参数帮助它适应性地学习部分负系数;另一个区别是SRResNet使用了图像上采样方法,SRResNet使用了子像素卷积层。详见:。
SRResNet生成的图像和论文中呈现的结果几乎无法区分。训练用了两天时间,训练过程中,我们使用了学习率为10-4的Adam优化器。使用的数据集包括来自MS‑COCO的96×96随机图像,与感知损失网络类似。
未来工作
还有一些适用于单图像超分辨率的有潜力的深度学习方法,但由于时间限制,我们没有一一测试。
这篇近期论文()提到使用修改后的SRResNet架构获得了非常好的PSNR结果。作者移除残差网络中的批归一化,把残差层的数量从16增加到32。然后把网络在NVIDIATitanXs上训练七天。我们通过更快的迭代和更高效的超参数调整,把SRResNet训练了两天就得到了结果,但是无法实现上述想法。
我们的感知损失实验证明PSNR可能不是一个评估超分辨率网络的合适指标。我们认为,需要在不同类型的感知损失上进行更多研究。我们查看了一些论文,但是只看到网络输出的VGG特征图表示和真值之间的简单MSE。现在尚不清楚为什么MSE(每像素损失)在这种情况中是一个好的选择。
另一个有潜力的方向是生成对抗网络。这篇论文()使用SRResNet作为SRGAN架构的一部分,从而扩展了SRResNet。该网络生成的图像包含高频细节,比如动物的皮毛。尽管这些图像看起来更加逼真,但是PSNR的评估数据并不是很好。
图4:从上到下:SRResNet实现生成的图像、SRResNet扩展生成的图像,以及原始图像
结论
本文中,我们描述了用于单图像超分辨率的三种不同的卷积神经网络实验,下图总结了实验结果。
图5:本文讨论模型的优缺点
使用PSNR在标准基准数据集上进行度量时,即使简单的三层SRCNN也能够打败大部分非机器学习方法。我们对感知损失的测试证明,该指标不适合评估我们的模型性能,因为:我们能够输出美观的图像,但使用PSNR进行评估时,竟然比双立方插值算法输出的图像差。最后,我们重新实现了SRResNet,在基准数据集上重新输出当前最优的结果。我们构建的模型使用Neptune来部署,模型地址::3000/。
原文链接:
创业/副业必备:
本站已持续更新1W+创业副业顶尖课程,涵盖多个领域。
点击查看详情
评论(0)