RT-DETR网络结构解析技术文章大纲
目录目录RT-DETR的核心设计目标与创新整体框架分析1 骨干网络2 高效混合编码器AIFI CCFF2.1 AIFI2.1.1 AIFI内部运算流程2.1.2 单层多头自注意力MHSAAIFI核心2.2 ccff3 解码器3.1 整体结构3.2 单层内部结构解析3.3 解码器核心交叉注意力3.4 FFN前馈神经网络4 辅助预测头5 匈牙利匹配无NMS的核心RT-DETR的核心设计目标与创新传统DETR训练慢、推理速度慢YOLO又依赖 NMS。RT-DETR既保留 Transformer 的全局建模能力和端到端优势又达到 YOLO 级别的实时推理速度。原论文中的网络结构图整体框架分析RT-DETR 骨干网络 (Backbone)高效混合编码器 (Efficient Hybrid Encoder)带辅助预测头的 Transformer 解码器数据流清晰分为特征提取→全局建模→查询驱动解码三个阶段。1 骨干网络RT-DETR 支持两种主流骨干网络ResNet 系列R18/R34/R50/R101经典 CNN稳定可靠HGNet-V2百度自研更轻量高效适合移动端部署1.1 骨干网络流程以ResNet 为例输入原图 [B,3,640,640]Bbatchsize【骨干网络 ResNet】Stage1卷积池化下采样 1/2 ↓ Stage2残差块下采样 1/4 → 分辨率太大计算量暴增所以直接不用 ↓ Stage3残差块下采样 1/8 → 输出特征 S3 [B,512,80,80]提取小目标 ↓ Stage4残差块下采样 1/16 → 输出特征 S4 [B,1024,40,40]提取中等目标 ↓ Stage5残差块下采样 1/32 → 输出特征 S5 [B,2048,20,20]引入DCN提取大目标全局语义为什么只在Stage5加入可变形卷积Stage5 是整个骨干最深、最抽象的一层已经学到了目标整体轮廓普通卷积是固定方形感受野可变形卷积可以自适应偏移采样点贴合不规则物体人、车辆、不规则目标等加在最后一层成本最低、增益最大不额外增加太多计算量还能大幅提升检测精度。2 高效混合编码器AIFI CCFF2.1 AIFIAIFI全称Adaptive Intra-scale Feature Integration 自适应同尺度特征融合核心本质多头自注意力 归一化 残差连接骨干网络输出S3S4S5后RT-DETR只对S5应用AIFI做全局信息交流2.1.1 AIFI内部运算流程输入 S5[B, 2048, 20, 20] ↓ 步骤1维度变换 展平 2D→1D序列 ↓ 步骤2层归一化 LayerNorm ↓ 步骤3单层 多头自注意力 MHSA核心 ↓ 步骤4残差直连相加 注意力结果 原始输入 ↓ 步骤5还原维度 1D序列→2D特征图 ↓ 输出增强后的 S5特征 → 送入CCFF模块维度变换把 H20、W20 合并成一个维度序列长度 L400。原始输入[BC2048H20W20] → 变换后维度[BL400C2048]LayerNorm层归一化只对每个通道维度做归一化BN是对整批特征归一化适合 CNN2.1.2 单层多头自注意力MHSAAIFI核心底层逻辑在每个像素位置生成3个向量Q(查询)、K(键)、V(值)。每个位置与其他位置计算相似度加权求和得到V每个像素位置融合全局所有位置信息。Q、K、V维度都是[BL400C2048]单头自注意力计算公式代表当前位置对所有位置的权重把所有位置的信息加权融合其中Q与K的转置矩阵做点积除以把方差拉回为1Softmax归一化权重把相似度得分变成0~1 之间的权重。最后output输出维度是[BL400C2048]单头自注意力只学习一种全局关联信息如值判断位置关系。多头自注意力就是将Q、K、V以最后一维2048拆分成多个单头自注意。以8头为例拆分后每个头的维度就是[BL400C256]每个头各自分工独立负责一个任务如位置关系、尺度大小、前景背景区分、遮挡关系等。每个头的初始权重是随机的具体会负责什么任务会在反向传播的过程中逐渐学习。最后将所有头直接合并输出维度依然是[BL400C2048]2.2 ccffccff全称Cross-Scale Feature Fusion 跨尺度特征融合核心目标FPNPAN自顶向下将高层全局语义传递给低层、自底向上解决高层看不到特征细节的问题。输出把S3、S4、S5最终的输出N3、N4、N5分别展平为序列然后拼接在一起得到Memory[1, 640016004008400, 2048]送入解码器3 解码器解码器共有四大输入1Memory编码器输出的全局多尺度特征序列包含所有目标的全局上下文信息2Memory位置编码给 8400 个特征加位置信息维度和 Memory 一致3Queries目标查询向量默认固定 300 个每个向量负责找一个目标4Queries位置编码给 300 个查询向量加位置信息维度[1,300,2048]3.1 整体结构解码器整体流程简述如下编码器输出 ↓ 解码器四大输入汇总 ↓ Transformer解码器多层堆叠共6层 每层内部自注意力 → 交叉注意力 → FFN ↓ 辅助预测头 最终预测头 输出300个框坐标 300个类别概率 ↓ 匈牙利匹配 自动一对一匹配目标 ↓ 最终检测结果无NMS3.2 单层内部结构解析解码器多层堆叠中单层内部结构计算流程如下输入初始Query[1,300,2048] ↓ (1)LayerNorm前置归一化 ↓ (2)自注意力Query内部自己跟自己交流 ↓ (3)残差相加自注意力输出 原输入Query输出维度不变 ↓ (4)LayerNorm对残差输出做归一化 ↓ (5)交叉注意力Query去读取Memory全局特征 ↓ (6)残差相加交叉注意力输出 第(3)步的特征 ↓ (7)LayerNorm第三次归一化 ↓ (8)FFN前馈网络特征非线性提炼 ↓ (9)残差相加FFN输出 第(6)步的特征 ↓ (10)送入解码器下一层 / 辅助预测头其中Query内部自注意力同上文目标向量互相商量、各自分工、避免重复检测。LayerNorm层归一化也同上文。残差连接作用保留原始Query信息防止层数加深1导致梯度消失。3.3 解码器核心交叉注意力交叉注意力是解码器最核心部分作用是Query与Memory做信息交流可以理解为每个Query在整个图片的信息库8400个Memory里检索信息属于自己目标的特征全部抽出来更新自己的认知。Q/K/V来源Q来自当前归一化后的Query[1,300,2048]K/V来自Memory[1,8400,2048]计算方式同上文单头自注意力先将Q和K的转置做点积计算每个Query对8400个Memory的关注度权重 [1,300,2048]×[1,2048,8400][1,300,8400] ↓ 再与V做点积把所有的位置信息加权融合 [1,300,8400]×[1,8400,2048][1,300,2048]3.4 FFN前馈神经网络核心目标对每个Query的特征进行非线性深加工、提纯输入特征[B,300,2048] ↓ 线性层1升维[B,300,2048] → [B,300,8192] ↓ 激活函数 ↓ 线性层1升维[B,300,8192] → [B,300,2048] ↓ 输出特征[B,300,2048]为什么升维每个Query原本带 2048 条特征信息特征挤在一起很多复杂特征没法分开因此用可学习的权重把每个Query的特征扩展成 8192 条细节信息把特征打散、细化将特征拉开距离这样模型才能看清其中的细节。升维可以这样理解2048条信息中某一句为“这有一个物体”就这一句分不清是人、是车还是背景。升维后将这一句笼统的话拆成四句具体的话“轮廓是不是人形”、“有没有四肢”、“纹理是不是衣服纹理”、“背景是不是马路”为什么升维是4倍因为是官方验证过的最优解FNN会改变300个Query的顺序和数量吗不会永远是 300 个顺序也不变只改每个 Query 内部2048个特征数值。FNN在两层线性层都有可学习参数训练时和网络其他参数一起反向传播更新。4 辅助预测头在DETR中在最后一层解码器后加预测头前面5层完全没有监督只能被动传播特征容易学偏导致收敛很慢。RT-DETR在每一层解码器后都添加了辅助预测头每一层结束后立刻计算损失独立进行监督梯度会同时流向每一层解码器收敛速度大大加快。预测头输出每一个预测头接收 [1,300,2048] 的Query共两个输出1分类头类别概率2回归头框坐标每一层输出300个框300个类别大部分为背景最后把所有层的损失加一起整体进行反向传播。两个预测头互不感知对方输出只是共用上游特征向量是两套独立权重两套独立梯度流。5 匈牙利匹配无NMS的核心YOLO的NMS逻辑网络输出几百个重复、堆叠的框必须依靠NMS非极大值抑制去重、筛选高分框RT-DETR匈牙利匹配一个真实目标只用一个Query学习其他的Query只学习背景。推理时天然没有重复框直接输出最优匹配结果。匈牙利匹配三步走流程第一步对每一个预测框和真实框计算分类代价、坐标代价、IOU代价第二步构建代价矩阵每张图中每个GT只分配一个Query剩余Query全部判为背景负样本。第三步遍历代价矩阵选出整体代价最小的结果最后将配对好的Query计算分类损失、框回归损失推着它继续接近真实目标。没配对成功的只算分类损失推着它预测背景。注意匈牙利是全局一对一匹配最优不是局部最优。也就是说某张图中可能存在多个 Query 都对准目标、IoU 很高但系统只选综合代价最低的1个作为正样本其余全部强制划为背景。匈牙利匹配只在训练时使用推理时直接拿最后一层300个输出置信度过滤一下就出结果。如果数据集某些类别特征过于简单训练阶段一个GT上频繁出现多个高分Query就可能会导致模型无法通过损失来抑制这些参数在推理时会直接在一个目标上输出多个高置信度重叠框。具体解释参考后续损失函数解析。6 损失函数RT-DETR共有两类损失函数6.1 分类损失Focal Loss其中模型对真实类别/背景的预测概率难样本聚焦因子默认2.0压低简单样本损失类别平衡权重背景默认0.1负样本惩罚偏弱根源当面对简单样本时高分正样本Query≈ 1loss被大幅压低不主导训练。当面对困难样本时高分负样本Query偏低loss几乎不变让模型更多的去学习困难样本。由于所有Query通常大部分为背景负样本所以分类损失对背景Query有降权所有背景Query的分类损失*0.16.2 框回归损失L1GIOUL1坐标损失只对匈牙利匹配成功的正样本Query计算监督归一化框坐标数值误差。N当前batch匹配成功的GT总数GIOU损失同样仅正样本生效监督空间重叠与相对位置其中IoU预测框与GT框交并比两框最小外接矩形面积U两框并集面积6.3 总损失公式三类损失计算后统一除以batch内GT总数做均值化非0-1归一化稳定梯度量级。归一化后的三类损失按yaml配置权重加权求和得到反向传播用的单标量总损失正样本Query负样本Quey模型推理输出重复框问题RT-DETR在面对简单样本小数据集时推理时会存在一个目标上输出多个高置信度重叠框现象。问题根源在训练时假设图片里有一个GT两个QueryQueryA、QueryB同时命中了它经过激活后分数很高那么经过匈牙利匹配后只会选择一个Query作为正样本假设QueryA被匹配为正样本会参与分类、L1、GIOU损失计算更新权重那么QueryB就会被强制判定为背景只参与分类损失计算GIoU/L1 完全不算并且分类损失对背景 query 有降权0.1这就导致即使QueryB 的框位置学得很好并且激活后输出高分但也会被匈牙利匹配判为背景训练时其参数权重理应被分类loss抑制但由于其被判为背景计算分类loss时被降权抑制导致loss对其惩罚力度很弱。当数据集小、简单样本多、迭代轮数不够时不足以对其进行有效抑制。进而导致在推理时QueryA、QueryB同时输出了高置信度重叠框。

