[論文筆記] Fast R-CNN(未完成)

完整的目標檢測架構

1. 抽取圖像中多個候選區域

  • 這個部份負責從圖像中,找出可能是物件的候選區域 (region propos)
  • Fast R-CNN 並不包含這一部分

2. 抽取整張圖像的特徵

  • 使用 CNN + Max pooling 抽取特徵

3. 取出候選區域的特徵

  • 根據 region proposal 的位置,在 CNN 輸出的特徵圖上找到對應的區塊
  • 將該區塊的特徵,輸入 RoI pooling layer + FC layer 後,得到固定長度的特徵向量

4. 輸出分類與回歸結果

  • 候選區域的固定長度特徵向量,再經過一層 FC layer 後,會得到兩個分支的輸出
  • 一個分支輸出 softmax probability 結果,預測每個類目的概率 (K個類別加上背景,共K+1個輸出值)
  • 另一分支輸出 bbox regression 結果,為每個類目都輸出四個數值,用來修正 bounding-box 的位置 (共 4K 個輸出值)

RoI Pooling

  • 首先,目標是從 Feature map 抽取固定尺寸的特徵,特徵的大小為H \times W 
  • 根據 Region proposal 的位置,找到 feature map 對應的區域,區域的大小為 h \times w
  • 將該區域切分成 H \times W 個大小為  \frac{h}{H} \times \frac{w}{W}  的 grid
  • 對區域內所有 grid 做 Max pooling,得到 H \times W 尺寸的特徵

訓練過程

預訓練

同樣使用了 ImageNet 預訓練,接著對三個部分做調整:

  1. 將模型最後的 Max pooling 換成 RoI Pooling
  2. 模型尾部的 FC Layer 與 1000類Softmax 更換成前面提到的兩個分支,分別是預測 BBox 位置修正量的 FC Layer 與 K+1 類Softmax。
  3. 網路的輸入改為兩個,分別是 Region proposals 與輸入影像

採用 image centric 採樣策略

  • 過去 RCNN 的作法是,每個 mini-batch 中的 RoI 都採樣自不同的圖像
  • Fast RCNN 中,則是每個 mini-batch 固定採樣 N 個圖像,並從每個圖像採樣出 R/N 個 RoI
  • 同個圖像中的 R/N 個 RoI 特徵,僅需要計算一次,因此減少了計算與儲存量
  • 論文中,採用了 N=2, R=128 (作者發現,同圖像產生的多個 RoI 並不會影響模型收斂)
  • 25% RoI 會是正樣本 (IoU ≧ 0.5),75%是困難負樣本 (0.1 ≦ IoU < 0.5)

多任務訓練

  • Fast RCNN 模型有兩個輸出分支,分別是:
    • 預測物件類別的機率分布 p = (p_0, p_1, ..., p_K)
    • 預測 bounding box 的修正量 t^k = (t^k_x, t^k_y, t^k_w, t^k_h)
  • 損失函數可以用下式表示

  • 符號
    • u : 物件類別 (0: 背景)
    • v : 物件位置修正量
    • \lambda : 用來調整兩種損失比例的參數
    • [u\geq 1] : 當括號裡面的條件滿足時為 1,其餘情況為 0
    • L_{cls} : 分類損失,採用了交叉熵損失
    • L_{reg} : 回歸損失,採用了 smooth L1

參考文獻

  1. Girshick, Ross. "Fast r-cnn." Proceedings of the IEEE international conference on computer vision. 2015.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值