Real-Time Single Image and Video Super-Resolution Using an Efficient Sub-Pixel Convolutional Neural Network【ESPCN】【阅读笔记】
2016年的文章。在此之前使用CNN进行SR的方法都是将LR图像先用一个single filter(通常是bicubic)upscale至HR的尺寸,再进行reconstruction的。所有SR的操作都再HR空间进行。
而本文提出在LR空间进行特征提取。并引入sub-pixel convolution layer用于学习一组upscaling filter,用这些针对特征图训练得到的更复杂的filter代替手工bicubic filter。可以降低计算成本,实现实时SR。直接将LR图像输入一个l层的CNN中,之后通过一层sub-pixel卷积层upscaleLR特征图生成对应的HR图像。
Sub-pixel layer
![](https://img2020.cnblogs.com/blog/1250482/202007/1250482-20200721151130072-2088693017.png)
filter权重以1/r间隔循环,stride=1/r,那么会产生$r^2$个activation patterns,每个pattern包含$[k_s/r]^2$ 个权重。
当$k_s$ 整除r时,实际与下图($r^2$ 个filter卷积再periodic shuffle的效果是相同的)
在实际训练过程中可以避免periodic shuffle。而是pre-shuffle the training data to match the output of the layer before PS
相比使用deconv,训练时间可以节省$log_2r^2$, 相比upscale before conv可以节省$r^2$
数据集
Timofte, ImageNet, Set5, Set14, BSD500, BSD300
Xiph, Ultra Video Group
仅考虑Y通道,因为人对于光照的变化更敏感
激活函数使用tanh,评价指标使用PSNR
实验结果
• 使用更多的训练数据时,ESPCN表现得提升比SRCNN更明显(参数量相同)
• 可视化特征图,可发现ESPCN最后一层有更复杂的pattern
• 速度快,真正实现实时
Future Work
针对Video SR任务,结合spatio-temporal network,利用视频相邻帧之间共享信息的特点,拓展ESPCN to super-resolve one frame from multiple neighbouring frames using 3D convolution.