- 上采样(Upsample)
在CNN网络中,输入图像通过卷积操作提取特征后,输出的尺寸常会变小,而有时我们需要将图像恢复到原来的尺寸以便进行进一步的计算(比如:图像的语义分割),那么我们需要实现图像由小分辨率到大分辨率的映射的操作,叫做上采样(Upsample)。
上采样有多种方法,比如最近邻插值(Nearest neighbor interpolation)、双线性插值(Bi-linear interpolation)等,反卷积也是上采样的一种方法。反卷积,也叫转置卷积,它并不是正向卷积的完全逆过程,它不能完全的恢复输入矩阵的数据,只能恢复输入矩阵的大小。
反卷积操作就是卷积操作的不完全逆过程,反卷积的数学原理网上有很多文章,我们这里就不做描述了,有兴趣的小伙伴可以网上参考一下其他博文。我们这里做一下tensorflow2的Conv2DTranspose操作的解释,以便小伙伴做上采样时候可以快速实现。
那么,我们开始Conv2DTranspose的使用介绍,首先看一下它的函数原型:
layers.Conv2DTranspose(
filters,
kernel_size,
strides=(1, 1),
padding='valid',
output_padding=None,
data_format=None,
dilation_rate=(1, 1),
activation=None,
use_bias=True,
kernel_initializer='glorot_uniform',
bias_initializer='zeros',
kernel_regularizer=None,
bias_regularizer=None,
activity_regularizer=None,
kernel_constraint=None,
bias_constraint=None,
**kwargs,
)
Docstring:
Transposed convolution layer (sometimes called Deconvolution).
参数:
- filters:整数,输出空间的维数(即卷积中的滤波器数).
- kernel_size:一个元组或2个正整数的列表,指定过滤器的空间维度;可以是单个整数,以指定所有空间维度的相同值.
- strides: