博客專欄

        EEPW首頁 > 博客 > 卷積神經(jīng)網(wǎng)絡(luò)是如何實現(xiàn)不變性特征提取的?

        卷積神經(jīng)網(wǎng)絡(luò)是如何實現(xiàn)不變性特征提取的?

        發(fā)布人:數(shù)據(jù)派THU 時間:2021-05-26 來源:工程師 發(fā)布文章

        來源:OpenCV學(xué)堂

        圖像特征

        傳統(tǒng)的圖像特征提?。ㄌ卣鞴こ蹋┲饕腔诟鞣N先驗?zāi)P停ㄟ^提取圖像關(guān)鍵點、生成描述子特征數(shù)據(jù)、進行數(shù)據(jù)匹配或者機器學(xué)習(xí)方法對特征數(shù)據(jù)二分類/多分類實現(xiàn)圖像的對象檢測與識別。卷積神經(jīng)網(wǎng)絡(luò)通過計算機自動提取特征(表示工程)實現(xiàn)圖像特征的提取與抽象,通過MLP實現(xiàn)數(shù)據(jù)的回歸與分類。二者提取的特征數(shù)據(jù)都具不變性特征。

        1.jpg

        卷積神經(jīng)網(wǎng)絡(luò)為什么能提取到圖像特征,其關(guān)鍵在于卷積神經(jīng)網(wǎng)絡(luò)有兩種不同類型的層:

        • 卷積層(convolution layers/detection layers);

        • 池化層(pooling layers)。

        卷積層

        卷積層是一系列濾波器集合(filters set)、它的輸出結(jié)果被稱為特征映射(feature maps),每個feature map都一個filter在圖像上卷積得到的輸出。一般情況下都會輸出結(jié)果加線性修正,對卷積層常用就是ReLU

        2.png

        這樣做的好處是:

        1. 卷積是一個線性操作,我們需要一個非線性組合,否則兩個卷積卷積層還不如一個卷積層

        2. 兩個相反方向的邊緣不應(yīng)該被取消

        3. 使圖像梯度值更加的稀疏、有助于提高反向傳播的效果

        假設(shè)灰度輸入圖像,有兩個filter,卷積層生成過程如下所示:

        3.jpg

        膨脹卷積

        通常我們常見的卷積層操作使用的filter都是基于連續(xù)鄰近像素的,除了這種卷積filter之后另外還有一張卷積filter被稱為膨脹卷積,其算子的分布更加的稀疏,圖示如下:

        4.jpg

        膨脹卷積在不增加網(wǎng)絡(luò)總參數(shù)的情況下,提升每個感受野的尺度大小。

        1x1卷積

        1x1的卷積首次使用是在Network In Network網(wǎng)絡(luò)模型中,后來受到越來越多的關(guān)注,在一般情況下我們的卷積是2D的,1x1的卷積操作是毫無意義的,但是對卷積神經(jīng)網(wǎng)絡(luò)來說,它的卷積層是三維的,所以1x1的卷積操作是有意義的。

        5.jpg

        卷積層大小計算

        對于一個輸入大小WxW的feature map,假設(shè)Filter的大小位FxF,卷積時填充邊緣P個像素、卷積步長(stride)為S則輸出的大小為:

        6.png

        在多數(shù)深度學(xué)習(xí)框架中支持兩種輸出大小計算:

        padding = “same”

        意味著使用填充邊緣的方式,輸出大小與輸入的feature map大小保持不變

        padding = “valid”

        意味著不使用邊緣填充,即P=0此時輸出大小為:

        7.png

        池化層

        在卷積層提取到的特征數(shù)據(jù)不具備空間不變性(尺度與遷移不變性特征),只有通過了池化層之后才會具備空間不變性特征。池化層是針對每個feature map進行池化操作,池化操作的窗口大小可以指定為任意尺寸,主要有兩種類型的池化操作:

        • 下采樣池化(均值池化)

        • 最大值池化

        下采樣池化

        8.png

        對每個窗口大小取均值,然后乘以標(biāo)量beta加上我們增益偏置b的輸出

        最大值池化

        9.png

        無論是選擇哪種池化方式都會輸出一個新低分辨率feature map,多數(shù)時候這個過程中會包含一定的信息損失,所以卷積神經(jīng)網(wǎng)絡(luò)一般通過擴展深度(增加feature map的數(shù)量)來補償。

        重疊窗口與稀疏窗口

        在進行池化的時候我們?nèi)绻x擇步長=1進行池化,通過這樣的池化方式輸出的結(jié)果我們稱為重疊池化輸出,它不利于特征的稀疏生成,重疊窗口池化與均值池化都有這樣的缺點,所以經(jīng)常采樣的是最大值池化,同時不會進行窗口重疊,有實驗結(jié)果表明,在卷積層保持相同feature map與參數(shù)的情況下,最大值池化的結(jié)果明顯優(yōu)于重疊池化與均值池化,而且網(wǎng)絡(luò)的深度越深,兩者之間的準(zhǔn)確度差異越大。

        總結(jié)

        最終卷積神經(jīng)網(wǎng)絡(luò)經(jīng)過池化層操作對單位像素遷移和亮度影響進行了校正,做到了圖像的遷移與亮度不變性的特征提取、而且在池化過程中通過不斷的降低圖像分辨率,構(gòu)建了圖像的多尺度特征,所以還具備尺度空間不變性,完成了圖像不變性特征提取工作。

        10.jpg

        *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



        關(guān)鍵詞: 深度學(xué)習(xí)

        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 册亨县| 光山县| 广安市| 万宁市| 库伦旗| 柏乡县| 上高县| 开封市| 锡林浩特市| 德格县| 美姑县| 灌云县| 磴口县| 华蓥市| 诏安县| 舟曲县| 巴中市| 昌江| 红安县| 华坪县| 抚顺市| 阳山县| 阿克苏市| 石城县| 红原县| 嘉义市| 包头市| 莆田市| 花垣县| 博罗县| 德江县| 潮州市| 广宁县| 日照市| 昆山市| 南开区| 孟村| 岑巩县| 芜湖市| 石狮市| 宁河县|