RCNN,Fast-RCNN,Faster-RCNN,Mask-RCNN詳解

mAP:物體類別和位置的平均精度

RCNN參考:https://www.cnblogs.com/zf-blog/p/6740736.html
創新點:

  • 採用CNN網絡提取圖像特徵,從經驗驅動的人造特徵範式HOG、SIFT到數據驅動的表示學習範式,提高特徵對樣本的表示能力;

  • 採用大樣本下有監督預訓練+小樣本微調的方式解決小樣本難以訓練甚至過擬合等問題。

步驟:

  • 輸入一張多目標圖像,採用selective search算法提取約2000個建議框;

  • 先在每個建議框周圍加上16個像素值爲建議框像素平均值的邊框,再直接變形爲227×227的大小;

  • 先將所有建議框像素減去該建議框像素平均值後【預處理操作】,再依次將每個227×227的建議框輸入AlexNet CNN網絡獲取4096維的特徵【比以前的人工經驗特徵低兩個數量級】,2000個建議框的CNN特徵組合成2000×4096維矩陣;

  • 將2000×4096維特徵與20個SVM組成的權值矩陣4096×20相乘【20種分類,SVM是二分類器,則有20個SVM】,獲得2000×20維矩陣表示每個建議框是某個物體類別的得分;

  • 分別對上述2000×20維矩陣中每一列即每一類進行非極大值抑制剔除重疊建議框,得到該列即該類中得分最高的一些建議框;

  • 分別用20個迴歸器對上述20個類別中剩餘的建議框進行迴歸操作,最終得到每個類別的修正後的得分最高的bounding box。

問題:

  • R-CNN網絡訓練、測試速度都很慢:R-CNN網絡中,一張圖經由selective search算法提取約2k個候選框【這2k個候選框大量重疊】,而所有候選框變形後都要輸入AlexNet CNN網絡提取特徵【即約2k次特徵提取】,會出現上述重疊區域多次重複提取特徵,提取特徵操作冗餘;
  • R-CNN網絡訓練、測試繁瑣:R-CNN網絡訓練過程分爲ILSVRC 2012樣本下有監督預訓練、PASCAL VOC 2007該特定樣本下的微調、20類即20個SVM分類器訓練、20類即20個Bounding-box 迴歸器訓練,該訓練流程繁瑣複雜;同理測試過程也包括提取候選框、提取CNN特徵、SVM分類和Bounding-box 迴歸等步驟,過於繁瑣;
  • R-CNN網絡訓練需要大量存儲空間:20類即20個SVM分類器和20類即20個Bounding-box 迴歸器在訓練過程中需要大量特徵作爲訓練樣本,這部分從CNN提取的特徵會佔用大量存儲空間;
  • R-CNN網絡需要對候選框進行形變操作後【形變爲227×227 size】再輸入CNN網絡提取特徵,其實像AlexNet CNN等網絡在提取特徵過程中對圖像的大小並無要求,只是在提取完特徵進行全連接操作的時候才需要固定特徵尺寸【66256】【R-CNN中將輸入圖像形變爲227×227可正好滿足AlexNet CNN網絡最後的特徵尺寸要求】,然後才使用SVM分類器分類,R-CNN需要進行形變操作的問題在Fast R-CNN已經不存在,具體見下。

SPP-Net參考:https://blog.csdn.net/v1_vivian/article/details/73275259

  • 意義:使得任意大小的特徵圖都能夠轉換成固定大小的特徵向量,這就是空間金字塔池化的意義(多尺度特徵提取出固定大小的特徵向量)。

Fast-RCNN參考:https://www.cnblogs.com/xuanyuyt/p/6207198.html
創新點:

  • 規避R-CNN中冗餘的特徵提取操作,只對整張圖像全區域進行一次特徵提取;

  • 用 RoI pooling 層取代最後一層 max pooling層,同時引入候選框信息,提取相應候選框特徵;

  • Fast R-CNN 網絡末尾採用並行的不同的全連接層,可同時輸出分類結果和窗口迴歸結果,實現end-to-end的多任務訓練【候選提取除外】,也不需要額外的特徵存儲空間【R-CNN中這部分特徵是供SVM和Bounding-box regression進行訓練的】;

  • 採用SVD對Fast R-CNN網絡末尾並行的全連接層進行分解,減少計算複雜度,加快檢測速度。

Faster-RCNN參考:https://blog.csdn.net/u013010889/article/details/78574879
https://www.jianshu.com/p/ab1ebddf58b1
https://www.cnblogs.com/dudumiaomiao/p/6560841.html
在這裏插入圖片描述
Mask-RCNN

  • 實現了物體檢測和實例分割兩大功能
  1. resnet +FPN
  2. ROIAlign
  3. mask中sigmoid代替softmax
    https://blog.csdn.net/remanented/article/details/79564045
    https://blog.csdn.net/xiamentingtao/article/details/78598511
    https://blog.csdn.net/xiamentingtao/article/details/78598511
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章