【论文笔记】:Side-Aware Boundary Localization for More Precise Object Detection

&Title

【论文笔记】:Side-Aware Boundary Localization for More Precise Object Detection

&Summary

本文提出Side-Aware Boundary Localization(SABL)以取代传统的bbox回归。提取关注于边界内容的边缘感知特征用来定位。提出使用该特征的轻量级two-step bucketing方法以精确定位目标。同时引入重打分(rescore)机制,利用bucket的置信度来保留高质量的bbox。在各种目标检测流程中,SABL均展现了一致且重大的性能提升。
本文通过对回归方法的分析,观察到更简单精确回归到边界框的方法。

contribution:

  • 使用Side-Aware Boundary Localization(SABL)取代之前的bbox regression分支,对bbox的每条边分别定位,提高了定位的精度;
  • 使用Bucketing scheme进行细粒度目标定位以及对分类进行rescore,降低高精度bbox的抑制率;
  • 在COCO数据集中,在Faster R-CNN、RetinaNet以及Cascade R-CNN的基础上替换回归分支,最终分别提升了3.0、1.6以及0.9个点。

&Research Objective

&Problem Statement

精确的定位需要对bbox的每条边都精准地放置,然而,主流方法只关注于预测中心以及size,并不是完成这个任务最高效的方法,尤其是在anchor与目标间存在多种displacements时。

bbox回归用于将附近的候选区域与目标对齐。当前的回归方法大多是使用对中心偏移以及尺度因子的预测,虽然高效但却限制了整体检测的性能。基于观察:当标注目标的bbox时,使box的每条边与目标边界对齐相较于整体移动box以及修正size更简便。
因此,提出使用对bbox的每条边基于其周围的上下文信息分别定位的SABL结构。

&Method(s)

【Main Structure】
【论文笔记】:Side-Aware Boundary Localization for More Precise Object Detection
上图展示了当前模型的整体实现流程。可见,所有操作是在特征提取完成后进行的,对于提取出的RoI特征先计算分类得分,同时通过边缘感知特征提取方法提取出具有边缘感知的特征,然后使用Bucketing边缘定位做初步粗略回归,根据每个Bucketing的置信度作平均来对分类得分再次计算得到NMS score,然后通过特征对齐精炼预测边界偏移,同样将其整合到当前的NMS score中得到最终的得分。

【Side-Aware Feature Extraction】

【论文笔记】:Side-Aware Boundary Localization for More Precise Object Detection
图中给出的边缘感知的特征提取方法相当明确:

  1. 将RoI特征经过2个3×3的卷积,然后分别用不同的1×1卷积得到Mx/My,分别表示X方向上的特征以及Y方向上的特征的映射,然后使用softmax方法分别沿Y/X方向进行正则化,再将对应特征乘回原先的特征中分别得到X/Y方向的特征图(此处使用自注意力机制);

  2. 沿Y/X方向相加经过1×3/3×1卷积得到对应的1×k/k×1大小的1D特征图Fx、Fy,经过以采样因子为2进行解卷积上采样后得到1×2k/2k×1大小的特征,分别表示水平和竖直方向;

  3. 经过分割分别获得Fleft、Fright、Ftop、Fdown四边的特征。

【Boundary Localization with Bucketing】
【论文笔记】:Side-Aware Boundary Localization for More Precise Object Detection
在使用Bucketing做回归的过程中使用了two-step bucketing操作:

  1. 对于给与的候选框(Bleft、Bright、Btop、Bdown),先使用σ(σ>1)放大候选框以覆盖整个目标。(不过即便放大了,也不一定就能覆盖整个目标?)然后将候选区域分成2k个bucket,分别对应之前得到的4个边界特征的位置,在粗定位阶段,直接基于边界感知的特征使用二分类器来预测当前目标的边界是否在当前bucket中或距离最近;

  2. 在精细定位阶段,使用回归器预测所选择的bucket的中心线与ground-truth边界的偏移量。
    对于之前使用的粗定位,将距离边界最近的bucket标记为1,其余标记为0,为了减少训练中的二义性,在每条边上,由于距离边界第二近的bucket很难与positive的进行区分,因此将其视为ignore。然后在精确定位阶段,偏移的预测应当在positive与ignore之间。

