D-FINE

FDR细粒度分布优化

define实在RT-DETR的基础上进行改进

先回顾RT-DETR部分的计算:

让decoder部分的输出分别经过两个检测头,一个是类别检测头,一个是定位检测头,从定位检头得到的输出,它相较于基准坐标的预测偏移量,我们会让这个基准坐标先经过sigmoid的反函数,把坐标先映射为左sigmoid之前的原始值,加上预测出来的坐标偏移量,想加后就是修正过的,预测出来的bound box,这里要再做一个sigmoid,进行归一化,然后再拿回去,作为下一个decoder列的输入,下一个decoder列会在这个坐标的基础上继续预测偏移量,等六个decoder列都预测完,最终得到预测出来的bound box的坐标就是在最初的reference-points-unact坐标的基础上,++修正六次之后得到的bounding box 的坐标。++这就是对RT-DETR这部分运算的回顾。


D-Fine

和RT-DETR也是一样,逐层的对定位坐标进行修正。

经过六层的decoder列,会修正六次坐标,像论文中的示意图这样:

第一个decoder列会分别经过两个检测头,一个是traditional head,D-fine head;traditional head 她的作用是预测出来一个初始的bounding box坐标,这边每层decoder列的输出,分别经过define head 去预测出一个坐标偏移量,这些坐标偏移量会进行累加,逐层在bounding box的位置上进行修正 。

第一个decoder经过第一个define head

第二个decoder经过第二个define head 输出出来的结果也是预测的坐标偏移量,这次预测出的坐标偏移量会累加在上一个坐标偏移量之上...后面依次类推。

我们从decoder列1 得到的输出,是(bs 500 256),这个500表示的是有500个bounding box,

这五百个bounding box是咋得到的?

500个 bounding box 不是从图像提取出来的,而是网络自己想象出来的可学习的参数。

具体来两,这500是object queries(对象查询)

伪代码示意

self.num_queries = 500 # 超参数,人为设定
self.hidden_dim = 256 # 特征维度

这 500 个查询是可学习的 Embedding,就像卷积核权重一样

self.tgt_embed = nn.Embedding(num_queries, hidden_dim) # (500, 256)

  • 形状:(bs,500,256)中的500表示"我假设这张图最多有500个坐标"
  • 本质:这500个向量是随机初始化的,通过端到端的惗,他们逐渐学会:
    • 有的query专门差"左上角的猫"
    • 有的query专门查"右下角的人"
    • 有的query学会查"小目标"
    • 有的query学会查"大目标"

(200+300机制)

是混合查询选择机制的结果,

1.encoder输出特征图,图像经过backbone和encoder之后,得到特征图

2.选出top-200 (来自图像内容)

1.预测分数,在encoder输出的每个空间位置预测类别无关的objectness分数

2.选出top-200,选出得分最高的200个位置索引

3.提取特征作为query content,这200个位置对应的特征向量被提取出来,作为200个 content

4.生成reference points(参考点)这两百个位置对应的原图坐标经过归一化(加上预测 的小偏移)生成两百个参考点

3。除了图像选出200,增加300个纯可学习的query(类似原始DETR)

4.直接拼接成500个box query

image-aware 200 encoder选出的真实特征**精确定位:**确保query锚定在有可能有物体的实际位置,加速收敛

learnable 300 网络随机初始化学习 **覆盖纰漏:**学习数据集中的统计分布,防止encoder漏检小目标

相关推荐
其美杰布-富贵-李5 分钟前
Loss Functions:Logistic Loss、Cross Entropy 与 Hinge Loss
深度学习·损失函数
fivebliss6 分钟前
取算存——模型容量、能耗指标和架构梳理
人工智能·性能优化·gpu算力
xiwc7 分钟前
Token 预算管理:长对话不崩溃的秘密
人工智能
何时梦醒15 分钟前
第一篇:项目概览 — 在浏览器里跑大模型,端侧 AI 的革命来了
前端·人工智能
何时梦醒15 分钟前
第二篇:工程化搭建 — Vite + React + TypeScript + TailwindCSS 全解析
前端·人工智能
橘子星20 分钟前
浏览器也能跑大模型:WebGPU + Transformers.js 本地运行 DeepSeek-R1
前端·人工智能
物联网软硬件开发-轨物科技24 分钟前
【轨物方案】从五维感知到一键顺控:箱变智能化不是一个传感器能解决的事
人工智能·科技·其他·机器人·开源
Swift社区27 分钟前
Python 开发环境怎么选?PyCharm、VS Code、Trae 谁更适合 AI 开发?
人工智能·python·pycharm
SLD_Allen33 分钟前
Kubernetes + Ray + Volcano:云原生AI训练调度体系
人工智能·云原生·kubernetes
七牛开发者42 分钟前
Codex 实践系列 Vol.04:用 Goal 和 Plan 管住一个长任务
java·数据库·人工智能·github·copilot