2017年,kaiming和rbg再次合作(一作Tsung-Yi Lin),提出了FPN解決小物體檢測的問題
FPN(feature pyramid network)
從rcnn到fater rcnn,物體的分類都是在最後conv層的feature map上做的,而此時feature map每個點對應的是原圖的一個區域,如果我們要檢測的物體比較小,很容易漏檢;所謂低層的特徵淺但是位置精細,高層的特徵深但是位置粗糙,因此如何加入多尺度特徵是本篇要解決的問題,如下是幾種方案:
(a)通過多尺度圖片分別獲取多尺度特徵,特徵計算量大,效率低
(b)直接在最高層conv上做預測,這是類rcnn主流檢測的做法
(c)對每層不同尺度的feature map做預測,作者說SSD最早一批嘗試多尺度特徵的(這個lecun在12年就嘗試將底層特徵和高層特徵融合了),但是用的不夠淺(VGG的conv4_3)
(d)本篇的方法,將每層feature map上採樣和淺層融合後進行預測,這就是FPN(feature pyramid network)
具體實現如下圖,首先高層feature map 2x up上採樣,淺層feature map 1*1 卷積壓縮chanel,然後融合,每個尺度上都配置anchor選取對應原圖的region proposal,共{32^2, 64^2 , 128^2 , 256^2 , 512^2} * {1:2, 1:1, 2:1}共15種anchor;
FPN是在COCO數據集上驗證的效果,如下:
為什麼在COCO上實驗是有原因的,本文解決的是小物體漏檢的問題,更適合COCO數據,見下;
COCO數據集的難度:
COCO數據集是微軟貢獻的,相對於ImageNet其難度比較高,具體表現在:
1) 每張圖片包含的物體/檢測框多:和imagenet,VOC相比,如下圖,COCO的80類別12w的圖片量不算多,而Imagenet每張圖片 1.4個物體,COCO每張圖片有7.2個物體,是Imagenet的5倍;
2) 小物體比較多:如下圖,COCO小物體佔比31%,各尺度佔比均勻,Imagenet小物體僅有4.7%; small (A < 32 x 32);medium (32x 32 < A < 96 x 96);large (A > 96 x 96).
Feature Pyramid Networks for Object DetectionTsung-Yi Lin, Piotr Dollár, Ross Girshick, Kaiming He, Bharath Hariharan, Serge Belongie