DETR开篇之作

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

1. 论文背景和动机

背景: 传统的物体检测方法(如Faster R-CNN等)通常依赖复杂的多阶段 pipeline,包括区域候选生成、特征提取和后处理步骤。这些方法尽管有效,但复杂度高且难以端到端训练。
动机: DETR的提出是为了简化物体检测的流程,通过端到端的训练方式实现高效准确的物体检测。

2. DETR的核心思想

Transformer架构: 利用 Transformer 模型中的自注意力机制,DETR将物体检测问题转化为集合预测问题。
端到端训练: DETR通过直接预测图像中的物体边界框和类别标签,避免了传统检测方法中的复杂步骤。

在这里插入图片描述

Transformer是由多个 encoder 和多个 decoder 组成。decoder 的第二个多头注意力 (Multi-Head Attention MHA) 将 encoder 的输出作为两个输入。实际上 MHA 中主要由点积放缩注意力算子组成,大概可以看到其由 Query、Key 和 Value 三者作为输入,进行一系列矩阵操作得到结果。
点积缩放计算示例

简单对点积缩放注意力算子进行介绍:每一个 Embedding 可以生成对应的 Q、K、V,然后每一个 Embedding 的 Q 都会跟 n 个 K (包括自己的)进行向量内积计算,从而得到 n 个值,再通过 softmax 得到 n 个权重,最后和 n 个 V 相乘后相加得到了最后的结果。这个过程可以通过右边矩阵相乘实现,里面涉及两个矩阵乘法 Q x K,其结果和 V 进行矩阵相乘。而对于 encoder 而言,Embedding 的个数是和 image 的尺寸成正比,那么其矩阵相乘的计算复杂度就和 image 的尺寸就成平方关系了。

3. 网络结构

a. 特征提取(Feature Extraction)

  • 使用预训练的卷积神经网络(如ResNet)从输入图像中提取特征。

b. Transformer编码器(Encoder)

  • 将特征图输入到多层 Transformer 编码器中进行处理,添加位置编码(Positional Encoding)以保持空间信息。
  • Positional Encoding 为特征图中的每个像素位置添加位置信息,使Transformer能处理图像数据的空间信息。

  • 编码器的每一层包含自注意力(Self-Attention)和前馈神经网络(Feed-Forward Neural Network)层。
  • 每个编码器层计算输入特征的自注意力分布,并通过前馈网络对特征进行非线性变换。

c. Transformer解码器(Decoder)

  • 使用一组可学习的查询向量(Learnable Query Embeddings)和编码器的输出进行交互。
  • 解码器的每一层包含自注意力层、编码器-解码器注意力层(Encoder-Decoder Attention)和前馈神经网络层。
  • 最终输出物体的边界框和类别。

4. 关键技术

  • 匈牙利匹配(Hungarian Matching): 在训练过程中,通过匈牙利算法将预测结果与真实标签进行一一匹配,计算损失并优化模型。
  • 损失函数(Loss Function):结合了分类损失和边界框回归损失,确保模型在训练过程中能够平衡地优化这两个目标。

5. 实验和结果

在COCO数据集上的实验结果表明,DETR在检测精度和效率上与当前最先进的方法相当。
DETR在处理复杂场景和遮挡物体方面表现尤为出色。

6. 优势和局限性

  • 优势
    简化流程:通过端到端训练简化了传统的多阶段物体检测流程。
    高效:利用Transformer架构的自注意力机制,能够更好地捕捉图像中的全局信息。
    鲁棒性:在复杂场景和遮挡物体的检测中表现良好。
  • 局限性
    计算开销:Transformer的自注意力机制在处理大分辨率图像时计算复杂度较高。
    训练时间:相比传统方法,训练时间较长,需要更多计算资源。

7. 总结

