unsampling matlab代码,上采样(UnSampling)、反卷积(Deconvolution)与上池化(UnPooling)

反卷积(Deconvolution)、上采样(UnSampling)与上池化(UnPooling)的对比图示如下(图片出处见水印):

对比图

上采样(UnSampling)

FCN、U-net等网络结构中都有使用上采样。上采样是指使图像分辨率变高的方法。

最简单的方式是重采样和插值:将输入图片进行rescale到一个想要的尺寸,并计算每个点的像素值,使用如双线性插值等插值方法对其余点进行插值来完成上采样过程。

反卷积(Deconvolution)

反卷积在CNN中常用于表示一种反向卷积 ,但它并不是一个符合严格数学定义的反卷积操作。与上池化不同,使用反卷积来对图像进行上采样是可以习得的。通常用来对卷积层的结果进行上采样,使其回到原始图片的分辨率。

上池化(UnPooling)

上池化是在CNN中常用的来表示max pooling的逆操作。最早来源于2013年纽约大学Matthew D. Zeiler和Rob Fergus发表的《Visualizing and Understanding Convolutional Networks》。

鉴于max pooling不可逆,因此使用近似的方式来反转得到max pooling操作之前的原始情况。

简单来说,记住做max pooling的时候的最大item的位置,比如一个3x3的矩阵,max pooling的size为2x2,stride为1,反卷积记住其位置,其余位置至为0就行:

maxpooling和unpooling

你可能感兴趣的:(unsampling,matlab代码)