0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

分類問題訓(xùn)練的GAP-CNN在目標(biāo)定位方面的能力

zhKF_jqr_AI ? 來源:未知 ? 作者:李倩 ? 2018-08-20 08:50 ? 次閱讀

編者按:Udacity深度強(qiáng)化學(xué)習(xí)課程負(fù)責(zé)人Alexis Cook講解了全局平均池化(GAP)的概念,并演示了為分類問題訓(xùn)練的GAP-CNN在目標(biāo)定位方面的能力。

圖像分類任務(wù)中,卷積神經(jīng)網(wǎng)絡(luò)(CNN)架構(gòu)的常見選擇是重復(fù)的卷積模塊(卷積層加池化層),之后是兩層以上的密集層(全連接層)。最后密集層使用softmax激活函數(shù),每個節(jié)點(diǎn)對應(yīng)一個類別。

比如,VGG-16的架構(gòu):

譯者注:上圖中,黑色的是卷積層(ReLU激活),紅色的是最大池化層,藍(lán)色的是全連接層(ReLU激活),金色的是softmax層。

運(yùn)行以下代碼,可以得到VGG-16模型的網(wǎng)絡(luò)層清單:(譯者注:需要安裝Keras)

python -c 'from keras.applications.vgg16 import VGG16; VGG16().summary()'

輸出為:

你會注意到有5個卷積模塊(兩到三個卷積層,之后是一個最大池化層)。接著,扁平化最后一個最大池化層,后面跟著三個密集層。注意模型的大部分參數(shù)屬于全連接層!

你大概可以想見,這樣的架構(gòu)有過擬合訓(xùn)練數(shù)據(jù)集的風(fēng)險。實踐中會使用dropout層以避免過擬合。

全局平均池化

最近幾年,人們開始使用全局平均池化(global average pooling,GAP)層,通過降低模型的參數(shù)數(shù)量來最小化過擬合效應(yīng)。類似最大池化層,GAP層可以用來降低三維張量的空間維度。然而,GAP層的降維更加激進(jìn),一個h × w × d的張量會被降維至1 × 1 × d。GAP層通過取平均值映射每個h × w的特征映射至單個數(shù)字。

在最早提出GAP層的網(wǎng)中網(wǎng)(Network in Network)架構(gòu)中,最后的最大池化層的輸出傳入GAP層,GAP層生成一個向量,向量的每一項表示分類任務(wù)中的一個類別。接著應(yīng)用softmax激活函數(shù)生成每個分類的預(yù)測概率。如果你打算參考原論文(arXiv:1312.4400),我特別建議你看下3.2節(jié)“全局平均池化”。

ResNet-50模型沒這么激進(jìn);并沒有完全移除密集層,而是在GAP層之后加上一個帶softmax激活函數(shù)的密集層,生成預(yù)測分類。

目標(biāo)定位

2016年年中,MIT的研究人員展示了為分類任務(wù)訓(xùn)練的包含GAP層的CNN(GAP-CNN),同樣可以用于目標(biāo)定位。也就是說,GAP-CNN不僅告訴我們圖像中包含的目標(biāo)是什么東西,它還可以告訴我們目標(biāo)在圖像中的什么地方,而且我們不需要額外為此做什么!定位表示為熱圖(分類激活映射),其中的色彩編碼方案標(biāo)明了GAP-CNN進(jìn)行目標(biāo)識別任務(wù)相對重要的區(qū)域。

我根據(jù)Bolei Zhou等的論文(arXiv:1512.04150)探索了預(yù)訓(xùn)練的ResNet-50模型的定位能力(代碼見GitHub:alexisbcook/ResNetCAM-keras)。主要的思路是GAP層之前的最后一層的每個激活映射起到了解碼圖像中的不同位置的模式的作用。我們只需將這些檢測到的模式轉(zhuǎn)換為檢測到的目標(biāo),就可以得到每張圖像的分類激活映射。

GAP層中的每個節(jié)點(diǎn)對應(yīng)不同的激活映射,連接GAP層和最后的密集層的權(quán)重編碼了每個激活映射對預(yù)測目標(biāo)分類的貢獻(xiàn)。將激活映射中的每個檢測到的模式的貢獻(xiàn)(對預(yù)測目標(biāo)分類更重要的檢測到的模式獲得更多權(quán)重)累加起來,就得到了分類激活映射。

