卷积和池化的区别、图像的上采样(upsampling)与下采样(subsampled)

一、卷积

当从一个大尺寸图像中随机选取一小块,好比说 8x8 做为样本,而且从这个小块样本中学习到了一些特征,这时咱们能够把从这个 8x8 样本中学习到的特征做为探测器,应用到这个图像的任意地方中去。特别是,咱们能够用从 8x8 样本中所学习到的特征跟本来的大尺寸图像做卷积,从而对这个大尺寸图像上的任一位置得到一个不一样特征的激活值。

 

 下面给出一个具体的例子:假设你已经从一个 96x96 的图像中学习到了它的一个 8x8 的样本所具备的特征,假设这是由有 100 个隐含单元的自编码完成的。为了获得卷积特征,须要对 96x96 的图像的每一个 8x8 的小块图像区域都进行卷积运算。也就是说,抽取 8x8 的小块区域,而且从起始坐标开始依次标记为(1,1),(1,2),...,一直到(89,89),而后对抽取的区域逐个运行训练过的稀疏自编码来获得特征的激活值。在这个例子里,显然能够获得 100 个集合,每一个集合含有 89x89 个卷积特征。php

 以下图所示,展现了一个3×3的卷积核在5×5的图像上作卷积的过程。每一个卷积都是一种特征提取方式,就像一个筛子,将图像中符合条件(激活值越大越符合条件)的部分筛选出来。html

Convolution schematic.gif

2:说下池化,其实池化很容易理解,先看图:算法

  转自:  http://blog.csdn.net/silence1214/article/details/11809947学习

好比上方左侧矩阵A是20*20的矩阵要进行大小为10*10的池化,那么左侧图中的红色就是10*10的大小,对应到右侧的矩阵,右侧每一个元素的值,是左侧红色矩阵每一个元素的值得和再处于红色矩阵的元素个数,也就是平均值形式的池化。编码

3:上面说了下卷积和池化,再说下计算中须要注意到的。在代码中使用的是彩色图,彩色图有3个通道,那么对于每个通道来讲要单独进行卷积和池化,有一个地方尤为是进行卷积的时候要注意到,隐藏层的每个值是对应到一幅图的3个通道穿起来的,因此分3个通道进行卷积以后要加起来,正好才能对应到一个隐藏层的神经元上,也就是一个feature上去。.net

 

 

图像的上采样(upsampling)与下采样(subsampled)3d

缩小图像(或称为下采样(subsampled)或降采样(downsampled))的主要目的有两个:htm

一、使得图像符合显示区域的大小;二、生成对应图像的缩略图。blog

放大图像(或称为上采样(upsampling)或图像插值(interpolating))的主要目的是:token

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

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

     上采样原理:图像放大几乎都是采用内插值方法,即在原有图像像素的基础上在像素点之间采用合适的插值算法插入新的元素。

不管缩放图像(下采样)仍是放大图像(上采样),采样方式有不少种。如最近邻插值,双线性插值,均值插值,中值插值等方法。在AlexNet中就使用了较合适的插值方法。各类插值方法都有各自的优缺点。

相关文章
相关标签/搜索