DETR通过将物体检测任务转化为集合预测问题,利用Transformer的自注意力机制,实现了端到端的高效物体检测。其核心创新点在于使用可学习的查询向量和匈牙利匹配算法,简化了传统的物体检测流程,并提高了检测精度。

通过这篇论文,我们可以看到Transformer架构在视觉任务中的潜力,并了解到物体检测领域的最新进展和研究方向。这为进一步研究和应用提供了新的思路和方法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/715428.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

头歌资源库(7)汉诺塔(循环)

一、 问题描述 二、算法思想 初始化三个柱子A、B、C,初始时所有的盘子都在柱子A上。对于从1到N(N表示盘子的数量)的每一个数字i,执行以下循环: a. 如果i是偶数,则将柱子B视为目标柱子,柱子C视为…

三分钟带你手把手安装 GoldWave

goldwave绿色版是一款非常不错的数字音频编辑处理软件,绿色制作,无需安装即可使用,拥有录制、编辑、音频处理、恢复、增强和转换等多种功能,不管是最简单的录制、编辑,还是复杂的的音频处理、恢复、增强和转换&#xf…

如何看懂SparkUI?

Jobs页面 Stage页面 显示额外的指标和摘要指标: 摘要指标(Summary Metrics)统计了所有完成的任务的执行行为,包括执行时间、GC时间、输入输出信息等,并提供了最小值(Min)、第25百分位数&#xf…

计算机组成原理之浮点四则运算

文章目录 浮点加减运算浮点乘法运算浮点除法运算浮点运算器的流水原理习题 浮点加减运算 总的来说,分为四个步骤: (1)0操作数检查 (2)比较阶码大小并完成对阶 (3)尾数进行加或者减操…

扫地机LiDAR形态之美

石头扫地机V20 LiDAR: Flash光源和Spot光源切换 图来自 Robot森 LiDAR(Light Detection and Ranging,激光雷达)技术在扫地机器人中的应用,不仅提升了机器的智能性和实用性,还展现了一种科技与艺术的融合之美。 一、外观设计的精致性 紧凑与轻巧:扫地机器人的LiDAR传感器…

【学习笔记】centos7安装mysql相关事项

究极恶心的体验 依赖要按照顺序安装,有些依赖安装位置也不同 非常细节 mysql安装包:mysql官网下载地址 centos7选择Red Hat Enterprise Linux 7 / Oracle Linux 7 (x86, 64-bit), RPM Bundle 下载版本自选 安装视频教程:centos7.5安装mysql …

板凳----《Linux/Unix系统编程手册》读书笔记24章

D 24章 进程的创建 425 24.1 fork()、exit()、wait()以及execve()的简介 425 . 系统调用fork()允许父进程创建子进程 . 库函数exit(status)终止进程,将进程占用的所有资源归还内核,交其进行再次分配。库函数exit()位于系统调用_exit()之上。在调用fo…

2024上半年软考---江苏考区最先公布成绩

经历了考试之后,最期待的就是考试成绩的公布了,最好的成绩是45、45、45.只要过了分数线就满足了。下面我们来看看各大考区的分数的公布时间。 提前说下江苏考区的时间比较早,我就是江苏考区的,希望本次可以顺利通过考试。 2024年…

【全栈实战】大模型自学:从入门到实战打怪升级,20W字总结(一)

😊你好,我是小航,一个正在变秃、变强的文艺倾年。 🔔本栏讲解【全栈实战】大模型自学:从入门到实战打怪升级。 🔔专栏持续更新,适合人群:本科生、研究生、大模型爱好者,期…

React 中的事件处理

React 中是如何处理事件的&#xff0c;现在下面简单的一段代码&#xff1a; export default function App() {const AList lazy(()>import(./List.js))const r useRef(null) const [show, setShow] useState(false);return (<><button onFocus{()>{setShow…

数据可视化案例

