多篇论文已提出使用深层网络来定位专门类别或者未知类别的bounding box。在OverFeat中,利用全连接层来预测单个物体定位任务的box坐标。这一全连接层随后发展为检测多重特定类别物体的卷积层。Multibox方法中,从一个最后一层为用于R-CNN目标检测的全连接层,同时预测多种box的网络中生成region proposal。
卷积的计算共享也引人注意。OverFeat从图像金字塔中计算特征。Adaptively-sized pooling(SPP)和Fast-RCNN也有类似的共享特征图的做法。
在此背景下,作者提出Faster R-CNN。
RPN网络接受图片作为输入,输出一系列矩形带有objectness score的proposal。作者的最终目标是与Fast R-CNN目标检测网络共享计算,因此假设Faster R-CNN与其同有一些列卷积层。实验中使用ZF和VGG。
为了生成候选区域,在最后一层共有的卷积层上使用滑动一个小型网络。该网络与一个n*n空间窗口全连接,以特征图作为输入。每一个滑动窗口映射到1个低维向量中(对于ZF是256d,对于VGG是512d)。该向量流入到2个全连接层中,一个用于分类,一个用于边框回归。
在其他人笔记上https://blog.csdn.net/hunterlew/article/details/71075925借用的图(ZF模型):
其中,虚线以上是ZF网络最后一层卷积层前的结构,虚线以下是RPN网络特有的结构。
在每个滑动窗口的位置,同时预测k个候选区域。比如每个位置有k个anchor box,那么分类层对于是否有物体的概率有2k个score,而回归层有4k个输出。作者使用3种scale,3种宽高比,k=9。如果输入特征图是W*H,则共有WHk个anchor box。对于方法中的anchor box和其相关候选区域的计算函数有一个很重要的特性,即平移不变性