什么是ROI pooling?
ROI pooling 是对(Region of Interest)进行Pooling操作,广泛应用在物体检测的研究领域。
该操作的目的是对输入feature map中的不同大小的ROI利用池化方法获得固定大小的输出feature map。
ROI Pooling层的输入:
1,经过基础网络卷积和池化后的固定大小的特征图;
2,表示ROI信息的N*5维的矩阵,其中N表示ROI数目,纵坐标的第一列表示图片在输入特征图batch中的索引,之后四位是ROI的左上角和右下角坐标的信息。
换个说法,实际上这部分输入就是rois:指的是RPN层的输出,一堆矩形框,形状为1x5x1x1(4个坐标+索引index),其中值得注意的是:坐标的参考系不是针对feature map这张图的,而是针对原图的(神经网络最开始的输入)。
ROI Pooling的输出
输出是batch个vector,其中batch的值等于roi的个数,vector的大小为channelwh;ROI Pooling的过程就是将一个个大小不同的box矩形框,都映射成大小为w*h的矩形框;
举例:(数字是随意举例的,仅仅为了说明道理)
假设输入的ROI大小为8060,期望输出的ROI固定大小为106;
那么将输入的ROI(8060)划分为106块,即每块的大小为(80/10,60/6)。
对每一块分别进行最大或者最小Pooling操作,即得到了10*6的期望大小的输出ROI。