Feature Pyramid Networks for Object Detection
- 摘要
- 引言
- 2 相關工作
- 3 FPN
- 4 應用
摘要
特征金字塔是識別系統中用于檢測不同尺度對象的基本組件。但是,最近的深度學習對象檢測器已經避免了金字塔表示,部分原因是它們在計算和內存方面都很密集。在這篇論文中,我們利用深度卷積網絡的固有多尺度、金字塔層次結構來構建特征金字塔,額外的成本幾乎可以忽略不計。我們開發了一種自頂向下的架構,通過橫向連接來構建所有尺度的高級語義特征圖。這種架構被稱為特征金字塔網絡(FPN),在多個應用中作為通用特征提取器顯示出顯著的改進。在基本的Faster R-CNN系統中使用FPN,我們的方法在COCO檢測基準上實現了最先進的單模型結果,無需任何額外的技巧,超過了所有現有的單模型條目,包括COCO 2016挑戰賽的獲勝者。此外,我們的方法可以在GPU上以6 FPS的速度運行,因此是一種實用且準確的多尺度對象檢測解決方案。代碼將公開提供。
引言
識別不同尺度的物體是計算機視覺中的一個基本挑戰。基于圖像金字塔構建的特征金字塔(簡稱為特征化圖像金字塔)構成了一種標準解決方案的基礎【1】(圖1(a))。這些金字塔在某種意義上是尺度不變的,因為物體的尺度變化可以通過在金字塔中移動其層級來抵消。直觀上,這一特性使得模型能夠通過在不同位置和金字塔層級上掃描,檢測出各種尺度范圍內的物體。
在手工設計特征的時代,特征化圖像金字塔被廣泛使用【5,25】。它們是如此關鍵,以至于像DPM【7】這樣的目標檢測器需要密集的尺度采樣(例如,每個倍頻有10個尺度)才能取得良好的效果。在識別任務中,手工設計的特征已經很大程度上被深度卷積網絡(ConvNets)計算的特征所取代【19,20】。除了能夠表示更高級別的語義外,ConvNets還對尺度變化更具魯棒性,從而有助于通過單一輸入尺度的特征進行識別【15,11,29】(圖1(b))。但即便具備這種魯棒性,金字塔仍然是獲得最準確結果所必需的。在最近的ImageNet【33】和COCO【21】檢測挑戰中,所有頂尖的參賽作品都使用了特征化圖像金字塔的多尺度測試(例如【16,35】)。對圖像金字塔的每一層進行特征化的主要優勢在于,它生成了一個多尺度特征表示,其中所有層級都具有較強的語義,包括高分辨率層級。
圖1. (a) 使用圖像金字塔構建特征金字塔。特征是在每個圖像尺度上獨立計算的,這樣做速度較慢。(b) 近期的檢測系統選擇僅使用單一尺度特征進行快速檢測。? 另一種方法是重用ConvNet計算出的金字塔特征層級,將其視為特征化的圖像金字塔。(d) 我們提出的特征金字塔網絡(FPN)與(b)和?一樣快速,但更加準確。在此圖中,特征圖由藍色輪廓表示,較粗的輪廓表示語義上更強的特征。
盡管如此,對圖像金字塔的每一層進行特征化仍然存在明顯的局限性。推理時間顯著增加(例如,增加四倍【11】),這使得這種方法在實際應用中變得不切實際。此外,在圖像金字塔上端到端訓練深度網絡在內存方面也是不可行的,因此如果使用圖像金字塔,它們只在測試時使用【15,11,16,35】,這在訓練和測試時間推理之間造成了不一致性。出于這些原因,Fast R-CNN和Faster R-CNN【11,29】在默認設置下選擇不使用特征化圖像金字塔。
然而,圖像金字塔并不是計算多尺度特征表示的唯一方法。深度卷積網絡(ConvNet)逐層計算特征層次結構,隨著子采樣層的引入,特征層次結構具有固有的多尺度、金字塔形狀。這種網絡內部的特征層次結構生成了不同空間分辨率的特征圖,但由于深度不同而引入了巨大的語義差異。高分辨率特征圖具有低級特征,這些特征會削弱其在目標識別中的表示能力。
單次檢測器 (SSD) [22] 是首次嘗試將卷積網絡(ConvNet)的金字塔特征層次結構視為特征化圖像金字塔的工作之一(圖1?)。理想情況下,SSD風格的金字塔將重用在前