Group DETR

论文:Group DETR: Fast DETR Training with Groupwise One-to-Many Assignment

1. Motivation

在目标检测中,lable assignment 是模型训练中非常关键且必要的步骤。所谓 label assignment,就是通过决定将 GT 指派给哪个 anchor(anchor box 或 anchor point 或 object query)来预测,来定义或 anchor 的正负性:

  • positive anchor:需要负责预测 GT 的 anchor;
  • negative anchor:不需要负责预测 GT 的 anchor 。

根据将一个 GT 交给多少个 anchor 来预测,可以将现有的 lable assignment 分为以下两类:

  • one-to-many assignment:一个 GT 由多个 anchor 来预测。由于多个 anchor 同时负责预测同一个 GT,在测试时将产生重复预测。这时需要使用NMS来消除重复的预测框。
  • one-to-one assignment:一个 GT 只由一个 anchor 来预测。这种方法是DETR系列算法所使用的 label assignment 方法,好处是在测试时不会产生重复预测,也就不需要使用NMS。

作者通过进行多个实验,在DETR系列算法中,不同的label assignment对模型性能的影响。如下图所示,横轴表示object query的数量。 可以得出以下结论:

  • 在one-to-one assignment中,不管是否使用NMS,单独增加object query的数量对模型性能的提升作用很小。
  • 相比于one-to-one assignment的方法,在使用NMS的情况下,one-to-many assignment对模型性能的提升效果很明显。
  • 在one-to-many assignment中,NMS是不可或缺的。
    Group DETR_第1张图片

上述实验表明,使用多个anchor来同时预测一个GT可以提升模型性能,因为网络在学习过程中,会隐式地比较这些预测同一个GT的anchor的差异。而使用一个anchor来预测一个GT的好处是不会产生重复预测。对此,作者提出Group-wise One-to-Many assignment,该方法结合了one-to-one assignment和one-to-many assignment的优点,在不增加模型参数量和计算量的前提下,大大提升了模型的检测性能。

2. 方法

Group DETR提出的Group-wise One-to-Many assignment的原理如下:

  1. 将所有的object queries分为 K K K组;
  2. 使用同一个decoder self-attention对各个组的object queries进行计算;
  3. 在每个组中进行与DETR一样的one-to-one assignment。在每个组中,一个GT由一个object query负责预测,因此在 K K K个组中,一个GT由 K K K个object queries负责预测。

Group DETR_第2张图片
在前向推断时,只使用第一组object queries。作者通过实验表明,在前向推断时,使用不同组别的object queries的效果基本一样。如下图所示,不同组别的object queries的分布几乎一样。
Group DETR_第3张图片

3. 实验结果

Group DETR_第4张图片
Group DETR_第5张图片

你可能感兴趣的:(Object,Detection,深度学习,人工智能)