Faster R-CNN 是什么?让目标检测接近实时的经典模型
Faster R-CNN 是计算机视觉史上最有影响力的目标检测模型之一,由任少卿、何恺明、Ross Girshick 和孙剑在 2015 年 6 月提出,论文标题是《Faster R-CNN:利用区域提议网络实现实时目标检测》。研究在微软亚洲研究院完成,任少卿当时是中国科学技术大学和微软联合培养的博士生。
它解决的瓶颈
R-CNN 系列检测器的思路是两步走:先找出图中可能有物体的候选区域,再对每个候选区域进行分类和精确定位。前作 SPPnet 和 Fast R-CNN 已经大幅缩短了第二步的时间,于是第一步,也就是生成候选区域,变成了整个系统的瓶颈。当时常用的候选区域算法(如选择性搜索)在 CPU 上运行,处理一张图要花一两秒,远远达不到实时。
区域提议网络 RPN
Faster R-CNN 的关键创新是区域提议网络(Region Proposal Network,RPN)。它是一个全卷积网络,和后面的检测网络共享整张图的卷积特征,所以生成候选区域几乎不需要额外的计算成本。RPN 在特征图的每个位置上,同时预测物体的边界框和“这里是否有物体”的得分。为了处理不同大小和长宽比的物体,它引入了“锚框”(anchor):在每个位置预设几种不同尺寸和形状的参考框,网络只需要学习如何调整这些参考框。
统一的网络
整个系统由两个模块组成:第一个是生成候选区域的 RPN,第二个是使用这些候选区域进行检测的 Fast R-CNN 检测器。两者合并成一个统一的网络,可以端到端地训练。用论文里的比喻,RPN 就像一个注意力机制,告诉检测网络“该往哪里看”。这让检测速度在当时的 GPU 上达到了每秒约 5 帧,同时精度在 PASCAL VOC 和 COCO 等基准上达到了当时的最好水平。
影响
Faster R-CNN 成为两阶段目标检测的标准框架,此后的 Mask R-CNN(加上实例分割)、特征金字塔网络(FPN)等都在它的基础上发展而来。锚框的设计也被 SSD、YOLO 等单阶段检测器广泛借鉴。它是深度学习目标检测领域被引用最多的论文之一。