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进行进一步的分类(多分类)与位置微调。