ROI Pooling层解析

ROI Pooling的意义

ROIs Pooling顾名思义,是Pooling层的一种,而且是针对RoIs的Pooling,他的特点是输入特征图尺寸不固定,但是输出特征图尺寸固定。

             

  1. 什么是ROI呢?
  2. ROI是Region of Interest的简写,指的是在“特征图上的框”:
  3. 1)在Faste RCNN中, RoI是指Selective Search 完成后得到的“候选框”在特征图上的映射,如下图所示;
  4. 2)在Faster RCNN中,候选框是经过RPN产生的,然后再把各个“候选框”映射到特征图上,得到RoIs.

                                                                                图1 Faste RCNN整体结构

往往经过rpn后输出的不止一个矩形框,所以这里我们是对多个ROI进行Pooling。

ROI Pooling的输入

输入有两部分组成:

1、特征图:指的是图1中所示的特征图,在Fast RCNN中,它位于RoI Pooling之前,在Faster RCNN中,它是与RPN共享那个特征图,通常我们常常称之为“share_conv”;

2、rois:在Faster RCNN中,指的是Selective Search的输出;在Faster RCNN 中指的是RPN的输出,一堆矩形候选框,形状为1x5x1x1(4个坐标+索引|index),其中值得注意的是:坐标的参考系不是针对feature map这张图的,而是针对原图的(神经网络最开始的输入)

ROI Pooling的输出

输出是batch个vector, 其中batch的值等于RoI的个数,vector的大小为channel * w * h; RoI Pooling 的过程就是将一个个大小不同的box矩形框,都映射成大小固定(w * h)的矩形框;

ROI Pooling的过程

                       这里写图片描述

 如图所示,我们先把roi中的坐标映射到feature map上, 映射规则比较简单,就是把各个坐标除以“输入图片与feature map的大小的比值”, 得到了feature map 上的box坐标后,我们使用Pooling得到输出;由于输入的图片大小不一,所以这里我们使用的类似Spp Pooling, 在Pooling 的过程中需要计算Pooling后的结果对应到feature map 上所占的范围,然后在那个范围中进行取max或者取average.

感谢作者:https://blog.csdn.net/lanran2/article/details/60143861

猜你喜欢

转载自blog.csdn.net/gqixf/article/details/83057824