SRCNN(DONGC, CHEN C L, HE K, ET AL. LEARNING A DEEP CONVOLUTIONAL NETWORK FOR IMAGESUPER-RESOLUTION[J].ECCV2014)
•方法:对于一个低分辨率图像,先使用双三次(bicubic)插值将其放大到目标大小,再通过三层卷积网络做非线性映射,得到的结果作为高分辨率图像输出
•三层卷积的结构可解释成:图像块提取和特征表示;特征非线性映射;最终的重建。
•SRCNN的基本框架
- 第一层对输入图像执行特征提取并将每个补丁表示为高维特征向量。
- 第二层然后非线性地将这些特征向量映射到另一组特征向量,这些特征向量在概念上是HR图像片的表示。
- 最后一层重新组合这些表示并重建最终的HR图像
•方法:对于一个低分辨率图像,先使用双三次(bicubic)插值将其放大到目标大小,再通过三层卷积网络做非线性映射,得到的结果作为高分辨率图像输出
•网络结构:
- LR 特征提取,对LR进行特征提取,并将其特征表征为一些特征图;“卷积层(c*f1*f1卷积核)+RELU”
- 特征的非线性映射:将第一阶段提取的特征映射至HR所需的特征图;“卷积层(n1*1*1卷积核)+RELU”
- HR重建:将第二阶段映射后的特征恢复为HR图像;“卷积层(n2*f3*f3)三个卷积层使用的卷积核的大小分为为9×9, 1×1和5×5,前两个的输出特征个数分别为64和32.
- 三个卷积层使用的卷积核的大小分为为9×9,,1×1和5×5,前两个的输出特征个数分别为64和32。
•数据集:
用Timofte数据集(包含91幅图像)和ImageNet大数据集进行训练。
•损失函数:
使用均方误差(Mean Squared Error, MSE)作为损失函数,有利于获得较高的PSNR。
•优点:
网络结构十分简单,仅仅用了三个卷积层。框架在选择参数时很灵活,可以采用四层或更多层,更大的过滤器尺寸来进一步提高性能。
•缺点:
SRCNN针对单个尺度因子进行训练,如果需要新的规模,则必须对新模型进行培训。特征提取只用了一层卷积层,存在着感受野比较小的问题,提取出来的特征是非常局部的特征,细节无法恢复出来。
•改进点:
- 它依赖于小图像区域的上下文;
- 训练收敛太慢;
- 网络只对于某一个比例有效。作者认为网络越深效果越好的这个定律不适用于SR领域。为了解决该问题,VSDR的作者将残差的思想引入了网络架构中,VGG不再需要学习如何恢复一张高清的HR图像,而是学习HR与LR图像拉伸之后的残差;
FSRCNN(DONG C, CHEN C L, TANG X. ACCELERATING THE SUPER-RESOLUTION CONVOLUTIONAL NEURAL NETWORK, ECCV2016)
•对SRCNN的改进:
- 在最后使用了一个反卷积层放大尺寸,因此可以直接将原始的低分辨率图像输入到网络中,(和ESPCN思路一致)而不是像之前SRCNN那样需要先通过BICUBIC方法放大尺寸。
- 改变特征维数,使用更小的卷积核和使用更多的映射层。
- 将SRCNN中的NON-LINEAR MAPPING分为SHRINKING、MAPPING、EXPANDING三个阶段。
- 可以共享其中的映射层,如果需要训练不同上采样倍率的模型,只需要改变最后的反卷积层。
- 由于FSRCNN不需要在网络外部进行放大图片尺寸的操作,同时通过添加收缩层和扩张层,将一个大层用一些小层来代替,因此FSRCNN与SRCNN相比有较大的速度提升。FSRCNN在训练时也可以只FINE-TUNING最后的反卷积层,因此训练速度也更快。
•FSRCNN网络结构
- 特征提取:直接是对低分辨率图像进行操作,卷积核5×5。
- 收缩:降维,减少网络的参数,降低计算复杂度。卷积核1×1。
- 非线性映射:用两个串联的3×3的卷积核可以替代一个5×5的卷积核。感受野比SRCNN大。两个串联的小卷积核需要的参数3×3×2=18比一个大卷积核5×5=25的参数要小。FSRCNN网络中通过M个核大小为3×3的卷积层进行串联。
- 扩张:收缩的逆过程。作者发现低维度的特征带来的重建效果不是太好,因此应用1×1的卷积核进行扩维。
- 反卷积层:上采样操作,放大图像尺寸。如果步长为N,那么尺寸放大N倍。