但是它所提出的Efficient Sub-pixel Convolution,也叫亚像素卷积/子像素卷积为后面网络PSNR的提升做出了很大贡献,关键这个Sub-pixel Convolution比插值,反卷积,反池化这些上采样方法计算量要更少,因此网络的运行速度会有很大提升,如下图所示。
以下是使用PyTorch实现亚像素卷积的示例代码: importtorchimporttorch.nnasnnclassSubpixelConvolution(nn.Module):def__init__(self,in_channels,out_channels,upscale_factor):super(SubpixelConvolution,self).__init__()self.conv=nn.Conv2d(in_channels,out_channels*upscale_factor**2,kernel_size=3,stride=1...
ESPCN网络结构如下图所示 ESPCN的核心概念是亚像素卷积层(sub-pixelconvolutionallayer)。网络的输入是原始低分辨率图像,通过三个卷积层以后...被称作sub-pixelconvolution, 但实际上并没有卷积操作。通过使用sub-pixelconvolution,图像从低分辨率到高分辨率放大的过程,插值函数被隐含地包含在前面的卷积层中...
步骤5:然后,我们调用父类的构造函数。 super(SubpixelConvolutionLayer,self).__init__() 1. 步骤6:我们在构造函数中定义一个卷积层,该层具有输入通道数、输出通道数和卷积核大小。 self.conv=nn.Conv2d(in_channels,out_channels*(scale_factor**2),kernel_size=3,stride=1,padding=1) 1. 步骤7:接下来...
(in_channels,out_channels*(scale_factor**2),kernel_size=3,padding=1)self.pixel_shuffle=nn.PixelShuffle(scale_factor)defforward(self,x):x=self.conv(x)x=self.pixel_shuffle(x)returnx# 使用亚像素卷积进行图像上采样input=torch.randn(1,64,16,16)upsampled=SubPixelConvolution(64,256,2)(input)...