两阶段方法

两阶段方法是基于 R-CNN 发展而来的一系列方法。这类方法之所以称为两阶段,是因为他们与 RCNN 类似,都是先在图像中找出可能包含物体的区域,再针对这些区域进行类别预测与边界框回归。

两阶段方法的发展路线也比较明确,算法进化路线也相对清晰。

  • 2013 年,Ross Girshick 等人提出 RCNN,开起了两阶段检测的方向。但 RCNN 基本还是基于传统的检测框架。

  • 2013 年,何恺明等人提出 SPPNet,通过特殊设计的 SPP 层,使得基于不同区域所需要的卷积可以共享,相比于 RCNN 大幅提高了检测速度(大约 10 倍),但该工作并没有实现端到端训练,训练速度仍然是瓶颈。

  • 2014 年,Ross Girshick 等人提出 Fast RCNN,通过共享主干网络。FastRCNN 还实现了整个检测系统的端到端训练。

  • 2015 年,任少卿、何恺明等人 提出了 Faster RCNN,其中用一个 RPN 模块替代了 FasterRCNN 中的其中最重要的 。

截止目前(2020)为止,FasterRCNN 仍然是目标检测最常用的,后续提出的一些方法也逐步加入到 FasterRCNN 中,进一步提高检测性能与精度。

  • 2015 年,何恺明等人提出了 resnet 。resnet50-101 等结构替代 VGGnet 成为 fasterrcnn 的主干网络。

  • 2017 年,FAIR 提出了 FPN,通过将高低层特征进行融合,构建出一系列同时包含位置信息和语义信息的特征图,提高了检测的精度。随后 FPN 成为 FasterRCNN 的标准组件。

  • 2017 年,何恺明等人提出了 mask RCNN,基于 FasterRCNN 的架构,又增加了一个用语预测 mask 的检测头,用两个监督信号训练网络。并提出了 ROIPooling 的改进版,ROIAlign,进一步提高位置精度。随后,ROIAlign 也替代 RoiPooling 成为 FasterRCNN 的标准组件之一。

Last updated