Classification, Detection 与 Segmentation 是 Computer Vision 在图像处理过程中最大的两个目的. 最近正在针对 Instance Segmentation 做相关的 Literature Review, 搜集了一些相关的资料, 作为整理在这里发布. 很多内容得益于前辈们的总结, 我会相应作出 Reference.
3. Fast R-CNN
Fast R-CNN 是 Ross Girshick 继R-CNN后提出的目标检测模型. 其构思精巧,流程更为紧凑,大幅提升了目标检测的速度. 论文原篇可寻HERE, 并在Github上提供了源码HERE. 本部分参照CSDN-shenxiaolu1984与AI之路
作为 R-CNN 的升级版, Fast R-CNN解决了R-CNN的一些尤其在速度方面的问题, 同样使用最大规模的网络,Fast RCNN和RCNN相比,训练时间从84小时减少为9.5小时,测试时间从47秒减少为0.32秒. 在PASCAL VOC 2007上的准确率相差无几,约在66%-67%之间.
3.1 思想
3.1.1 R-CNN
简单来说,RCNN使用以下四步实现目标检测:
- 在图像中确定约1000-2000个候选框
- 对于每个候选框内图像块,使用深度网络提取特征
- 对候选框中提取出的特征,使用分类器判别是否属于一个特定类
- 对于属于某一特征的候选框,用回归器进一步调整其位置
(关于R-CNN更多可见HERE)
3.3.2 Fast R-CNN 改进分析
Fast RCNN方法解决了RCNN方法三个问题
3.3.2.1 测试时速度慢
R-CNN 一张图像内候选框之间大量重叠,提取特征操作冗余. 本文将整张图像归一化后直接送入深度网络. 在邻接时,才加入候选框信息,在末尾的少数几层处理每个候选框.
3.3.2.2 训练时速度慢
原因同上. 在训练时,本文先将一张图像送入网络,紧接着送入从这幅图像上提取出的候选区域. 这些候选区域的前几层特征不需要再重复计算.
3.3.2.3 训练所需空间大
R-CNN 中独立的分类器和回归器需要大量特征作为训练样本. 本文把类别判断和位置精调统一用深度网络实现,不再需要额外存储.
然在 Fast R-CNN 之前有提出过 SPPnet 算法来解决 R-CNN 中重复卷积的问题,但是 SPPnet 依然存在和 R-CNN 一样的一些缺点比如:训练步骤过多,需要训练SVM分类器,需要额外的回归器,特征也是保存在磁盘上. 因此Fast RCNN相当于全面改进了原有的这两个算法,不仅训练步骤减少了,也不需要额外将特征保存在磁盘上. 基于VGG16的Fast RCNN算法在训练速度上比RCNN快了将近9倍,比SPPnet快大概3倍;测试速度比RCNN快了213倍,比SPPnet快了10倍. 在VOC2012上的mAP在66%左右.