1. 程式人生 > >R-FCN: Object Detection via Region-based Fully Convolutional Networks

R-FCN: Object Detection via Region-based Fully Convolutional Networks

       R-FCN 是一個two stage的目標檢測方法,先使用RPN(region proposal network)提取proposal資訊,這部分和faster RCNN是同樣的結構。在對物體進行具體分類和定位時,R-FCN在通過提出的位置敏感分數圖(position sensitive score maps)來增強網路對於位置資訊的表達能力,提高檢測效果。具體做法如下圖:

      先對卷積得到的feature map進行卷積得到通道數為K*K*(c+1)的特徵,其中K*K是對ROI進行pooling時的cell的個數,作者在論文中舉的例子K=3;C是檢測的類別數同時,加1是引入背景作為一類。作者為了增強徵位置資訊,將通道數為K*K*(c+1)的特徵分為每類對應k*k個位置資訊。此時通道以c+1作為間隔,可以形成k*k個特徵位置資訊,將這K*K這個位置資訊依次作為ROI各個cell。

    之後通過把RPN得到的ROI分為k x k 個小塊,此時得到的通道數為c+1,大小為K*K,沿著通道的方向進行average pooling。得到的結果在通過softmax得到具體分類結果。

   

上面的處理過程中,引入位置敏感得分圖對最終的分類具有巨大影響,不同位置的特徵資訊相加即可得到特徵圖對於該類別的響應,即可對該特徵進行相應的分類。  

  對於位置框迴歸階段仿照分類的思路,將特徵通道數組合為4 x k x k 的形式,其中每個小塊的位置都對應了相應的通道對其進行位置迴歸的特徵提取。最後將不同小塊位置的四個迴歸值融合之後即可得到位置迴歸的響應,進行後續的位置迴歸工作。

最好,我們看看作者在論文中對這種位置敏感分數圖的分析:

      當RoI包涵物體屬於某類別時,損失函式即會使得該RoIs不同區域塊所對應的響應通道相應位置的特徵響應儘可能的大(圖中白色區域),下圖展示了這一過程,可以明顯的看出不同位置的特徵圖都只對目標相應位置的區域有明顯的響應,其特徵提取能力是對位置敏感的。

       對於任意一個RoI,計算它的Softmax損失,和當其不屬於背景時的迴歸損失。因為每個RoI都被指定屬於某一個GT box或者屬於背景,即先讓GT box選擇與其IoU最大的那個RoI,再對剩餘RoI選擇與GT box的IoU>0.5的進行匹配,而剩下的RoI全部為背景類別。當RoI有了label後loss就可以計算出來。這裡唯一不同的就是為了減少計算量,作者將所有RoIs的loss值都計算出來後,對其進行排序,並只對最大的128個損失值對應的RoIs進行反向傳播操作,其它的則忽略。並且訓練策略也是採用的Faster R-CNN中的4-step alternating training進行訓練。在測試的時候,為了減少RoIs的數量,作者在RPN提取階段就將RPN提取的大約2W個proposals進行過濾:

     1.去除超過影象邊界的proposals

     2.使用基於類別概率且閾值IoU=0.3的NMS過濾

     3.按照類別概率選擇top-N個proposals

在測試的時候,一般只剩下300個RoIs。並且在R-FCN的輸出300個預測框之後,仍然要對其使用NMS去除冗餘的預測框。