机器学习笔记: Upsampling, U-Net, Pyramid Scene Parsing Net

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习笔记: Upsampling, U-Net, Pyramid Scene Parsing Net相关的知识,希望对你有一定的参考价值。

前言

        在CNN-based 的 模型中,我们可能会用到downsampling 操作来减少模型参数,以及扩大感受野的效果。

        下图是一个graph segmentation的例子,就先使用 downsampling来减少每个image的size,再使用upsampling来将size还原回最初大小 

1 Upsampling

downsampling 即 池化操作,在机器学习笔记:CNN卷积神经网络_UQI-LIUWJ的博客-CSDN博客里面已经提到过了,这里就不说了,我们这里说一下怎么将image的size 提升上去

1.1  最原始的方法

这种方式显然不是理想的方式,因为它添加的信息仅仅是冗余的信息, 同时使得整个image不连续

1.2 Nearest neighbor

 1.3 双线性插值

注意左侧图的阴影小点

 1.4 Max unpooling

        模型中存储 max pooling 操作中,都是哪些位置的值成为了池化结果。然后在max unpooling的时候在这些位置填充值

2 up convolution

那么既然池化操作有“逆运算”,那么卷积操作有吗?

答案是有的。

我们同样设置filter,让相应位置的值乘以这个filter,将结果拼接成一个大size 的image

         对于重叠的部分,我们可以取mean,取max等各种操作。而比如我们需要4*4的矩阵,在矩阵之外的部分可以去掉。        

2.1 举例:1维“逆卷积”

3 U-net

        但是上述的这种down&up sampling问题有一个很明显,就是经过downsampling之后,一些细节方面的信息会丢失

        于是U-net便采用了这样的一种思路,把高分辨率的image直接传给之后的神经网络,和经过down&up sampling后相同size的image经过某种方式融合在一起      

4  Pyramid Scene Parsing Net

这个和upsampling没有关系,只是另一种解决detail 信息丢失的办法。

我们可以设立不同size的池化层,然后将不同size池化层的池化结果 用某种方式concatenate起来

 

以上是关于机器学习笔记: Upsampling, U-Net, Pyramid Scene Parsing Net的主要内容,如果未能解决你的问题,请参考以下文章

Fast Image/Video Upsampling 论文笔记

Fast Image/Video Upsampling 论文笔记

Keras深度学习实战(17)——使用U-Net架构进行图像分割

MaxPooling2D、Conv2D、UpSampling2D层的输出大小是如何计算的?

深度学习语义分割网络介绍对比-FCN,SegNet,U-net DeconvNet

keras 形状而 UpSampling 不匹配