FPN-CVPR2017

文章: Feature Pyramid Networks for Object Detectin
作者: Tsung-Yi Lin, Piotr Dollar, Ross Girshick, Kaiming He, Bharath Hariharan, and Serge Belongie

核心亮點(diǎn)

提出了多尺度的特征金字塔結(jié)構(gòu)
將最后一層特征圖譜進(jìn)行不斷盡快上采樣, 并與每一個(gè)金字塔階級(jí)的特征圖譜進(jìn)行加法合并操作, 得到新的表征能力更強(qiáng)的不同金字塔層次的特征圖譜, 然后將RoI按照尺寸分別映射到這些特征圖譜上, 再在每個(gè)特征圖譜上進(jìn)行類別和位置預(yù)測(cè). 可以直觀感受到, 這種多尺度的特征圖譜在面對(duì)不同尺寸的物體時(shí), 具有更好的魯棒性, 尤其是在面對(duì)小型物體時(shí). 同時(shí), 這種特征金字塔結(jié)構(gòu)是一種通用的特征提取結(jié)構(gòu), 可以應(yīng)用到不同的網(wǎng)絡(luò)框架中, 顯著提高(5~8%)模型的召回率(因?yàn)樘岢隽烁嗖煌叨? 不同特征信息的anchor box), 并且可以廣泛提高(2~3%)模型的mAP.

論文細(xì)節(jié)

背景介紹

在面對(duì)不同尺度的物體檢測(cè)問題時(shí), 特征金字塔結(jié)構(gòu)是一個(gè)非陈朔瘢基本的組成部分, 但是最近的檢測(cè)模型都舍棄了這一結(jié)構(gòu)(Fast RCNN, Faster RCNN, YOLOv2等), 其一部分原因是因?yàn)檫@個(gè)結(jié)構(gòu)對(duì)計(jì)算和內(nèi)存的要求較高. 本文在控制資源消耗的情況下, 建立了一個(gè)跨所有層的特征金字塔結(jié)構(gòu)網(wǎng)絡(luò), 達(dá)到了當(dāng)時(shí)的STOA性能.

傳統(tǒng)的特征金字塔結(jié)構(gòu)對(duì)于計(jì)算資源和內(nèi)存資源的依賴較為嚴(yán)重, 同時(shí)深度卷積網(wǎng)絡(luò)在不同階段的卷積層, 雖然較好的傳遞了特征, 但是因?yàn)槊恳粚拥妮敵鐾ǖ罃?shù)不同, 會(huì)導(dǎo)致層與層之間形成一種潛在的語義鴻溝. 較高的分辨率好好具有更多的低級(jí)信息(在深層會(huì)被過濾掉), 但是多于的信息也會(huì)對(duì)降低泛化能力, 較低的分辨率則具有權(quán)重更高的重要信息, 但是這樣也會(huì)使得小目標(biāo)物體難以檢測(cè).

SSD與FPN中多尺度特征圖譜融合的區(qū)別

SSD算是首批結(jié)合多尺度特征金字塔的檢測(cè)系統(tǒng), 但是SSD為了避免用到過多的低級(jí)特征(高層卷積圖譜上的特征), 放棄使用以及計(jì)算好的特征特普, 而是從網(wǎng)絡(luò)的最后一層卷積層開始, 添加新的卷積層, 并在這些新添加的卷積層上進(jìn)行特征金字塔融合. 這樣做一個(gè)很直觀的結(jié)果就是, 它會(huì)錯(cuò)過很多高分辨率特征圖譜上的特征信息, 而這些特征信息在面對(duì)小物體檢測(cè)時(shí)是十分有用的.(這也是SSD對(duì)小物體檢測(cè)較為敏感的原因之一).

image

Feature Pyramid Networks

輸入: 任意尺寸的單張圖片(不進(jìn)行尺度縮放)
輸出: 以全卷積的方式在不同層次上輸出對(duì)應(yīng)的映射尺寸的特征圖譜

構(gòu)建FPN包含以下步驟:

