1 PixelShuffle
pixelshuffle算法的实现流程如下图,其实现的功能是:将一个H × W的低分辨率输入图像(Low Resolution),通过Sub-pixel操作将其变为rH x rW的高分辨率图像(High Resolution)。
通过卷积先得到个通道的特征图(特征图大小和输入低分辨率图像一致),然后通过周期筛选(periodic shuffing)的方法得到这个高分辨率的图像,其中为上采样因子(upscaling factor),也就是图像的扩大倍率。
torch.nn.PixelShuffle(upscale_factor)
参数:
- upscale_factor (int) – 增加空间分辨率的因子
输入输出尺寸:
输入: (N,C x ,H,W)
输出: (N,C,H x ,W x )
2 Upsample
torch.nn.Upsample(size=None, scale_factor=None, mode=‘nearest’, align_corners=None)
参数:
- size(tuple) – 一个包含两个整数的元组 (H_out, W_out)指定了输出的长宽
- scale_factor(int) –长和宽的一个乘子
- mode (string) – 上采样算法,nearest neighbor (3D) 、linear (3D) 、bilinear(4D) 、 trilinear (5D) 默认:nearest
- align_corners(bool) – 是否保存边缘像素,默认:False
3 UpsamplingNearest2d
torch.nn.UpsamplingNearest2d(size=None, scale_factor=None)
对输入信号做2D最近邻上采样。
参数:
- size – 一个包含两个整数的元组 (H_out, W_out)指定了输出的长宽
- scale_factor – 长和宽的一个乘子
4 UpsamplingBilinear2d
torch.nn.UpsamplingBilinear2d(size=None, scale_factor=None)
对输入信号做2D双线性上采样。
参数:
- size – 一个包含两个整数的元组 (H_out, W_out)指定了输出的长宽
- scale_factor – 长和宽的一个乘子