代碼如何運(yùn)作

運(yùn)行以下代碼檢視ResNet-50的架構(gòu):

python -c 'from keras.applications.resnet50 import ResNet50; ResNet50().summary()'

輸出如下:

注意,和VGG-16模型不同,并非大部分可訓(xùn)練參數(shù)都位于網(wǎng)絡(luò)最頂上的全連接層中。

網(wǎng)絡(luò)最后的Activation、AveragePooling2D、Dense層是我們最感興趣的(上圖高亮部分)。實際上AveragePooling2D層是一個GAP層!

我們從Activation層開始。這一層包含2048個7 × 7維的激活映射。讓我們用fk表示第k個激活映射,其中k ∈{1,…,2048}。

接下來的AceragePooling2D層,也就是GAP層,通過取每個激活映射的平均值,將前一層的輸出大小降至(1,1,2048)。接下來的Flatten層只不過是扁平化輸入,沒有導(dǎo)致之前GAP層中包含信息的任何變動。

ResNet-50預(yù)測的每個目標(biāo)類別對應(yīng)最終的Dense層的每個節(jié)點(diǎn),并且每個節(jié)點(diǎn)都和之前的Flatten層的各個節(jié)點(diǎn)相連。讓我們用wk表示連接Flatten層的第k個節(jié)點(diǎn)和對應(yīng)預(yù)測圖像類別的輸出節(jié)點(diǎn)的權(quán)重。

接著,為了得到分類激活映射,我們只需計算:

我們可以將這些分類激活映射繪制在選定的圖像上,以探索ResNet-50的定位能力。為了便于和原圖比較,我們應(yīng)用了雙線性上采樣,將激活映射的大小變?yōu)?24 × 224.

如果你想在你自己的目標(biāo)定位問題上應(yīng)用這些代碼,可以訪問GitHub:https://github.com/alexisbcook/ResNetCAM-keras

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標(biāo)題:用于目標(biāo)定位的全局平均池化