自下而上的路徑: 該方式是根據(jù)backbone 卷積網(wǎng)絡(luò)的前饋計(jì)算過程進(jìn)行的. 特征圖通常經(jīng)過卷積計(jì)算后是會(huì)越來越小的, 也有一些特征層的輸出和原來大小一樣, 成為處于同一個(gè)網(wǎng)絡(luò)階段("same network stage"). 對(duì)于本文, 將每一個(gè)"network stage"看做是一個(gè)金字塔級(jí)別. 然后選擇每個(gè)階段的最后一層作為特征圖的參考集合(因?yàn)樽钌顚永響?yīng)具有最強(qiáng)的特征表示). 具體來說, 對(duì)于ResNets, 使用了每一個(gè)階段的最后一個(gè)殘差結(jié)構(gòu)的特征激活輸出, 將這些殘差模塊conv2, conv3, conv4, conv5 的輸出表示為 \{C_2, C_3, C_4, C_5\}, 并且注意到他們相對(duì)于輸入圖像具有 \{4,8,16,32\} 像素的步長(zhǎng).

自上而下的路徑以及橫向連接:
自上而下的路徑是通過在更粗糙, 但是語義更強(qiáng)的高層特征圖(深層)上進(jìn)行上采樣來得到更高分辨率的圖譜, 然后將這些上采樣之后的feature map 與 自下而上(自淺而深)的特征圖譜通過橫向連接的方式拼接在一起.(橫向連接的feature map的size是一樣大的). 那些bottom-up frature map 具有較為低級(jí)的語義信息(低級(jí)是指抽象程度低), 但是這些圖譜的位置精度更高, 因?yàn)樗鼈兘?jīng)過的下采樣次數(shù)更少. 下面的圖3顯示了構(gòu)建top-down feature map的模塊. 對(duì)于一個(gè)粗糙精度的特征圖譜, 首先將其上采樣至2倍(為了簡(jiǎn)單, 直接使用最近鄰), 然后將上采樣后的特征圖譜與對(duì)應(yīng)的自下而上的圖譜進(jìn)行按元素相加合并(合并前自下而上的圖譜會(huì)將經(jīng)過1×1卷積降低通道數(shù)). 這個(gè)過程會(huì)一直迭代, 知道最淺的卷積圖譜也被合并為止. 在最開始的時(shí)候, 最深層的合并是使用1×1卷積來生成待合并的top-bottom feature map的. 最后, 會(huì)用3×3的卷積在所有合并后的特征圖譜上進(jìn)行卷積操作, 以此來得到最終的特征圖譜(以此來消除上采樣的混疊效應(yīng)) \{P_2, P_3, P_4, P_5\}, 他們具有與\{C_2, C_3, C_4, C_5\} 相同的大小.

image

由于所有層的金字塔卷積都是使用的共享的分類器和回歸器, 因此文章固定了特征圖譜的通道數(shù)量(256). 文章使用的是最簡(jiǎn)單的網(wǎng)絡(luò)結(jié)構(gòu), 同時(shí)也存在其他更好的連接設(shè)計(jì), 但本文的主要目的是探討FPN的有效性, 因此沒要嘗試過多的連接組合.

應(yīng)用

FPN是一種用于在卷積網(wǎng)絡(luò)內(nèi)部建立特征金字塔的一般化的解決方案, 下面利用Faster RCNN來證明FPN的有效性.

Feature Pyramid Networks for RPN

RPN會(huì)在最后一層的特征圖譜上, 利用 3×3 的卷積核, 生成同樣大小的特征圖譜, 然后在這個(gè)新的圖譜上畫anchor boxes, 并利用兩個(gè)1×1的卷積核進(jìn)行二分類和回歸任務(wù). 本文用FPN替換了RPN的3×3的卷積核, 然后依然使用兩個(gè)1×1的卷積核進(jìn)行二分類和回歸任務(wù). 同時(shí), 因?yàn)镕PN會(huì)結(jié)合前面的backone網(wǎng)絡(luò)的所有卷積段, 因此, 對(duì)于每一個(gè)金字塔層, 只使用一個(gè)固定尺寸的anchors. 本文中, 對(duì)于\{P_2, P_3, P_4, P_5\},其anchors的大小分別為 {32^2, 64^2, 128^2, 256^2, 512^2}, 每一層anchors的寬高比例為{1:2, 1:1, 2:1}, 因此, 總共具有15個(gè)anchors(對(duì)于每一個(gè)location而言)

訓(xùn)練時(shí)的標(biāo)簽賦值策略和FasterRCNN是一樣的.

Feature Pyramid Networks for Fast RCNN

