R-CNN即 Region with CNN features
与CNN模型不同的地方在于R-CNN会在之前有一个选取region的步骤
RCNN的步骤如下:
1、输入input image
2、在图像中提取大量的region proposals(可以理解为提取多个可能包含需要检测物体的区域)
3、利用已经训练好的CNN网络对于每一个提取出的region得到feature进行评分
4、将图中提取的多个regions进行svm分类
R-CNN将可能包含物体的区域先框出来,这样可以减少噪声的输入。如何提取可能的region呢?Selective Search
先将image分成大量小区域,然后逐步计算区域之间的相似度,然后逐步融合小区域并将结果作为潜在的区域输入网络
FAST R-CNN
FAST R-CNN是R-CNN模型的改进版。R-CNN在region proposal计算的时候有很多重复,region映射到CNN的最后一层conv layer的feature map上,这样一张图片只需要提取一次feature,提高了运算速度。
FAST R-CNN在经过CNN网络处理之后有ROI pooling这一过程,相比于RCNN是把所有候选框单独输入CNN网络,做一个classification,而FAST R-CNN 则是打包成batch然后输入网络,这样有一个加速的效果,另一方面在ROI pooling层选出感兴趣的部分,对输出提取这个位置的信息,相当于一个特征映射的过程。
FASTER R-CNN
FASETER R-CNN 将Region proposal也交给CNN来做,将程序都放在GPU上运行,速度更快。 faster模型将region选取的步骤也放入了网络