【论文笔记】:SAPD

&Title

【论文笔记】:SAPD

&Summary

问题:

  • how to make the anchor-free detection head better?
  • how to utilize the power of feature pyramid better?

解决方法: soften optimization techniques,

  • soft-weighted anchor points
  • soft-selected pyramid levels

实验表明,简洁的SAPD将速度/精度权衡提升到了一个新的水平,COCO上获得a single-model single-scale AP of 47.4%,5x faster than other detectors.

算法创新

  1. 分析anchor-free检测器中anchor-point检测器精度不高的问题,提出了attention bias和feature selection两个待改进不足。

  2. 针对attention bias问题,提出soft-weighted anchor point思想,针对feature selection问题,提出了soft-selected pyramid level思想, 最终改进了anchor-point检测器的训练策略,在不影响推理代价的情况下提高了检测精度。

&Research Objective

  • how to make the anchor-free detection head better?
  • how to utilize the power of feature pyramid better?

作者的切入点:是否anchor-point detector 能获得和key-point detector一样的精度呢??

&Problem Statement

作者认为最大的阻碍是在于之前没有有效的训练,目前的训练策略有两个被忽略的点:

  • attention bais:良好的目标会吸引检测器的注意,其他的目标就容易丢失,这是因为在训练中忽视anchor-points‘ feature misalignment。
  • feature select:基于启发式算法的分配实例给每个金字塔层级或者仅仅将某个实例分配给某一层,不能充分利用特征提取的能力。

具体而言,当前用于锚点检测器的训练策略具有两个被忽略的问题,即注意力偏向和特征选择。通过注意力偏差,我们的意思是具有良好视野的物体往往会吸引探测器更多的注意力,这是由于锚点在训练中没有对准特征而导致的其他物体容易被遗漏。而且,特征选择问题在于,基于即席启发式算法将实例分配给金字塔级别,或者每个实例仅限于单个级别,从而导致对特征功效的利用不足。

&Method(s)

SW(soft - weight):
为了解决注意力偏差问题,我们提出了一个soft-weighting方案,基本思想是为每一个anchor point Plij 赋以权重 Wlij 。对于每一个positive anchor point,该权重大小取决于其图像空间位置到对应实例中心的距离,距离越大,权重就越低。因此,远离目标(实例)中心的anchor point被抑制,注意力会更集中于接近目标中心的anchor point。对于negative anchor points,所有的权重都被设置为1,维持不变。这一部分和key-point检测器不同(keypoint检测器只设置一个key point为positive point),soft-weight anchor point示意图如图3所示:
【论文笔记】:SAPD
根据我们的soft-weighting方案思路,可以有多种设计选择,只要权重是anchor point与目标中心距离的单调递减函数就行。为此,我们提出了公式4所示的广义中心度函数(centerness function):
【论文笔记】:SAPD

其中,η控制递减幅度,权重 [公式] 范围为0~1,公式4保证了目标边界处的anchor points权重为0,目标中心处的anchor ponit权重为1。


SS(soft - select):
分析:
我们通过研究特征金字塔的属性来解决特征选择的问题,实际上,来自不同特征金字塔级别的特征图(尤其是相邻级别的)彼此之间有些相似。

我们在图5中可视化了所有金字塔级别的响应,事实证明如果在某个特征金字塔级别中某个区域被**,则在相邻级别的相同区域也可能以相似的方式被**。但是这种相似性随着金字塔级别差的增大而减弱,这意味着多个金字塔级别的特征可以共同为某个目标的检测做出贡献,但不同级别的特征的贡献应该有所不同。
【论文笔记】:SAPD

基于上述分析,我们认为在选择特征金字塔级别时应该遵循两个原则。

  • 首先,金字塔级别的选择应该遵循特征响应的模式,而不是以某些启发式的方法进行。

    与目标相关的损失可以很好的反应一个金字塔级别是否适合用来检测某些目标。

  • 第二,对于某个目标的检测,我们应该允许多个级别的特征共同参与到训练和测试中,同时每个级别的贡献应有所不同。

    FoveaBox[10]已经表明了在某些场景下,将目标实例分配到多个特征金字塔级别可以提升检测效果,但是分配太多级别也可能会严重影响效果。我们认为这种现象是由金字塔级别的hard 选择所引起的。对每个目标,FoveaBox中的每个金字塔级别要么被选中要么被丢弃,这种选择方式不考虑各级别特征响应的差别而对所有级别一视同仁。

因此,我们的解决方法是对于每个目标实例,重新加权各个金字塔级别。换句话说,对每个特征金字塔级别,我们都根据特征响应来为其分配不同的权重,这是一种soft的选择方式。这也可以看做是将一个目标实例的一部分分配给某个级别。

我们的方案是训练一个meta-selection网络来预测各个金字塔级别的权重用于软特征选择。网络的输入是从所有金字塔级别上提取的实例相关的特征响应,具体实现方案是使用RoIAlign层[7]对每个级别的特征进行映射,然后再串联concat起来,其中RoI是目标实例的GT box。接着concated的特征输入到meta-selection 网络中,输出概率分布向量,该概率分布就作为软特征选择的各级别权重,这一过程如图6所示。
【论文笔记】:SAPD

这个轻量级meta-selection网络只包含3个的3×3卷积层(无padding、relu**)和一个带有softmax的全连接层。这个网络和整个检测器联合训练,训练时使用交叉熵损失函数,GT是一个one-hot向量,它指示哪个特征金字塔级别的FASF[35]损失最小。这个meta-selection网络也可以使用别的结构来设计,我们这里只是给出了一个简单的方案。

Loss
【论文笔记】:SAPD
【论文笔记】:SAPD
最后,整个模型的损失由anchor point损失和meta-selection net的分类损失构成,如公式6所示:

【论文笔记】:SAPD

其中λ是控制特征金字塔选择的分类损失的重要性的。

图3展示了在使用soft wieght anchor point策略之后又使用soft feature selection 策略的整个过程。

&Evaluation

  • 各个组件对精度的提升效果:
    【论文笔记】:SAPD

  • η和k的大小选择
    【论文笔记】:SAPD

  • 和其他检测器的精度对比
    【论文笔记】:SAPD

&Conclusion

作者认为影响anchor-point检测器精度的主要原因是无效的训练,进而分析无效训练中被忽略的两个问题—attention bias和feature selection,并针对性地提出两个soft思想。

&Thinks

  1. 这个SW(soft-weight)有种类似于FCOS的center-ness。