dn-detr:通过去噪任务加速detr训练

dn-detr:通过去噪任务加速detr训练

dn-detr:通过去噪任务加速detr训练_第1张图片

论文链接:https://arxiv.org/abs/2203.01305
dn-detr:通过去噪任务加速detr训练_第2张图片

自DETR问世以来,transformer被引入到了目标检测领域,DETR通过引入query和bipartite graph matching 机制,两两匹配GT和PRED,实现对NMS的摒弃,可以做到真正的end to end。然而DETR存在着训练过慢、训练显存占用大和对小目标物体识别效果差的问题。针对DETR的缺点,已有不少的工作开展了讨论和研究,如Deformable DETR、Conditional DETR、Anchor DETR、DAB-DETR等。大多数工作致力于解耦Query,如将Query解释为 content part 和 anchor或reference point的组合,并没有人从bipartite graph matching机制入手。这篇论文提出DETR训练过慢的原因在于训练初期bipartite graph matching无法稳定的匹配GT和PRED,导致早期训练阶段的优化目标不一致难以收敛。这篇论文通过引入GT的去噪任务来帮助稳定训练初始的bipartite graph matching,加快bipartite graph matching的收敛。

dn-detr:通过去噪任务加速detr训练_第3张图片

观察训练初期,GT每次匹配的Pred不相同,需要多个回合才能稳定下来
DN-DETR在DAB-DETR的基础上实现,将query视为label embeddeding和anchor的组合,在训练过程中,除了原有的query外,decoder输入M组增加噪声的GT query并得到预测值,和原GT一对一计算损失进行去噪。去噪部分和bipartite部分的attention mask如下图所示,避免在self attention中出现信息泄露。对于去噪部分的query,原GT bbox通过随机缩放长宽增加噪声,而GT label通过随机翻转到其他label实现。为了更好的区分去噪部分和bipartite部分的label embedding,在label embedding中添加了一个标志位,如果query属于去噪部分,则该指示符为 1,否则为 0。

dn-detr:通过去噪任务加速detr训练_第4张图片

DN-DETR 在相同的环境下取得了显著的改进,并在以 ResNet-50 为骨干的 DETR 类方法中取得了最好的结果(AP分别为 43.4 和 48.6,训练次数为 12 次和 50 次)。
dn-detr:通过去噪任务加速detr训练_第5张图片

dn-detr:通过去噪任务加速detr训练_第6张图片

从某种角度来看,DN-DETR 的处理措施有些类似于知识蒸馏,不同在于知识蒸馏使用一个老师模型去指导学生模型,而DN-DETR使用了较易学习的噪声GT加快bipartite graph matching的收敛。

你可能感兴趣的:(学习所得,深度学习)