这是ECCV2020的一篇Oral论文,由旷世研究院提出。
论文:BorderDet: Border Feature for Dense Object Detection
代码: https://github.com/MegviiBaseDetection/BorderDet
论文作者马宇宸的知乎:ECCV2020 Oral |BorderDet用边界特征做检测
1. Motivation
论文研究的问题是采用何种特征进行分类和预测会比较好。
- single point feature:单阶段目标检测器通常以feature map上的每个点为特征,并利用这些单点特征直接给出目标的类别概率和边界框,比如YOLO,RetinaNet,FCOS等。虽然单点特征使用简单,但由于单点特征一般很难包含有高效的边界特征,从而会影响高精度定位。论文中提到
This point-based feature representation is hard to contain the effective border feature and it may limit the localization ability of the object detectors
。 - region features:这是两阶段目标检测器所用到的区域特征,比如RPN中,采用
3
×
3
3\times3
3×3的滑窗进行特征提取,这时便用到了9个特征点的特征。在得到region proposal后又用RoI pooling或RoIAlign提取出RoI特征,region proposal一般会覆盖整个bounding box,那么相比于单点特征,区域特征就会包含丰富的特征,如此多的特征可能会造成特征冗余,甚至造成特征不够强。比如,区域特征包含了图1(a)运动员的特征,也包含了背景特征(如边界框左上角区域的运动场),这就造成了特征冗余,这些冗余的特征可能还会影响模型的鲁棒性。
- border features:来自物体边界框的边界特征
- border-middle features:来自物体边界框中心点的特征
作者以FCOS为目标检测器,利用以上不同特征做了如下对比实验,其中,
F
p
o
i
n
t
F_{point}
Fpoint表示使用FCOS做第一次预测,其它实验则是利用不同的特征进行第二次预测,即使用“粗预测+精预测”模式,为什么要采用这种两次级联的预测方式呢?因为后续的
F
r
e
g
i
o
n
F_{region}
Fregion,
F
b
o
r
d
e
r
F_{border}
Fborder,
F
m
i
d
d
l
e
F_{middle}
Fmiddle均需要有物体的边界框来提取对应的特征,使用一次预测则无法利用到物体边界框。
注:
N
N
N表示所利用的特征点数,
N
N
N在一定程度上表示了算法的复杂度,实验中令
N
=
5
N=5
N=5。
- 只使用baseline做一次预测的结果是 A P = 38.6 % AP=38.6\% AP=38.6%
- F p o i n t ′ F_{point}^{'} Fpoint′表示使用单点特征进行第二次预测, A P AP AP提高了 0.3 % 0.3\% 0.3%,表明两次级联的预测是有用的。
- F r e g i o n F_{region} Fregion:区域特征比单点特征好,相比于单点特征,区域特征包含更多丰富的特征。
- F b o r d e r F_{border} Fborder:即使减小了内部特征,只使用边界特征, A P AP AP只下降 0.3 % 0.3\% 0.3%
- F m i d d l e F_{middle} Fmiddle:使用边界中心点特征效果最好,虽然 A P AP AP与 F r e g i o n F_{region} Fregion一样,但使用了非常少的特征点。
上述实验结果表明,在单点特征的基础上添加少量边界特征是非常有用的,边界特征包含了丰富的边界信息,从而提高定位精度,那么究竟要使用何种边界特征呢?作者发现,使用边界极限点(extreme point of the border)点的特征是比较好的。如下图的(a)Image所示,橙色的点分别是图中的运动员在4个方向上(上下左右)的最远点,这些点分别确定了边界框的上下左右4条边,于是被称为边界极限点。直观地来讲,分类问题通常关注的是目标的关键区域,而定位问题则应关注目标的边界区域。显然,如果我们能找到目标的边界极限点,并利用这些极限点的特征,我们可以实现更加精准的定位。
因此,论文提出了BorderAlign,用来提取物体边界极限点的特征,进而设计了一个全新的检测框架“BorderDet”。它可以很好地利用边界信息,实现更强大的分类与更精准的定位效果。
2. BorderDet
2.1 overview
- BorderDet是一种级联预测的检测器;
- 使用FCOS进行第一次预测,得到类别概率和预测边界框;
- 利用预测出的边界框和BorderAlign来提取边界极限点特征;
- 最后利用边界极限点特征进行第二次预测,得到类别概率和预测边界框;
- 结合前后两次得到的类别概率和边界框,得到最终的检测结果;
2.2 Border Align
受R-FCN中position-sensitive RoI pooling的启发,Border Align提出一种类似的池化方法:border-sensitive border pooling方法来提取边界极限点特征。
- Borber Align以大小为 H × W × 5 C H\times W\times 5C H×W×5C的边界敏感特征图 I I I(border-sensitive feature maps)和首次预测出的边界框 B B B为输入。其中边界敏感特征图 I I I将通道数分成5个部分,每个部分的通道数为 C C C,从左至右来看,每个部分分别表示single point(origin),left border,top border,bottom border,right border。
- C is set to 256 for the classification branch and to 128 for the regression branch.
- 假设特征图中位置
(
i
,
j
)
(i,j)
(i,j)所预测出的边界框为
(
x
0
,
y
0
,
x
1
,
y
1
)
(x_0,y_0,x_1,y_1)
(x0,y0,x1,y1),经过Border Ailgn后的输出特征图
F
F
F上第
c
c
c个通道上第
(
i
,
j
)
(i,j)
(i,j)个特征点为
F c ( i , j ) = { I c ( i , j ) 0 ≤ c < C max 0 ≤ k ≤ N − 1 I c ( x 0 , y 0 + k h / N ) C ≤ c < 2 C max 0 ≤ k ≤ N − 1 I c ( x 0 + k w / N , y 0 ) 2 C ≤ c < 3 C max 0 ≤ k ≤ N − 1 I c ( x 0 + k w / N , y 1 ) 3 C ≤ c < 4 C max 0 ≤ k ≤ N − 1 I c ( x 1 , y 0 + k h / N ) 4 C ≤ c < 5 C F_c(i,j)=\left\{ \begin{array}{lcl} I_c(i,j) & & {0\leq c< C}\\ \max \limits_{0\leq k\leq N-1}I_c(x_0,y_0+kh/N) & & {C\leq c< 2C}\\ \max \limits_{0\leq k\leq N-1}I_c(x_0+kw/N,y_0) & & {2C\leq c< 3C}\\ \max \limits_{0\leq k\leq N-1}I_c(x_0+kw/N,y_1) & & {3C\leq c< 4C}\\ \max \limits_{0\leq k\leq N-1}I_c(x1,y_0+kh/N) & & {4C\leq c< 5C}\\ \end{array} \right. Fc(i,j)=⎩⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎧Ic(i,j)0≤k≤N−1maxIc(x0,y0+kh/N)0≤k≤N−1maxIc(x0+kw/N,y0)0≤k≤N−1maxIc(x0+kw/N,y1)0≤k≤N−1maxIc(x1,y0+kh/N)0≤c<CC≤c<2C2C≤c<3C3C≤c<4C4C≤c<5C其中 w w w和 h h h分别表示边界框的宽和高, N N N表示在边界上等间距取 N N N个点,论文中令 N = 10 N=10 N=10, I c ( i , j ) I_c(i,j) Ic(i,j)表示边界敏感特征图 I I I上第 c c c个通道第 ( i , j ) (i,j) (i,j)个特征点。 - 对于single point所对应的 C C C个通道的feature maps,不做任何处理。而4个边界对应的feature maps则按边界划分成 N N N个点后,对这 N N N个点进行max pooling,在做pooling时是按每个通道数来进行的。
- 对于非整数的坐标,则以距离其最近的4个特征点做双线性插值。
- 下图展示对 Borber Align的输出特征图
F
F
F进行可视化的结果。single point关注了物体的整体信息,而4个边界极限点则更加关注响应的边界信息。
2.2 Border Alignment Module (BAM)
- 作用是提取边界极限点特征,并将其与单点特征做融合,最后使用 1 × 1 1\times1 1×1卷积进行第二次检测
3. 实验
(1)BAM的有效性
- 对比前三行的
A
P
90
AP_{90}
AP90,表明边界极限点特征能明显地提高严格标准下的定位精度,实现高精度定位,所以,让定位任务关注合适的边界信息能提高定位精度。
注:Cls-BAM表示对分类分支使用BAM,Reg-BAM表示对回归分支使用BAM。
(2)边界划分点数
N
N
N
注:
N
=
0
N=0
N=0表示只使用单点特征进行第二次迭代
(3)边界特征聚合策略(Border Feature Aggregation Strategy)
- channel-wise表示上述所讲的边界特征聚合方法,即是按照不同通道数并沿着同一边界线做pooling,此时通道数是独立的,输出特征图大小为 H × W × 5 C H\times W\times 5C H×W×5C。
- border-wise的聚合方法分为2部:首先对于某一边界线,按照不同边界点(共 N N N个)并沿着通道方向进行pooling,得到 N N N个点,然后对着N个点做max pooling,选择最大的点作为边界极限点,这样,输出特征图大小为 H × W × 5 H\times W\times 5 H×W×5
- 实验证明了channel-wise的方法更好。个人觉得,这是因为特征图的每个通道包含了该点的不同特征,而channel-wise方法独立地选择出了这些特征,最大程度保留了边界点信息,后面如何将这些散特征聚合在一起,则交给
1
×
1
1\times1
1×1卷积来做;而border-wise则认为地选择出响应最大的散特征,这是一种启发式的特征聚合方法,而且可能会丢失重要特征。
(4)最终结果