將FPN用于FastRCNN時(shí), 需要在不同的層次上賦予不同尺度的RoI大小.(因?yàn)镽oI pooling是根據(jù)物體在原圖中的框決定)

本文寬度為 w ,高度為 h 的RoI 通過如下公式分配到特征金字塔的 P_k 等級(jí)上:

k = \lfloor k_0 + log_2(\frac{\sqrt{wh}}{224})

這里 224 是規(guī)范的ImageNet預(yù)訓(xùn)練的大小, 而 K_0 是則大小為 w\times h = 224^2 的RoI應(yīng)該映射到的目標(biāo)級(jí)別. 類似于基于ResNet的Faster RCNN使用 C_4 作為單尺度特征映射, 我們將 k_0 設(shè)置為4 (也就是說, 與圖片一樣大的RoI會(huì)映射到 P_1 的特征圖譜上). 上式表明, 如果RoI的尺度變的更小(如224的0.5倍), 那么該RoI就應(yīng)該映射到分辨率更高的金字塔圖譜上(如 k=3 ).(也就是說不同大小的RoI會(huì)映射到不同金字塔層級(jí)的特征圖譜上, 總的來說, 越小的RoI, 會(huì)映射到更淺層的特征圖譜上, 因?yàn)樘畹膱D譜可能已經(jīng)將小物體信息過濾掉了)

文章將預(yù)測(cè)器(分類和坐標(biāo)回歸)應(yīng)用到所有金字塔層級(jí)的RoI上面. 需要注意, 預(yù)測(cè)器在所有層級(jí)上的權(quán)重都是共享的. . 在ResNet中, 會(huì)在conv4的特征圖譜上在加上一個(gè)conv5, 但是本章已經(jīng)將conv5用于構(gòu)建特征金字塔. 所以和ResNet不同, 文章很直接的利用RoI pooling來獲取 7\times 7 的特征 (注意不是基于滑動(dòng)窗口的檢測(cè)器, 這一點(diǎn)和YOLO差不多), 并且會(huì)使用2層1024維的隱藏層(后街ReLU), 然后才會(huì)送入最終的預(yù)測(cè)器層當(dāng)中(分類和位置回歸).

實(shí)驗(yàn)

用COCO 80ktrain和35k val進(jìn)行實(shí)驗(yàn). 所有的網(wǎng)絡(luò)均在ImageNet1k上預(yù)訓(xùn)練.

實(shí)驗(yàn)細(xì)節(jié):

輸入圖片的尺寸被resize, 其最短邊長(zhǎng)為800像素. 8塊GPU同步訓(xùn)練, 每個(gè)GPU的minibatch為兩張圖片, 每張圖片的anchors為256. weight decay為0.0001, momentum為0.9. learning rate 開始的30k圖片是0.02, 之后是0.002. 訓(xùn)練時(shí)包含了那些處于image之外的anchor boxes(Faster選擇忽略).

消融實(shí)驗(yàn)

實(shí)驗(yàn)結(jié)果表明, RPN結(jié)構(gòu)可以提高檢測(cè)的AR(Average Recall)指標(biāo), 尤其是在面對(duì)小物體和中等物體等多尺度物體時(shí), 會(huì)顯著提高AR指標(biāo).

top-down 的特征圖譜加強(qiáng)可以使得特征圖譜具有很強(qiáng)的語義特征信息和更好的分辨率.(原始的特征圖譜之間的語義鴻溝更大, 層與層之間的聯(lián)系比較簡(jiǎn)單粗糙)

雖然top-down方式的特征圖譜具有很強(qiáng)的語義特征信息和更好的分辨率效果, 但是有過經(jīng)過不斷的降采樣和上采樣過程, 該特征圖譜的位置信息可能會(huì)變得不夠精確. lateral connections 同時(shí)結(jié)合具有精確位置信息的特征圖譜和具有強(qiáng)語義信息的圖譜, 進(jìn)而達(dá)到更好的效果.

Pyramid結(jié)構(gòu)的重要性: 如果只在最后一層特征圖譜 P_2 上進(jìn)行檢測(cè), 這就像是Faster RCNN的單尺度方法一樣, 所有的anchors都在最后一層圖譜上, 這種變體比Faster RCNN好但是比FPN差. 直觀上來說, 在所有特征層上進(jìn)行檢測(cè), 對(duì)不同尺度的物體的魯棒性要更好.

