【目标检测】对DETR的简单理解

【目标检测】对DETR的简单理解

文章目录

  • 【目标检测】对DETR的简单理解
    • [1. Abs](#1. Abs)
    • [2. Intro](#2. Intro)
    • [3. Method](#3. Method)
      • [3.1 模型结构](#3.1 模型结构)
      • [3.2 Loss](#3.2 Loss)
    • [4. Exp](#4. Exp)
    • [5. Discussion](#5. Discussion)
      • [5.1 二分匹配](#5.1 二分匹配)
      • [5.2 注意力机制](#5.2 注意力机制)
      • [5.3 方法存在的问题](#5.3 方法存在的问题)
    • [6. Conclusion](#6. Conclusion)
    • 参考

1. Abs

两句话概括:

  1. 第一个真正意义上的端到端检测器
  2. 最早将transformer应用到计算机视觉领域方法之一

2. Intro

基于Conv目标检测方法,如YOLO,在精度和速度上都已经非常优秀。

但是这些传统算法往往需要prior和post-process流程,导致额外的计算量,需要复杂的代码来部署模型。

prior:例如,YOLOv5使用聚类算法提前计算anchor boxes

post-process:例如,NMS去除多余预测框

DETR则完全不需要这些,从输入到输出,一气呵成,简洁优雅。

3. Method

3.1 模型结构

网络架构如图所示,同样非常简单

  1. 一个backbone:提取特征
  2. 两个transformer
    1. encoder:将特征图展平成序列,加上位置编码,使用self-attn进一步处理,使得每个特征向量关注到合适的特征表示
    2. decoder:cross-attn,query在特征序列上"逐个问询是否存在目标,目标在哪,有多大",使得query学习到目标的位置信息和特征表示
  3. 两个FFN:对query的信息进行"解压",得到预测结果(类别和边界框)。

3.2 Loss

分类:负log损失

bbox:(GIoU)IoU损失 + L1损失

4. Exp

除了AP75和APs,DETR在同样的参数规模下都超过了Faster RCNN,但是计算量和检测速度更慢。

5. Discussion

5.1 二分匹配

匈牙利算法可参考3

  • 由于DETR默认使用100个queries,即模型输出100个预测框,而实际目标数量只有几个;
  • 因此,需要通过二分匹配算法得到最终的预测结果;
  • 简单来说,就是要把query和gt一一对应,如果一张图像中有5个gt,则在100个queries中通过匹配算法筛选出5个最接近gt的预测结果。

5.2 注意力机制

如图是decoder的注意力可视化结果,可以看到query更关注于物体的边边角角,为目标定位提供了有效信息。

5.3 方法存在的问题

  1. 使用self-attn,太长的特征序列会导致爆炸的计算量,因此输入图像也不能太大
  2. transformer收敛速度慢,训练时间长
  3. 小目标效果一般

6. Conclusion

DETR为目标检测提供了简洁有效的端到端检测框架,且达到了主流检测器的水平,但仍然有较多改进空间。

参考

1 https://arxiv.org/abs/2005.12872

2 https://www.bilibili.com/video/BV1ZT411D7xK/

3 https://blog.csdn.net/qq_54185421/article/details/125992305

相关推荐
ClickHouseDB几秒前
AI 工程闭环的自动化趋势与质量把控边界
大数据·人工智能
miofly4 分钟前
EmbeddingGemma 2:740M 参数的多模态嵌入模型,支持本地推理
人工智能
YOLO数据集集合9 分钟前
桥梁损伤实例分割数据集 | 桥梁损伤 实例分割 裂缝检测 钢筋外露 混凝土剥落9160期
人工智能·目标检测·计算机视觉·桥梁·桥梁损害·桥梁数据集
DongQiShanRen12 分钟前
裁决台账双向互校(下):台账哈希链、三向对账与最小落地
人工智能·深度学习·算法·目标跟踪·自然语言处理·rust·哈希算法
兆。18 分钟前
【无标题】
人工智能
LaughingZhu22 分钟前
Product Hunt 每日热榜 | 2026-10-02
数据库·人工智能·深度学习·神经网络·搜索引擎
听风吹等浪起23 分钟前
第22章:YOLOv5船舶目标检测+注意力模块改进对比,卫星遥感船舶识别实战
人工智能·yolo·目标检测
niaonao25 分钟前
C盘爆红别乱删!我用 Codex 查出 AppData 占了 87.81GB
人工智能·openai
lie..25 分钟前
30天从零开始学AI应用开发(Day 19):项目二完结:RAG 知识库问答系统,把自己攒的资料变成私人顾问
开发语言·人工智能·python
深度之眼26 分钟前
深度学习研0研1如何正确 “阅读文献” ?分享 “3步高效阅读法” !
人工智能·深度学习