RCNN 过程
1.利用sleactive search提取出图片中大约2000个候选区域
2.将候选区域的的大小利用伸缩变化调整为227*227
3.利用CNN提取出每一个候选区域的特征
4.将特征结果送入每一类训练好的SVM分类器
5.fine-tuning,根据Bounding-box regression来调整候选区域的位置和大小,将一些处在分类临界的区域分类
SPP-Net
主要思想是先对图像进行卷积,将ROI提取放在卷积后的feature map上,通过SPP将不同大小的ROI统一输出为相同的大小并进行分类。大大的降低了计算量,R-CNN中每张图片需要进行around 2k次卷积,SPP-Net中每张图片只需要进行一次卷次即可。
FAST R-CNN
R-CNN和SPP-Net中的三个问题
1.在多级管道中训练
2.在空间和时间上开销都很大
3.目标检测比较慢
FAST R-CNN改进
- 比R-CNN更高的检测质量(mAP);
- 把多个任务的损失函数写到一起,实现单级的训练过程;
- 在训练时可更新所有的层;
- 不需要在磁盘中存储特征。
FAST R-CNN结构
1.将图像和大量的ROI区域输入到CNN中,通过CNN输出每个ROI的softmax概率和对应不同类的bounding-box regression 位移。
2.通过ROI pooling layer 将每个ROI对应的feturemap中的区域归一化(7*7),输入到fc层中。
3.将归一化的ROI向量输入到multitask (softmax 和 bbox regressor中去)
实验结论
1.在深度网络中端到端学习非常重要
2.softmax比SVM要好用一些
3.multi-task训练方式有不错的效果
4.单级测试是不错的方法
5.快速的训练和测试对实验有利
6.更多候选窗不能提升性能
Fast RCNN算法详解
RCNN学习笔记(4):fast rcnn
FASTER R-CNN
faster RCNN可以简单地看做“区域生成网络(RPN)+fast RCNN“的系统,用区域生成网络代替fast RCNN中的Selective Search方法。本篇论文着重解决了这个系统中的三个问题:
- 如何设计区域生成网络
- 如何训练区域生成网络
- 如何让区域生成网络和fast RCNN网络共享特征提取网络