论文泛读: DETRs Beat YOLOs on Real-time Object Detection

news2024/9/28 7:18:58

[toc[

DETRs Beat YOLOs on Real-time Object Detection

论文地址: https://openaccess.thecvf.com/content/CVPR2024/html/Zhao_DETRs_Beat_YOLOs_on_Real-time_Object_Detection_CVPR_2024_paper.html
代码地址: https://zhao-yian.github.io/RTDETR

动机

现状

  • YOLO系列因其在速度和准确性之间的合理权衡而成为最流行的实时目标检测框架。
  • 基于端到端Transformer的检测器(DETR)由于其检测方法而受到学术界的广泛关注。

问题

  • YOLO的速度和准确性受到非极大值抑制(NMS)的负面影响。基于Transformer的端到端检测器(DETR)提供了消除NMS的替代方案,但是高昂的计算成本限制了它们的实用性,并阻碍它们充分利用排除NMS的优势。
  • YOLO需要NMS进行后处理,这不仅减慢了推理速度,而且引入了超参数,导致速度和精度不稳定。而且考虑到不同的场景对召回率和准确率的重视程度不同,需要仔细选择合适的NMS阈值,这阻碍了实时检测器的发展。
  • DTER的高计算成本使其无法满足实时检测要求,因此无NMS架构并未表现出推理速度优势。这启发我们探索DTER是否可以扩展到实时场景,并在速度和精度上超越先进的YOLO检测器,消除NMS带来的实时物体检测延迟。

贡献

  • 提出了Real-Time DEtection TRansformer(RT-DETR),第一个实时端到端对象检测器可以解决上述困境。它不仅在速度和精度上优于之前先进的YOLO检测器,而且消除了NMS后处理对实时目标造成的负面影响检测。
  • 定量分析了NMS对YOLO检测器的速度和准确性的影响,并建立了端到端的速度基准来测试实时检测器的端到端推理速度。
  • RT-DETR支持通过解码器层数来灵活调整速度以适应各种场景而无需重新训练。

方法

  • 对于减少不必要的计算冗余问题,作者观察到虽然引入多尺度特征有利于加速训练收敛,但它导致输入编码器的序列长度显著增加。多尺度特征交互造成的高计算成本似的Transformer编码器成为计算瓶颈。因此需要重新设计编码器
  • 之前的工作表明难以优化的对象query阻碍了DETR的性能,并提出了query选择方案来用编码器替换普通的可学习嵌入特征。然而,作者观察到当前的query选择直接采用分类分数进行选择,忽略了检测器需要同时对对象的类别和位置进行建模的事实。这不可避免地会导致选择具有低定位信度的编码器特征作为初始query, 从而导致相当大的不确定性并损害DETR的性能。
  • RT-DTER借鉴先进的DETER, 分两步构建RT-DETR: 首先专注于提高速度的同时保持精度,其实在提高精度的同时保持速度。具体地说,设计了一种高效的混合编码器,通过解耦尺度内交互和跨尺度融合来快速处理多尺度特征,以提高速度。然后,提出不确定性最小query选择,为解码器提供高质量的初始query, 从而提高精度。此外,RT-DETR支持灵活的速度调整,通过调整解码器层数来适应各种场景,无需重新训练。

不同变体的编码器结构:

SSE表示单尺度Transformer编码器。MSE表示多尺度Transformer编码器。CSF表示跨尺度融合。AIFI和CCFF是在RT-DETR的混合编码器中设计的两个模块。
在这里插入图片描述

RT-DETR的结构:
在这里插入图片描述

CCFF的结构:
在这里插入图片描述

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

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

相关文章

车联网技术在智能交通系统中的设计与实现(论文+源码)

1系统方案设计 根据系统设计需求,展开系统详细方案设计。如图2.1所示为系统设计结构框图。系统以STM32单片机为主控制器,利用ATGM336 GPS模块实现车辆实时定位,借助倾斜检测模块监测车辆倾斜角度,并通过OLED液晶显示器实时显示监…

揭晓9款敏捷团队必备的协作工具选择

本文将介绍9款团队协作工具:1.Worktile;2. PingCode;3. 融云 (RongCloud);4. 好团队;5. 微软Teams;6. 小钉贴;7. Lark;8. Bit.ai;9. Hive。 在敏捷开发团队中&#xff0c…

Veeam Backup Replication v12.2 发布,新增功能概述

Veeam Backup & Replication v12.2 发布,新增功能概述 Veeam Data Platform | 面向混合云和多云的 备份和恢复 监控和分析 恢复编排 请访问原文链接:https://sysin.org/blog/veeam-backup-12/,查看最新版。原创作品,转载请保…

烂大街的测试左移和右移

01 测试左移与右移的定义 通俗的讲:左移是往开发阶段移,右移是往发布之后移。 正常测试:提测后的测试工作——到——发布验证完成阶段。 测试左移:提测之前的测试。 如:代码单元测试,代码质量检测&#x…

数据结构的三要素以及数据类型和抽象数据类型

一.数据结构的三要素: 二.逻辑结构: 三.数据的运算: 三.数据的物理结构(存储结构): 1.数据的存储结构:有4种 顺序存储 链式存储 索引存储 散列存储 注:顺序存储数据之间必须相…

没有编程基础?这款数据分析工具也能轻松上手

在当前快节奏的工业环境中,工厂管理者越来越依赖数据分析来优化生产流程、提升效率、降低成本。然而,很多传统的数据分析工具不仅操作复杂,而且费用高昂,让不少工厂望而却步。最近,我发现了一款非常实用的报表工具&…

[MySql]保姆级上手教程

介绍 通过数据库管理系统, 编写执行SQL语句, 实现对数据库数据的管理 数据库(DataBase): 储存和管理数据的仓库数据库管理系统(DBMS): 操作和管理数据库的软件SQL语言: 操作关系型数据库的通用语言数据库可以分为关系型数据库和非关系型数据库 相关产品 常见的关系型数据库产…

STM32G474之TIM1捕获1模式

STM32G474采用TIM8产生方波信号,使用TIM1工作于捕获1模式,并计算方波频率。捕获方波周期,在有些开发中,还是能用到。建议开发时使用HAL库自带的库函数。使用寄存器方法也可以实现,但是后期修改不太方便。 测试时&…

springboot学习(2)

1、springboot入门 需求:使用 Springboot 开发一个 web 应用,浏览器发起请求 /hello 后,给浏览器返回字符串 "hello world!" 2、基本尝试步骤 创建Maven工程导入 spring-boot-starter-web (起步依赖)编写Controller提供启动类 &…

无人机 PX4 飞控 | ROS应用层开发:offboard 模式切换详细总结

无人机 PX4 飞控 | ROS应用层开发:offboard 模式切换详细总结 PX4 offboard 模式介绍通过mavros 进行offboard模式切换代码测试 通过地面站进行offboard模式切换通过遥控器拨杆切换offboard模式 PX4 offboard 模式介绍 PX4 是一个广为熟知的开源飞控软件&#xff0…

Yolo环境搭建(深度学习基础环境)

需要安装的东西 CUDAcuDnn魔法 一、CUDA安装(Windows10环境) 第一:下载驱动 第二:查看显卡支持的最高CUDA的版本,以便下载对应的CUDA安装包 第三:确定CUDA版本对应的cuDNN版本,这个其实不用太关注,因为…

宾得相机sd卡格式化了怎么办?分享应对之策

对于摄影爱好者而言,‌相机不仅是捕捉美好瞬间的设备,‌更是珍藏回忆的宝库。‌然而,‌在使用宾得相机的过程中,‌可能会遇到SD卡意外格式化的情况,‌这无疑给许多摄影爱好者带来了不小的困扰。‌SD卡格式化后&#xf…

Shell脚本入门:多命令处理

我的后端学习大纲 我的Linux学习大纲 1.什么是多命令处理 1.多命令处理就是在Shell脚本文件中编写多个Shell命令 2.入门案例: 2.1.需求介绍: 1.在已知目录/root/itheima目录,执行batch.sh脚本,实现在/root/itheima/目录下创建一…

PDF文本指令解析与文本水印去除

上次我在《PDF批量加水印 与 去除水印实践》一文中完成了对图片水印和文字水印的去除。 链接:https://xxmdmst.blog.csdn.net/article/details/139483535 但是对于页面对象的内容对象是单层,不是数组的情况,无法去除水印。今天我们专门研究…

Error running tomcat: Can‘t find catalina.jar

一、错误描述: 在运行 java-web项目时出现报错:Error running tomcat: Can‘t find catalina.jar 二、错误原因: tomcat的路径错误,在idea中配置正确的tomcat路径 三、解决方法: 1.点击EditConfigurations 2.点…

如何通过WinRAR软件有效禁止RAR压缩包内文件的修改

RAR压缩包作为一种广泛使用的文件格式,凭借其高压缩比和强大的功能,成为了许多用户保存和传输文件的首选。然而,在某些情况下,我们可能希望确保RAR压缩包内的文件不被随意修改或删除,以维护文件的安全性和完整性。本文…

CANoe入门(四) :全真实节点阶段和真实节点和部分仿真节点共存阶段,读取和模拟数据

1. 前言 前篇文章我们在CANoe全仿真阶段,模拟数据和信号。这篇文章,我们来看下全真实节点阶段和真实节点和部分仿真节点共存阶段,怎么读取数据信号,和模拟发送数据信号。 2. 全真实节点阶段 全真实节点阶段,所有的 …

LeetCode_sql_day18(1841.联赛信息统计)

描述 表: Teams ------------------------- | Column Name | Type | ------------------------- | team_id | int | | team_name | varchar | ------------------------- team_id 是该表主键. 每一行都包含了一个参加联赛的队伍信息.表: Matches -------…

StarShip v0.5版本更新

CodeSouler更新 IDE插件(CodeSouler) 01 代码补全优化 🚀 解决了Tab操作与IDE自带补全的冲突。 优化代码补全机制,调整触发逻辑并改进防抖算法,减少编码干扰。 修复了JetBrains插件中的多余 ) 和 } 符号问题。 02 代…

【GPT】Coze使用开放平台接口-【4】创建机器人

在前面三篇,我们分别创建了插件,插件里面添加了多个工具。接着,我们把插件添加到工作流内,成为一个开放平台API的调用节点,从而创建出一条业务流。分别是,语音伪造检测工作流,以及通话语音内容分…