论文学习:RT-DETR

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.mzph.cn/news/94958.shtml

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

相关文章

【云备份】

文章目录 [toc] 1 :peach:云备份的认识:peach:1.1 :apple:功能了解:apple:1.2 :apple:实现目标:apple:1.3 :apple:服务端程序负责功能:apple:1.4 :apple:服务端功能模块划分:apple:1.5 :apple:客户端程序负责功能:apple:1.6 :apple:客户端功能模块划分:apple: 2 :peach:环境搭建…

mac电脑任务管理器 Things3 for Mac中文

Things 3是一款效率软件,可以帮助用户规划一天行程、管理项目,并使使用者按部就班地朝目标迈进。以下是Things 3的主要特点和功能: 待办事项:以“待办事项”为基本组成部分,每一则待办事项都是迈向大成就的一小步。用…

Redis-双写一致性

双写一致性 双写一致性解决方案延迟双删(有脏数据的风险)分布式锁(强一致性,性能比较低)异步通知(保证数据的最终一致性,高并发情况下会出现短暂的不一致情况) 双写一致性 当修改了数…

Go 语言内置类型全解析:从布尔到字符串的全维度探究

目录 一、布尔类型定义基础用法声明与初始化逻辑运算 进阶用法条件语句循环结构函数返回值 常见错误与陷阱 二、整数类型定义基础用法声明与初始化运算符位运算 进阶用法数据溢出类型转换类型推断 特殊整数类型runebyte 常见问题和陷阱 三、浮点数类型定义基础用法声明与初始化…

云原生边缘计算KubeEdge安装配置

1. K8S集群部署,可以参考如下博客 请安装k8s集群,centos安装k8s集群 请安装k8s集群,ubuntu安装k8s集群 2.安装kubEedge 2.1 编辑kube-proxy使用ipvs代理 kubectl edit configmaps kube-proxy -n kube-system #修改kube-proxy#大约在40多行…

通过BeanFactotyPostProcessor动态修改@FeignClient的path

最近项目有个需求,要在启动后,动态修改FeignClient的请求路径,网上找到的基本都是在FeignClient里使用${…},通过配置文件来定义Feign的接口路径,这并不能满足我们的需求 由于某些特殊原因,我们的每个接口…

Spring 体系架构模块和三大核心组件介绍

Spring架构图 模块介绍 1. Spring Core(核心容器):提供了IOC,DI,Bean配置装载创建的核心实现。 spring-core :IOC和DI的基本实现 spring-beans:BeanFactory和Bean的装配管理(BeanFactory) spring-context&#xff1…

【计算机网络】HTTPS协议详解

文章目录 一、HTTPS协议 介绍 1、1 HTTP协议不安全的体现 1、2 什么是 HTTPS协议 二、加密的一些概念 2、1 怎么理解加密 2、2 为什么要加密 2、3 常见的加密方式 2、2、1 对称加密 2、2、2 非对称加密 三、HTTPS协议探究加密过程 3、1 只使用对称加密 3、2 只是用非对称加密 3…

【应用层协议】HTTPS的加密流程

文章目录 1. 认识HTTPS2. 密文3. HTTPS加密流程3.1 对称加密3.2 非对称加密3.3 证书 1. 认识HTTPS HTTPS(超文本传输协议安全)也是一个应用层协议,它是在HTTP协议的基础上引入了一个加密层。 也就是HTTP协议传输文本的方式是明文,…

flink选择slot

flink选择slot 在这个类里修改 package org.apache.flink.runtime.resourcemanager.slotmanager.SlotManagerImpl; findMatchingSlot(resourceProfile):找到满足要求的slot(负责从哪个taskmanager中获取slot)对应上图第8,9&…

国庆中秋特辑(八)Spring Boot项目如何使用JPA

目录 一、Spring Boot 项目使用 JPA 的步骤二、Spring Boot 项目使用 JPA 注意事项三、Spring Boot 项目使用 JPA 常用语法 Spring Boot项目如何使用JPA,具体如下 一、Spring Boot 项目使用 JPA 的步骤 添加依赖 在项目的 pom.xml 文件中添加 Spring Boot JPA 和数…

基于SpringBoot的网上超市系统

基于SpringBoot的网上超市系统的设计与实现 开发语言:Java数据库:MySQL技术:SpringBootMyBatis工具:IDEA/Ecilpse、Navicat、Maven 【主要功能】 角色:用户、管理员 管理员:个人中心、用户管理、商品分类…

Electron.js入门-构建第一个聊天应用程序

什么是electron 电子是一个开源框架,用于使用web技术构建跨平台桌面应用程序;即: HTML、CSS和JavaScript;被集成为节点模块,我们可以为我们的应用程序使用节点的所有功能;组件,如数据库、Api休…

【HUAWEI】VLAN+OSPF+单臂路由

目录 🥮写在前面 🥮3.1、拓扑图 🥮3.2、操作思路 🥮3.3、配置操作 🍣3.3.1、LSW2配置 🍣3.3.2、LSW3配置 🍣3.3.3、R1配置 🍣3.3.4、R2配置 🍣3.3.5、LSW1配置 &#x1f…

力扣 -- 518. 零钱兑换 II(完全背包问题)

解题步骤&#xff1a; 参考代码&#xff1a; 未优化代码&#xff1a; class Solution { public:int change(int amount, vector<int>& coins) {int ncoins.size();//多开一行&#xff0c;多开一列vector<vector<int>> dp(n1,vector<int>(amount1…

Python3数据科学包系列(三):数据分析实战

Python3中类的高级语法及实战 Python3(基础|高级)语法实战(|多线程|多进程|线程池|进程池技术)|多线程安全问题解决方案 Python3数据科学包系列(一):数据分析实战 Python3数据科学包系列(二):数据分析实战 Python3数据科学包系列(三):数据分析实战 一: 数据分析与挖掘认知…

Linux apt-get update - Could not connect to XXX(Connection refused)

Linux: apt-get update ----Err:Could not connect to XXX(Connection refused) - 知乎 先换源&#xff08;vi不好使用&#xff0c;可以换成gedit&#xff09; 若还是不行&#xff0c;可以再尝试执行&#xff1a; unset http_proxy unset https_proxy

图像分割中的色块的提取

一 色块提取方法&#xff1a; ①首先是色彩模型的转换 由RGB颜色空间转到HSV颜色空间 原因&#xff1a;RGB颜色空间适合显示系统&#xff0c;但是各分量间相关性很强&#xff0c;比如当图像亮度发生变化时&#xff0c;RGB三个分量都会发生相应改变 但是HSV颜色空间更能感知颜色…

ubuntu22.04 x11窗口环境手势控制

ubuntu22.04 x11窗口环境手势控制 ubuntu x11窗口环境的手势控制并不优秀&#xff0c;我们可以使用touchegg去代替 这个配置过程非常简单&#xff0c;并且可以很容易在一定范围内达到你想到的效果&#xff0c;类比mac的手势控制 关于安装 首先添加源&#xff0c;并安装 sud…

【NeurIPS 2023】Backdoor对抗攻防论文汇总

NeurIPS 对抗攻防论文 NeurIPS2022|对抗攻防论文整理 - 知乎 NeurIPS 2023 Papers BIRD: Generalizable Backdoor Detection and Removal for Deep Reinforcement Learning https://neurips.cc/virtual/2023/poster/70618 摘要&#xff1a; 后门攻击对深度强化学习&…