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漏检小目标

相关推荐
红色星际几秒前
Momenta赴美招揽AI人才
人工智能
贺国亚1 分钟前
Spring-AI与LangChain4j
java·人工智能·spring
沫儿笙2 分钟前
发那科机器人氩弧焊节气装置
人工智能·机器人
Cloud_Shy6183 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔(第三章 Item 21 - 24)
开发语言·人工智能·笔记·python·迭代器模式
拾年2755 分钟前
别调 BERT 了:我用 Prompt 做了套 NLP 系统,20 分钟搞定
前端·人工智能
装不满的克莱因瓶27 分钟前
学习 LLM 的函数回调及格式化输出,让 LLM 拥有更强的能力
人工智能·ai·大模型·llm·agent·智能体
涤生大数据29 分钟前
从 ETL 到 Agent:AI数据工程如何搭建企业级“数据工厂“
数据仓库·人工智能·etl
手写码匠34 分钟前
手写 DeepSeek 推理引擎优化:从 FP16 到 INT4 的量化加速实战
人工智能·深度学习·算法·aigc
落叶无情41 分钟前
评审icef框架是否能认定为“认知操作系统”
人工智能
zhangfeng11331 小时前
天数智芯天垓 100 加密大模型分布式部署安全方案
人工智能·分布式·安全·transformer·gpu算力·芯片