我帮你把今天的学习过程整理成一份结构化学习文档,这样以后复习会非常清晰。今天的内容基本围绕 Transformer detection 系列(DETR → Deformable DETR → DINO) 展开。


今日学习笔记:Transformer Detection 体系

1. Transformer 基础结构

学习了 Transformer 的核心结构:

Encoder

作用:

理解输入

特点:

token ↔ token

结构:

Self Attention
↓
MLP (Feed Forward Network)

功能:

建立输入内部的关系

例如:

  • NLP:token之间关系

  • 视觉:patch之间关系


Decoder

作用:

根据 Encoder 特征生成任务输出

结构:

Self Attention
↓
Cross Attention
↓
MLP

含义:

Self Attention   → query之间交流
Cross Attention  → query从encoder获取信息

2. 为什么 DETR 需要 Decoder

对比:

  • Vision Transformer

  • DETR

核心区别:

模型 任务
ViT 图像特征提取
DETR 目标生成

ViT

输出:

一个全局特征

流程:

patches
↓
Encoder
↓
CLS token
↓
分类

不需要 decoder。


DETR

输出:

多个物体

流程:

image
↓
Encoder
↓
image feature
↓
Decoder
↓
object queries
↓
bbox + class

因此需要:

query → object

3. Decoder Attention 机制

Decoder Self Attention

作用:

query ↔ query

功能:

让query之间交流
避免重复检测

直觉:

侦探之间先分工

Cross Attention

作用:

query ↔ image feature

功能:

从图像中获取信息

直觉:

侦探去现场找线索

为什么顺序是

Self Attention
↓
Cross Attention

原因:

先让query分工
再去图像找目标

如果反过来:

query先各自找
容易重复检测

4. DETR 与 Deformable DETR

对比:

  • DETR

  • Deformable DETR

DETR Attention

特点:

query 看所有 patch

例如:

50×50 feature map
= 2500 tokens

attention:

query → 2500 tokens

问题:

训练慢
收敛难
小目标差

Deformable Attention

核心思想:

只看少量采样点

结构:

reference point + offset

公式:

Output = Σ A_k * Feature(p + Δp_k)

含义:

p      → reference point
Δp_k   → sampling offset

流程:

query
↓
预测 reference point
↓
生成 offsets
↓
采样 K 个位置

复杂度对比

模型 Attention范围
DETR 所有patch
Deformable DETR 少量采样点

复杂度:

DETR            O(N²)
Deformable DETR O(NK)

因此:

训练速度提升约10倍

5. Reference Point 的来源

Deformable DETR 中:

Encoder

来源:

feature map grid

即:

每个patch自己的位置

作用:

局部特征聚合

Decoder

来源:

query预测

流程:

query
↓
MLP
↓
reference point

含义:

query先预测目标大概位置
再在附近采样

6. MLP 的作用

学习了 MLP

本质:

多层全连接网络

结构:

Linear
↓
Activation
↓
Linear

在 Transformer 中作用:

非线性特征变换

在 DETR 中作用:

预测bbox
预测reference point
预测类别

7. DINO 的改进

学习了 DINO

它是在 Deformable DETR 基础上的改进。

主要解决:

训练不稳定
query学习困难
matching效率低

1 DeNoising Training

核心思想:

给GT加噪声
让模型恢复GT

流程:

GT box
↓
加入noise
↓
作为query输入
↓
预测回GT

作用:

稳定训练
改善matching

2 Anchor Query

改进:

query = anchor box + embedding

优势:

query一开始就有空间信息

3 Contrastive Denoising

加入:

对比学习

效果:

更容易区分正确目标

4 Look Forward Twice

方法:

预测box
↓
再forward一次

作用:

更稳定的box refinement

8. DETR 系列演化

完整发展路线:

DETR (2020)
↓
Deformable DETR (2021)
↓
DAB-DETR (2022)
↓
DINO (2022)

每一步解决的问题:

模型 解决问题
DETR 端到端检测
Deformable DETR attention效率
DAB-DETR query表示
DINO 训练稳定性

今日学习重点总结

今天核心理解了 Transformer Detection 的关键思想

1 Detection 两大范式

Dense detection  (YOLO)
Query detection  (DETR)

2 DETR 的核心思想

object query → object

3 Deformable Attention

reference point + offsets

实现:

稀疏attention

4 DINO 的关键改进

denoising training

解决:

Hungarian matching不稳定

下一步学习建议

建议接下来阅读:

1 实时检测

  • RT-DETR

理解:

DETR如何做到实时检测

2 视觉基础模型

  • Segment Anything Model

  • DINOv2


3 开放词汇检测

  • CLIP

  • GLIP

  • YOLO-World


如果你愿意,我可以 帮你做一张“视觉Transformer检测体系地图”(DETR / YOLO / SAM / CLIP 的关系图)。 那张图基本可以 把未来两三年的视觉论文结构一次性看清楚

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