DETR目标检测框架

概念:DETR(Detection Transformer)是一种基于Transformer架构的端到端目标检测框架。它与传统的基于区域提议的目标检测方法有所不同。传统方法通常依赖于手工设计的组件(如锚框、非极大值抑制等),而DETR将目标检测视为直接集合预测问题。

1. 基本思想

  • 先来个CNN得到各Patch作为输入,再套transformer做编码和解码
  • 编码路子跟VIT基本一样,重在编码,直接预测100个坐标框

先通过CNN提取图像的特征;再送入到transformer encoder-decoder中,该编码器解码器的结构基本与transformer相同,主要是在输入部分和输出部分的修改;最后得到类别和bbox的预测,并通过二分匹配计算损失来优化网络。
在这里插入图片描述

2. 整体架构

DETR包括CNN的backbone(主干部分),Transformer 的 Encoder,Transformer的Decoder,最后的预测层 FFN。
在这里插入图片描述

  • 图像编码:输入的图像先通过CNN进行特征提取,生成一个特征图(通常 Backbone 的输出通道为 2048,图像高和宽都变为了1/32),这些特征代表了图像中不同位置的语义信息。
  • 位置编码:对于每个像素位置,DETR引入位置编码(positional Encoding),用以表示特征在图像中的空间位置。这些位置编码与特征图一起被输入到Transformer模型中。
  • Transformer编码:特征图和位置编码被扁平化,并作为Transformer的输入。Transformer编码器由多个Encoder层组成每个层包括多头注意力机制(Multi-Head Self-Attention)和全连接前馈网络(Feed-Forward Neural Networks)。这些层有助于将图像中的全局和局部信息整合到特征向量中。
  • 对象查询(Object queries)和类别嵌入(Class embeddings):在Transformer的每个Decoder层中,引入了一组特定的对象查询向量和类别嵌入向量。对象查询向量代表了模型要检测的目标的数量和位置,类别嵌入向量则用于表示不同目标类别的特征。
  • 解码过程:解码器通过多头注意力机制将对象查询向量与Transformer编码器的输出进行关联,以获取与每个对象查询相对应的图像特征。同时,类别嵌入向量被用于预测每个目标的类别。这些信息整合后,模型能够生成每个目标的包围框(bounding box)及其相应的类别概率。
  • 输出:最终,DETR模型输出一组预测的目标框及其对应的类别,这些框可以包括目标的位置和边界信息。

在这里插入图片描述
在这里插入图片描述

DETR的关键创新在于将目标检测问题转化为一个序列到序列的转换问题,并利用Transformer模型有效地捕捉图像中的全局上下文和目标之间的关系,从而实现端到端的目标检测过程。

3. 可变形DETR

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

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

相关文章

Leetcode2542-最大子序列的分数

1.问题转换 首先明确题意,要选取的值和num1,num2两个数组都有关,但是num1中选取的是k个数,num2中选取的是1个数,显然num2中的数所占的权重较大(对结果影响较大),所以我们就可以对nu…

【爬虫】Python实现,模拟天眼查登录验证获取token

模拟天眼查登录验证获取token 项目介绍逻辑思路效果演示部分代码展示源代码获取 项目介绍 注:本程序测试时期:2024.7.9,稳定可用 天眼查登录接口升级更新之后,后台接口login接口登录运用了4代极验gt,js逆向部分相当复…

基于网络编码的 tcp 变种-tcp/nc

tcp/nc 是指 “tcp with network coding”,是一种结合了网络编码技术的 tcp 变种,网上资源很少,我也不准备多介绍,只介绍它的核心。 传统 tcp 在演进过程中一直搞不定效率问题,网络带宽在增长,cpu 却没有变…

PHP全民投票微信小程序系统源码

🗳️【全民参与的力量】全民投票系统小程序,让决策更民主! 🌐 一键启动,全民参与 全民投票系统小程序,是连接每一个声音的高效桥梁。只需简单几步,即可在线发起投票活动,无论是社区…

mysql数据库中的视图view的概念和详细说明

