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

相关推荐
嵌入式老牛27 分钟前
OpenCV与MFC混合编程中的图像格式转换研究
人工智能·opencv·mfc
Raink老师6 小时前
【AI面试临阵磨枪】Harness 的环境隔离(沙箱)如何设计?文件、网络、命令、权限四层隔离?
人工智能·ai 面试
人工智能AI技术6 小时前
Python 断言 assert 基础用法
人工智能
我是发哥哈7 小时前
横向评测:五款主流AI培训课程效果与选型分析
人工智能
GetcharZp7 小时前
告别昂贵显卡!llama.cpp 终极指南:在你的电脑上满速运行大模型!
人工智能
AI木马人7 小时前
3.【Prompt工程实战】如何设计一个可复用的Prompt系统?(避免每次手写提示词)
linux·服务器·人工智能·深度学习·prompt
Agent产品评测局7 小时前
临床前同源性反应种属筛选:利用AI Agent加速筛选的实操方案 —— 2026企业级智能体选型与技术落地指南
人工智能·ai·chatgpt
ting94520007 小时前
HunyuanOCR 全方位深度解析
人工智能·架构
woai33647 小时前
AI通识-大模型的原理&应用
人工智能
头发够用的程序员8 小时前
从滑动窗口到矩阵运算:img2col算法基本原理
人工智能·算法·yolo·性能优化·矩阵·边缘计算·jetson