DN-DETR阅读笔记
(一) Title

论文地址:https://arxiv.org/pdf/2203.01305
代码地址:https://github.com/IDEA-opensource/DN-DETR
官方解读:https://zhuanlan.zhihu.com/p/478079763
(二) Summary
研究背景:
DETR(DEtection Tranformer)存在着slow convergence的问题.
本文方法:
本文分析DETR-like方法收敛速度较慢的原因在于bipartite graph matching会使得训练前期优化目标不一致,从训练方法上出发,提出了一种新奇的denoising training方法,具体的做法是将带有噪声的ground-truth bounding boxes送入到Transformer decoder中,使其重构出original boxes(这里指的应该是真实框)
实验结果:
本文方法能够很简便地应用到DETR-like的方法中,相同设置下DN-DETR取得了1.9AP的提升(训练12个epoch到了43.4,训练50个epoch到了48.6),并且收敛速度有了提升。此外,本文提出了衡量bipartite matching稳定程度的评价指标。
(三) Problem Statement
DETR存在着收敛慢的问题,现在大多数的研究工作
- 在对模型架构的调整,比如说使用encoder-only DETR,通过引入ROI-based dynamic decoder来使得decoder关注感兴趣的区域,在query中结合空间的位置信息.
- 目前很少有工作集中在bipartite graph matching上(这个是导致前期收敛慢的一个原因,从表现上来看就是对于不同epoch中的同一张图片,query总是跟不同的objects对应,这个进行深入思考绝对能发现存在着这个问题),对训练方式进行调整。
为了解决上面的所提到的问题,本文首先基于DAB-DETR,在query中引入4D的anchor boxes,也就是除了DAB-DETR中提到了learnable anchor queries,还引入了带有噪声的真实边界框用作queries,记作noised queries,这两种queries具有相同的表现形式 ( x , y , w , h ) (x,y,w,h) (x,y,w,h),能够同时输入到Transformer Decoder中.
关于本文方法在其他DETR-like方法中的做法为: anchor DETR中仅支持2D的anchor points,则在anchor points上进行denoising训练;对于普通的DETR,则是直接将4D的anchor boxes映射到同learnable queries相同的隐状态空间上。
(四) Methods
为什么Denoising Training能够加速DETR的训练?
- 本文将DETR-like模型的训练过程看成两个阶段,learning “good anchors” 以及learning relative offsets.并且指出使用匈牙利匹配很容易造成影响offset,为了更好地帮助offsets学习,本文将noise gt boxes看成是"good anchor",不通过匈牙利匹配,用来帮助Decoder更好地学习offsets训练.
- 为了定量地衡量bipartite matching不稳定,本文提出了一个metric,对于一张训练图像,将每 i i i个epoch预测的目标记作 O i = { O 0 i , O 1 i , … , O N − 1 i } \mathbf{O}^{\mathbf{i}}=\left\{O_{0}^{i}, O_{1}^{i}, \ldots, O_{N-1}^{i}\right\} Oi={ O0i,O1i,…,ON−1i},预测的目标数为 N N N,接着真实框的数量为 T = { T 0 , T 1 , T 2 , … , T M − 1 } \mathbf{T}=\left\{T_{0}, T_{1}, T_{2}, \ldots, T_{M-1}\right\} T={ T0,T1,T2,…,TM−1},并且 M M M表示真实框的数量,接着计算index vector V i = { V 0 i , V 1 i , … , V N − 1 i } \mathbf{V}^{\mathbf{i}}=\left\{V_{0}^{i}, V_{1}^{i}, \ldots, V_{N-1}^{i}\right\} Vi={ V0i,V1i,…,VN−1i}来表示matching的结果:
V n i = { m , if O n i matches T m − 1 , if O n i matches nothing V_{n}^{i}=\left\{\begin{array}{ll} m, & \text { if } O_{n}^{i} \text { matches } T_{m} \\ -1, & \text { if } O_{n}^{i} \text { matches nothing } \end{array}\right. Vni={ m,−1, if Oni matches Tm if Oni matches nothing
并将 V i \mathbf{V}^{\mathbf{i}} Vi和 V i − 1 \mathbf{V}^{\mathbf{i-1}} Vi−1之间的差异,记作instability,计算方式如下所示:
I S i = ∑ j = 0 N 1 ( V n i ≠ V n i − 1 ) I S^{i}=\sum_{j=0}^{N} \mathbb{1}\left(V_{n}^{i} \neq V_{n}^{i-1}\right) ISi=

DN-DETR是针对DETR收敛速度慢问题的解决方案,通过引入噪声训练方法,提高模型训练效率。研究发现DETR的双分区匹配导致早期训练目标不一致,DN-DETR通过将带噪声的真实边界框输入解码器,促进offset学习。实验显示,在相同设置下,DN-DETR在12个和50个epoch时分别提升了1.9AP,且收敛速度加快。此外,文章提出了一种衡量匹配稳定性指标,用于评估模型性能。
最低0.47元/天 解锁文章
5848

被折叠的 条评论
为什么被折叠?