【Bucketing-Guided Rescoring】
在粗定位时会对每个bucket预测一个置信度,而为了在NMS阶段保留更多精确定位的bbox,使用这些置信度进行二次打分。使用4个边界的bucket的平均置信与先前的多类标签得分相乘得到NMS scores。

二次打分能够保留有着高类别置信度以及精确定位的最好的box。

【Feature-Aligned Refinement】
【论文笔记】:Side-Aware Boundary Localization for More Precise Object Detection
直接多次级联定位head能够有效提高性能,但也引入了较大的计算开销。本文直接复用通过SAFE提取出的边缘感知特征以减少计算开销。

对于每条边的位置预测,通过对相应的side-aware feature进行线性插值(因为预测的偏移是小数,需要通过插值来获得当前位置特征)能够获得与预测的位置对齐的特征,回归器依赖于这些位置对齐的特征能够获得更精确的边缘预测,此外,采用二分类以抑制低精度的bbox的NMS得分。

在proposals经过Boundary Localization with Bucketing定位边界后,在这些边界上FAR训练两个额外分支:回归与二分类。对于每条边,边界与响应的ground truth的偏移小于对应的bucket的长/宽时,视为正样本,否则为负样本。在每条边上回归的值视为正样本与ground-truth间的displacement。

【Application to Single-Stage Detector】
【论文笔记】:Side-Aware Boundary Localization for More Precise Object Detection
Single-Stage Detector没有proposal的提取操作,经过FPN的特征直接进入两个分支预测,其他的地方与先前的步骤相似。

&Evaluation

对比实验:在COCO test-dev数据集上与其他方法的对比。整体来说,在对速度方面影响不是太大的情况下,使用SABL的效果均提高了1-3个点。
【论文笔记】:Side-Aware Boundary Localization for More Precise Object Detection
消融实验:每个模块的消融结果,SAFE(Side-Aware Feature Extraction)、BLB(Boundary Localization with Bucketing)、LGR(Bucketing-Guided Rescoring)、FAR(Feature-Aligned Refinement)。以及使用Ignore标记的消融,在FAR上的两分支的消融。
【论文笔记】:Side-Aware Boundary Localization for More Precise Object Detection
【论文笔记】:Side-Aware Boundary Localization for More Precise Object Detection
【论文笔记】:Side-Aware Boundary Localization for More Precise Object Detection
卷积层的数量对Side-Aware Feature Extraction的影响。2D Conv表示在F前的3×3卷积层的数量,1D Conv表示在Fx与Fy前1×3和3×1卷积层的数量。实验结果表明,如SAFE的结构图所示,使用2个2D conv以及1个1D conv的效果能够达到最佳。
【论文笔记】:Side-Aware Boundary Localization for More Precise Object Detection
将2D的RoI特征聚集到1D特征的不同方法的对比。实验表明,使用注意力掩模方法的效果优于最大池化以及平均池化。
【论文笔记】:Side-Aware Boundary Localization for More Precise Object Detection
Side-Aware Feature Extraction模块中特征大小的不同设置的比较。实验表明,k的值为7时效果已经能够达到较优的水准。
【论文笔记】:Side-Aware Boundary Localization for More Precise Object Detection
同的定位方法的实验对比,从实验结果中可以看出,只使用Bucketing机制的效果与使用回归分支的结果相差较大,再回归分支上再加上Bucketing预测的效果略优于只使用回归的方法。右图表明使用Bucketing机制能够有效较低候选区域与ground-truth边界间displacement的均值以及多样性。
【论文笔记】:Side-Aware Boundary Localization for More Precise Object Detection
不同的参数的设置实验对比。
【论文笔记】:Side-Aware Boundary Localization for More Precise Object Detection
【论文笔记】:Side-Aware Boundary Localization for More Precise Object Detection

&Thinks

  • 个人觉得SAFE中比较有意思的可能就是沿x和沿y方向做的自注意力吧。这种来回归(Bleft、Bright、Btop、Bdown)的方法,让我有种anchor-free的错觉。呃比如预测对角点的CornerNet,比如预测极值点的ExtremeNet……比较创新的可能在于,文中的自注意力方式和回归各条边的方式组合起来没有一点违和感------------->side-aware。
  • 两次bucket回归,也有proposal,有点三步走的感觉,three-stage?
  • 二次打分,将分类和回归联系了起来,能够保留有着高类别置信度以及精确定位的最好的box。

&参考