RCNN系列模型(two-stages、基于区域的)主要包括以下几种,按发布时间排序:
- RCNN(2014年):首次将深度学习应用于目标检测,通过选择性搜索Selective Search提出候选区域,然后使用CNN(AlexNet)进行特征提取,最后通过SVM分类。
- Fast RCNN(2015年):改进了RCNN,引入了ROI Pooling来提取固定大小的区域特征,实现了更快的训练和更高的精度。
- Faster RCNN(2015年末):引入区域提议网络(RPN),使得候选区域的生成也通过深度学习来完成,实现了端到端的训练
- Mask RCNN(2017年):在Faster RCNN的基础上添加了一个并行分支,用于生成高精度的实例分割掩码,同时采用了ROI Align技术提高精度。
RCNN系列框架总结:
- Feature extraction
- Region proposal
- Classification
- Bounding Box Regression
1. RCNN(2014)
1)内容
R-CNN主要分为四个阶段:
- 产生候选区域:对于输入的图片,使用Selective Search方法,选择出2000个候选区域(每个区域大小不一)。
- 特征提取:使用AlexNet对每一个候选区域提取特征,得到2000*4096维的特征向量。
- 候选区域类别判断与NMS:将2000*4096维特征向量送入到21个(20个类别+1个背景)SVM分类器中,需要使用NMS去除冗余的候选框。
- 边界框偏移回归:Bounding Box Regression
2)框架:引入CNN到Feature extraction
- Region proposal (SS)
- Feature extraction (CNN-AlexNet)
- Classification (SVM)
- Bounding Box Regression
3)创新
在文章中,作者认为 R-CNN 较之前的算法,能够取得30%的改进是基于以下两点:
- 使用了CNN来提取候选区域的特征。
- 使用迁移学习,因为目标检测领域的数据相比图像分类任务要少很多,所以使用在图像分类上训练好的模型,经过 fine-tune 可以很好的运用在目标检测上。
4)不足