理解上采样、下采样、池化

天涯浪子 提交于 2020-02-17 02:02:45

上采样、下采样

缩小图像(或称为下采样(subsampled)或降采样(downsampled))

主要目的有两个:
1、使得图像符合显示区域的大小;
2、生成对应图像的缩略图。

放大图像(或称为上采样(upsampling)或图像插值(interpolating))

主要目的是:
放大原图像,从而可以显示在更高分辨率的显示设备上。对图像的缩放操作并不能带来更多关于该图像的信息, 因此图像的质量将不可避免地受到影响。然而,确实有一些缩放方法能够增加图像的信息,从而使得缩放后的图像质量超过原图质量的。

原理

下采样原理:对于一幅图像I尺寸为MN,对其进行s倍下采样,即得到(M/s)(N/s)尺寸的得分辨率图像,当然s应该是M和N的公约数才行,如果考虑的是矩阵形式的图像,就是把原始图像s*s窗口内的图像变成一个像素,这个像素点的值就是窗口内所有像素的均值:

上采样原理:图像放大几乎都是采用内插值方法,即在原有图像像素的基础上在像素点之间采用合适的插值算法插入新的元素。如最近邻插值,双线性插值,均值插值,中值插值等方法。各种插值方法都有各自的优缺点。

无论缩小图像(下采样)还是放大图像(上采样),采样方式有很多种。

池化

池化(Pooling)是卷积神经网络中一个重要的概念,它实际上是一种形式的降采样。它会压缩输入的特征图,一方面减少了特征,导致了参数减少,进而简化了卷积网络计算时的复杂度;另一方面保持了特征的某种不变性(旋转、平移、伸缩等)。

池化操作主要有两种,一种是平均池化(Average Pooling),即对邻域内的特征点求平均;另一种是最大池化(Max Pooling),即对邻域内的特征点取最大。最大池化(Max pooling)是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。直觉上,这种机制能够有效地原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

池化层通常会分别作用于每个输入的特征并减小其大小。当前最常用形式的池化层是每隔2个元素从图像划分出2*2的区块,然后对每个区块中的4个数取最大值。这将会减少75%的数据量。
在这里插入图片描述
池化方法特征提取误差主要来自两个部分:一是,邻域大小受限造成了估计值方差增大;二是,卷积层参数误差造成了估计均值的偏移。一般来说,在图像研究领域,对图像进行平均池化操作能减少第一种误差,同时更多地保留图像的背景信息;而另一方面,最大池化能减小第二种误差,更多地保留纹理信息。因此在进行卷积神经网络结构设计时,这两种池化方式往往交替使用。

简而言之,池化就是去除杂余信息,保留关键信息

池化的作用

池化操作后的结果相比其输入缩小了。池化层的引入是仿照人的视觉系统对视觉输入对象进行降维和抽象。在卷积神经网络过去的工作中,研究者普遍认为池化层有如下三个功效:

1.特征不变形:池化操作是模型更加关注是否存在某些特征而不是特征具体的位置。
2.特征降维:池化相当于在空间范围内做了维度约减,从而使模型可以抽取更加广范围的特征。同时减小了下一层的输入大小,进而减少计算量和参数个数。
3.在一定程度上防止过拟合,更方便优化。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!