深度學習圖像目標檢測:從R-CNN到Faster R-CNN

通過提取區域推薦然後進行目標檢測與分類算法系列已經歷經三代。本文將從思想層面依次介紹其核心思想和演變歷程。將抽象的模型算法拆解成可以通俗理解的概念。理解算法思路在看公式才能讀懂。

R-CNN(爺爺輩)

2014年R-CNN框架將卷積應用到目標檢測。

步驟:

  1. 原始圖片進入模型後使用selective method算法生成2000個候選區域,本質上意思是對原圖進行摳圖,生成可能出現物體的區域。
  2. 將2000個候選區域傳入卷積模型提取特徵。
  3. 提取特徵後利用SVM進行物體分類,使用迴歸進行位置預測。

缺點:

  1. 2000個候選框都進行了一次卷積核SVM分類器,等於進行了多次卷積核分類,運算量大。
  2. selective method算法速度慢,耗時大。
深度學習圖像目標檢測:從R-CNN到Faster R-CNN

R-CNN算法

Fast R-CNN(爸爸輩

Fast R-CNN本質上只經過一個卷積模型進行特徵提取。解決了R-CNN出現的缺點1,減少卷積次數。對feature map進行摳圖,進行了共享卷積特徵。

步驟:

  1. 原始圖片經過卷積層提取特徵,生成feature map。
  2. 對feature map使用selective method算法,生成候選區域。
  3. 由於生成的候選區域尺寸不一樣,經過ROI Pooling層將候選區域歸整成同樣尺寸。
  4. 使用softmax代替svm進行分類。使用迴歸進行位置預測。
深度學習圖像目標檢測:從R-CNN到Faster R-CNN

Fast R-CNN

Faster R-CNN(真身)

Faster R-CNN祖輩的最大區別是使用RPN(Region Proposal Network)代替了耗時的Selective method。

步驟:

  1. 輸入圖片經過VGG或者其他CNN網絡進行特徵提取,生成相應的feature map。
  2. feature map經過RPN網絡,feature map每個點生成9個Anchor box.
  3. 使用Anchor box作為參照物,計算偏移,然進行預測。
  4. 每個點,分類方面得到2k scores 用於判斷是否有無物體。
  5. 每個點,位置預測方面有4k coordinates 用於判斷位置。
  6. 上文的k是指9,即Anchor box種類。
  7. Rol pooling層將提取的proposal region變形成同樣尺寸。接著過濾無意義的候選框。
  8. RPN提取的候選框+前文的feature map判斷每個候選框的物體是什麼,本質上是判斷是否進行了有效摳圖,
  9. 最後經過全連接層進行分類,並且迴歸目標位置。
深度學習圖像目標檢測:從R-CNN到Faster R-CNN

Faster R-CNN


分享到:


相關文章: