圖像特征
傳統的圖像特征提取(特征工程)主要是基于各種先驗模型,通過提取圖像關鍵點、生成描述子特征數據、進行數據匹配或者機器學習方法對特征數據二分類/多分類實現圖像的對象檢測與識別。卷積神經網絡通過計算機自動提取特征(表示工程)實現圖像特征的提取與抽象,通過MLP實現數據的回歸與分類。二者提取的特征數據都具不變性特征。
卷積神經網絡為什么能提取到圖像特征,其關鍵在于卷積神經網絡有兩種不同類型的層
-卷積層(convolution layers/detection layers)
-池化層(pooling layers)
卷積層
卷積層是一系列濾波器集合(filters set)、它的輸出結果被稱為特征映射(feature maps),每個feature map都一個filter在圖像上卷積得到的輸出。一般情況下都會輸出結果加線性修正,對卷積層常用就是ReLU
這樣做的好處是:
卷積是一個線性操作,我們需要一個非線性組合,否則兩個卷積卷積層還不如一個卷積層
兩個相反方向的邊緣不應該被取消
使圖像梯度值更加的稀疏、有助于提高反向傳播的效果
假設灰度輸入圖像,有兩個filter,卷積層生成過程如下所示:
假設灰度輸入圖像,有兩個filter,卷積層生成過程如下所示:
膨脹卷積
通常我們常見的卷積層操作使用的filter都是基于連續鄰近像素的,除了這種卷積filter之后另外還有一張卷積filter被稱為膨脹卷積,其算子的分布更加的稀疏,圖示如下:
膨脹卷積在不增加網絡總參數的情況下,提升每個感受野的尺度大小。
1x1卷積
1x1的卷積首次使用是在Network In Network網絡模型中,后來受到越來越多的關注,在一般情況下我們的卷積是2D的,1x1的卷積操作是毫無意義的,但是對卷積神經網絡來說,它的卷積層是三維的,所以1x1的卷積操作是有意義的。
卷積層大小計算
對于一個輸入大小WxW的feature map,假設Filter的大小位FxF,卷積時填充邊緣P個像素、卷積步長(stride)為S則輸出的大小為:
在多數深度學習框架中支持兩種輸出大小計算:
padding = “same”
意味著使用填充邊緣的方式,輸出大小與輸入的feature map大小保持不變
padding = “valid”
意味著不使用邊緣填充,即P=0此時輸出大小為:
池化層
在卷積層提取到的特征數據不具備空間不變性(尺度與遷移不變性特征),只有通過了池化層之后才會具備空間不變性特征。池化層是針對每個feature map進行池化操作,池化操作的窗口大小可以指定為任意尺寸,主要有兩種類型的池化操作
-下采樣池化(均值池化)
-最大值池化
下采樣池化
對每個窗口大小取均值,然后乘以標量beta加上我們增益偏置b的輸出
最大值池化
無論是選擇哪種池化方式都會輸出一個新低分辨率feature map,多數時候這個過程中會包含一定的信息損失,所以卷積神經網絡一般通過擴展深度(增加feature map的數量)來補償。
重疊窗口與稀疏窗口
在進行池化的時候我們如果選擇步長=1進行池化,通過這樣的池化方式輸出的結果我們稱為重疊池化輸出,它不利于特征的稀疏生成,重疊窗口池化與均值池化都有這樣的缺點,所以經常采樣的是最大值池化,同時不會進行窗口重疊,有實驗結果表明,在卷積層保持相同feature map與參數的情況下,最大值池化的結果明顯優于重疊池化與均值池化,而且網絡的深度越深,兩者之間的準確度差異越大。
總結
最終卷積神經網絡經過池化層操作對單位像素遷移和亮度影響進行了校正,做到了圖像的遷移與亮度不變性的特征提取、而且在池化過程中通過不斷的降低圖像分辨率,構建了圖像的多尺度特征,所以還具備尺度空間不變性,完成了圖像不變性特征提取工作。
原文標題:卷積神經網絡是如何實現不變性特征提取的?
文章出處:【微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
責任編輯:haq
-
神經網絡
+關注
關注
42文章
4779瀏覽量
101169 -
機器學習
+關注
關注
66文章
8438瀏覽量
133084
原文標題:卷積神經網絡是如何實現不變性特征提取的?
文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論