基于Transformer的端到端的目标检测 | 读论文

image.png

本文正在参加 人工智能创作者扶持计划

提及到计算机视觉的目标检测,我们一般会最先想到卷积神经网络(CNN),因为这算是目标检测领域的开山之作了,在很长的一段时间里人们都折服于卷积神经网络在图像处理领域的优势;再后来,随着图像领域的大神不断出现,结构简单且速度精度均有提升的目标检测网络也逐渐问世,并且版本的更迭使其应用优势越来越大,最有代表性的是YOLO,目前仍是目标检测的热门。然而,人们对于目标检测的方法仍然进行不断探索,今天就通过一篇基于Transformer的目标检测方法的论文,带领大家换个角度去看待目标检测问题。

论文地址:arxiv.org/pdf/2005.12…

代码地址:github.com/facebookres…

image.png

Transformer

Transformer是第一个完全依赖于自注意力机制来计算其输入和输出的表示的转换模型。Transformer的本质上是一个 Encoder-Decoder 架构。左边的是编码器结构,右边的是解码器结构。结构示意图如下。

image.png

DETR

DETR的简介

DETRDetection Transformer,是Facebook AI的研究者提出的Transformer的视觉版本,可以用于目标检测,也可以用于全景分割。这是第一个将Transformer成功整合为检测pipeline中心构建块的目标检测框架。与之前的目标检测方法相比,DETR有效地消除了对许多手工设计的组件的需求,例如非最大抑制、Anchor生成等。

DETR的流程

  1. 通过一个CNN对输入图片抽取特征,然后将特征图降维,加上位置编码拉直输入Transformer。

  2. Transformer Encoder部分就是使得网络更好地去学习全局的特征;

  3. 使用Transformer Decoder以及Object Query从特征中学习要检测的物体;

  4. 将Object Query的结果和真值进行二分图匹配(Set-to-Set Loss),最后在匹配上的结果上计算分类Loss和位置回归Loss。

DETR的结构

image.png

DETR的网络结构如上图所示,由四个主要模块组成:backbone,编码器,解码器以及预测头。其中backbone是一个卷积网络,提取特征并将其降维到d×HWspatial positional encoding将位置信息编码到特征中,使得模型能够更好地理解物体之间的空间关系。DETR使用了两个Transformer模块,分别作为编码器和解码器。其中编码器用于处理输入特征,解码器用于处理输出特征。DETR使用了一个全连接层来进行分类。

下面具体介绍一下各个模块的作用。

backbone

DETR使用ResNet作为backbone提取图片特征,同时会使用一个1×1的卷积进行降维到d×HW。因为transformer的编码器模块只处理序列输入,所以后续还需要把CNN特征展开为一个序列。

spatial positional encoding

image.png

式中,PE为二维矩阵,大小跟输入embedding的维度一样,行表示词语,列表示词向量;pos表示词语在句子中的位置;dmodel表示词向量的维度;i表示词向量的位置。因此,上述公式表示在每个词语的词向量的偶数位置添加sin变量,奇数位置添加cos变量,从而来填满整个PE矩阵,然后concatenate送到编码器中。简要概括就是将位置信息编码到特征中,使得模型能够更好地理解物体之间的空间关系。

transformer

DETR使用了两个Transformer模块,分别作为编码器和解码器。其中编码器用于处理输入特征,解码器用于处理输出特征。结构图如下:

image.png

与原始Transformer的不同之处在于,DETR在每个解码器层并行解码N个对象,由于解码器也是排列不变的,N个输入嵌入必须是不同的,以产生不同的结果。这些输入嵌入是习得的位置编码,我们称之为object queries,与编码器类似,我们将它们添加到每个注意层的输入中。

N个object queries由解码器转换为output embedding。然后,它们被FFN独立解码为盒坐标和类标签,产生N个最终预测。该模型使用它们之间的成对关系对所有对象进行全局推理,同时能够使用整个图像作为上下文。

FNN

最后的 Bounding Box FFN 是由具有ReLU激活函数的3层线性层计算的。 Class FFN是由一个线性层计算的。 FFN预测框标准化中心坐标,高度和宽度,使用softmax 函数激活获得预测类标签。所以DETR使用了一个全连接层来进行分类。

二分图匹配

image.png

DETR预测了一组固定大小的 N = 100 个边界框,为了解决预测框和真实标注框匹配的问题,使用匈牙利算法进行二分图匹配,即对预测集合和真实集合的元素进行一一对应,使得匹配损失最小。

