參考文章:R-FCN詳解網絡
論文地址:Object Detection via Region-based Fully Convolutional Networks app
R-FCN是Faster-RCNN的改進型,其速度提高了2.5倍以上,並略微提升了準確度。框架
提出Position-sensitive score maps來解決目標檢測的位置敏感性問題函數
以下圖所示,主體部分和Faster-RCNN同樣:性能
下面咱們來着重講解下面支路的處理。學習
接前一段所述,咱們的到K*K*(C+1)維的features,這裏的C+1表示的就是分類數(包含背景類別),而K咱們能夠理解爲Faster-RCNN的ROIing後輸出的尺度K*K,如下圖爲例,這裏咱們的K實際就是3,對應着ROIPooling後輸出3*3的小圖,瞭解了這個事實,咱們來說解爲何這樣作。spa
看到上圖,瞭解Faster-RCNN的同窗可能疑惑:K*K*(C+1)的features爲何ROIPooling後維度變爲C+1了?實際上這裏的操做並非標準的ROIPooling:咱們的features實際被分紅K*K組,每組C+1層,每組對應ROIPooling後的結果的一個位置(如圖ROIPooling輸出3*3共九個點,因此咱們須要9組)。.net
RPN獲取候選框後,咱們在position-sensitive score map找到對應的位置,而後對應位置ROI操做對應的features組,以上圖來看,輸出左上角的橙色數字來源於第一組的C+1層features的候選框區域的左上角(比較拗口,對比顏色很容易理解)。blog
這麼作的目的就是:咱們但願這K*K組features,每組對應於候選物體的對應部分(好比識別一匹馬,其中一組對應一匹馬圖片的左上角位置,這裏常常出現馬頭、馬尾巴這樣),使得分類任務具備位置敏感性。圖片
ROI示意以下:
和Faster-RCNN相似,從RPN產生後開始,各個候選區域的處理(ROI及其以後)再也不共享,有多少候選框,計算多少次。
ROI以後得到的K*K*(C+1)特徵對應於C+1個分類,直接求和(或者平均池化)爲C+1向量便可,softmax處理一下,獲取最終的分類信息。
咱們的到的是K*K*4通道的features,相似分類,使用ROI處理,獲取K*K大小4通道的特徵,進而相似獲取4個值做爲該ROI的x,y,w,h的偏移量,其思路和分類徹底相同。
這個Loss就是兩階段目標檢測框架經常使用的形式。包括一個分類Loss和一個迴歸Loss。lamdy用來平衡二者的重要性。對於任意一個RoI,咱們須要計算它的softmax損失,和當其不屬於背景時的迴歸損失。這很簡單,由於每一個RoI都被指定屬於某一個GT box或者屬於背景,即先選擇和GT box具備最大重疊率(IOU)的Rol,而後在剩餘的Rol中選擇與GT box的重疊率值大於0.5Rol進行匹配操做,最後將剩餘的Rol都歸爲背景類。即每一個Rol都有了對應的標籤,咱們就能夠根據監督學習經常使用的方法來訓練它。