游乐游手机版
首页/AI教程/文章详情

用大白话讲清楚人工智能DETR模型原理

时间:2026-05-31 06:24
DETR是一种基于Transformer的目标检测模型,无需预设计锚框和非极大值抑制后处理。它通过卷积神经网络提取特征,经Transformer编码器-解码器结构固定输出100个预测结果,采用二分图匹配算法实现预测框与真实框的一对一最优匹配,联合分类损失和回归损失优化模型,实现端到端检测。

DETR模型简介:端到端目标检测的革命性方案

DETR,全称为DEtection TRansformer,中文常译为“检测变换器”,是专为目标检测任务设计的Transformer模型。

从构成来看:DET代表目标检测,R则指向著名的Transformer架构。两者融合,形成了一个专注于目标检测领域的端到端Transformer模型。

与需要手动预设锚框、依赖非极大值抑制(NMS)算法筛选冗余预测框的传统YOLO系列算法不同,DETR模型的设计初衷,正是为了从根源上解决这些繁琐的人工操作与复杂的后处理流程。

我们来逐步拆解DETR的整体工作流程:

首先,一张图像被送入卷积骨干网络,用于提取图像的深层特征信息。接着,DETR将提取到的特征图展平,并送入一个完整的Transformer模型——该模型同时包含编码器与解码器结构。

Transformer最终会固定输出100组预测结果,对应100个目标“查询”。每组结果均包含两类关键信息:目标的类别以及预测框的坐标。

由于一张图中通常不会恰好包含100个物体,对于未匹配到真实目标的预测框,DETR会统一将其标记为“无目标”类别;而有效目标的预测框,则被映射回原图,与数据集中的真实标注框进行比对。

在训练阶段,DETR采用“二分图匹配”方式,对预测框与真实框进行一对一匹配,并计算专属的匹配损失。通过反向传播持续优化模型参数,不断缩小预测框与真实框之间的坐标误差与分类误差,从而逐步提升检测精度。

到了推理阶段,流程更为简洁:模型无需锚框,也无需非极大值抑制(NMS)这类后处理步骤,直接输出有效目标的边界框坐标与对应类别,一步到位,实现端到端的目标检测。

二分图匹配损失详解:如何实现最优配对

设想一个场景:现有3名司机与3名乘客,需要完成一个合理的匹配调度。目标是让整体出行的总成本最低。此时,可以构建一个成本矩阵,直观展示每一位司机分别接送每一位乘客所产生的单独成本,以此作为最优调度的计算依据。

实际上,DETR中预测框与真实框的匹配逻辑,与上述司机和乘客的调度原理完全一致。

我们可以构建一个损失矩阵,矩阵中的每个数值,都代表单个预测框与单个真实框之间的匹配损失。随后,通过二分图匹配算法,自动计算出哪个预测框与哪个真实框契合度最高、整体损失最小,直接完成一对一的最优配对。正是依靠这种全局最优的匹配方式,DETR才能免除非极大值抑制(NMS)来筛选重复框,从而省去了后续处理步骤。

DETR默认设置固定数量N=100,即固定生成100个预测框。模型默认一张图中的目标物体数量不会超过100个,这足以覆盖绝大多数检测场景。

二分图匹配的核心作用,就是确定:第i个真实目标,应该对应匹配哪一个预测框。

整体损失函数主要由分类损失与回归损失两部分组成:

第一部分是分类损失。假设真实物体是猫,模型就要让猫这个类别的预测概率无限接近1;损失计算时会对概率取负值,概率越高、预测越准,分类损失就越小。同时还会加入一个指示函数:只有当真实目标不是背景、是有效物体时,才会计算分类损失,背景类不参与损耗计算。

第二部分是边界框回归损失,用于约束预测框的位置与大小。

回归损失又细分为两项:

  • 一是绝对值误差,主要用于衡量预测框中心点的偏移距离,以修正框的位置偏差;
  • 二是交并比误差,用于约束两个框的重合程度,确保预测框与真实框的面积、范围尽量贴合。

