Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks论文阅读笔记
本文主要介绍了RPN网络,Faster-RCNN网络就是RPN网络和Fast RCNN网络的结合体。
- RPN(Region Proposal Network): 实验了几乎无任何代价的region proposal。原因是因为共享了整张图像的卷积特征。它是一个全卷积网络,能够同时预测每个位置的object bound and objectness scores。端到端训练,生成的高质量的region proposal供Fast RCNN用于检测。
-
RPN的输入是任意大小的图像,输出为一系列的矩形object proposals,并且每个proposal都带有着对应的分数。
-
我们采用了全卷积网络实现了这个过程,最终目标是让RPN与Fast RCNN共享计算。
-
为了生成region propsals,在最后一个共享卷积层输出的特征图上增加一个滑动窗口(slide a small network)。输入为nxn的空间窗口,每个滑动窗口都映射为一个低位特征,(256-d for ZF, 512-d for VGG)。这个特征被fed into俩个全连接层,(一个是 box-regression layer, 一个是box-classificatin layer),本文滑动窗口为3x3,在原图的感受野很大(171 for ZF,228 for VGG)。small network 以滑动窗口方式运行,该架构由nxn卷积层实现,然后俩个全连接层由1x1卷积层实现。
Anchors
对于每个滑动窗口的位置,都同时预测多个regoin proposals,每个位置最多预测k个。所以会有对应4k个cooridinates,和2k个scores。这K个regoin proposals是根据k个anchors来预测的。anchors是特征的大小和比例,本文是使用3个大小和3个比例,也就是每个位置一共有9个anchors。对于WxH大小的特征图,就有WHk个anchors。
本文的anchor设计具有平移不变性,和a pyramid of anchor。具有多尺度的anchor。
正负样本生成:
每张图只从上万个anchor中采取256个anchor。其中,包括了正样本和负样本。其比例最好是1:1,如果正样本的数量不足128时,我们使用负样本来进行填充,反正总数是要有256个。
- 如何是正样本:
- 某个anchor/anchors和一个GT有着最大的IOU,那么它也是正样本
- anchor和任意一个GT的IOU>0.7就是正样本
- 负样本:
- 与所有的GT的IOU<0.3就是负样本。
损失函数、训练方法见另一篇博文:https://blog.csdn.net/Mrwei_418/article/details/131593697?spm=1001.2014.3001.5501