【Feature Pyramid】《Deep Feature Pyramid Reconfiguration for Object Detection》

在這裏插入圖片描述
ECCV-2018



1 Background and Motivation

目前 feature pyramids 設計的結構仍 inefficient to integrate the semantic information over different scales.

作者爭對 SSD 和 FPN 結構的缺點,在 SSD 的基礎上,設計了新的 feature pyramids 結構,使得 object detection 模型具有更強的特徵表達能力!


SSD 是最早的用 feature pyramids 來做 object detection 的方法之一,
在這裏插入圖片描述
圖片來自 SSD詳解

缺點是 SSD 用 shallow-layer 的神經網絡來檢測小目標,但是低層的網絡沒有高級語義信息,小目標檢測的效果不理想


在這裏插入圖片描述
FPN 的 top-down 特徵融合是線性的,too simple to capture highly-nonlinear patterns for more complicate and practical cases. Several

2 Advantages / Contributions

  • 提出了 global-local reconfigurations 的 feature pyramids,enhance multi-scale representations
  • feature pyramids 中 all scales are performed simultaneously,比 layer-by-layer transformation 更efficient

3 Method

在這裏插入圖片描述

1)ConvNet Feature Hierarchy

目標檢測的 backbone 特徵集合可以表示成如下形式
在這裏插入圖片描述

  • LL :表示 backbone 的總層數
  • xlx_l:表示 lthl^{th} 層的輸出

在 SSD 模型中,預測特徵圖集合可以表示爲
在這裏插入圖片描述
eg:PP 在 VGG 中爲 23

xPx_P 是高分辨率,limited semantic information,沒有 reuse deeper and semantic information,不利於小目標的檢測!

2)Lateral Connection

在 FPN 結構中,特徵進行了如下的融合
在這裏插入圖片描述
α\alphaβ\beta 是 Conv(沒有 activation function) 和 up-sampling(雙線性插值),可以理解爲線性操作! 一般化的表示,FPN 對特徵做了如下形式的 polynomial expansions
在這裏插入圖片描述

新生成的用來預測的特徵圖集合可以表示爲
在這裏插入圖片描述

這種 representation power,在複雜的目標檢測任務上是不夠的

3.1 Deep Feature Reconfiguration

在這裏插入圖片描述
首先是要從線性變成非線性
在這裏插入圖片描述
在這裏插入圖片描述

其中非線性函數 Hl(X)H_l(X) 表示爲 a global attentiona local reconfiguration 操作!

3.1.1 Global Attention for Feature Hierarchy

用的 SENet 的方法,channel attention
在這裏插入圖片描述
SENet 的介紹可以參考 【SENet】《Squeeze-and-Excitation Networks》

第一步壓縮分辨率,把特徵圖保留爲一個只有通道數的向量
在這裏插入圖片描述

  • xlc(i,j)x_l^c(i,j) 表示 iijj 列,cthc^{th} channel

第二步接兩個 fully connection
在這裏插入圖片描述
這裏有點錯誤,應該是 W1lW_1^lW2lW_2^lδ\delta 是 relu,σ\sigma 的 sigmoid

在這裏插入圖片描述
把 channel dimension 的向量,壓縮 r=16r=16 倍,
在這裏插入圖片描述
第三步,把學習到的通道權重,與原來的特徵圖做 channel-wise multiplication
在這裏插入圖片描述
最後用來預測的特徵圖集合表示爲
在這裏插入圖片描述
這裏把下標 ll 去掉更好,加個下標多此一舉

3.1.2 Local Reconfiguration

在這裏插入圖片描述
resnet 的結構!把 channel attention 的輸出接一個 bottleneck,配合 1x1 conv 的 shortcut 分支
在這裏插入圖片描述
用殘差的好處是,it is easier to optimize the residual mapping than to optimize the desired underlying mapping.

和 resnet 的區別是,這裏是在 feature hierarchy 上進行,而 resnet 是在 one level of convolutional output

4 Experiments

4.1 Datasets

  • PASCAL VOC 2007
  • PASCAL VOC 2012
  • MS COCO datasets

4.2 PASCAL VOC 2007

VOC 07+12 trainval sets, VOC 07 test set
在這裏插入圖片描述
re 表示自己復現,lateral 就是 FPN

速度比較是在 batch size 1 on a machine with NVIDIA Titan X, CUDA 8.0 and cuDNN v5 條件下進行的!
在這裏插入圖片描述
比 FPN 效果好一點點

再看看和其它方法的比較
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
紅線是召回率隨着檢測數量增加殘生的 變化!
橫座標是檢測的數量(要乘以一個係數),縱座標是 recall 的百分比,可以看出,作者的方法在這三類中,recall 高於 90%

4.3 PASCAL VOC 2012

VOC2012 trainval for training and VOC2012 test for testing
在這裏插入圖片描述

4.4 MS COCO

80 k train + 40 k val 來訓練,20 k test-dev 來測試(一般是 80+35 train,5 val,20 test)
在這裏插入圖片描述
比別人多用了 5k 來train 耶,比較公平嗎?
在這裏插入圖片描述

5 Conclusion(own)

  • 把 SENet 和 ResNet 加到了 FPN 的結構中,創新點沒有太新穎,在 COCO 上比效果的時候,能不能保證訓練集是一樣的呢?比別人多 5k 來比?在 COCO 上應該也比較下 SSD+FPN 和 SSD+ours 的效果,會更有說服力(voc 提了不到一個點)

我們來分析下實驗的細節
在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
一句話,一個公式,一個註釋可以看出,原來的特徵是如何融合成一個 tensor 的,也即通過 adaptive sampling 成固定大小的特徵圖,然後 concatenate

感覺是 XX 通過 HH 函數後,然後插值成不同分辨率成爲新的特徵圖,HH 只作用了一次,而不是 4 次(如果有理解錯誤的地方,歡迎指正)

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