卷積和池化的區別、圖像的上採樣(upsampling)與下采樣(subsampled)

1、卷積
當從一個大尺寸圖像中隨機選取一小塊,比如說 8x8 作爲樣本,並且從這個小塊樣本中學習到了一些特徵,這時我們可以把從這個 8x8 樣本中學習到的特徵作爲探測器,應用到這個圖像的任意地方中去。特別是,我們可以用從 8x8 樣本中所學習到的特徵跟原本的大尺寸圖像作卷積,從而對這個大尺寸圖像上的任一位置獲得一個不同特徵的激活值。


 下面給出一個具體的例子:假設你已經從一個 96x96 的圖像中學習到了它的一個 8x8 的樣本所具有的特徵,假設這是由有 100 個隱含單元的自編碼完成的。爲了得到卷積特徵,需要對 96x96 的圖像的每個 8x8 的小塊圖像區域都進行卷積運算。也就是說,抽取 8x8 的小塊區域,並且從起始座標開始依次標記爲(1,1),(1,2),...,一直到(89,89),然後對抽取的區域逐個運行訓練過的稀疏自編碼來得到特徵的激活值。在這個例子裏,顯然可以得到 100 個集合,每個集合含有 89x89 個卷積特徵。

 如下圖所示,展示了一個3×3的卷積核在5×5的圖像上做卷積的過程。每個卷積都是一種特徵提取方式,就像一個篩子,將圖像中符合條件(激活值越大越符合條件)的部分篩選出來。

Convolution schematic.gif

2:說下池化,其實池化很容易理解,先看圖:

  轉自:  http://blog.csdn.net/silence1214/article/details/11809947


比如上方左側矩陣A是20*20的矩陣要進行大小爲10*10的池化,那麼左側圖中的紅色就是10*10的大小,對應到右側的矩陣,右側每個元素的值,是左側紅色矩陣每個元素的值得和再處於紅色矩陣的元素個數,也就是平均值形式的池化。

3:上面說了下卷積和池化,再說下計算中需要注意到的。在代碼中使用的是彩色圖,彩色圖有3個通道,那麼對於每一個通道來說要單獨進行卷積和池化,有一個地方尤其是進行卷積的時候要注意到,隱藏層的每一個值是對應到一幅圖的3個通道穿起來的,所以分3個通道進行卷積之後要加起來,正好才能對應到一個隱藏層的神經元上,也就是一個feature上去。

 

圖像的上採樣(upsampling)與下采樣(subsampled)

縮小圖像(或稱爲下采樣(subsampled)或降採樣(downsampled))的主要目的有兩個:

1、使得圖像符合顯示區域的大小;2、生成對應圖像的縮略圖

放大圖像(或稱爲上採樣(upsampling)或圖像插值(interpolating))的主要目的是:

放大原圖像,從而可以顯示在更高分辨率的顯示設備上。對圖像的縮放操作並不能帶來更多關於該圖像的信息, 因此圖像的質量將不可避免地受到影響。然而,確實有一些縮放方法能夠增加圖像的信息,從而使得縮放後的圖像質量超過原圖質量的。

     下采樣原理:對於一幅圖像I尺寸爲M*N,對其進行s倍下采樣,即得到(M/s)*(N/s)尺寸的得分辨率圖像,當然s應該是M和N的公約數才行,如果考慮的是矩陣形式的圖像,就是把原始圖像s*s窗口內的圖像變成一個像素,這個像素點的值就是窗口內所有像素的均值:

     上採樣原理:圖像放大幾乎都是採用內插值方法,即在原有圖像像素的基礎上在像素點之間採用合適的插值算法插入新的元素。

無論縮放圖像(下采樣)還是放大圖像(上採樣),採樣方式有很多種。如最近鄰插值,雙線性插值,均值插值,中值插值等方法。在AlexNet中就使用了較合適的插值方法。各種插值方法都有各自的優缺點。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章