DETR正是依靠二分图匹配完成框的一对一分配,再将分类损失与回归损失联合优化,既保证了物体类别的预测准确度,又能让检测框的位置、尺寸精准地贴合真实目标。

模型架构解析:从特征提取到目标检测

先看骨干网络部分:我们让一张图像经过卷积神经网络(CNN),目的就是提取图像的特征。提取完特征后,需要与位置编码进行加法运算,这样模型才能感知图像中各像素的位置关系,然后再将加法后的结果传送给Transformer模型。

这里的位置编码有两种方式,与大家熟悉的操作一致:第一种是正弦余弦编码,与原始Transformer所用方法完全相同,简单说就是用正弦标记图像像素的横坐标位置,用余弦标记纵坐标位置,固定不变;第二种是可学习的位置编码,无需复杂操作,只需初始化一个位置编码矩阵,模型训练时自身就能逐步优化调整。

接下来看Transformer模型,它分为编码器与解码器两部分。先说编码器:它用到的是刚才卷积神经网络提取的特征,核心作用是在这些特征之间进行注意力计算,让不同位置的特征建立关联。举例来说,图像中有一头牛,编码器能让“牛头”和“牛尾”的特征产生联系,这样模型才能辨识出这是一头完整的牛,而非零散的部位。

编码器处理完毕后,将结果传递给解码器。解码器的核心作用,是利用编码器学到的特征相关性,将图像中的物体组合识别出来,并绘制出对应的预测框。这里要提到“目标查询”(Object Query,简称OQ)——它相当于一个向解码器“提问”的角色。例如,它会问解码器:“这张图像中有人形物体吗?”“图像右下角有没有圆形物体?”OQ初始是一个全零的张量,待解码器训练完成后,其输出会传给前馈神经网络(即检测头),每个前馈神经网络专门负责预测一个物体,最终模型会将预测出的边界框绘制在原始图像上。

为便于理解,我们结合具体的张量尺寸来梳理整个流程(无需记忆过于复杂的细节,理解过程即可):

假设输入的图像是一个(3, 800, 1066)大小的张量(3是图像通道数,800和1066是图像的高和宽)。经过卷积神经网络处理后,图像的长和宽均缩小至原来的1/32,变成(2048, 25, 34)大小的张量(2048是特征通道数,25和34是缩小后的高和宽)。

随后,这个张量会经过一个2D卷积层,将特征通道数从2048压缩至256,变成(256, 25, 34)的张量;接着与同样为(256, 25, 34)大小的位置编码进行加法运算,融合特征与位置信息。

之后,这个融合后的张量会被变形为(850, 256)大小的张量,传递给Transformer编码器——这里的850由25×34得来(缩小后的高×宽),可理解为“编码长度”,256则是每个特征token的嵌入维度。编码器处理完成后,张量形状保持不变,仍为(850, 256),直接传递给解码器的交叉注意力层。

解码器的输入是一个(100, 256)大小的张量,100对应之前提到的100个预测框(模型默认一张图最多100个物体),256依然是token的嵌入维度。解码器处理完成后,输出形状仍为(100, 256),再传递给前馈神经网络(检测头)。

最后,检测头会输出两个结果:一个是1×91的类别预测值(91代表所有可能的物体类别,包含背景),另一个是1×4的预测框坐标(对应预测框的位置与大小)。

这里补充一个与之前“司机-乘客调度”一致的逻辑:我们可以构建一个矩阵,行对应100个预测框,列对应图像中的真实物体,矩阵中的每个数值,代表“第i个预测框匹配第j个真实物体”的总损失(包含分类损失与回归损失)。通过二分图匹配算法,找到让整体损失最小的一对一匹配方式,直接确定每个真实物体对应的最优预测框,这样就无需再做NMS处理。

检测头部分包含两个并行的子网络:一个负责预测物体的类别,另一个负责预测边界框的坐标,两者独立输出,最终合并形成完整的检测结果。