相关新闻

【微服务大作业留档】CloudNote分布式在线笔记大纲

【微服务大作业留档】CloudNote分布式在线笔记大纲

CloudNote - 分布式在线笔记系统 完整项目大纲 项目摘要: CloudNote 是一个基于 Spring Cloud 微服务架构的分布式在线笔记系统,包含用户、笔记、分享、日志和网关五个核心服务。系统采用 Nacos 作为注册与配置中心,Gateway 实现统一路由与 J…

2026/10/18 5:14:18 阅读更多 →
MySQL核心技术深度解析:从架构原理到高并发实战

MySQL核心技术深度解析:从架构原理到高并发实战

1. 从零到一:为什么你需要系统性地啃下MySQL这块硬骨头如果你正在从事后端开发、数据分析、运维,甚至是产品经理,那么MySQL这个名字对你来说一定不陌生。它就像互联网世界的“水电煤”,是支撑起绝大多数应用数据存储的基石。我见过…

2026/10/18 1:38:20 阅读更多 →
安卓端YOLOv26模型部署:TFLite与QNN委托的纯Native集成实战

安卓端YOLOv26模型部署:TFLite与QNN委托的纯Native集成实战

想在安卓设备上跑最新的YOLOv26模型,但被TensorFlow Lite的CPU推理速度劝退?看到高通Hexagon DSP的QNN(Qualcomm Neural Network)库宣称的极致性能,却不知道如何绕过复杂的Java/JNI层,直接在Native层打通TF…

