机器学习笔记: 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层的输出大小是如何计算的?