iT邦幫忙

2021 iThome 鐵人賽

DAY 21
1
Software Development

從林到有_Image processing系列 第 21

[D21] 物件偵測(2)

經過上一篇物件偵測(1)的介紹,我們終於可以正式進入更完整的影像偵測小世界了!

之前說過物件偵測有的兩大主要的步驟:影像分類(Image classification)和物件定位(Object Localization),又有兩大類:One stage 和 Two stage。

早期演算法以 Two stage 為大宗,代表演算法有 R-CNN、 Fast-RCNN 和 Faster RCNN。

這篇文章會先介紹 R-CNN 和 Fast-RCNN!

  • R-CNN
    R-CNN 使用 Selective Search 演算法找出 2000–3000 個 region proposal,將取出的 region proposal 壓縮成一樣大小之後再丟入 CNN 擷取特徵,最後對 feature map 利用 SVM 加以分類,並對 bounding box 做線性回歸,得到結果。

SVM:一種二元分類模型。在二維中,可以將其視為一條線,並假設我們的所有輸入點都可以被這條線完全分開。

 

  • Fast-RCNN
    Fast-RCNN 是由 R-CNN 改良,改善了 R-CNN 每個區域都要放入CNN 提取特徵,導致有很多重複運算的部分非常花時間 → Fast-RCNN 只對影像做一次 feature 的擷取。

    Fast-RCNN 的不同之處是拿掉 SVM 結構,改以 softmax 作為分類方法和採用了 Fully Convolutional Networks(FCN) ,一般的CNN 最後一層都是使用全連接層來獲得分類預測機率 → FCN 將最後一層全連接層替換為卷積層。
    接著將 ROI 投射到 Feature Map 上,再做 ROI Pooling。

softmax: 輸出的每個值表示這個樣本屬於每個類的概率,且輸出的向量值範圍為 0 到 1。

ROI Pooling:就是對每個 Region proposal 做 pooling,得到的 ROI 都會有自己的座標和大小。

那為甚麼這裡要使用 ROI Pooling 呢?
原因是 ROI Pooling Layer 之後的 Fully Connected Layer 的輸入是固定尺寸,所以需要通過 ROI Pooling 將所有的 ROI 變成固定大小。

   未完待續

圖片來源1
圖片來源2
論文


上一篇
[D20] 物件偵測(1)
下一篇
[D22] 物件偵測(3)
系列文
從林到有_Image processing30

尚未有邦友留言

立即登入留言