文章目录

  • 1、提出背景及其应用
  • 2、反卷积过程图解
  • 3、反卷积数学推导
  • 4、输出特征图尺寸
  • 5、代码实现(Numpy/Pytorch)


1、提出背景及其应用

  一般情况下,图像在经过多层的卷积运算后,其输出特征图的尺寸将会减小,图片分辨率降低。而在某些特定的任务中,我们需要将图像恢复或一定程度上增大,以便于后续的使用。这个恢复/增大图像尺寸,实现图像由小分辨率到大分辨率映射的操作,叫做上采样(Upsample)。转置卷积便是常见的上采样方法之一。与传统的上采样方法(最近邻插值、双线性插值等)相比,转置卷积不会使用预先设定的插值方法。它具有可学习的参数,通过让网络自行学习,来获取最优的上采样方式。转置卷积的本质是输入和输出关系被反向处理(标准卷积为多对一,转置卷积为一对多)。转置卷积在某些特定的领域应用广泛,如:

  • CNN 的可视化:通过转置卷积将 CNN 中得到的特征图还原到像素空间,以观察特定的特征图对哪些模式的图像敏感;
  • 语义分割:使用卷积层在编码器中进行特征提取,然后在解码层中恢复原先的尺寸(使用转置卷积),最终对原来图像的每个像素都进行分类。经典方法如:FCN 和 UNet。

2、反卷积过程图解



深度学习转置卷积公式化表示 转置卷积的作用_图像识别

图1. 反卷积图解

深度学习转置卷积公式化表示 转置卷积的作用_图像识别_02正常卷积操作(卷积核旋转)深度学习转置卷积公式化表示 转置卷积的作用_图像识别_02按需要对输出特征图进行裁剪。

3、反卷积数学推导

深度学习转置卷积公式化表示 转置卷积的作用_pytorch_04


深度学习转置卷积公式化表示 转置卷积的作用_深度学习转置卷积公式化表示_05


反卷积操作只是恢复了矩阵 深度学习转置卷积公式化表示 转置卷积的作用_图像处理_06 的尺寸大小,并不能恢复 深度学习转置卷积公式化表示 转置卷积的作用_图像处理_06

4、输出特征图尺寸

input_size深度学习转置卷积公式化表示 转置卷积的作用_pytorch_08kernel_sizekpaddingpstrides,则卷积输出尺寸 深度学习转置卷积公式化表示 转置卷积的作用_pytorch_09为:

深度学习转置卷积公式化表示 转置卷积的作用_图像识别_10

深度学习转置卷积公式化表示 转置卷积的作用_pytorch_09 为输入尺寸,则可推出转置卷积输出尺寸 深度学习转置卷积公式化表示 转置卷积的作用_pytorch_08

深度学习转置卷积公式化表示 转置卷积的作用_图像识别_13

观察以上两式可得,总可以使用直接卷积来模拟转置卷积。