[神经网络]DETR目标检测网络
一、概述
相较于传统目标检测,DETR是一种纯端到端的网络。它不再需要NMS(非极大值抑制,用于去除多余的预测框)和生成anchor。
DETR提出了一个新的目标函数(二分图匹配),这个函数可以强制网络输出一个独一无二的预测值(没有冗余的预测框)。
二、网络结构

DETR的前向流程如上图所示:①使用一个CNN抽取图片的特征;②将这个特征拉平;③将拉平后的特征送入Transformer的encoder-decoder单元;④由decoder输出预测框的信息(出框的信息是一个超参数,原文为100)⑤利用二分图匹配的方式将Ground Truth与预测结果进行匹配,对于匹配成功的框才会进一步计算loss(没有匹配成功的框将会被标记为no object<背景类>)
1.基于集合的目标函数
DETR的输出是一个固定集合(固定数目)。为了在这些集合中找到正确的预测框,DETR采用了一个二分图匹配的方法来解决这个问题。具体做法是:将n个预测框和x个Ground Turth构建成一个cost matrix(代价矩阵),通过算法在其中找出代价最小的排列。


矩阵中的内容为损失函数(分类Loss和框体Loss),公式即可写为:

这个公式的意义是:在二分图匹配的基础上计算两个loss(分类Loss和框体Loss),其中对于第一个loss,由于要与第二个loss取值范围一致,其log被去除且实验表明并不会影响结果;对于第二个loss,由于L1-Loss会对大物体敏感,所以采用generalized iou loss来计算(与物体大小无关)。
2.整体网络框架

①默认图片输入大小为1066x800x3,经过卷积网络提取特征,得到输出2048x25x34;然后经过一个1x1卷积进行通道调整(降维)得到256x25x34。
②将特征拉平(850*256),并为其叠加位置编码(256x25x34)
③将序列输入Encoder中,计算自注意力
④将结果输入Decoder,进行解码输出;这里引入一个object query(一个可学习,维度为100*256),在每个decoder会先做一次object query的自注意力操作用于移除冗余框(第一个decoder可以不做)
⑤将特征输入检测头(FFN-MLP),进行预测。
三、代码

