转自 https://blog.csdn.net/gbyy42299/article/details/80352418

Faster rcnn的整体构架:

训练的大致过程:

1、图片先缩放到MxN的尺寸,之后进入vgg16后得到(W/16,H/16)大小的feature map;

2、对于得到的大小为(W/16,H/16)的feature map上的每一个位置,都生成三种比例、三种(rotio、scale)尺度的anchors,Anchor即给出一个基准窗大小,按照倍数和长宽比例得到不同大小的窗。例如论文中基准窗大小为16,给了(8、16、32)三种倍数和(0.5、1、2)三种比例,这样能够得到一共9种尺度的anchor。

因此,在对60*40的map进行滑窗时,以中心像素为基点构造9种anchor映射到原来的1000*600图像中,映射比例为16倍。那么总共可以得到60*40*9大约2万个anchor;

3、每个anchor经过回归后对应到原图,然后再对应到feature map经过roi pooling后输出7*7的大小的map;

4、最后对这个7*7的map进行分类和回归。

 

Roi pooling层详解:

Roi pooling层也是pooling层的一种,只是是针对于Rois的pooling操作而已。

Roi pooling层的过程就是为了将proposal抠出来的过程,然后resize到统一的大小。

Roi pooling层的操作如下:

1、根据输入的image,将Roi映射到feature map对应的位置;

2、将映射后的区域划分为相同大小的sections(sections数量和输出的维度相同);

3、对每个section进行max pooling操作;