【目标检测】RoI Pooling及其改进

2019-10-12  本文已影响0人  AIPlayer

一、什么是RoI Pooling

RoI是Region of Interest的简写,是指对一张图片的“感兴趣区域”,用于RCNN系列算法当中,输入图片在经过卷积网络得到feature maps后,利用选择搜索或者RPN算法来得到多个目标候选框,这些以输入图片为参考坐标的候选框在feature maps上的映射区域,即为目标检测中所说的RoI。

RoI Pooling

RoI Pooling的过程如上图所示,其中有两个计算细节的问题有:

问题1、以输入图片为参考坐标的候选框在feature maps上如何映射?

scale = Sf / Si, Xf = scale * Xi,Yf = scale * Yi,其中 Sf 为feature map的Size,Si 为输入image的Size,(Xf,Yf)为feature map上的坐标点,(Xi,Yi)为输入image的坐标点。

问题2、如何把形状和大小各异的候选区域归一化为固定大小的目标识别区域?

通过对feature map分块池化实现归一化到固定大小,假设ROI Pooling层的输出大小为 Wr * Hr,输入候选区域的大小为 Wi * Hi,ROI Pooling的过程包括两个步骤:

( Hi / Hr) * (Wi / Wr),这里会有一个取整量化的操作;

二、RoI Pooling存在的问题

候选框从原图坐标映射到的feature map坐标时,位置坐标可能存在浮点数,此时进行取整操作从而出现第一次量化;其次,在ROI Pooling求取每个小网格的位置时也同样存在浮点数取整的情况。这两次量化的结果都使得候选框的位置出现了偏差。

三、RoI Align

为了解决RoI Pooling两次量化问题,RoI Align不再采用取整量化操作,而是保留了浮点数的运算,并使用双线性插值的方式来求取像素值。具体的过程步骤如下:

RoI Align

假设需要输出2x2的fixed size feature map:

上一篇 下一篇

猜你喜欢

热点阅读