Upsampling黑科技

Upsampling

背景介绍

  Upsampling(上采样):简单的说就是放大图像,获得更大的分辨率,上采样对于卷积神经网络任务来说并不是必须的,但是在某些场合中却必须要使用,尤其是在语义分割任务中,如何选择上采样的方式可能决定着语义分割效果。可能小伙伴们对上采样不是很熟悉,但是对于下采样一定都不陌生,典型的下采样步骤就是池化。因此上采样也可被看作是池化的逆过程

upsampling

Maxpooling-Indices(最大池化索引)与Upsampling(上采样)和Deconvolution(反卷积)之间的区别

  Maxpooling-Indices(最大池化索引):又称为Unpooling(反池化),池化后记录最大值所在的位置,在反池化的过程中,给相应位置上写入值,其他位置为0。这个方法没有参数,但是这个方法并不常用,因为存在大量的稀疏数据,使模型收敛速度大大降低。
  Upsampling(上采样):将输入resize到设置大小,然后利用指定的插值方法对周围的值进行插值,常用最近邻插值双线性插值。因为相邻区域的像素和特征应该是相似的,因此这个方法特别常用,既没有参数,也不会存在稀疏数据。
  Deconvolution(反卷积)本质是卷积,注意反卷积并不能从卷积的结果返回到卷积前的数据,只能返回到卷积前的尺寸。卷积通过设置kernel_size卷积核大小,strides步长和padding填充方式可以将图像的分辨率降低,相反的反卷积可以通过设置kernel_size卷积核大小,strides步长和padding填充方式先对数据进行填充,然后再进行卷积操作,可以将图像的分辨率增加。**这个方法不推荐经常使用,因为存在大量参数,而且可能会存在棋盘格效应,可以参考棋盘格可视化**。

小结

  由于CNN经常使用池化来缩小图像尺寸,方便提取更深层次的特征,因此下采样是CNN网络重要的组成部分,但是在某些特殊场景需要对图像大小进行复原,因此上采样应运而生,所以要想系统的学习神经网络,上采样知识点是小伙伴们必不可少的。

-------------本文结束感谢您的阅读-------------
0%