(三十六)论文阅读 | 目标检测之BorderDet


简介

(三十六)论文阅读 | 目标检测之BorderDet_第1张图片

图1:论文原文

论文是 E C C V   2020   O r a l {\rm ECCV\ 2020\ Oral} ECCV 2020 Oral的一篇 A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free目标检测论文,论文的关注点是目标的边界特征,是属于基于关键点的检测方法。提出 B o r d e r A l i g n {\rm BorderAlign} BorderAlign算子来提取目标的边界特征,并设计出一个新的检测模型 B o r d e r D e t {\rm BorderDet} BorderDet。实验结果为在基于 F C O S {\rm FCOS} FCOS上获得了约 2.8 A P {\rm 2.8AP} 2.8AP的提升,使用 R e s N e X t {\rm ResNeXt} ResNeXt- 101 {\rm 101} 101- D C N {\rm DCN} DCN A P {\rm AP} AP达到 50.3 {\rm 50.3} 50.3。论文原文 源码


0. Abstract

密集型的目标检测方法依赖于滑动窗口等机制来预测目标,同时特征图上的网格点用于产生预测边界框,点特征具有很多优势但同时也无法获得边界信息。论文提出一种简单有效的算子 B o r d e r A l i g n {\rm BorderAlign} BorderAlign,它基于边界的极值点来提取边界特征,并最终得到一个新的检测模型 B o r d e r D e t {\rm BorderDet} BorderDet

论文贡献:(一)基于 F C O S {\rm FCOS} FCOS提出一种新的目标检测方法 B o r d e r D e t {\rm BorderDet} BorderDet;(二)提出 B o r d e r A l i g n {\rm BorderAlign} BorderAlign算子用于高效地提取目标的边界特征;(三) B o r d e r A l i g n {\rm BorderAlign} BorderAlign算子可以有效地与 F C O S {\rm FCOS} FCOS等模型结合;(四) B o r d e r D e t {\rm BorderDet} BorderDet C O C O {\rm COCO} COCO数据集上达到了 S O T A {\rm SOTA} SOTA


1. Introduction

基于滑动窗口的目标检测方法利用密集的网格产生预测的边界框,如 S S D {\rm SSD} SSD R e t i n a N e t {\rm RetinaNet} RetinaNet F C O S {\rm FCOS} FCOS等使用基于点特征的方式来表征目标。这种单纯使用点特征的方式具有简单便捷的特点,因为不需要提取额外的特征。
(三十六)论文阅读 | 目标检测之BorderDet_第2张图片

图2:各特征提取方法

但是,如受到感受野大小的限制,仅使用点特征并不能包含目标的整体信息,同时也会由于缺少目标的边界信息而不利于模型进行精确地边界框回归。

许多工作聚焦于目标的特征表现形式,如 G A {\rm GA} GA- R P N {\rm RPN} RPN R e p P o i n t s {\rm RepPoints} RepPoints C a s c a d e   R P N {\rm Cascade\ RPN} Cascade RPN R o I   P o o l i n g {\rm RoI\ Pooling} RoI Pooling R o I   A l i g n {\rm RoI\ Align} RoI Align等,这些方法能够提取比点特征更加丰富的信息。但同时,上述方式仍存在以下限制:(1)提取特征的过程会带来额外的计算,以及包含许多干扰的背景信息;(2)没有关注目标的边界特征。

基于上述问题,论文提出一种特征提取算子 B o r d e r A l i g n {\rm BorderAlign} BorderAlign,使用提取的边界特征来增强点特征。它不同于以往基于整个边界框的方法, B o r d e r A l i g n {\rm BorderAlign} BorderAlign仅关注目标的边界并且自适应地关注目标边界的表征特征。最后,基于 B A M {\rm BAM} BAM模块,论文提出了 B o r d e r D e t {\rm BorderDet} BorderDet


2. Related Works

Sliding-Window Paradigm 滑动窗口机制广泛应用于目标检测中,如一阶段检测算法中的 D e n s e B o x {\rm DenseBox} DenseBox Y O L O {\rm YOLO} YOLO S S D {\rm SSD} SSD R e t i n a N e t {\rm RetinaNet} RetinaNet F C O S {\rm FCOS} FCOS等;对于两阶段检测算法, R {\rm R} R- C N N {\rm CNN} CNN系列等使用基于滑动窗口的 R P N {\rm RPN} RPN来产生初始建议框,然后使用 R o I A l i g n {\rm RoIAlign} RoIAlign等处理感兴趣区域。

Feature Representation of Object 典型的基于滑动窗口的目标检测方法使用点特征来表征目标。但是,点特征往往不能充分地反映目标类别和位置信息。近来, G u i d e d   A n c h o r {\rm Guided\ Anchor} Guided Anchor使用可变形卷积用于增强点特征; C a s c a d e   R P N {\rm Cascade\ RPN} Cascade RPN使用自适应卷积将特征图对齐到目标边界框; R e p P o i n t s {\rm RepPoints} RepPoints基于可变形卷积使用一组点用于表征目标外观。但是,上述方法中的特征图是基于整个目标的,因此其中难免包含许多背景等干扰信息。

