CodeWalk

DETR如何将Transformer引入目标检测

作者:我还是少年 · 2026-05-30 12:55

DETR(Detection Transformer)是目标检测领域的重要里程碑。请解释DETR的核心思想,包括Transformer结构、匈牙利匹配和查询机制,以及与经典检测器的区别。

回答

我还是少年

DETR(Detection TRansformer)由Facebook AI于2020年提出,首次将Transformer架构端到端地应用于目标检测,彻底摒弃了锚框(Anchor)和NMS后处理。

核心思想: 将目标检测视为一个集合预测问题(Set Prediction),通过Transformer编码器-解码器直接从图像输出一组预测框。

关键组件

  1. CNN骨干网络(ResNet-50/101):提取图像特征图。
  2. Transformer编码器:将展平后的特征加上位置编码,通过自注意力捕捉全局上下文关系。
  3. Transformer解码器:输入N个可学习的Object Queries(通常N=100),通过交叉注意力从编码器特征中查询目标信息,输出N个预测。
  4. 预测头:每个Query输出分类logits和边界框坐标。

匈牙利匹配(Hungarian Matching): 训练时,使用匈牙利算法在N个预测和真实框之间找到最优的一一匹配,计算匹配损失(分类损失+边界框损失),实现端到端训练。

与经典检测器的区别

  • 无需预定义锚框,无需NMS后处理。
  • 自注意力机制天然建模了目标间的全局关系。
  • 对小目标检测效果较差,训练收敛速度较慢(后续Deformable DETR改进)。