RON

論文: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所帶來的正負樣本不平衡問題。