论文地址:https://arxiv.org/abs/1504.08083
Fast R-CNN诞生于R-CNN的基础上,其网络结构如下:
图1 Fast R-CNN基本结构(来自原论文)
依上图Fast R-CNN基本结构,Fast R-CNN可以分为3个部分:
1. Conv layers。不同于之前R-CNN由Selective Search得到一系列ROIs后,在原图中扣出对应区域并将它们分别裁成相同大小再逐个送入卷积层,Fast R-CNN直接将原图输入卷积网络,通过若干层Conv + Relu + Pooling的处理,得到用于支持后续处理的Feature Map。
2. ROI Pooling。首先要注意的是,从图1可以看出,该层有两个输入,分别是从上一部分得到的Feature Map和通过Selective Search得到的该图的一系列ROIs,这里因为ROIs给出的坐标(x, y, w, h)是对应原图的,因此要将它们进行原图与特征图相同比例的缩放,这样就可以直接在特征图中扣出候选区域。其次,ROI Pooling层的输出是固定尺寸的,不论从特征图中取出的候选区域是什么规格,经过ROI Poolling后都将得到相同大小的新的特征图(论文中固定大小为7 * 7)。
3. FC和Softmax。将步骤2得到的新的特征图图通过全连接层,分别得到用于分类的K+1维的值和用于bouding box回归的4K的值。