🍇DN-DETR
1 Motivation 论文对DETR的二分图匹配下手,指出二分图匹配是一个动态且不稳定的过程,故影响了训练的效率。众所周知二分图匹配是最优化cost matrix来找到最优匹配(match指query和gt object一一对应),但是训练前期,匹配肯定是瞎猜来着,矩阵内的损失稍有变化,最优匹配也就发生变化了,就导致训练收敛慢了。那为什么匹配变了训练就慢呢? DETR-like的模型基本上是two-stage的,第一阶段就是“learn good anchors“,也就是找到query-gt box的match;第二阶段是”learn relative offsets“,也就是负责微调bounding box。你第一阶段都搞不好,第二阶段也别想搞好了。本来你负责微调query1-gt box1,下一个epoch又去微调query1-gt box2🙄 So 本文提出denoising task作为训练的捷径,基本上就是多一项任务让matching的任务更顺利完成然后就能尽早去学习偏移了吧。 2 Why denosing can help? 2.1 稳定二分图匹配 论文提出了一个指标$IS$来负责表现denoising任务对于稳定二分图匹配是有效的。 假设decoder预测的objects为$\text{O}^\text{i}=\{O_0^i,..,O_{N-1}^i\}$,其中$i$为第i-th个epoch,$N$为预测的objects的个数。又设真实object为$\text{T}=\{T_0,..T_{M-1}\}$,其中$M$为真实objects的个数。计算index vector $\text{V}^\text{i}=\{V_0^i,...,V_{N-1}^i\}$来第i-th epoch的存储匹配结果。 $$ V^i_n = \begin{cases} m, & \text{if } O^i_n \text{ matches } T_m \\ -1, & \text{if } O^i_n \text{ matches nothing} \end{cases} $$ 那么$IS^i=\sum_{j=0}^N\mathbb{1}(V_n^i\not = V_n^{i-1})$ 直白来说,就是第n-1个epoch,预测的$O_{n-1}^i\text{ match }T_5$,既第i个qurey对应第5个gt object,下一轮预测的$O_n^i\text{ match } T_4$,那么 $IS^i$记为 1,既前一轮跟后一轮预测的索引不同。结果如下图所示,denoising任务确实有用,但为什么,unknown.. 2.2 更局部地query search 从DETR的论文可以知道,positional queries有多种operating modes,导致query search是在一个偏大的范围内进行的。DN-DETR在原始anchor(positional queries)和targets之间有更短的平均距离。一种解释就是denosising tasks使得模型能够去重建bounding box,所以可以让query search更局部,这样每个query的关注点也会在附近,减小与其他queries的冲突预测。我感觉是一个毫无解释的解释。...