Border Localization 有许多通过逐行逐列的方式来定位目标的边界,如 L o c N e t {\rm LocNet} LocNet S A B L {\rm SABL} SABL等额外引入一个定位模块来增强 R o I {\rm RoI} RoI特征,以此在 X {\rm X} X方向和 Y {\rm Y} Y方向上逐步搜索以找到目标的边界。但是,这类方法严重依赖于特征图的分辨率。


3. Our Approach

3.1 Motivation

基于滑动窗口的目标检测方法通常通过特征图上密集的网格产生预测边界框,网格上的点用于产生对目标类别和位置的预测。但这种基于点特征的特征表现形式难以获得目标的边界特征,以及限制了目标检测器的性能。对于两阶段检测算法,目标通过区域特征表征。相比于点特征,基于区域的特征表现形式能够提供更加丰富的特征。
(三十六)论文阅读 | 目标检测之BorderDet_第3张图片

图3:各特征表现形式

下图展示了各特征表现形式的实验结果对比。首先,实验使用 F C O S {\rm FCOS} FCOS为基础网络来产生粗略定位;接下来,再次依照上图提取特征;然后基于不同特征来精修预测边界框。基于实验得到的结论有:(1)区域特征比点特征更加具有代表性;(2)边界特征在区域特征中扮演了重要角色;(3)如何有效地提取边界特征至关重要。

(三十六)论文阅读 | 目标检测之BorderDet_第4张图片

图4:各特征表现形式实验结果对比

因此,对于密集型目标检测算法的特征表示,基于点特征的表征方式并不能很好地反应目标的整体性。但是,直接基于整个边界框提取特征没有必要且存在冗余操作。同时,由于高效的边界特征提取方法能够有效地提高检测器的性能,论文提出基于边界特征来提高密集型目标检测算法的性能。

3.2 Border Align

基于上述实验及观察,边界特征对于整个目标检测过程至关重要,但是由于边界仅包含有限的前景信息,直接提取边界特征不能满足效率的要求。因此论文提出了一种新的特征提取算子, B o r d e r A l i g n {\rm BorderAlign} BorderAlign用于有效地提取目标的边界特征。
(三十六)论文阅读 | 目标检测之BorderDet_第5张图片

图5:BorderDet

上图包含了 B o r d e r A l i g n {\rm BorderAlign} BorderAlign的详细结构,基于 R {\rm R} R- F C N {\rm FCN} FCN的思想, B o r d e r A l i g n {\rm BorderAlign} BorderAlign基于输入得到通道数为 5 C 5C 5C的边界敏感特征图 I I I。其中, 4 C 4C 4C通道数对应于四个边界的预测, C C C表示点特征。然后,将每个边界划分成 N N N个点,并使用最大池化增强点特征。 B o r d e r A l i g n {\rm BorderAlign} BorderAlign算子能够基于边界极值点自适应地提取边界特征。。

值得注意的是, B o r d e r A l i g n {\rm BorderAlign} BorderAlign算子采用基于通道的最大池化方式,四个边界的计算相对独立。假设输入特征图的顺序是点、左边界、上边界、有边界和下边界,输出特征图可由以下等式得到: 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 1 , y 0 + k h N ) )   3 C ≤ c < 4 C max ⁡ 0 ≤ k ≤ N − 1 ( I c ( x 0 + k w N , y 1 ) )   4 C ≤ c < 5 C (1) F_c(i,j)= \begin{cases} I_c(i,j)& \ 0\leq c< C\\ \max \limits_{0\leq k\leq N-1}(I_c(x_0,y_0+\frac{kh}{N}))& \ C\leq c<2C \\ \max \limits_{0\leq k\leq N-1}(I_c(x_0+\frac{kw}{N},y_0))& \ 2C\leq c<3C \\ \max \limits_{0\leq k\leq N-1}(I_c(x_1,y_0+\frac{kh}{N}))& \ 3C\leq c<4C \\ \max \limits_{0\leq k\leq N-1}(I_c(x_0+\frac{kw}{N},y_1))& \ 4C\leq c<5C \end{cases}\tag{1} Fc(i,j)=Ic(i,j)0kN1max(Ic(x0,y0+Nkh))0kN1max(Ic(x0+Nkw,y0))0kN1max(Ic(x1,y0+Nkh))0kN1max(Ic(x0+Nkw,y1)) 0c<C Cc<2C 2Cc<3C 3Cc<4C 4Cc<5C(1)

等式左端表示特征图 F \mathcal F F上位置 ( i , j ) (i,j) (i,j)处第 c c c个通道的值, ( x 0 , y 0 , x 1 , y 1 ) (x_0,y_0,x_1,y_1) (x0,y0,x1,y1)表示基于点 ( i , j ) (i,j) (i,j)预测的边界框, w w w h h h是边界框的宽和高。同时为了避免由于量化而带来的错误, I c I_c Ic通过双线性插值计算得到。

(三十六)论文阅读 | 目标检测之BorderDet_第6张图片

图6:可视化

上图是对边界敏感图的可视化,由图可知在边界的极大值点处存在极大响应。

3.3 Network Architecture

