RoI Pooling操作对比

1、ROI pooling

fast-rcnn论文提出,常用于two stage的方法中,实质是将原始feature map中不同大小的proposal区域,通过切分和max pooling,得到大小相等的目标feature区域,原理如下

ROI pooling存在取整量化的精度损失,如下图,原始图像大小800*800,bbox大小665*665,在25*25的feature map层,目标feature map大小为665/32=20.78,ROI pooling直接取整量化为20*20,因此存在0.78x32=25个像素的定位精度损失。

2、ROI Align

针对ROI pooling取整量化导致的定位精度损失,何凯明在mask rcnn中提出了ROI Align,即不取整,利用小数周围的像素值双线性插值获得最终的像素值。示意如下图:

step1:将feature map上的bbox等分为N*N个bin(N*N为pooling的输出大小)

step2:每个bin均匀取4个采样点(实验效果最好)

step3:对每个采样点邻近grid的四个角点进行双线性插值,得到采样点值

step4:对每个bin的4个采样点计算max pooling,得出每个bin的pooling输出值

3、Precise ROI (PrRoI) pooling

PrRoI是旷视在ECCV2018论文Acquisition of Localization Confidence for Accurate Object Detection中提出,在RoI Align不取整量化的基础进一步改进:

1、首先对feature map的进行双线性插值,将离散的feature map wi,j变为连续的feature map f(x, y),插值系数为IC(x, y, i, j),其中(i, j)为离散坐标,(x, y)为连续坐标。

2、和RoI align一样划分bin,但是每个bin内部不再设置采样点,而是采用二维积分计算区域总像素值,再除以区域面积,所得均值作为bin的pooling输出。

通过计算公式可知,PrRoI是可导的,而RoI pooling和RoI align不可导,只能传递导数/梯度。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容