卷積和池化的區別、圖像的上採樣(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中就使用了較合適的插值方法。各類插值方法都有各自的優缺點。

相關文章
相關標籤/搜索