FPN(Feature Pyramid Networks for Object Detection) 學習筆記

論文: Feature Pyramid Networks for Object Detection

作者: Tsung-Yi Lin, Piotr Dollár, Ross Girshick, Kaiming He, Bharath Hariharan, Serge Belongie

最近在讀最新目標檢測論文的時候,FPN一直出現,所以在這裏又把FPN網絡論文重新讀了一遍,並簡單記了些學習筆記。

一、Feature Pyramid Networks(FPN) 的提出

識別尺寸差異很大的對象是計算機視覺的一項基本挑戰,在FPN提出之前,主要有三種解決方案,如Fig1(a), (b), ©所示, (d)表示的是FPN網絡。

在這裏插入圖片描述

Fig1 (a)中的是圖像金字塔

基於圖像金字塔的特徵金字塔是多尺度物體檢測的基礎解決方案。圖像金字塔方法在手工設計特徵的時代被大量使用,如DMP。

Fig1 (b)中的是卷積神經網絡

卷積神經網絡除了能夠表示高級語義外,還對尺度變化具有魯棒性,因此有助於從單個輸入尺度上計算出的特徵中進行識別,如Fig1(b)所示。CNN即使具有這種魯棒性,仍然需要金字塔來獲得更準確的結果。但圖像金字塔在CNNs中具有侷限性。推測時間較長,在實際應用中不切實際;考慮到內存問題,在訓練時圖像金字塔是不可行的,因此會造成訓練和測試時的不一致性。

深度卷積網絡逐層計算得到特徵層次,並且通過下采樣層,特徵層次(feature hierarchy)結構具有固有的多尺度、金字塔形狀。這種in-network的特徵層次產生了不同分辨率的特徵圖,但是會引入由不同深度引起的較大的語義鴻溝。高分辨率特徵圖具有不利於對象識別的低層特徵表示。

Figure1 c)中的SSD的金字塔層次特徵結構

理想情況下,SSD-style的金字塔將重用forward pass中計算出的來自不同層的多尺度特徵,從而節省成本。但是,爲了避免使用低級特徵,SSD放棄了重用已經計算出的層,而是從網絡的高層構建金字塔,然後添加了幾個新層。因此,它錯過了重用特徵層次結構中的高分辨率特徵。 實驗證明,這些對於檢測小物體很重要。

Fig1 (d)中的結構是論文中提出的FPN

論文的目標是利用ConvNet的特徵層次金字塔結構,來創建在各個尺度具有較強語義信息的特徵金字塔。爲實現此目標,作者將具有低分辨率強語義信息的特徵和具有高分辨率弱語義的特徵,通過一個top-down的路徑和橫向連接(lateral connection)連接起來。

產生的結果是一個特徵金字塔,它在所有levels上面具有豐富的語義信息,並且可以從單個尺寸的輸入圖像快速構建。

論文中,利用深度卷積網絡固有的多尺度、金字塔層次結構來構建具有邊際額外成本的特徵金字塔。這種稱爲Feature Pyramid Network(FPN)的架構在很多應用中表現出了顯著的改進。而且,FPN對所有尺寸可以進行端到端的訓練,並且在訓練和測試時保持一致性。

二、FPN介紹

基於FPN的方法採用任意大小的單尺度圖像作爲輸入,在多個levels上以全卷積形式輸出成比例的特徵圖。FPN是和骨幹網絡是獨立的。FPN的構造包括一個bottom-up的路徑一個top-down的路徑lateral連接

2.1 Bottom-up pathway

Bottom-up pathway是骨幹網絡的前向計算,它計算了包含不同尺度特徵圖的特徵層次(feature)。通常會有許多層產生相同大小的輸出特徵圖,我們說這些層位於網絡的同一stage。對於FPN,每一個stage定義一個金字塔level。FPN選擇每一個stage的最後一層的輸出作爲特徵圖的reference set,我們將會對其進行豐富(rich)來構建金字塔。

具體來說,對於ResNet,FPN使用每一個stage的最後一個殘差block輸出的特徵激活。論文中將這些最後一個殘差block (conv2, conv3, conv4, conv5)的輸出記爲 {C2,C3,C4,C5}\lbrace C_2, C_3, C_4, C_5 \rbrace,它們的具有相較於輸入圖像的步長分別爲 4, 8, 16和32。由於conv1佔用大量內存,因此論文中沒有將其包含在金字塔中。

2.2 Top-down pathway 和 lateral connections

Top-down pathway 對來自更高金字塔level的空間上更粗糙(spatially coarser)、更強語義信息(semantically stronger)的特徵圖進行上採樣來得到更高分別率的特徵圖。這些特徵通過與來自bottom-up的特徵進行lateral連接來加強。

每一個lateral連接合並了來自bottom-up pathway和top-down pathway的具有相同分辨率的特徵圖。 Bottom-up特徵圖淺層具有lower-level的語義信息,但是它更有助於精確的定位,因爲它下采樣的次數更少一些。

在這裏插入圖片描述

FPN block如Fig 3所示, 1 x 1的卷積用來降低維度,合併操作通過逐元素相加。

所有的金字塔level共享分類器/迴歸器,所以在所有的輸出特徵圖上的通道設置爲256。在這些層裏也沒有設置non-linearites。

FPN實驗結果

在這裏插入圖片描述

Table 1是進行的ablations的實驗結果。

  • (a), (b)是baseline進行比較,只在conv4和conv5上進行預測
  • © FPN的結果
  • (d) 沒有top-down pathway的實驗結果
  • (e) 沒有lateral connection的實驗結果
  • (f) 只在P2檢測的實驗結果

在這裏插入圖片描述

Table 4是FPN與一些其他模型的對比結果

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