文章出處:【微信號:jqr_AI,微信公眾號:論智】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    仿人足球機(jī)器人目標(biāo)定位技術(shù)與追蹤算法改進(jìn)

    移動機(jī)器人視覺的研究主要集中顏色模型建立、目標(biāo)識別、定位以及跟蹤等方面目標(biāo)的實時識別與定位
    發(fā)表于 09-19 11:18 ?2696次閱讀

    基于Labview的目標(biāo)定位以及機(jī)械控制

    由于實習(xí)緣故,第一次接觸Labview。想學(xué)習(xí)基于Labview基礎(chǔ)上的目標(biāo)定位以及機(jī)械控制的相關(guān)知識。我查了一些資料,但是還是沒有很明晰的思路也不知如何下手。想向各位前輩高手咨詢求助一下,有沒有
    發(fā)表于 04-24 05:08

    TensorFlow的CNN文本分類

    TensorFlow中實現(xiàn)CNN進(jìn)行文本分類(譯)
    發(fā)表于 10-31 09:27

    NLPIR平臺文本分類方面的技術(shù)解析

    分類體系進(jìn)行了綜合訓(xùn)練。演示平臺目前訓(xùn)練的類別只是新聞的政治、經(jīng)濟(jì)、軍事等。內(nèi)置的算法支持類別自定義訓(xùn)練,該算法對常規(guī)文本的分類準(zhǔn)確率較高
    發(fā)表于 11-18 17:46

    stm32上實現(xiàn)svm實時訓(xùn)練分類

    目標(biāo)stm32上實現(xiàn)svm實時訓(xùn)練分類,特征向量為10維向量,分類結(jié)果為多目標(biāo)
    發(fā)表于 08-17 06:24

    基于YOLOX目標(biāo)檢測算法的改進(jìn)

    。2、本文方法2.1、 解耦 IoU 損失目標(biāo)檢測任務(wù)可分為目標(biāo)分類目標(biāo)定位兩個任務(wù)。目標(biāo)分類
    發(fā)表于 03-06 13:55

    基于無線傳感器網(wǎng)絡(luò)的目標(biāo)定位算法研究

    無線傳感器網(wǎng)絡(luò)是一個多學(xué)科交叉的新興前沿技術(shù)研究領(lǐng)域。它在環(huán)境檢測、遙感、目標(biāo)定位等領(lǐng)域具有廣泛的應(yīng)用。本文對目前幾種主要的目標(biāo)定位算法進(jìn)行了分析,并對基于
    發(fā)表于 12-16 14:31 ?18次下載

    無線傳感網(wǎng)絡(luò)目標(biāo)定位系統(tǒng)建模與仿真

    文章首先提出一種傳感器網(wǎng)絡(luò)目標(biāo)定位系統(tǒng)的系統(tǒng)模型,然后利用Ptolemy Ⅱ建模仿真平臺完成該傳感器網(wǎng)絡(luò)目標(biāo)定位系統(tǒng)的系統(tǒng)級行為描述,并根據(jù)系統(tǒng)級建模方法學(xué)對該目標(biāo)定位
    發(fā)表于 01-18 13:41 ?28次下載

    多點(diǎn)測量提高海底目標(biāo)定位精度方法

    結(jié)合GPS定位和水聲定位,給出了一種實用的海底目標(biāo)定位方法。詳細(xì)分析了使用水面多點(diǎn)測量方法時的測量誤差,提供了具體的測點(diǎn)選擇建議。
    發(fā)表于 10-08 15:42 ?20次下載
    多點(diǎn)測量提高海底<b class='flag-5'>目標(biāo)定位</b>精度方法

    僅依賴連通度的多目標(biāo)定位方法

    提出僅依賴連通度的多目標(biāo)定位方法,將多目標(biāo)定位問題轉(zhuǎn)化為基于壓縮感知的稀疏向量重構(gòu),解決室內(nèi)參照物高密度分布的目標(biāo)定位問題。定位方法僅以連通度為觀測值,運(yùn)用最小化,l-范數(shù)法求解
    發(fā)表于 02-11 11:13 ?0次下載

    雙雷達(dá)地面目標(biāo)定位算法

    傳統(tǒng)的雙雷達(dá)地面目標(biāo)定位算法因測量數(shù)據(jù)本身固有的誤差和量測噪聲,使得基于非線性估計定位算法的定位精度不高。本文研究了一種新的雙雷達(dá)地面目標(biāo)定位算法,該算法將已知雷達(dá)探測數(shù)據(jù)以幾何方式加
    發(fā)表于 03-13 14:09 ?3次下載
    雙雷達(dá)地面<b class='flag-5'>目標(biāo)定位</b>算法

    一種新的帶有不確定性的邊界框回歸損失,可用于學(xué)習(xí)更準(zhǔn)確的目標(biāo)定位

    目標(biāo)檢測是一種多任務(wù)學(xué)習(xí)問題,包含目標(biāo)定位目標(biāo)分類。當(dāng)前最佳的目標(biāo)檢測器(比如 Faster RCNN、Cascade R-
    的頭像 發(fā)表于 04-23 16:38 ?6460次閱讀
    一種新的帶有不確定性的邊界框回歸損失,可用于學(xué)習(xí)更準(zhǔn)確的<b class='flag-5'>目標(biāo)定位</b>

    CNN和DBN肺結(jié)節(jié)影像分類識別的對比分析

    不同的深度學(xué)習(xí)模型肺結(jié)節(jié)圖像分類方面的性能。首先,實驗將預(yù)處理過的訓(xùn)練集和標(biāo)簽分別輸入到CNN模型和υBN模型,達(dá)到
    發(fā)表于 06-16 16:21 ?10次下載

    如何區(qū)分圖像分類目標(biāo)檢測技術(shù)

    目標(biāo)檢測的問題定義是確定目標(biāo)在給定圖像中的位置,如目標(biāo)定位,以及每個目標(biāo)屬于哪個類別,即目標(biāo)分類
    發(fā)表于 07-11 12:50 ?523次閱讀

    python卷積神經(jīng)網(wǎng)絡(luò)cnn訓(xùn)練算法

    。CNN采用卷積層、池化層、全連接層等組成,可以自動學(xué)習(xí)輸入數(shù)據(jù)的特征,對于圖像分類、目標(biāo)檢測等任務(wù)具有出色的性能。本文中,我們將介紹CNN
    的頭像 發(fā)表于 08-21 16:41 ?1693次閱讀