Grid R-CNN
Abstract
- 本文提出了一种基于网格引导定位的目标检测算法Grid R-CNN
- Grid R-CNN获取空间信息并且利用全卷积结构的位置敏感性
- Different from the traditional regression based methods, the Grid R-CNN captures the spatial information explicitly and enjoys the position sensitive property of fully convolutional architecture.
- Grid R-CNN可以做到高质量的目标定位,相比Fast R-CNN,在IOU=0.8时涨了4.1%AP,在IoU=0.9时涨了10%AP
Introduction
- 之前的R-CNN系列的目标检测算法都是使用bounding box回归来进行目标定位的,回归分支通常被设计为几个全连接层
- 与基于回归的方法(将特征图输入到全连接层)相比,Grid R-CNN将bounding box划分成网格,并且通过全卷积网络来预测网格点的位置(如图1b,当指定位置一定数量的网格点已知时,相应的边界框就确定了),由于全卷积结构的位置敏感性,Grid R-CNN保持了明确的空间信息并且可以做到像素级的定位
- 在图1b中,毛的右上角点位于目标的外部,并且它在图像中的周围区域仅包含背景,为了克服这个问题,本文设计了多点监督公式(multi-point supervision formulation),以3*3的网格为例,可以通过中上角点的坐标来校准右上角点的y轴坐标,网格点的设计可以有效较少整体偏差
- 为了充分利用网格中点的相关性,本文提出了一种信息融合方法,对每一个网格点的特征图由相邻点的特征图融合得到,来自相关网格点的补充信息使预测更精确。
Related Works
- 基于两阶段的检测器
Grid R-CNN
- 图2为Grid R-CNN的网络结构,相较于Faster R-CNN,只更改了回归分支
Grid Guided Localization
- 设计了 N ∗ N N*N N∗N的网格,比如图1b中是 3 ∗ 3 3*3 3∗3的网格,网格点分别是四个角点,四条边的中点和中心点
- 14 ∗ 14 14*14 14∗14的RoI Align之后是八个 3 ∗ 3 3*3 3∗3卷积核的扩张卷积层,然后两个反卷积层将分辨率扩大到 56 ∗ 56 56*56 56∗56,输出 N ∗ N N*N N∗N的热图,对每个热图上的每个像素进行sigmoid操作生成概率图,并且每个热图对应一个监督图,其中交叉形状的5个像素被标记为目标网格点的真实位置,使用二元交叉熵损失进行优化。
- 推理过程中,我们使用置信度最高的像素计算原始图像上对应位置作为网格点。
- 热图中的点
(
H
x
,
H
y
)
(H_x,H_y)
(Hx,Hy)通过下面的公式映射到原始图片中的点
(
I
x
,
I
y
)
(I_x,I_y)
(Ix,Iy):
- ( P x , P y ) (P_x,P_y) (Px,Py)是提议框(proposal)在输入图像上的左上角坐标, w p 和 h p w_p和h_p wp和hp是proposal的宽和高, w o 和 h o w_o和h_o wo和ho是输出热图的宽和高
( H x , H y ) (H_x,H_y) (Hx,Hy) | ( I x , I y ) (I_x,I_y) (Ix,Iy) |
---|---|
( 0 , 0 ) (0,0) (0,0) | ( P x , P y ) (P_x,P_y) (Px,Py) |
( w o , 0 ) (w_o,0) (wo,0) | ( P x + w p , P y ) (P_x+w_p,P_y) (Px+wp,Py) |
( 0 , h o ) (0,h_o) (0,ho) | ( P x , P y + h p ) (P_x,P_y+h_p) (Px,Py+hp) |
( w o , h o ) (w_o,h_o) (wo,ho) | ( P x + w p , P y + h p ) (P_x+w_p,P_y+h_p) (Px+wp,Py+hp) |
- 然后用预测的网格点确定预测框的四个边界
B
=
(
x
l
,
y
u
,
x
r
,
y
b
)
B = (x_l, y_u, x_r, y_b)
B=(xl,yu,xr,yb),
g
j
g_j
gj表示第
j
j
j个网格点的
(
x
j
,
y
j
)
(x_j,y_j)
(xj,yj)并用
p
j
p_j
pj表示其概率,
E
i
E_i
Ei是位于第
i
i
i条边上的网格点的集合,即
j
∈
E
i
j\in E_i
j∈Ei 如果
g
j
g_j
gj在边界框的第
i
i
i条边上,下面的公式是用
g
g
g的集合来计算
B
B
B:
- 以 y u y_u yu(上边界)为例,是三个上方网格点(上边界框上的网格点)的概率加权平均值
Grid Points Feature Fusion
- 网格点具有内部空间相关性,他们的位置可以互相校准,以减少整体偏差
- 提取每个特征图上的网格点的局部特征用于融合操作
- 为了区分不同点的特征图,使用 N ∗ N N*N N∗N组卷积核为它们单独提取特征(从最后的特征图中),并给它们相应网格点的中间监督。因此,每个特征图都与某个网格点有特定的关系,我们将对应于第 i i i个点的特征图表示为 F i F_i Fi(即每一个卷积核对应一个网格点)
- 对于每个网格点, L 1 L_1 L1距离为1(单位网格长度)的点为源点(source points),有助于融合。将第一个网格点的源点定义为 S i S_i Si,对于 S i S_i Si中的第 j j j个源点, F j F_j Fj经过三个连续的5*5卷积进行处理,该过程表示为 T j → i T_{j \rightarrow i} Tj→i,然后用 F i F_i Fi融合所有源点的特征(简单的相加)得到融合特征图 F i ′ F^{'}_i Fi′(公式3),如图3a所示
- 然后通过卷积操作 T j → i + T^{+}_{j \rightarrow i} Tj→i+进行二级融合,得到的特征图 F ′ ′ F^{''} F′′用于输出最终网格点位置预测的热图,二级融合能够实现距离为2的信息传递,如图3b所示
Extended Region Mapping
- 网格预测模块输出具有固定空间大小的热图,由于是全卷积的网络,热图自然地可以对应在原图上的proposal,但是proposal可能无法覆盖整个目标,如图4所示,白框代表提议框proposal,本文将特征图的表示区域扩展到白色虚线框,以提高绿色真实框的覆盖率,实验证明,简单的扩大proposal不会带来任何好处,反而会损害小目标的检测精度,为了解决这个问题,通过扩展区域映射的方式来修改输出热图和原始图像中区域之间的关系,当获得proposal时,RoI特征仍然从特征图上的相应区域获得,但是输出热图的表示区域重新定义为原表示区域的两倍,以便在大多数情况下覆盖所有网格点,扩展区域映射被公式化为公式1的修改
可以变形为下式:可以理解为在原式的基础上添加了修正项
H x , H y H_x,H_y Hx,Hy | ( I x ′ , I y ′ ) (I^{'}_x,I^{'}_y) (Ix′,Iy′) |
---|---|
( 0 , 0 ) (0,0) (0,0) | ( P x − w p 2 , P y − h p 2 ) (P_x-\frac{w_p}{2},P_y-\frac{h_p}{2}) (Px−2wp,Py−2hp) |
( w o , 0 ) (w_o,0) (wo,0) | ( P x + 3 w p 2 , P y − h p 2 ) (P_x+\frac{3w_p}{2},P_y-\frac{h_p}{2}) (Px+23wp,Py−2hp) |
( 0 , h o ) (0,h_o) (0,ho) | ( P x − w p 2 , P y + 3 h p 2 ) (P_x-\frac{w_p}{2},P_y+\frac{3h_p}{2}) (Px−2wp,Py+23hp) |
( w o , h o ) (w_o,h_o) (wo,ho) | ( P x + 3 w p 2 , P y + 3 h p 2 ) (P_x+\frac{3w_p}{2},P_y+\frac{3h_p}{2}) (Px+23wp,Py+23hp) |
Implementation Details
- 使用ResNet50和ResNet101作为backBone(不使用FPN)
- 用RPN网络来获取region proposal,anchor包括5个尺度,三种比例
- RPN训练采样256个anchor,正负样本区分阈值分别为0.7和0.3
- 分类分支中,与Groundtruth的IoU大于0.5的RoI被视为正样本
- 在基于Faster-RCNN的模型中每张图片采样128个RoI,在基于FPN的模型中每张图片采样512个RoI
- 均采用RoI Align,分类分支池化的大小为7x7,网格分支为14x14
- 推理阶段,RPN生成300/1000个RoI(Faster-RCNN/FPN),先进入分类分支进行处理生成类别分数,然后进行阈值为0.5的NMS,最后选取得分最高的125个RoI输入网格分支,最最后再进行一次阈值为0.5的NMS
Experiments
- Multi-point Supervision
- 网格点个数对检测准确性的影响
- 2points是左上角和右下角
- 都没有使用特征融合
- 随着网格点的增加,精度也在提高
- Grid Points Feature Fusion
- 特征融合对检测准确性的影响
- bi-directional fusion是双向融合(姿态估计、欧阳万里)
- first order feature fusion是一级融合
- second order feature fusion是二级融合
- Extended Region Mapping
- 对比直接放大proposal和扩展区域映射
-
Comparison with State-of-the-art Methods
-
和最先进的方法比较
-
在Pascal VOC上和R-FCN、FPN对比,如表4
-
在COCO(验证集)上和其他方法的对比,如表5
-
-
在COCO(test-dev)上和其他方法的比较,如表6
- 结合缩放(SNIP)和级联(cascade RCNN)方法还有提升空间
- Accuracy in Different IoU Criteria
- 图5显示了基于FPN的Grid R-CNN和baseline FPN之间的比较,具有相同的ResNet-50作为backbone,IoU阈值从0.5到0.9。网格R-CNN在更高的IoU阈值(大于0.7)下优于回归。
- 阈值0.5网格分支可能会稍微影响分类分支的性能。
- Varying Degrees of Improvement in Different Categories
- 对矩形更友好,对圆形表现较差
png" alt=“image-20201202111801696” style=“zoom: 50%;” />
- Varying Degrees of Improvement in Different Categories
- 对矩形更友好,对圆形表现较差