数据可视化案例 使用豆瓣电影中的数据来进行可视化&#xff0c;网址&#xff1a;豆瓣电影 Top 250 (douban.com) 一、网页数据分析 我们需要爬取的是豆瓣电影Top250网页每一页的电影名称、图片链接、导演、年份、国家、电影类型、电影评分这些数据。 在待爬取的网页中&#x…

17岁中专女生,闯进全球数学竞赛12强

今年阿里的数学竞赛结果出来了&#xff0c;在榜单的前列包含一个 17 岁的中专女生。 在 2018 年时&#xff0c;阿里巴巴达摩院发起了一个国际数学竞赛&#xff0c;基本每年举办一次&#xff0c;参赛不设报名条件&#xff0c;向全球所有数学爱好者开放&#xff0c;竞赛由阿里创…

AOSP平台开发的利器——Android Studio for Platform

Android Studio for Platform (ASfP) 是一个为使用 Soong 构建系统构建的 Android 开源项目&#xff08;AOSP&#xff09;平台开发者而设计的 Android Studio IDE 版本。与标准 Android Studio 不同&#xff0c;ASfP 具有多语言支持&#xff0c;可以在同一 IDE 中编写 C、Kotli…

java高级——Arrays工具类(包含核心的归并和二分排序以及多个底层知识点)

java高级——Arrays工具类 前情提要文章介绍提前了解的知识点1 二分查找思想 Arrays常用方法介绍&#xff08;8大类&#xff09;1. 创建数组1.1 copyOf&#xff08;&#xff09;1.2 copyOfRange&#xff08;&#xff09;1.3 fill&#xff08;&#xff09; 2. 数组转集合&#x…

数据库-数据定义和操纵-初始MySQL数据库

连接数据库&#xff1a; mysql -u用户名 -p密码 创建数据库&#xff1a; create database 数据库名; 命令查看MySQL中已存在的数据库 show database; 数据库中创建表的规则&#xff1a; CREATE TABLE 表名 (字段名,数据类型,字段名,数据类型,..... ) eg: 首先创建数据库&am…

操作系统—页表(实验)

文章目录 页表1.实验目标2.实验过程记录(1).增加打印页表函数(2).独立内核页表(3).简化软件模拟地址翻译 3.实验问题及相应解答问题1问题2问题3问题4 实验小结 页表 1.实验目标 了解xv6内核当中页表的实现原理&#xff0c;修改页表&#xff0c;使内核更方便地进行用户虚拟地址…

youlai-boot项目的学习—工程构建与运行

开发环境 系统:mac OS Ventura 13.2.1 终端: item2 Homebrew: 4.3.5 IDE: IntelliJ IDEA 2024.1.1 (Ultimate Edition) 代码分支 仓库&#xff1a;https://gitee.com/youlaiorg/youlai-boot.git 分支&#xff1a; master commit: 9a753a2e94985ed4cbbf214156ca035082e02723 …

python数据分析---ch11 python数据描述性统计

python数据分析--- ch11 python数据描述性统计 1. Ch11--描述性统计2. 数据集中趋势的度量2.1 平均值2.2 中位数2.3 众数2.4 几何平均值2.5 调和平均值 3. 数据离散趋势的度量3.1 极差3.2 平均绝对偏差(MAD)3.3 方差和标准差3.4 下偏方差和下偏标准差3.5 目标下偏方差和目标下偏…

【Qt项目专栏】贪吃蛇小游戏1.0

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ 贪吃蛇小游戏1.0 项目编号&#xff1a;01 文章目录 贪吃蛇小游戏1.0一…

生信技能48 - 如何获取基因的SNP及RefSeq参考序列命名规则

1. SNP概念 SNP 是指基因组水平上由单个核苷酸的变异所引起的DNA 序列多态性,在群体中的发生频率不小于1 %,包括单个碱基的转换、颠换、插入和缺失等。每核苷酸发生突变的概率大约为10 -9 , 由于压力选择,SNP在单个基因和基因组以及动物不同种群间分布是不均匀的,在非编码…