UpPooling 上池化,UpSampling上采样,Deconvolution反卷积。

在图像分割领域,经常需要把低分辨率的feature map恢复到原始图分辨率,所以许多网络会使用upPooling上池化,upSampling上采样,Deconvolution反卷积或者其他方法。这篇文章记录这些操作的具体不同。

UpPooling
我们先不讨论其他的下池化,比如average pooling等等,这里的UpPooling是maxPooling的逆向操作。
下图中,执行maxpooling的时候会记录pooling indices,也就是最大值在原feature map的位置。如果要将maxpooling池化之后的feature map还原,就将特征值还原到原始位置(根据pooling indices),然后其他位置填充0
UpPooling 上池化,UpSampling上采样,Deconvolution反卷积。_第1张图片

UpSampling
UpSampling和UpPooling的区别很明显,直接全部填充最大值进行上采样。
UpPooling 上池化,UpSampling上采样,Deconvolution反卷积。_第2张图片

Deconvolution/Transposed convolution
Deconvolution is also called transposed convolution, which is equivalent to the inverse operation of convolution. It is similar to the operation process of convolution, except that the direction of resolution transformation is opposite. The biggest difference from UpPooling and UpSampling above is that deconvolution has parameters (convolution kernels) that need to be learned. Use the following pictures to understand the specific operations more vividly.
这两个名字是代表的一个操作,也可以叫inverse operation of convolution,名字不重要,中译简单称为反卷积。和UpPooling和UpSampling最大的不同时,反卷积有参数需要学习
下图一可以回忆起 stride=1和no padding情况下的简单卷积操作。
feature map的分辨率是从大到小的,4x4—>2x2
UpPooling 上池化,UpSampling上采样,Deconvolution反卷积。_第3张图片

下图第一个是stride=1 padding=0,卷积核3x3(需要学习的参数),的一个反卷积。反卷积之后feature map是4x4 。
UpPooling 上池化,UpSampling上采样,Deconvolution反卷积。_第4张图片

下图是一个padding=1,stride=1,卷积核还是3x3。由于有一个padding=1,所以反卷积之后得到的feature map是5x5 。
UpPooling 上池化,UpSampling上采样,Deconvolution反卷积。_第5张图片

你可能感兴趣的:(算法,Neural,Network,深度学习,神经网络,pytorch)