同时,目标查询(Object Query)是一组可学习的张量,它是解码器的输入,而非编码器的输出。你可以将其理解为解码器提前准备好的一批“问题”——例如“图像中是否有物体?它在哪?它是什么?”——解码器带着这些问题去查询编码器提炼出的图像特征。OQ初始值为零,但附带一个可学习的位置编码,用于区分不同的查询槽位。

在位置编码方面:编码器中,每一层的自注意力计算里,位置编码都会加到K和Q上;在解码器中,每一层交叉注意力的K(来自编码器的输出)也会加上对应的位置编码,而OQ本身扮演了解码器Q的位置编码角色。而且这种加法在编码器和解码器的每一层都会重复进行,各执行6次。

解码器的每一层并非从零开始,它会把上一层输出的预测结果(物体的类别与位置)以残差连接的形式传入下一层,相当于“带着上一轮的结论继续优化”。这样做的好处是,预测结果可以在每一层被逐步精细化。

举个例子:第一层解码器可能只能模糊地感知到“图像中有个人”;到了第二层,结合更多上下文信息,发现“这个人站在画面右侧”;到了第三层,进一步细化,识别出“这个人正举着双手”。每一层都在前一层的基础上推进,最终得到更准确的检测结果。

来源:https://developer.aliyun.com/article/1738734
上一篇Virtualyou虚拟你:数字分身创建与使用指南 下一篇Stormi AI 人工智能应用指南
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
Codex手机端上线,免费用户也能使用
AI教程 · 2026-05-31

Codex手机端上线,免费用户也能使用

今天,OpenAI官方发了一条推文:Codex正式登陆ChatGPT手机端。 iOS和Android都能用,把ChatGPT App更新一下就能看到。而且好消息是,所有套餐都覆盖——Free和Go用户也没被落下。 先说说这玩意儿到底能干嘛。 过去用Codex有个挺烦人的场景:你在电脑上让它跑一个任务

AI漫剧风口崛起,重塑创作者收入结构
AI教程 · 2026-05-31

AI漫剧风口崛起,重塑创作者收入结构

同样是入局AI视频创作,赛道选没选对,结果天差地别。投入越多、内耗越大的创作者,往往是在方向上就出了问题。这一点,在《AI漫剧创作一本通》这本书里被讲得很透——它专门把AI广告片、AI宣传片和AI漫剧三大方向做了清晰的横向对比。广告片需求分散、复购率低;宣传片决策链条冗长、入行门槛偏高。二者都属于“

SQE岗位在企业质量管理中的关键作用
AI教程 · 2026-05-31

SQE岗位在企业质量管理中的关键作用

了解SQE岗位的职责与要求在当今职场中,SQE(供应商质量工程师)这个职位正日益受到青睐,吸引了众多求职者的关注。然而,很多人对于SQE究竟需要承担哪些工作、具备哪些硬核能力仍存在困惑。本文将从岗位职责、必备技能到面试准备,系统梳理SQE的核心要点,为您的职业发展提供清晰指引。1 SQE的主要职责

千面智娱AI动捕技术高效便捷助力动画创作
AI教程 · 2026-05-31

千面智娱AI动捕技术高效便捷助力动画创作

千面智娱产品介绍 回顾过去几年,3D动作捕捉技术主要局限于专业工作室与高端影视团队之中。然而,如今这一局面已被打破。千面智娱正是降低门槛的关键力量——作为一个专注于动画制作与AI动捕技术的平台,它强调高效与便捷,旨在让更多创作者能够轻松上手、顺畅使用。那么,它究竟具备哪些能力?适合哪些人群?接下来将

全面掌握Excel表格提升数据处理效率的实用技巧
AI教程 · 2026-05-31

全面掌握Excel表格提升数据处理效率的实用技巧

```html 在日常办公中,Excel几乎是每一位职场人士不可或缺的利器,而其中的elexe表格功能,许多用户尚未充分发掘其潜力。简单来说,elexe表格能够将普通数据区域转换为智能、结构化的表格,显著降低重复性操作。接下来,我们从创建到实际应用,分步骤进行详细说明。 方法一:创建elexe表格