1. 程式人生 > >Faster R-CNN 目標檢測演算法詳細總結分析(two-stage)(深度學習)(NIPS 2015)

Faster R-CNN 目標檢測演算法詳細總結分析(two-stage)(深度學習)(NIPS 2015)

論文名稱:《 Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 》

論文下載:https://papers.nips.cc/paper/5638-faster-r-cnn-towards-real-time-object-detection-with-region-proposal-networks.pdf

論文程式碼:https://github.com/rbgirshick/py-faster-rcnn


1. 網路結構

圖3 Faster R-CNN網路結構

Faster R-CNN可以簡單地看做“區域生成網路RPNs + Fast R-CNN”的系統,用區域生成網路代替Fast R-CNN中的Selective Search方法。

圖4 RPN網路結構

2. 訓練

RPN與Fast-R-CNN共享卷積層,使用4-step交替訓練法進行RPN和Fast R-CNN的訓練。

四步交替訓練:

(1)訓練RPN,使用ImageNet預訓練模型對RPN進行初始化,並進行端到端微調。

(2)使用由步驟1 RPN生成的候選框,通過Fast R-CNN訓練單獨的檢測網路。 該檢測網路也由ImageNet預訓練模型初始化。

(3)使用檢測網路初始化RPN訓練,固定共享的卷積層,只微調RPN特有的層。 現在這兩個網路共享卷積層。

(4)保持共享卷積層固定,微調Fast R-CNN獨有的層。

3. 測試過程

(1)首先向CNN網路【ZF或VGG-16】輸入任意大小圖片;

(2)經過CNN網路前向傳播至最後共享的卷積層,一方面得到供RPN網路輸入的特徵圖,另一方面繼續前向傳播至特有卷積層,產生更高維特徵圖;

(3)供RPN網路輸入的特徵圖經過RPN網路得到區域建議和區域得分,並對區域得分採用非極大值抑制【閾值為0.7】,輸出其Top-N【文中為300】得分的區域建議給RoI池化層;

(4)第2步得到的高維特徵圖和第3步輸出的候選框同時輸入RoI池化層,提取對應候選框的特徵;

(4)第4步得到的候選框特徵通過全連線層後,輸出該區域的分類得分以及迴歸後的bounding-box。

4. 創新點

  1. 用RPN網路來代替耗時的Selective Search方法來生成候選框,提高檢測速度。
  2. RPN網路與檢測網路共享卷積特徵,使生成候選框的成本幾乎降為零。

5. 存在問題

(1)仍然不能實時進行目標檢測。

(2)還是沒有一種簡單得到候選框的方法。