出自原文的DETR42最简结构
相关文章:
[神经网络]DETR目标检测网络
一、概述 相较于传统目标检测,DETR是一种纯端到端的网络。它不再需要NMS(非极大值抑制,用于去除多余的预测框)和生成anchor。 DETR提出了一个新的目标函数(二分图匹配),这个函数可以强制网络输出一个独一无二的预测值&…...
【服务器管理】connection refused问题解决
简述 在配置服务器的时候,遇到了这个问题。我当时明明已经搭建好了服务,但是我在客户端比如手机上,却怎么都连不上服务器。看日志的话显示的是connection refuesed timeout 这种情况,大概率是服务器的端口没有被打开。 我们只需…...
2023_华为OD机试真题_Python_047_整理扑克牌
整理扑克牌 题目描述 给定一组数字,表示扑克牌的牌面数字,忽略扑克牌的花色,请按如下规则对这一组扑克牌进行整理: 步骤1. 对扑克牌进行分组,形成组合牌,规则如下: 当牌面数字相同张数大于等于4时,组合牌为“炸弹”;3张相同牌面数字 + 2张相同牌面数字,且3张牌与2…...
吐血整理,自动化测试pytest测试框架,资深测试带你少走弯路......
目录:导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜)前言 Pytest框架详解 py…...
SAP BASE64加密及解密
简介:BASE64是一种编码方法,它是一种基于用64个可打印字符来表示二进制数据的表示方法,主要应用于数据存储,传输,打印它是用64个可打印字符表示二进制所有数据方法。由于2的6次方等于64,所以可以用每6个位元…...
【页面无响应】Web页面经常无响应前端如何定位与优化(已解決)
【写在前面】客户现场应用我们的系统时候,发现用着用着就出现1个页面无响应现象,给客户带来极其不好的体验,尤其是当重要工作汇报演示时,就给我看无响应,浏览器崩溃?这样对产品的发展无疑是致命的伤&#x…...
隐私计算 FATE - 多分类神经网络算法测试
一、说明 本文分享基于 Fate 使用 横向联邦 神经网络算法 对 多分类 的数据进行 模型训练,并使用该模型对数据进行 多分类预测。 二分类算法:是指待预测的 label 标签的取值只有两种;直白来讲就是每个实例的可能类别只有两种 (0 或者 1)…...
Codeforces Round 853 (Div. 2)
Codeforces Round 853 (Div. 2) C. Serval and Toxels Arrays 思路: 求任意两个组合的元素个数。 注意到,其实每个元素都是独立的。他在任意组合的出现情况组成的贡献是可以分开讨论的。我们讨论元素x。假设x在m1个数组中出现了cnt次(一个…...
Ka频段需要更多带宽?
随着全球连接需求的增长,许多卫星通信(satcom)系统日益采用Ka频段,对数据速率的要求也水涨船高。目前,高性能信号链已经能支持数千兆瞬时带宽,一个系统中可能有成百上千个收发器,超高吞吐量数据速率已经成为现实。 另…...
初学pyinstaller打包过程中的一些问题
记录一下使用pyinstaller打包过程中的一些问题: 不安装虚拟环境打包,直接打包,一般不会出现什么问题,但是打包的exe很大,把所有模块和依赖库也一起打包了。 建议使用虚拟环境打包,安装必要的包࿰…...
第七章:Java常用类
第七章:Java常用类 7.1:字符串相关的类 String的特性 String表示是字符串,使用一对""引起来表示。 String声明为final的,不可被继承。 String实现了Serializable、Comparable接口,表示字符是支持序列化和…...
Apk加固后多渠道打包
之前一直使用360加固宝进行apk的加固打包,可以一键加固并打多渠道打包。但是,现在360加固宝收费了,在进行加固,多渠道打包,就得一步一步自己操作了,会很繁琐。所以,本文使用 360加固美团Wallet …...
K8S + ISTIO 金丝雀部署的例子
金丝雀发布(Canary):也是一种发布策略,和国内常说的灰度发布是同一类策略。蓝绿部署是准备两套系统,在两套系统之间进行切换,金丝雀策略是只有一套系统,逐渐替换这套系统。 Istio 提供一种简单的…...
python自带数据的模型合集
鸢尾花----聚类 Python鸢尾花数据集通常用于分类问题, 这些模型都可以通过Python中的Scikit-learn库进行实现。同时,也可以对这些模型进行参数调优以提高模型的准确性。 Logistic Regression(逻辑回归): 逻辑回归是一…...
女生学习大数据怎么样~有前景么
当前大数据发展前景非常不错,且大数据领域对于人才类型的需求比较多元化,女生学习大数据也会有比较多的工作机会。大数据是一个交叉学科涉及到的知识量比较大学习有一定的难度,女生则有女生的优势,只要认真学习了都是可以做大数据…...
统计代码量
一 windows 在 Windows 系统上,您可以使用 PowerShell 命令行工具来统计项目的代码量。下面是使用 PowerShell 统计项目代码量的步骤: 打开 PowerShell 终端:按下 Win X 键,选择「Windows PowerShell(管理员…...
uniapp在线升级关联云空间
升级中心 uni-upgrade-center - App: https://ext.dcloud.net.cn/plugin?id4542 App升级中心 uni-upgrade-center文档: https://uniapp.dcloud.net.cn/uniCloud/upgrade-center.html#uni-upgrade-center-app 升级中心 uni-upgrade-center - Admin&#…...
学习streamlit-2
首先视频快速预览下今天的学习内容: Streamlit Shorts: How to make a button今天继续学习streamlit,首先激活之前建立的虚拟环境: ❯ conda activate streamlit-env (streamlit-env) ~ via 🐍 v3.9.16 via …...
Vscode中Vue文件保存格式化、 ElementUI、Font Awesome俩大插件使用
Vscode中Vue文件老一片红色出现格式错误??如何运行别人的项目(没有node_modules文件)??选用组件与图标?? 解决问题一 前提有:Prettier ESLint插件、ESLint插件 1.打开s…...
汽车标定知识整理(三):CCP报文可选命令介绍
目录 一、可选命令 CRO命令报文的可选命令表: 二、可选命令帧格式介绍 1、GET_SEED——获取被请求资源的种子(0x12) 2、UNLOCK——解锁保护(0x13) 3、SET_S_STATUS——设置Session状态(0x0C࿰…...
Claude Code环境变量配置全解析:从入门到精通
1. 项目概述:Claude Code 环境变量配置生成器如果你和我一样,是 Claude Code 的深度用户,那你一定经历过这样的时刻:面对一个复杂的开发任务,想调整一下模型的思考深度(Effort Level)来平衡成本…...
ECA:编辑器无关的AI编程伴侣,统一配置多模型与编辑器
1. 项目概述:一个编辑器无关的AI编程伴侣如果你和我一样,每天大部分时间都泡在编辑器里,那你肯定也经历过这种场景:面对一段复杂的业务逻辑,或者一个陌生的API,你希望有个“懂行”的伙伴能立刻给你解释、重…...
【CPO三维路径规划】豪猪算法CPO多无人机协同集群避障路径规划(目标函数:最低成本:路径、高度、威胁、转角)研究(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
如何解决Funannotate数据库安装失败:从403错误到完整部署的实战指南
如何解决Funannotate数据库安装失败:从403错误到完整部署的实战指南 【免费下载链接】funannotate Eukaryotic Genome Annotation Pipeline 项目地址: https://gitcode.com/gh_mirrors/fu/funannotate Funannotate是真核基因组注释的强大工具,但在…...
鸿蒙系统安装
一、下载 DevEco Studio 打开华为开发者官网,找到 DevEco Studio 6.1.0 Release 下载页面。 DevEco Studio for Windows 6.1.0.830(2.8GB) 下载。 Mac 用户可以选择对应版本(x86/ARM)。 等待下载完成,得到 .exe 安装文件。二、安装…...
谷歌seo如何发布外链? 推荐3个外贸SOHO全自动工具
身处外贸圈的人都明白,空有一身好产品,网站在谷歌搜不到也是白搭。现在的算法比五年前聪明太多,靠那种五块钱一千条的群发软件纯属给自己的域名“投毒”。我在操作几十个独立站的过程中发现,外链的数量早就不吃香了,现…...
BMS工程师必看:实测案例解析50-108MHz频段超标如何整改(滤波/接地/屏蔽实战)
BMS工程师实战指南:50-108MHz频段EMC超标问题深度解析与整改方案 当你在实验室看到传导骚扰测试曲线在50-108MHz频段持续突破GB/T18655-2010三级限值时,那种焦虑感每个BMS工程师都深有体会。这不是简单的测试失败,而是产品设计中隐藏的高频噪…...
3个核心功能+5种使用场景:FanControl帮你打造Windows平台专属散热系统
3个核心功能5种使用场景:FanControl帮你打造Windows平台专属散热系统 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitH…...
当AI能自我改进代码,软件开发的终极形态是什么?
当AI能自我改进代码,软件开发的终极形态是什么?——来自测试终端的深度观察2026年5月,一则消息在技术圈激起波澜:某大型互联网公司每天消耗20亿Token,连续三个月,用AI将100多名程序员积累七八年的庞大代码库…...
Perplexity AI集成开发工具:MCP协议与零成本API实战指南
1. 项目概述:将Perplexity AI深度集成到你的开发工作流 如果你是一名开发者,或者经常需要处理信息检索、代码问题排查、技术方案调研这类工作,那么你肯定对“搜索”这件事又爱又恨。爱的是它能瞬间连接海量知识,恨的是在IDE和浏览…...