目录 一、定义 二、视图view的分类 (一)按功能和特性分类 1、普通视图(Regular View/Standard View) 2、索引视图(Indexed View) 3、分割视图(Partitioned View/Distributed Partitioned …

Jenkins 构建 Web 项目:构建服务器和部署服务器分离, 并且前后端在一起的项目

构建命令 #!/bin/bash cd ruoyi-ui node -v pnpm -v pnpm install pnpm build:prod # 将dist打包成dist.zip zip -r dist.zip dist cp dist.zip ../dist.zip

争议思看科技IPO,创始人妻子郭冬蕾帮助公司“越线”拿补贴?

近日,思看科技(杭州)股份有限公司(下称“思看科技”)更新了第二轮回复问询,针对外界及上交所关注的产品技术先进性、市场空间成长性,以及技术专利权纠纷等问题一一进行了回应。 据此前招股书介…

大屏自适应容器组件 v-scale-screen

在vue中,v-scale-screen可用于大屏项目开发,实现屏幕自适应,可根据宽度自适应,高度自适应,和宽高等比例自适应,全屏自适应。 仓库地址:github国内地址:gitee 一、安装 npm instal…

UDP通讯实现

服务器端&#xff1a; 1.获取套接字 int fd;fdsocket(AF_INET,SOCK_DGRAM,0);if(fd<0){perror("socket");exit(0);} #include <sys/types.h> #include <sys/socket.h> int socket(int domain, int type, int protocol); -domain: 指定通信域&…

短信群发精准营销策略全解析

短信群发作为传统而高效的营销手段&#xff0c;其效果却常因缺乏精准性而大打折扣。要实现短信群发的精准营销&#xff0c;关键在于两大核心要素与选择合适的平台。 一、精准营销的两大核心 1.数据细分&#xff0c;精准定位 在启动短信群发前&#xff0c;企业需…

mmdetection中的Spatial-Transform-Decoupling项目部署,debug记录

1.安装环境 在这之前&#xff0c;因为是新的服务器&#xff0c;很多包没有安装 安装conda&#xff0c;在root/anaconda/bin 巴拉巴拉 vim~/bash.rc 按ESC 按&#xff1a;wq 删除是Delete sudo apt install libnccl22.7.8-1cuda11.0 libnccl-dev2.7.8-1cuda11.0bug1&#xff1…

17.分频器设计拓展练习-任意分频通用模块

(1)Verilog代码&#xff1a; module divider_n(clk,reset_n,clk_out);input clk;input reset_n;output clk_out;wire clk_out1;wire clk_out2;wire [9:0]n;wire m;assign n 9;assign m n % 2;divider_even divider_even_inst(.clk(clk),.reset_n(reset_n),.n(n),.en(!m),.cl…

金融科技赋能:加马智能质检系统引领金融机构迈向高效合规新时代

为了保护消费者合法权益、促进市场稳定健康发展&#xff0c;近年来监管机构相继发布了《银行保险机构消费者权益保护管理办法》、《银行业金融机构销售专区录音录像管理暂行规定》、《保险销售行为管理办法》等多项法律法规&#xff0c;对于银行、保险等金融机构的服务、销售行…

使用void 0替代undefined

在很多大厂的规范里面&#xff0c;有这么一条规定&#xff1a;不让直接使用undefined关键字&#xff0c;而应该使用void 0来替代undefined。 一、void 0是什么意思&#xff1f; void是一个关键字&#xff0c;他后面跟的是一个表达式&#xff0c;不管这个表达式算的是啥&#…

Uniapp组件使用的详细步骤

官方文档&#xff1a;uni-app官网 (dcloud.net.cn) 一般用到的组件都在这里&#xff1a; 看介绍里面的注意事项&#xff0c;有注意的地方认真查看&#xff0c;使用的时候例如&#xff0c;以下示例日历&#xff0c;把代码粘贴到你的文件里&#xff0c;然后下载组件 1&#xff…

前端笔记-day13

文章目录 01-体验vw和vh02-vw适配02-适配.htmldemo.lessdemo.css 03-vw和vh不能混用03-vw和vh.htmldemo.lessdemo.css 04-综合案例-酷我demo.htmldemo.lessbase.lessdemo.css 酷我&#xff08;标准版&#xff09;index.htmlindex.lessindex.css 01-体验vw和vh <!DOCTYPE ht…

STM32的 DMA(直接存储器访问) 详解

STM32的DMA&#xff08;Direct Memory Access&#xff0c;直接存储器存取&#xff09;是一种在单片机中用于高效实现数据传输的技术。它允许外设设备直接访问RAM&#xff0c;不需要CPU的干预&#xff0c;从而释放CPU资源&#xff0c;提高CPU工作效率&#xff0c;本文基于STM32F…

【CSS01】CSS概述,使用样式的必要性,CSS语法及选择器

文章目录 一、什么是样式二、使用样式的必要性三、使用样式的几种方式四、CSS基本语法&#xff1a;五、CSS的注释六、CSS选择器——重点相关单词 一、什么是样式 概念&#xff1a; Cascade [kˈskeɪd] Style Sheet [ʃiːt] 级联样式单/表&#xff0c;层叠样式表 CSS有化腐…

【Linux进阶】文件系统2——MBR和GPT

1.磁盘的分区 因为如果你的磁盘被划分成两个分区&#xff0c;那么每个分区的设备文件名是什么&#xff1f; 在了解这个问题之前&#xff0c;我们先来复习一下磁盘的组成&#xff0c;因为现今磁盘的划分与它物理的组成很有关系。 我们谈过磁盘主要由碟片、机械手臂、磁头与主轴马…

安卓应用开发学习:腾讯地图SDK应用改进,实现定位、搜索、路线规划功能集成

一、引言 我的上一篇学习日志《安卓应用开发学习&#xff1a;通过腾讯地图SDK实现定位功能》记录了利用腾讯地图SDK实现手机定位功能&#xff0c;并能获取地图中心点的经纬度信息。这之后的几天里&#xff0c;我对《Android App 开发进阶与项目实战》一书第九章的内容深入解读…