本文的主要目的是在尽可能保持恢复质量不变的情况下,提高模型的处理速度,以将其投入实际应用。(注意:本文只要是针对大尺寸图像,但实验结果证明,FRSNN模型对于小尺寸图像的处理速度也比SRCNN快,且性能与SRCNN相当)
文章的主要贡献:
- 我们设计了一个紧凑的沙漏形CNN结构,以实现快速的图像超分辨率。在一组反卷积滤波器的协作下,网络可以学习原始LR和HR图像之间的端到端映射,而无需预处理。
- 所提出的模型比SRCNN-Ex的速度提高至少40倍,同时仍保持其优异的性能。其中一个小尺寸版本可以在通用CPU上实时运行(>24fps),恢复质量比SRCNN更好。
- 我们转移所提出的网络的卷积层,以便实现不同的扩展因子的快速训练和测试而不会损失修复质量。
FSRCNN网络结构(一种紧凑的沙漏型CNN结构)
从三个方面重新设计了SRCNN结构
- 直接学习原始低分辨率图像(不需要插值)到高分辨率图像的映射
- 在映射之前加入一个收缩层(缩小输入特征的维数)和在映射之后加入一个扩展层
- 采用较小的滤波器尺寸和更多的映射层
- 在网络的末端加入一个反卷积层
FSRCNN网络结构的优越性:
- 显著的速度提高
- 可以实现不同放大因子的快速训练和测试。在训练过程中,我们只需要对另一个放大因子的反卷积层进行微调,而几乎不会损失映射精度。在测试过程中,我们只需要进行一次卷积运算,然后使用相应的反卷积层对图像上采样到不同的尺度。
(注意:先前的方法必须针对特定的放大因子训练设计一个完全不同的网络,而FSRCNN仅需要不同的反卷积层。这也为我们提供了一种将图像放大到几种不同尺寸大小的更快方法。FSRCNN仍要对特定尺度因子训练一个网络,只是这个训练过程比之前的方法都要简单、快。)
SRCNN的局限性:
- SRCNN对于大尺寸图像的处理速度并不令人满意,与实时速度相差甚远
- SRCNN在预处理步骤,使用双三次插值将原始LR图像上采样到期望大小以形成输入,这导致了计算成本过大。
- 非线性映射
2和3限制了模型的运行速度
解决方法:
对于2的解决方法:采用在网络末端加入一个反卷积层来代替双三次插值
对于3的解决方法:在映射之前加入一个收缩层(缩小输入特征的维数)和在映射之后加入一个扩展层。此外,我们将单个宽的映射层分解成多个具有大小为3×3的固定滤波器的映射层。
FSRCNN和SRCNN的区别:
- 将SRCNN-Ex的最后一个卷积层替换为反卷积层,然后将整个网络对原始LR图像进行处理。
- 用收缩层、4个映射层和扩张层的组合来代替单个映射层。
- 采用较小的滤波器尺寸和较少的滤波器
FSRCNN和SRCNN的网络架构对比如图所示