論文:RON: Reverse Connection with Objectness Prior Networks for Object Detection
來源:CVPR 2017
1. 概述
RON聚焦於解決尺度變化性問題和正負樣本不平衡問題。
1.1 尺度變化性問題
利用多尺度特徵是解決物體尺寸變化問題的有效方法:
-
SSD直接在多尺度特徵層上進行預測,但由於淺層特徵的語義信息不夠強,SSD的小目標預測效果比大目標差很多。
-
Inside-Outside Net (ION),HyperNet,TDM都將多尺度特徵融合成單尺度特徵,並在單尺寸特徵上進行預測,這三者的特徵融合方式則各不相同。
-
Inside-Outside Net (ION)的多尺度特徵融合方式如下:
-
HyperNet的多尺度特徵融合方式如下:小尺寸特徵用max pooling做下采樣,大尺寸特徵用反捲積做上採樣,最後直接將多個特徵按通道數concatenate成單尺度特徵。
-
TDM則由深到淺將相鄰層聚合起來
-
本文提出的多尺度特徵方法則整合了上述方法,即由深到淺逐漸將相鄰層聚合起來,並利用此過程產生的多尺度特徵進行預測。
1.2 正負樣本不平衡問題
- 正負樣本不平衡、難易樣本不平衡問題會影響網絡的訓練效果。在一階段目標檢測器中,存在着大量的負樣本,而檢測器通常能夠很好地對這些負樣本進行正確分類,於是會存在很多easy example,數量衆多的負樣本會淹沒數量較少的hard example。對此,研究者提出了多種不同的解決方法
- OHEM爲解決此問題,只選取損失較大的部分樣本加入訓練;
- Fcoal loss根據樣本的難易程度,爲每個樣本添加不同的權重;
以上算法都是事先定義好樣本的正負性,在得到網絡的輸出後再進行調整,RON同樣遵循這一思路,但調整方法有所不同。
- RON爲每個輸出特徵圖生成一個相同尺寸的objectness maps,objectness maps的通道數等於每個位置中anchor的數量,objectness表示該anchor包含物體的置信度大小,通過引入objectness prior,在反向傳播時過濾了大量的背景類,緩解了正負樣本不平衡問題
2. RON
2.1 overview
- 修改後的VGG-16提取深度特徵。去掉VGG-16的所有全連接層,在conv5_3後添加 2 × 2 / s 2 2\times2/s2 2×2/s2的卷積層,得到conv6;在conv6後添加 2 × 2 / s 2 2\times2/s2 2×2/s2的卷積層,得到conv7。最終的輸出特徵圖爲conv4_3,conv5_3,conv6,conv7,下采樣率分別爲8,16,32,64。
- 多尺度特徵融合。逐一將本層特徵與後一層特徵進行融合,得到多尺度輸出特徵。
- 多尺度特徵預測。每層特徵圖將產生3個分支,分別是分類分支、迴歸分支和objectness分支。
2.2 Reverse Connectiond多尺度特徵融合方法
- 使用 3 × 3 × 512 3\times3\times512 3×3×512的卷積改變本層特徵conv n的通道數
- 使用 2 × 2 × 512 2\times2\times512 2×2×512的反捲積增大深層輸出特徵 rf-map n+1的分辨率
- 將上述兩個特徵直接相加,得到本層的輸出特徵 rf-map n
- 對於conv7,直接通過一個 3 × 3 × 512 3\times3\times512 3×3×512的卷積層得到其輸出特徵 rf-map 7
- 這種逐層反向連接(Reverse Connection)的方式能增強淺層特徵的語義信息。
2.3 anchor的放置
- 2.2節得出了多個不同不分辨的特徵圖,每個特徵圖擁有不同的感受野大小,所以不同特徵圖將檢測不同尺寸的物體(與SSD相同),因此,不同特徵圖將設置不同scale的anchor,第 k k k個輸出特徵圖中anchor的尺寸爲
其中, s m i n s_{min} smin爲圖像大小的 1 10 \frac{1}{10} 101。每個特徵層的每個位置將放置10個anchor(2種scale和5種寬高比 { 1 3 , 1 2 , 1 , 2 , 3 } \{\frac{1}{3},\frac{1}{2},1,2,3\} {31,21,1,2,3}的組合)。
2.4 Objectness Prior
- 爲解決正負樣本不平衡問題,網絡在輸出分類分支和迴歸分支之外,還會通過objectness分支輸出objectness maps,用來衡量每一個anchor包含物體的置信度。具體地,就是在輸出特徵圖上添加一個 3 × 3 × 2 A 3\times3\times 2A 3×3×2A的卷積層,得到的輸出值按位置和anchor數目通過softmax函數進行二分類,最終得到的objectness maps大小爲 W × H × A W\times H\times A W×H×A。
2.5 Detection and Bounding Box Regression
- k = 80 k=80 k=80是類別總數, A = 10 A=10 A=10是每個位置anchor的數目
inception的結構如下:
2.6 Combining Objectness Prior with Detection
- 基於IoU構建訓練標籤(遵循傳統做法):首先,對於每個GT,選擇與其IoU最大的anchor來負責預測它,這保證對於每個GT,至少存在一個anchor負責預測它;其次,如果某個anchor與某個GT框的IoU大於閾值0.5,則該anchor也負責預測GT,這些有預測GT框的anchor即爲正樣本。與任何GT框的IoU都小於下限閾值0.3的anchor將作爲負樣本。正樣本的objectness標籤爲1,負樣本的objectness標籤爲0。
- 在訓練時,前向推斷階段將分別得到3個分支的輸出,在反向傳播構建損失函數時,objectness分支的損失softmax二分類損失,而分類分支和迴歸分支的損失將受objectness的影響,即,只有objectness大於閾值 o p = 0.03 o_p=0.03 op=0.03的anchor的分類損失和迴歸損失纔會加入總損失,這樣就大大減小了背景類。
- 在測試時,預測邊界框的score爲
3. 總結
- RON同時進行了多尺度特徵融合和多尺度特徵預測,極大地提高了目標檢測的準確度,這種結構後續經過些許修改,而成爲了著名的FPN。
- RON引入Objectness Prior自動地解決具體應該由哪一層特徵的哪個anchor來預測某個物體,由此也緩解了由基於IoU的label assigment所帶來的正負樣本不平衡問題。