H-DETR:提升训练效率

代码地址
论文地址

摘要

首先谈一下H-DETR解决的问题:我们知道在DETR中使用的一对一标签分配,即一个gt分配一个预测的query,这样虽然使得DETR不用使用NMS这类的手工组件,但也很大程度上影响了模型的收敛速度与精度。因为一般我们会设置远多于图像中box数量的query,那么就只有少部分会作为正样本进行预测。为了解决这个问题,H-DETR提出了一种混合匹配模式,组合原始的一对一匹配与一个辅助的一对多匹配分支(只在训练中) ,实现了在不仅仅在DETR上的提升,同时在其它许多DETR变体上的应用也有提升。

混合匹配

论文给出了3中混合匹配方式,分别是混合分支方式,混合epoch方式,混合网络层方式。如下图所示:
在这里插入图片描述

混合分支方式

混合分支方式在解码器中包含两个分支,分别是一对一与一对多匹配分支,首先对于输入query也进行分组,其中 Q = { q 1 , q 2 , ⋯   , q n } \mathbf{Q}=\{\mathbf{q}_1,\mathbf{q}_2,\cdots,\mathbf{q}_n\} Q={q1,q2,,qn}作为一对一匹配分支的输入, Q ^ = { q ^ 1 , q ^ 2 , ⋯   , q ^ T } \widehat{\mathbf{Q}}=\{\widehat{\mathbf{q}}_1,\widehat{\mathbf{q}}_2,\cdots,\widehat{\mathbf{q}}_T\} Q ={q 1,q 2,,q T}作为一对多匹配分支的输入(代码实现上两者未作区分,使用相同方式生成,只不过数量不一样)。
对于一对一匹配,损失函数计算如下: L o n e 2 o n e = ∑ l = 1 L L H u n g a r i a n ( P l , G ) \mathcal{L}_{\mathrm{one2one}}=\sum_{l=1}^L\mathcal{L}_{\mathrm{Hungarian}}(\mathbf{P}^l,\mathbf{G}) Lone2one=l=1LLHungarian(Pl,G)其中 P l \mathbf{P}^l Pl表示每一层的预测结果, G \mathbf{G} G表示gt,就是原始的DETR计算方式。
对于一对多匹配,首先需要将gt复制K份以对应query, G ~ = { G 1 , G 2 , ⋯   , G K } \tilde{\mathbf{G}}=\{\mathbf{G}^1,\mathbf{G}^2,\cdots,\mathbf{G}^K\} G~={G1,G2,,GK},其中 G 1 = G 2 = ⋯ = G K = G \mathbf{G}^{1}{=}\mathbf{G}^{2}{=}\cdots{=}\mathbf{G}^{K}{=}\mathbf{G} G1=G2==GK=G,计算公式如下 L o n e 2 m a n y = ∑ l = 1 L L H u n g a r i a n ( P ^ l , G ^ ) \mathcal{L}_{\mathrm{one2many}}=\sum_{l=1}^L\mathcal{L}_{\mathrm{Hungarian}}(\widehat{\mathbf{P}}^l,\widehat{\mathbf{G}}) Lone2many=l=1LLHungarian(P l,G ),去看代码实际上函数是与一对一相同的,只是输入输出不同,如何实现了论文提到的一对多方式呢,因为输出gt是复制的,相当于有K份一样的,那么就有K个query对应相同的一个gt,相当于就是一对多分配了。不知道我的理解对不对。
总损失函数: λ L o n e 2 m a n y + L o n e 2 o n e \lambda\mathcal{L}_{\mathrm{one2many}}+\mathcal{L}_{\mathrm{one2one}} λLone2many+Lone2one

混合Epoch方式与混合网络层方式

怎么说呢,理解了前面看图基本就够了,我这里不展开谈了,有想法也可以评论区交流,我可以看看我的理解是否有问题。

实验结果

在这里插入图片描述
下面是关于三种混合方式的对比,其中看出混合分支方式最好
在这里插入图片描述

关于K值的设置,实验结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值