代码参考为:官方代码
1、模型数据的处理过程
从测试代码可以看出,数据处理过程如下
- 1.将RGB图像转换为YCbCr图像,
- 2.选取其中的Y通道完成超分辨率重建
- 3.Cb、Cr通道通过PIL.Image自带的BICUBIC算法上采样
- 4.将YCbCr图像转换为RGB图像并保存
2、超分辨率重建的PixelShuffle算法
代码直接调用的是PixelShuffle算法,论文为CVPR2016的论文PixelShuffle,pytorch的调用函数为
CLASS torch.nn.PixelShuffle(upscale_factor)
- 输入为:
- 输出为:
PixelShuffle算法通过卷积层得到了个通道的图像,然后每个像素点的个通道依次转换为对应的的图像块,操作过程如下图所示。
3、整体模型
- conv(5,5,1,64) stride = 2 relu
- conv(3,3,64,64)stride=1 relu
- conv(3,3,64,32)sride =1 relu
- conv(3,3,32,uf*uf)stirde = 1
- nn.PixelShuffle(uf)
4、结果展示
测试数据集为BSDS300,15epoch,三倍上采样率,模型测试结果如下:
输入
输出
网友评论