什么是 ROI

目标检测通常可以分为两个阶段:

  • Region proposal:给定一张输入图片找出所有物体可能存在的所有位置。这一阶段的输出应该是一系列物体可能位置的 bounding box,这些通常就被称为region proposals或 者 regions of interest(ROI),在这一过程中用到的方法是selective search(Fast R-CNN)或 RPN (Faster R-CNN)
  • Final classification:确定上一阶段的每个region proposal 是属于目标一类还是背景

什么是 ROI Pooling

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

ROI Pooling 的输入

输入有两部分组成:

  • 从具有多个卷积核池化的深度网络中获得的固定大小的特征图
  • 个表示所有 ROI 的 N5N*5 的矩阵,其中 NN 表示ROI的数目,每个 ROI 有 5 个参数分别是 1 个 索引+ 4 个坐标

【注】坐标的参考系不是针对特征图的,而是针对原图

ROI Pooling 的具体操作

具体的操作过程如下:

  1. 根据输入图片,将 ROI 映射到特征图标对应位置;
  2. 将映射后的区域划分为相同大小的 sections(sections 的数量与输出的维度相同);
  3. 对每个 sections 进行 max pooling 操作。

【举个栗子】 ✧(≖ ◡ ≖✿)

假设我们有一个 8x8 的特征图和一个ROI,输出为 2x2

输入特征图
【摘记】ROI Pooling and ROI Align
将 region proposal 投影到特征图上

【摘记】ROI Pooling and ROI Align
将其划分为 2x2 个 sections(因为输出大小为2*2),于是得到

【摘记】ROI Pooling and ROI Align
对每个section做max pooling,可以得到
【摘记】ROI Pooling and ROI Align
整体过程如下 GIF

【摘记】ROI Pooling and ROI Align
【注】在这个例子中 region proposals 是 5x7 的,在 pooling 之后需要得到 2x2 的,所以在5x7 的特征图划分成 2x2 的时候不是等分的,行是 5/2(取整) ,第一行得到2,剩下的那一行是3,列是 7/2 (取整),第一列得到3,剩下那一列是4。

ROI Pooling 存在的问题

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

为了解决这个问题,于是有了下面的 ROI Align

ROI Align

RoI Align不再采用取整量化操作,如果计算得到小数,也就是没有落到真实的像素点上,那么就用最近像素点对这一点虚拟的像素点进行双线性插值,得到这个像素点的值。具体的过程步骤如下:
【摘记】ROI Pooling and ROI Align
假设需要的输出为 2x2 :

  1. 先将ROI切分成 2x2 的单元格;
  2. 如果采样点数是4,将每个单元格子均分成四个小方格,以每个小方格的中心作为采样点;
  3. 对采样点像素进行双线性插值,得到该像素点的值;
  4. 对每个单元格内的 4 个采样点进行 max pooling,得到最终的 ROI Align 结果。

双线性插值

已知 Q12Q_12Q22Q_22Q11Q_11Q21Q_21,但是要插值的点为 PP,这时就要用双线性插值了,首先在 x 轴方向上,对 R1R_1R2R_2 两个点进行插值,这个很简单,然后根据 R1R_1R2R_2PP 点进行插值,这就是所谓的双线性插值。
【摘记】ROI Pooling and ROI Align
首先在 x 方向进行线性插值,得到

【摘记】ROI Pooling and ROI Align
【摘记】ROI Pooling and ROI Align
然后在 y 方向进行线性插值,得到

【摘记】ROI Pooling and ROI Align
这样就得到所要的结果 f(x,y)f \left( x, y \right)

【摘记】ROI Pooling and ROI Align
【摘记】ROI Pooling and ROI Align

Reference

相关文章:

  • 2021-04-07
  • 2021-05-31
  • 2021-10-01
  • 2021-06-30
  • 2021-05-31
  • 2021-04-05
  • 2021-12-12
猜你喜欢
  • 2022-01-23
  • 2021-06-10
  • 2021-09-03
  • 2021-04-30
  • 2021-10-12
  • 2021-10-24
相关资源
相似解决方案