该算法实现预测值与真值之间最优的匹配,并且是一一对应,不会多个预测值匹配到同一个ground truth上。假设预测结果是100个,那么标注信息也要是100个,标注如果小于100就用无物体信息去填充。

LOSS函数

image.png

分类损失:交叉熵损失函数

检测框位置损失:L1损失和IOU损失的加权和,且Iou的计算采用了GIOU损失

DETR的优势

DETR相对于Faster-RCNN具有更简单的架构,更小的网络(参数方面),更高的吞吐量和更快的训练。此外,DETR是基于Transformer架构的,该架构自2017年以来已经“革命化”了自然语言处理。其中一个主要优点是其全局计算和完美记忆,这使得它们比RNN更适合处理长序列。

总结

这篇论文主要介绍了一种名为“DEtection TRansformer”(DETR)的新框架,它使用了一种基于集合的全局损失,通过二分图匹配强制进行唯一预测,并使用transformer编码器-解码器架构。DETR可以在挑战性的COCO物体检测数据集上展示与Faster RCNN基线相当的准确性和运行时性能。此外,DETR可以轻松地推广到以统一的方式生成全景分割。

其它

论文中还提到了其他的,比如目标检测的实现细节之类的,以及其在不同数据集上的实现效果,感兴趣的可以自己去看一下论文。

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

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

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

相关文章

SQLite 嵌入式数据库

目录: 一、SQLite 简介二、SQLite 数据库安装1、安装方式一:2、安装方式二: 三、SQLite 的命令用法1、创建、打开、退出数据库:2、编辑数据库: 四、SQLite 的编程操作1、打开 / 创建数据库的 C 接口:2、操作…

欧拉函数.

性质1:质数n的欧拉函数为n-1. 性质2:如果p,q都是质数,那么ϕ ( p ∗ q ) ϕ ( p ) ∗ ϕ ( q ) ( p − 1 ) ∗ ( q − 1 ) 证明:p,2p....q*p都不与q*p互质,q同理,所以总的不互质个…

WPS+Python爬取百度之星排名

运行效果 手动拉取 https://www.matiji.net/exam/contest/contestdetail/146 如果手动查找,那么只能通过翻页的方式,每页10行(外加一行自己)。 爬取效果预览 本脚本爬取了个人排名和高校排名,可以借助WPS或MS Offi…

专业140+总分420+天津大学815信号与系统考研经验天大电子信息与通信工程,真题,大纲,参考书。

顺利上岸天津大学,专业课815信号与系统140,总分420,总结一些自己的复习经历,希望对于报考天大的同学有些许帮助,少走弯路,顺利上岸。专业课: 815信号与系统:指定教材吴大正&#xf…

缺失行处理(R和python)

R(complete.cases) rm(listls()) # 创建一个包含缺失值的数据框 # df <- data.frame( # x c(1, 2, NA, 4), # y c(NA, 2, 3, 4), # z c(1, NA, 3, 3) # ) # # # 使用complete.cases函数筛选包含缺失值的数据行 # missing_rows <- !complete.cases(df) # # # …

Vue2前端实现数据可视化大屏全局自适应 Vue实现所有页面自适应 Vue实现自适应所有屏幕

Vue自适应所有屏幕大小,目前页面自适应,尤其是数据可视化大屏的自适应更是案例很多 今天就记录一下使用Vue全局自适应各种屏幕大小的功能 在Vue.js中创建一个数据大屏,并使其能够自适应不同屏幕大小,通常涉及到布局的响应式设计、CSS媒体查询、以及利用Vue的事件系统来处理…

C++面向对象的常见面试题目(一)

1. 面向对象的三大特征 &#xff08;1&#xff09;封装&#xff1a;隐藏对象的内部状态&#xff0c;只暴露必要的接口。 #include <iostream> #include <string>// 定义一个简单的类 Person class Person { private: // 私有成员&#xff0c;外部不可直接访问std…

通俗易懂的信道复用技术详解:频分、时分、波分与码分复用

在现代通信网络中&#xff0c;信道复用技术 扮演着至关重要的角色。今天&#xff0c;我们将用通俗易懂的语言来讲解几种常见的信道复用技术&#xff1a;频分复用、时分复用、波分复用 和 码分复用。这篇文章特别适合基础小白&#xff0c;希望能帮助你快速理解这些概念。 一、频…

Bean的管理

