一、R-cnn框架流程
1.输入图像
2.运用selective search算法提取2k左右的region proposals
3.将每个region proposal通过warp(扭曲)为227x227 pixel作为CNN的输入,计算CNN的特征
4.将每个region proposal在CNN中提取到的特征输入到SVM进行分类
二、R-cnn应用
1.图像分类(image classification)
2.目标检测(object detection)
三、R-cnn总结
1.缺点:
(1)训练是多阶段进行的。
(2)训练在时间和空间上花费较大。
对于SVMs和bb-box regression训练,要从每张图片的每个中object proposal中提取特征,这既费时又费力。
(3)目标检测很慢。在测试时,要从每张测试图片的每个object proposal中提取特征,很耗时。
R-CNN很慢的原因在于它对于每个object proposal都进行了ConvNet的前向传播,而没有共享计算。
2.分析:(来自知乎:https://www.zhihu.com/question/35887527)
(1)RCNN框架内的方法精度提升的瓶颈是将dectection问题转化成了对图片局部区域的分类问题后,不能充分利用图片局部object在整个图片中的context信息
(2)很多传统特征可以用图片经过CNN后得到的feature map表示。并且,由于卷积操作具有平移不变形,feature map里不仅包含了物体的what信息,还包含着物体的where信息。因此可以利用CNN特征来代替传统特征,对特征用SVM得到分类结果,同时可以对特征作回归得到更精确的位置。
(3)rcnn是经典的物体检测方法:
proposals->features->claasifiers(SVM)
因为每个region proposal都要过一遍cnn,即重复计算,所以速度慢。