RCNN
流程
1. select search 生成region proposals,並且warp到同一尺度227*227。
2.用CNN對所有region proposals 提取特徵。
3.用SVM對特徵進行分類,然後按類別進行NMS
4.用SVM對所有通過NMS的proposals的位置進行微調。
SPP-NET
RCNN中用會對圖像做多次卷積,非常費時,SPP主要改進就是只需要對原圖提取一次特徵,靠SPP層生成相同大小的特徵。
上圖分別爲RCNN的流程與SPP的流程。
在原圖上的ROI映射到feature maps上之後,分別分成16,4,1個小塊,然後全部過max pooling,拿到21維特徵。如果特徵圖channel數是256,那一共就是256*21維特徵。這樣即使ROI的size不固定,也能保證最後獲取的特徵大小是固定的。
與RCNN相同的是,他還是有select search慢,而且分類和迴歸使用SVM,與CNN分開,SVM的LOSS不能訓練CNN和SPP。
Fast RCNN
替換SVM,直接訓練softmax分類器和bbox regressor迴歸器,可以端到端的訓練模型。
Faster RCNN
提出了RPN,代替SS;引入了anchor(數量K*W*H),通過第一個stage的分類(前景與背景)與迴歸輸出region proposals,使用第二個stage進行進一步的分類(多分類)與位置微調。