Sub-pixel Convolution(子像素卷积)

Sub-pixel convolution是一种巧妙的图像及特征图upscale的方法,又叫做pixel shuffle(像素洗牌)。我们知道,用深度学习处理图像的话,经常需要对特征图放大。常见的方法有直接上采样,双线性插值,反卷积等等。本文主要介绍一种在超分辨率中经常使用的upscale方法——sub-pixel convolution


采用CNN对feature map进行放大的方法,除了有deconvolution之外,还有一个叫做sub-pixel convolution的东西。如果做SR(超分辨率)的话,需要将一张低分辨率图像转换成一张高分辨率图像。如果直接用deconvolution作为upscale手段的话,通常会带入过多人工因素进来(有不少论文提到这个)。而sub-pixel conv会大大降低这个风险。先看看sub-pixel是怎么做的:

Sub-pixel Convolution(子像素卷积)_第1张图片

 上图很直观得表达了sub-pixel convolution的做法,前面就是一个普通的CNN网络,到后面彩色部分就是sub-pixel conv的操作了。首先,如果我想对原图放大3倍,那么我需要生成出3^2=9个same size的特征图。将九个same size的特征图拼成一个X3的大图,这就是sub-pixel convolution的操作了。

这是一种抽样的反思想,如果把一张x3的大图,每隔三个点抽样一个,那就会得到9张低分辨率的图像。于是,如果我们可以通过CNN来获得9张符合分布的低分辨率图像,那么就可以组成一张高分辨率的大图。

你可能感兴趣的:(pixel,shuffle,sub-pixel,SR,WDSR,Computer,Vision,AI数学,paper)