TOOD:任务对齐的单阶段目标检测方法.

目标检测包括分类和定位两个子任务,分类任务学习的特征主要关注物体的关键或显著区域,而定位任务是为了精确定位整个对象主要关注物体的边界。由于分类和定位学习机制的不同,两个任务学习的特征的空间分布可能会不同,当使用两个独立的分支进行预测时,会导致一定程度的misalignment。如下图所示在检测dining table时,分类得分最高的anchor预测的bounding box和披萨的IoU更大,而和目标IoU最大的anchor分类得分却很低,反映出两个任务的misalignment

为了解决上述存在的问题,本文提出了一种任务对齐的单阶段目标检测模型TOOD(Task-aligned One-stage Object Detection),通过设计一种新的headalignment-oriented学习方法,来更准确地对齐两个任务。

本文通过新设计的T-headTAL来对齐两个子任务,如下图所示,两者可以协同工作以改进两个任务的对齐方式。具体来说,T-head首先对FPN特征的分类和定位进行预测,然后TAL计算一个对齐metric,这个指标用来衡量两个任务的对齐程度,最后T-head利用在反向传播过程中从TAL计算得到的对齐指标自动调整分类概率和定位预测。

1. Task-aligned Head

T-head包括一个简单的特征提取器和两个TAP。为了增强分类和定位之间的interaction,特征提取器使用$N$个连续的卷积层和激活函数来计算task-interactive特征,接着这些交互特征被送进两个TAP进行分类和定位的对齐。

由于单一分支的设计,任务交互特征不可避免的会在两个不同任务之间引入一定程度的特征冲突,这是因为分类和定位的目标不同,因此专注于不同类型的特征,比如不同的层次和感受野。因此本文提出一种层注意力机制,通过在层级动态计算不同任务特定的特征从而进行任务分解。

在预测阶段,通过调整两个预测的空间分布进一步对齐两个任务。和之前使用centerness分支或IoU分支的模型不同,它们只能根据分类特征或定位特征对分类得分进行调整;而本文在用任务交互特征对齐两个预测时同时考虑到了两个任务,其中空间概率图$M∈R^{H×W×1}$和空间偏移图$O∈R^{H×W×8}$的学习是通过Task Alignment Learning(TAL)进行的。

2. Task Alignment Learning

从任务对齐的角度看,TAL基于一个单独设计的度量指标动态的挑选高质量的anchor。其次,它同时考虑到了anchor的分配和权重。具体包括一个样本分配策略和一个专门为调整这两个任务而设计的新的损失函数。

为了应对NMS,一个训练示例的样本分配应该满足以下的准则:一个well-alignedanchor的分类和定位预测都应该很精确;一个misalignedanchor预测的分类得分应该低。本文设计了一个anchor对齐度量指标,用来衡量anchor的任务对齐程度,并集成到样本分配和损失函数中,以动态的细化每个anchor的预测。

分类得分以及预测的bounding boxgt之间的IoU分别表明了两个任务的预测质量,因此作者将两者结合到一起设计了一个新的对齐衡量指标:

\[t = s^\alpha \times u^\beta\]

其中$s$和$u$分别表示分类得分和IoU,$α$和$β$是权重系数用来控制两个任务对任务对齐衡量指标的影响大小。作者将任务对齐指标引入样本分配汇总,具体来说,对每个目标,选择$t$值最大的$m$个anchor作为正样本,其余的作为负样本。

作者用$t$值替换正样本的二分类标签值,但是作者发现当$α$和$β$增大时,$t$变得非常小从而导致网络无法收敛,因此采用了一个normalized的$\hat{t}$,$\hat{t}$的最大值等于和每个对象IoU的最大值。和分类一样,回归损失里也加入了$\hat{t}$来进行re-weight

下面是一些本文提出的T-head+TAL的测试图,以及和ATSS的对比,可以看出T-head+TAL可以很好的对齐两个预测,最终分类得分最高的预测同时也是IoU最大的。