BorderDet B o r d e r D e t {\rm BorderDet} BorderDet基于 F C O S {\rm FCOS} FCOS设计,由于在 B o r d e r A l i g n {\rm BorderAlign} BorderAlign中提取边界时需要边界位置作为输入, B o r d e r D e t {\rm BorderDet} BorderDet设计使用两个阶段。首先产生对于类别和位置的粗略预测,然后将初次预测结果以及特征图送入 B A M {\rm BAM} BAM中,最后使用 1 × 1 {\rm 1\times 1} 1×1卷积用于预测边界分类得分和位置定位信息。

Border Alignment Module B A M {\rm BAM} BAM模块以通道数为 C C C的特征图为输入,然后使用一个 1 × 1 {\rm 1\times 1} 1×1的卷积改变特征图维数,并输出边界敏感图。边界敏感图由五个通道数为 C C C的特征图组成。

BorderRPN 论文提出的方法也可以继承到两阶段检测算法中,例如将 B A M {\rm BAM} BAM模块添加到 R P N {\rm RPN} RPN中得到了新的模块 B o r d e r R P N {\rm BorderRPN} BorderRPN,其结构如下图:
(三十六)论文阅读 | 目标检测之BorderDet_第7张图片

图7:BorderRPN

3.4 Model Training and Inference

Target Assignment B o r d e r D e t {\rm BorderDet} BorderDet基于 F C O S {\rm FCOS} FCOS设计,首先产生粗略预测 ( x 0 , y 0 , x 1 , y 1 ) (x_0,y_0,x_1,y_1) (x0,y0,x1,y1);然后在第二阶段,根据 I o U {\rm IoU} IoU将预测信息分配到相应的真实框 ( x 0 t , y 0 t , x 1 t , y 1 t ) (x_0^t,y_0^t,x_1^t,y_1^t) (x0t,y0t,x1t,y1t)。最后得到回归目标如下: δ x 0 = x 0 t − x 0 w ∗ σ    δ y 0 = y 0 t − y 0 h ∗ σ    δ x 1 = x 1 t − x 1 w ∗ σ    δ y 1 = y 1 t − y 1 h ∗ σ   (2) \delta_{x_0}=\frac{x_0^t-x_0}{w*\sigma}\ \ \delta_{y_0}=\frac{y_0^t-y_0}{h*\sigma}\ \ \delta_{x_1}=\frac{x_1^t-x_1}{w*\sigma}\ \ \delta_{y_1}=\frac{y_1^t-y_1}{h*\sigma}\ \tag{2} δx0=wσx0tx0  δy0=hσy0ty0  δx1=wσx1tx1  δy1=hσy1ty1 (2)

Loss Function L = L c l s C + L r e g C + 1 N p o s ∑ x , y L c l s B ( P B , C ∗ ) + L r e g { C ∗ > 0 } B ( Δ , Δ ∗ ) (3) \mathcal L=\mathcal L_{cls}^C+\mathcal L_{reg}^C+\frac{1}{\mathcal N_{pos}}\sum_{x,y}\mathcal L_{cls}^B(\mathcal P^B,\mathcal C^*)+\mathcal L_{reg\{\mathcal C^*>0\}}^B(\Delta,\Delta^*)\tag{3} L=LclsC+LregC+Npos1x,yLclsB(PB,C)+Lreg{C>0}B(Δ,Δ)(3)

Inference B o r d e r D e t {\rm BorderDet} BorderDet基于特征图的每个像素产生分类得分和边界框预测,最后的分类得分通过粗略估计值乘以边界的分类得分值,边界框位置的获得情况同上。


4. Experiments

(三十六)论文阅读 | 目标检测之BorderDet_第8张图片

图8:BAM模块的消融实验

(三十六)论文阅读 | 目标检测之BorderDet_第9张图片

图9:不同的特征提取方法的对比

(三十六)论文阅读 | 目标检测之BorderDet_第10张图片

图10:与其他目标检测算法的对比


5. Conclusion

论文主要提出一个简单高效的目标检测网络模型 B o r d e r D e t {\rm BorderDet} BorderDet,它基于目标的边界特征来获得对目标类别和位置的预测。其中的关键部件是 B o r d e r A l i g n {\rm BorderAlign} BorderAlign,它通过目标边界上的极值点来获得目标的边界特征。

前面介绍过 C e n t e r {\rm Center} Center- T r i p l e t s {\rm Triplets} Triplets是针对 C o r n e r N e t {\rm CornerNet} CornerNet没有充分利用域内信息而作的改动,通过额外引入一个中心关键点的检测来提高生成边界框的质量。可见,在这类基于关键点或是 A n c h o r {\rm Anchor} Anchor- F r e e {\rm Free} Free的目标检测方法中,由于没有先验框的设置,我们必须找到最佳的回归目标。即在这类算法中,我们必须充分利用标注框信息,不管是域内还是目标边界亦或是目标的上下文信息等。


参考

  1. Qiu H, Ma Y, Li Z, et al. BorderDet: Border Feature for Dense Object Detection[J]. arXiv preprint arXiv:2007.11056, 2020.


你可能感兴趣的:(论文阅读,计算机视觉,深度学习)