2017-02-27-深度學習論文筆記:R-FCN

Abstract

  • 提出了一個region-based, fully convolutional的網絡來準確高效的進行物體檢測。
  • 不同於Faster R-CNN,本論文的region-based detector是完全卷積化的,幾乎一張圖像上所有的計算都是共享的。
  • 爲了實現這一目標,我們提出position-sensitive score maps,以解決在圖像分類的平移不變性(translation-invariance)和物體檢測中的平移可變性(translation-variance)之間的困境。

Introduction

  • 最近流行的用於目標檢測的深度學習框架依據RoI層的不同可以分爲兩大subnetworks:
    • 一類是共享的、fully convolutional的subnetwork。
    • 另一類是RoI-wise的subnetwork,不共享計算。
  • 在圖像分類網絡中,一個convolutional subnetwork會以一個sptial pooling layer更隨着幾個fully-connected layer最爲結尾,所以圖像分類中的sptial pooling layer自然轉化爲目標檢測中的RoI pooling layer。
  • ResNet和GoogleLeNets都被設計成fully convolutional的。
  • 在ResNet論文中,Faster R-CNN中的RoI pooling layer被不自然的插入到兩個卷積層集之間,帶來了準確率的提升,但是速度由於unshared per-RoI計算降低。
  • 假設圖像分類網絡中更深層的卷積層對translation不敏感。
  • 爲了將translation variance結合到FCN中,我們通過使用一組專用卷積層作爲FCN輸出來構造一組位置敏感得分圖(position-sensitive score maps)。每一個得分圖將相對於相對空間位置(例如,“在對象的左邊”)的位置信息進行編碼。在這個FCN之上,我們附加一個位置敏感的RoI池層(position-sensitive RoI pooling layer),從這些得分圖中獲取信息,沒有跟隨的重量(卷積/ fc)層。

Our approach

  • 本論文的方法參考與R-CNN,也是使用two-stage的目標檢測策略。

    • region proposal
    • region classification
  • 雖然不依賴於region proposal的目標檢測方法確實存在,但是region-based system依舊在幾個基準上保持領先的準確性。

  • Overall architecture of R-FCN:

    用RPN來提出candidate RoIs,然後這些RoIs被應用到score maps,在RPN和R-FCN之間共享特徵。

    最後卷積層爲每個類別產生一組k2 個position-sensitive score maps,因此具有帶有C個對象類別(背景爲+1)的k2(C+1) 通道的輸出層。

    每一個category有一個k2 的score map

  • RPN以一個position-sensitive RoI pooling layer結束,該層聚合最後卷積層的輸出併產生每個RoI的分數。我們的position-sensitive RoI pooling layer進行選擇性合併,each of the k × k bin aggregates responses from only one score map out of the bank of k × k score maps。利用端到端訓練,這個RoI層管理最後的卷積層以學習專門的position-sensitive score maps。

Backbone architecture

  • 本論文R-FCN基於ResNet-101。
  • ResNet-101具有100個卷積層,後面是global average pooling和一個1000-class的fc層。我們移去了average pooling layer and the fc layer,僅使用convolutional layer來計算feature maps。
  • 我們使用ResNet-101,在ImageNet上進行預訓練,ResNet-101中的最後一個卷積塊是2048-d,並且我們附加隨機初始化的1024-d 1×1卷積層以減小尺寸。然後,我們應用k2(C+1) 通道卷積層來生成分數圖,如下所述。

Position-sensitive score maps & Position-sensitive RoI pooling.

  • 爲了將位置信息顯式編碼到每個RoI中,我們將RoI矩形劃分爲k x k個bins。
  • 構造最後的卷積層爲每個類別產生的k2 個分數圖。
  • 利用average pooling。
  • bounding boxes regression。

Training

  • OHEM: online hard example mining

  • loss function:

  • 在前向傳播中:每張圖片N個proposals。我們計算所有N個proposal的loss,排序,選擇最高的B個RoIs。然後在選中的proposal上進行反向傳播。

  • decay:0.0005

  • momentum:0.9

  • single-scale training。

  • B=128

  • lr = 0.001 ~20k, 0.0001 ~ 10k

  • 同Faster R-CNN一趟,使用4步alternating training,在訓練RPN和訓練R-FCN之間。

Inference

  • 爲公平期間,在300個RoIs上進行評估,結果之後用NMS進行處理,IoU閾值0.3

À trous and stride

  • 將ResNet-10的有效stride從32減爲16像素,提高了score map的分辨率。
  • Algorithme à trous
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章