目標檢測基本網絡理解

目標檢測基本網絡

RCNN

RCNN整體框架
流程分析圖

SS:Selective Search 一種提取候選區域的方法。

一張圖片通過SS產生1000到2000個候選區域,然後將每個候選區域(Region Proposal)縮放到同一尺寸,輸入到CNN網絡,然後使用提取的圖像特徵訓練SVM和Bounding Box。

  • 訓練過程
  • 預訓練CNN:
    正樣本:Region Proposals 與 GT IOU大於0.5 20個類。
    負樣本:Region Proposals 與 GT IOU小於0.2 1個背景類。
    CNN+Softmax 21 分類,進行預訓練,然後去掉Softmax層,使用前面層提取特徵。
  • 訓練SVM:
    舉例1個SVM進行訓練。
    正樣本:GT區域提取的特徵。
    負樣本:與GT IOU小於0.3提取的特徵。
    二分類進行訓練。
  • Bounding Box訓練:
    某一個類的迴歸訓練。
    用IOU大於0.6的候選區域提取的特徵,對4個邊界框偏移量進行迴歸。
  • 測試過程
  • SS選擇1000到2000個Region Proposals。
  • 尺寸統一到同樣大小(後面有全連接層)。
  • 利用CNN提取特徵。
  • 某一個Region Proposal提取的特徵輸入到20個SVM,哪個分類器的分數高,用來確定類別。
  • 計算好所有Region Proposals的label後,使用NMS操作,獲得沒有冗餘的子集。
  • 將剩下區域的特徵輸入到Bounding Box模型。
  • 根據SVM打標籤,BB畫框。

SPPNet

  • 共享卷積計算。
  • RCNN將SS檢測的區域裁剪成固定的大小輸入網絡,會有重複的卷積計算。
  • SPPNet先共享卷積,然後在特徵圖上裁剪。
  • 空間金字塔池化
  • 原圖上的區域映射到特徵圖上後,大小可能不一樣,因此SPP將輸入特徵分成16份、4份、1份,最終拼接在一起輸入全連接層。

Fast RCNN

  • 多任務損失函數
  • 使用softmax代替SVM。
  • 分類和迴歸一起計算損失。
  • 提出了ROI Pooling Layer
  • SPP相當於一種多尺度Pooling,ROIPooling是單一尺度。

Faster RCNN

在這裏插入圖片描述
整體流程

Image
Conv
Feature map
ROI Pooling
RPN
Cls 2
Reg bb
Cls 21
Reg bb

在這裏插入圖片描述
訓練RPN

3x3
1x1
1x1
Feature Map
Conv
Cls 2k
Reg 2k

正樣本:與GT IOU大於0.7
負樣本:與GT IOU小於0.3
損失函數:

訓練Fast RCNN

  • RPN產生將近20000(40x60x9x)個anchors。
  • 按照每個框的positive score從大到小排序,選擇前eg 6000個。
  • 限定超出圖像邊界的positive anchors。
  • 刪除較小的positive anchors。
  • 對剩下的anchors進行NMS操作,產生將近2000個ROIs。
    正樣本:ROIs與GT IOU大於0.5。
    負樣本:與GT IOU 等於0。
    損失函數和RPN損失一樣,分類損失從2分類變成21分類。

Faster RCNN講的很仔細的文章:一文讀懂Faster RCNN.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章