经历了骨干网络的初步学习之后,逐渐进入目标检测领域。
基于深度 学习的目标检测算法大致可分为基于候选区域和基于回归两大类. 基于候选区域的目标检测算法精度高, 但是结构 复杂, 检测速度较慢. 而基于回归的目标检测算法结构简单、检测速度快, 在实时目标检测领域有较高的应用价值, 然而检测精度相对略低。
RCNN作为two-stage检测算法的代表,开始RCNN的学习。
论文:rich feature hierarchies for accurate object detection and semantic segmentation
*RCNN(Regions with CNN features)*过程
- 预训练一个CNN
- 将selective search预选出的2000个候选框resize,作为model输入CNN
- model前向运算至pool5,抽取这一层的特征值
- 训练SVM,进行二分类问题
- Bounding box regression,根据监督学习,训练回归器,调整候选框的左右长宽
非极大抑制(NMS)
用于去除冗余的检测框
- 假设3个框,根据SVM的打分排序,概率从大到小为A、B、C
- 判断B、C与A的重复率 IoU 是否大于阈值,如果大于,扔掉,如果小于,保留
- 保留下来的框,根据打分顺序,重复上述过程
Bounding box regression
用于微调边界框
创新点:完成了多物体识别与定位的问题
- 使用selective search做候选框(区域提案)
- 使用Bounding-box regression微调窗口
- mAP提升到了66%
不足:繁琐,慢
- 使用selective search做候选框,速度慢
- 结构分散(非端到端)
- 无法实时检测(最耗时的操作在于区域提案的2k张子图都过了一遍CNN)