论文:Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
论文采用RPN(区域建议生成网络)来生成候选框,RPN网络与检测网络共享完整的图像卷积特征,大大减少了生成候选框所需的时间。RPN是一个全卷积网络,它同时预测每个位置的目标边界并给出所属类别的置信度(score)。RPN经过端到端的训练,生成候选框并对其进行条件筛选然后用于Fast R-CNN检测。
简单来说就是:
Faster RCNN算法将RPN和Fast-RCNN结合,由RPN负责候选框的提取,Fast R-CNN负责检测模块,对RPN提取的候选框检测并识别框中的目标,整个流程如下图所示。
RPN(Region Proposal Network)
RPN的作用是输入一张图像,输出一批矩形候选框,类似于以往目标检测中的selective search,网络结构是基于卷积神经网络,但输出包含二分类softmax和bbox回归的多任务模型。
RPN具体流程
使用一个小网络在最后卷积得到的特征图上进行滑动扫描,特征图上的每一个点都对应有9个不同的anchor。在这个滑动网络每次与特征图上n*n的窗口全连接,然后映射到一个低维向量,最后将这个低维向量送入到两个全连接层,即box回归层和box分类层。如下图来自论文。
RPN网络的训练
RPN网络的训练采用反向传播算法和随机梯度下降算法进行端到端的训练方式。依照Fast R-CNN中的“image-centric”采样策略训练这个网络。每个mini-batch由包含了许多正负样本的单个图像组成。我们可以优化所有anchor的损失函数,但是这会偏向于负样本,因为正负样本主要根据IOU值大小的来标定的,这样一来负样本就比较多。
正负样本的判定:
- 某anchor与任一目标区域的IOU最大,则判为目标
- 某anchor与任一目标区域的IOU>0.7则判定有目标ÿ