2026/10/18 5:14:53 阅读更多 →

最新新闻

EMC设计整改与仿真应用:从PCB正向设计到实验室超标排查实战

EMC设计整改与仿真应用:从PCB正向设计到实验室超标排查实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:02:29 阅读更多 →
deepagents中间件:30行代码搞定AI Agent文件系统、记忆与上下文压缩基建

deepagents中间件:30行代码搞定AI Agent文件系统、记忆与上下文压缩基建

1. 从"手搓轮子"到"搭积木":Agent 基建的痛点到底在哪如果你最近半年在折腾 AI Agent,大概率经历过这样一个阶段:一开始兴致勃勃地写了个 ReAct 循环,觉得"不过如此";等到真正要把它做成…

2026/10/19 2:02:29 阅读更多 →
Spring AI Alibaba Graph实战:ReAct Agent与Workflow混合编排的企业级AI应用

Spring AI Alibaba Graph实战:ReAct Agent与Workflow混合编排的企业级AI应用

1. 从“能聊天”到“能干活”:企业级AI编排的真实分水岭很多团队做AI应用,第一步都是接个大模型,写个对话接口,跑通“你问我答”就以为大功告成。但真正落到企业业务里,你会发现单轮问答根本撑不起一个完整流程。比如一…

2026/10/19 2:02:29 阅读更多 →
移动端AIcoding落地成本与端云协同选型实战

