RoI pooling layer解读

ROI pooling作用有两点:
(1)根据输入image,将ROI映射到feature map对应位置,映射是根据image缩小的尺寸来的;
(2)将得到的RoI映射在feature map上得到的RoI feature region输出统一大小的特征区域(由于区域提议得到的RoI大小和尺度比例不尽相同,无法输入FC层进行一维化操作)
 

ROI pooling layer具体操作

    1.  根据输入image,将ROI映射到feature map对应位置

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

具体过程:假设我们输入的RoI的尺寸大小为H x W,而我们经过RoI pooling layer操作后需要得到的统一尺寸大小为h x w,则有以下几步过程:

         1) 输入的H x W需要被划分成h x w个网格块,然后对每个块进行max pooling操作;

         2) 那么重要的是每个块需要被划分为多大的像素呢?采用平均分块得到每个块的像素尺寸大小为,但此时又存在问题,如果除不整呢?解决方法是除不整舍去小数保留整数,而最后一个行块或列块包含剩余没有包括在内的元素值。具体看下面的例子。

    3.  对每个sections进行max pooling操作

    这样我们就可以从不同大小的方框得到固定大小的feature maps

一个例子

考虑一个8*8大小的feature map,一个ROI投影后大小为5 x 7,以及输出大小为2 x 2

    1.  输入固定大小的feature map

    2.  region proposal投影之后的位置(左上角(0,3),右下角坐标(7,8)),大小为5 x 7 

    3.  将其划分为2*2个sections(因为输出大小为2*2)

此时5/2 = 2.5,7/2 = 3.5,都除不整,则左上角第一个块的大小即为2 x 3,第一行右上角的块的大小即为2 x (7-3)= 2 x 4,

第二行第一列即为(5-2)x 3 = 3 x 3,最后一个块则为(5-2)x(7-3)= 3 x 4。

    4.  对每个section做max pooling

猜你喜欢

转载自blog.csdn.net/xunan003/article/details/86583563