利用Fast/Faster RCNN進(jìn)行目標(biāo)檢測(cè)

利用AP(Average Precision)指標(biāo)對(duì)FPN進(jìn)行驗(yàn)證

在Faster RCNN上使用FPN, mAP提高了 2%, 其中小物體的mAP提高了2.1%.(固定的候選區(qū)域集合)

在面對(duì)consistent proposals時(shí)(因?yàn)镽PN和Fast RCNN要共享權(quán)重,所以會(huì)不斷迭代訓(xùn)練), FPN比Faster RCNN的AP高 2.3 點(diǎn), 比AP@0.5高 3.8 點(diǎn).

FasterRCNN中RPN和FastRCNN的權(quán)重共享大約可以提升mAP值0.5左右(0.2~0.7), 同時(shí), 權(quán)重共享也可以降低預(yù)測(cè)時(shí)間(0.148 vs 0.172, ResNet50, M40 GPU因?yàn)椴挥糜?jì)算兩個(gè)不同的權(quán)重參數(shù), RPN與Fast RCNN用的是一個(gè)權(quán)重參數(shù)).

FPN沒有使用很多流行的提升精度的方法, 如迭代回歸, 難樣例挖掘, 上下文建模, 數(shù)據(jù)增強(qiáng)等等. 但是FPN仍然在目標(biāo)檢測(cè), 實(shí)例分割, 關(guān)鍵點(diǎn)檢測(cè)等多項(xiàng)任務(wù)上刷新了最高分. 如果使用這些trick, 理論上會(huì)獲得更高的精度.

FPN是一種通用的特征提取方法, 他同樣也適用于實(shí)例分割任務(wù), 并且可以取得很好的效果.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末块请,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子组橄,更是在濱河造成了極大的恐慌硫戈,老刑警劉巖锰什,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異丁逝,居然都是意外死亡汁胆,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門霜幼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來嫩码,“玉大人,你說我怎么就攤上這事罪既≈猓” “怎么了?”我有些...
    開封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵琢感,是天一觀的道長(zhǎng)丢间。 經(jīng)常有香客問我,道長(zhǎng)驹针,這世上最難降的妖魔是什么烘挫? 我笑而不...
    開封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮柬甥,結(jié)果婚禮上饮六,老公的妹妹穿的比我還像新娘其垄。我一直安慰自己,他們只是感情好卤橄,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開白布绿满。 她就那樣靜靜地躺著,像睡著了一般窟扑。 火紅的嫁衣襯著肌膚如雪棒口。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天辜膝,我揣著相機(jī)與錄音无牵,去河邊找鬼。 笑死厂抖,一個(gè)胖子當(dāng)著我的面吹牛茎毁,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播忱辅,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼七蜘,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了墙懂?” 一聲冷哼從身側(cè)響起橡卤,我...
    開封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎损搬,沒想到半個(gè)月后碧库,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡巧勤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年嵌灰,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片颅悉。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡沽瞭,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出剩瓶,到底是詐尸還是另有隱情驹溃,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布延曙,位于F島的核電站豌鹤,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏搂鲫。R本人自食惡果不足惜傍药,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一磺平、第九天 我趴在偏房一處隱蔽的房頂上張望魂仍。 院中可真熱鬧拐辽,春花似錦、人聲如沸擦酌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽赊舶。三九已至睁搭,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間笼平,已是汗流浹背园骆。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留寓调,地道東北人锌唾。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像夺英,于是被迫代替她去往敵國和親晌涕。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 烏云遮住了太陽的眼睛 風(fēng)從四面趕來 故意弄出擾亂的響聲 時(shí)鐘的嘀嗒 計(jì)時(shí)一場(chǎng)迷藏的開始 天空漸漸浸入墨色 草木皆已...
    風(fēng)清越朗閱讀 179評(píng)論 0 1
  • 寫給那個(gè)夕陽下的你 腦海里揮之不去的那個(gè)夕陽痛悯、...
    青春一記閱讀 161評(píng)論 0 0
  • 聽外面蟲鳴余黎,獨(dú)坐梳妝臺(tái)就著自己的近視,看模模糊糊的自己载萌。心里又開始亂糟糟的惧财,每次發(fā)完火,很快就后悔扭仁。 不滿意現(xiàn)狀可缚,...
    朱曉曉閱讀 159評(píng)論 0 0