移动端AIcoding落地成本与端云协同选型实战

1. 移动端 AIcoding 落地,为什么大家都在算这笔账移动端 AIcoding 这个词,最近半年在圈子里被反复提起。我最早接触这个概念是在一个跨平台工具链项目里,当时团队想把代码补全和自然语言生成代码的能力塞进手机和平板端,让开发者在…

2026/10/19 2:02:29 阅读更多 →
移动端AIcoding真实成本账:端侧适配与上下文管理占大头

移动端AIcoding真实成本账:端侧适配与上下文管理占大头

1. 这笔账为什么值得算移动端接入 AIcoding,前两年大家聊的都是“能不能做”,现在聊的是“划不划算”。我所在的团队从去年下半年开始,把一个内部代码辅助工具从桌面端往移动端搬,前后折腾了差不多两个季度,踩过的坑、…

2026/10/19 2:02:29 阅读更多 →
1~30秒参考音频克隆任意声音:Seed-VC 零样本语音转换完整零训练指南

1~30秒参考音频克隆任意声音:Seed-VC 零样本语音转换完整零训练指南

1~30秒参考音频克隆任意声音:Seed-VC 零样本语音转换完整零训练指南 【免费下载链接】seed-vc zero-shot voice conversion & singing voice conversion, with real-time support 项目地址: https://gitcode.com/GitHub_Trending/se/seed-vc 有一场会要开…

2026/10/19 2:01:28 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →