一、引言
论文: DINO: DETR with Improved DeNoising Anchor Boxes for End-to-End Object Detection
作者: IDEA
代码: DINO
注意: 该算法是在Deformable DETR、DAB-DETR、DN-DETR基础上的改进,在学习该算法前,建议先掌握相关知识。
特点: 提出对比去噪训练方法,相比原DN-DETR中的去噪训练方法引入了负查询来避免重复的和不期望的预测;提出混合查询选择方法,相比原Deformable DETR中的查询选择方法移除了由编码器输出初始化解码器内容查询的部分;提出向前看两层的锚框更新方法,相比原Deformable DETR中向前看一层的锚框更新方法将梯度更新扩展到了前一层。
二、详情
DINO与其他DETR系列方法一样,包括backbone、编码器、解码器、预测头。DINO融合了Deformable DETR、DAB-DETR、DN-DETR的各种策略,例如多尺度特征图输入、可变形注意力、解码器位置查询由4D锚框表达、使用编码器输出初始化解码器输入、去噪训练、逐层更新预测框等等。
针对后三个策略,DINO又做了简单的改进。
2.1 对比去噪训练(Contrastive DeNoising Training)
DN-DETR提出去噪训练来提升模型收敛速度。但是该方法有两个问题:
(1)可能产生重复的预测。 对于同一个目标可能产生多个十分接近的预测,由于DETR系列方法都不需要执行NMS,这些不必要的预测无法被滤除,最终会对性能会有一定的影响。
(2)无法拒绝距离真实目标较远的预测。 即使预测框内无任何目标,如果它的置信分数较大也可能被选中并留到最后,这种无效预测也会影响模型性能。
对比去噪训练引入了显式的难分负样本,在训练时将其分为“no object”,从而使模型具有拒绝无用锚框的能力来解决这两个问题。与难分负样本对应的带噪正样本。事实上,正负都是通过在真实锚框和标签上增加噪声产生的,只是正负样本的噪声等级不同。下图是一个二维数据的正负样本区别示意图:
可见,作者增加了两个超参数, λ 1 < λ 2 \lambda_1<\lambda_2 λ1<λ2。所有噪声等级小于 λ 1 \lambda_1 λ1的都视作正样本,所有等级大于 λ 1 \lambda_1 λ1但小于 λ 2 \lambda_2 λ2的都视作负样本。 当 λ 1 \lambda_1 λ1和 λ 2 \lambda_2 λ2差别不大时,负样本就可以视为难分负样本,因为它与正样本的区别不大,作者表示这样能提升性能。
以真实目标框归一化后的宽 w = 0.26 w=0.26 w=0.26为例, λ 1 = 1 , λ 2 = 2 \lambda_1=1, \lambda_2=2

最低0.47元/天 解锁文章
2296