1.主动获取Bean spring项目在需要时&#xff0c;会自动从IOC容器中获取需要的Bean 我们也可以自己主动的得到Bean对象 &#xff08;1&#xff09;获取bean对象&#xff0c;首先获取SpringIOC对象 private ApplicationContext applicationContext //IOC容器对象 (2 )方法…

[算法] 优先算法(四):滑动窗口(下)

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏: &#x1f9ca; Java基本语法(97平均质量分)https://blog.csdn.net/2301_80050796/category_12615970.html?spm1001.2014.3001.5482 &#x1f355; Collection与…

Springboot 敏感词过滤

参考&#xff1a;网站是怎么屏蔽脏话的呢&#xff1a;简单学会SpringBoot项目敏感词、违规词过滤方案_springboot 项目关键词过滤-CSDN博客 【敏感词过滤】_wx60d2a462203aa的技术博客_51CTO博客 1、添加依赖 <dependency><groupId>com.github.houbb</groupI…

模型训练之数据集

我们知道人工智能的四大要素&#xff1a;数据、算法、算力、场景。我们训练模型离不开数据 目标 一、数据集划分 定义 数据集&#xff1a;训练集是一组训练数据。 样本&#xff1a;一组数据中一个数据 特征&#xff1a;反映样本在某方面的表现、属性或性质事项 训练集&#…

输入Rviz打不开,显示could not contact Ros master at[..],retrying

直接输入rviz会报错无法打开 解决方法&#xff1a; 先输入roscore&#xff0c;再用ctrlaltt打开新终端&#xff0c;在新终端输入rviz/rosrun rviz rviz即可

深度学习3 基于规则的决策树模型

1.决策树是一种归纳学习算法&#xff0c;从一些没有规则、没有顺序、杂乱无章的数据中&#xff0c;推理出决 策模型。不管是什么算法的决策树&#xff0c;都是一种对实例进行分类的树形结构。决策树有三个要素&#xff1a;节点(Node)、分支(Branches)和结果(Leaf)。 训练决策树…

二、Spring

二、Spring 1、Spring简介 1.1、Spring概述 官网地址&#xff1a;https://spring.io/ Spring 是最受欢迎的企业级 Java 应用程序开发框架&#xff0c;数以百万的来自世界各地的开发人员使用 Spring 框架来创建性能好、易于测试、可重用的代码。 Spring 框架是一个开源的 Jav…

VMware Workstation Pro 17.5.2 + license key

Workstation Pro是专为Windows操作系统设计的功能强大的虚拟化软件平台,它允许用户在其计算机上创建和运行虚拟机,这使他们能够同时与多个操作系统、应用程序和开发环境一起工作。 Workstation Pro的主要特点之一是其易用性,程序提供了直观的界面,允许用户轻松创建、配置和…

JCR一区 | Matlab实现GAF-PCNN-MATT、GASF-CNN、GADF-CNN的多特征输入数据分类预测/故障诊断

JJCR一区 | Matlab实现GAF-PCNN-MATT、GASF-CNN、GADF-CNN的多特征输入数据分类预测/故障诊断 目录 JJCR一区 | Matlab实现GAF-PCNN-MATT、GASF-CNN、GADF-CNN的多特征输入数据分类预测/故障诊断分类效果格拉姆矩阵图GAF-PCNN-MATTGASF-CNNGADF-CNN 基本介绍程序设计参考资料 分…

Ubuntu24.04清理常见跟踪软件tracker

尽量一天一更&#xff0c;不刷视频&#xff0c;好好生活 打开系统监视器&#xff0c;发现开机有个tracker-miner-fs-fs3的跟踪程序&#xff0c;而且上传了10kb的数据。 搜索知&#xff0c;该程序会搜集应用和文件的信息。 删除tracker 显示带tracker的apt程序 sudo apt lis…

【Excel】 给证件照换底色

1. 双击图片 → 删除背景 2. 标记要保留的区域 → 标记 → 保留更改 3. 重新设置背景色

最新整理的机器人相关数据合集(1993-2022年不等 具体看数据类型)

机器人安装数据是指记录全球或特定区域内工业机器人新安装数量的信息&#xff0c;这一数据由国际机器人联合会(IFR)等权威机构定期发布。这些数据不仅揭示了机器人技术的市场需求趋势&#xff0c;还反映了各国和地区自动化水平及产业升级的步伐。例如&#xff0c;数据显示中国在…