RTDETR阅读笔记

2023-12-01 06:44
文章标签 笔记 阅读 rtdetr

本文主要是介绍RTDETR阅读笔记,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

RTDETR阅读笔记

摘要

  • DETR的高计算成本限制了它们的实际应用,并阻碍了它们充分利用无需后处理(例如非最大抑制NMS)的优势。
  • 文中首先分析了NMS对实施目标检测的精度和速度的负面影响。(RTDETR是第一个实时端到端的目标检测器。具体来说,我们设计了一个高效的混合编码器,通过解耦内部尺度交互和跨尺度融合来有效处理多尺度特征,并提出了IoU感知查询选择,通过向解码器提供更高质量的初始对象查询来进一步提高性能。此外,我们提出的检测器支持通过使用不同的解码器层来灵活调整推理速度,而无需重新训练,这有助于在各种实时场景中的实际应用。)

Introduction

  • 基于变换器的对象检测器(DETR)自提出以来就受到了学术界的广泛关注,原因在于它消除了各种手工制作的组件,例如非最大抑制(NMS)

  • 一般实时检测通常都需要NMS做后续处理,且NMS难以优化,并且鲁棒性不够,还导致推理时间的浪费

  • DETR有不需要NMS的优势,但是其具有高计算成本问题,限制了DETR的实际应用,并导致无法充分利用它们的优势。

  • 为了实现实时对象检测,我们设计了一个高效的混合编码器来替代原始的变换器编码器。通过解耦多尺度特征的内部尺度交互和跨尺度融合,编码器能够有效处理不同尺度的特征。

  • 此外,之前的研究[40、24]表明,解码器的对象查询初始化方案对检测性能至关重要。为了进一步提高性能,我们提出了IoU感知查询选择,通过在训练期间提供IoU约束,向解码器提供更高质量的初始对象查询。

[40] Yingming Wang, Xiangyu Zhang, Tong Yang, and Jian Sun. Anchor detr: Query design for transformer-based detector. In Proceedings of the AAAI conference on artificial intelligence, volume 36, pages 2567–2575, 2022. 1, 2, 3, 6, 7

[24] Shilong Liu, Feng Li, Hao Zhang, Xiao Yang, Xianbiao Qi, Hang Su, Jun Zhu, and Lei Zhang. Dab-detr: Dynamic anchor boxes are better queries for detr. arXiv preprint arXiv:2201.12329, 2022. 1, 2, 3, 6, 7

本文的主要贡献总结如下:(i)我们提出了第一个实时端到端对象检测器,不仅在速度和精度上超越了当前最先进的实时检测器,而且不需要后处理,因此其推理速度没有延迟并保持稳定;(ii)我们详细分析了NMS对实时检测器的影响,并从后处理的角度得出关于当前实时检测器的结论;(iii)我们的工作为当前端到端检测器的实时实现提供了一种可行的解决方案,所提出的检测器可以通过使用不同的解码器层灵活调整推理速度,无需重新训练,这在现有的实时检测器中很难实现。

相关工作

2.1实时目标检测

YOLO的瓶颈目前是NMS,NMS的超参数和对检测器精度、速度有显著影响,所以NMS或许并不适合存在于实时检测的网络模型当中。

2.2 End-to-End目标检测

尽管DETR有明显的优势,但它仍存在两个主要问题:训练收敛慢和查询优化难。已经提出了许多DETR变体来解决这些问题。具体来说,Deformable-DETR[49]通过增强注意力机制的效率,使用多尺度特征加速训练收敛。Conditional DETR[27]和Anchor DETR[40]减少了查询的优化难度。DAB-DETR[24]引入了4D参考点,并逐层迭代优化预测框。DN-DETR[20]通过引入查询去噪来加速训练收敛。Group-DETR[6]通过引入分组式一对多分配来加速训练。DINO[46]在前人工作的基础上取得了最先进的结果。尽管我们在不断改进DETR的组件,但我们的目标不仅是进一步提高性能,还要创建一个实时的端到端对象检测器。

2.3. 多尺度特征在对象检测中的应用。 现代对象检测器已经展示了利用多尺度特征来提高性能的重要性,特别是对于小型对象。FPN[22]引入了一个特征金字塔网络,融合了相邻尺度的特征。随后的工作[25、11、35、13、18、38、14]扩展并增强了这一结构,并被广泛应用于实时对象检测器中。朱等人[49]首次将多尺度特征引入DETR,提高了性能和收敛速度,但这也导致了DETR的计算成本显著增加。尽管变形注意力机制在一定程度上缓解了计算成本,但多尺度特征的融合仍然导致高计算负担。为了解决这个问题,一些工作尝试设计计算效率高的DETR。Efficient DETR[43]通过用密集先验初始化对象查询,减少了编码器和解码器层的数量。Sparse DETR[32]选择性地更新预计会被解码器引用的编码器标记,从而减少计算开销。Lite DETR[19]通过以交错方式减少低层特征的更新频率,提高了编码器的效率。尽管这些研究降低了DETR的计算成本,但这些工作的目标并不是将DETR推广为实时检测器。

End-to-end Speed of Detectors

3.1 Analysis of NMS

NMS算法需要俩个超参数:score threshold and IOU threshold

NMS所消耗的时间绝对多数取决于俩个超参数的设置以及预测boxes的数量

NMS算法非常容易收到Score threshold的影响
在这里插入图片描述

3.2. End-to-end Speed Benchmark

  • Anchor free在相当精度的情况下比基于锚点的检测器性能更好,因为前者的后处理时间比后者少得多。因为Anchor-based产生的框更多,NMS处理的时间更多。

为了公平比较各种实时检测器的端到端推理速度,我们建立了一个端到端速度测试基准。考虑到NMS的执行时间可能受输入图像的影响,选择一个基准数据集并计算多个图像的平均执行时间是必要的。这个基准采用COCO val2017作为默认数据集,并为需要后处理的实时检测器附加TensorRT的NMS后处理插件。具体来说,我们根据在基准数据集上取得的相应精度的超参数测试检测器的平均推理时间,并排除IO和内存复制操作。我们利用这个基准测试了基于锚点的检测器YOLOv5[13]和YOLOv7[38]以及无锚点的检测器PP-YOLOE[41]、YOLOv6[18]和YOLOv8[14]在T4 GPU上的端到端速度。测试结果显示在表2中。根据结果,我们得出结论,对于需要NMS后处理的实时检测器,无锚点检测器在具有相当精度的情况下比基于锚点的检测器性能更好,因为前者的后处理时间比后者少得多,这在之前的工作中被忽略了。这种现象的原因是基于锚点的检测器比无锚点检测器产生更多的预测框(在我们测试的检测器中多出三倍)。

在这里插入图片描述

4.The Real-time DETR

4.1. Model Overview

  • RT-DETR consists of Backbone, a hybrid encoder, a transformer decoder with auxiliary prediction heads。
    在这里插入图片描述

使用Backbone的S3, S4, S5最后三层作为encoder的输入。

hybrid encoder通过内部尺度交互和跨尺度融合将多尺度特征转换为a sequence of image features。

IOU-aware query从编码器输出序列中选择固定数量的图像特征,作为解码器的初始对象查询

最后,带有辅助预测头的解码器迭代优化对象查询,生成框和置信度分数。

4.2. Efficient Hybrid Encoder

Computational bottleneck analysis.

  • 高级特征都是从包含丰富语义信息的低级特征中提出得到的。直观上,对连接的多尺度特征进行特征交互是多余的。

为了验证这个观点,我们重新思考了编码器结构,并设计了一系列具有不同编码器的变体,如图5所示。这组变体通过将多尺度特征交互解耦为内部尺度交互和跨尺度融合的两步操作,逐渐提高模型精度的同时显著降低了计算成本(详细指标参见表3)。我们首先移除DINO-R50[46]中的多尺度变换器编码器作为基线A。接下来,插入不同形式的编码器以产生一系列基于基线A的变体,具体如下:

  • A → B:变体B插入了单尺度变换器编码器,它使用一层变换器块(One layer of transformer block.)。每个尺度的特征共享编码器进行内部尺度特征交互,然后将输出的多尺度特征进行连接。
  • B → C:变体C在B的基础上引入了跨尺度特征融合,并将连接的多尺度特征输入编码器进行特征交互。
  • C → D:变体D将多尺度特征的内部尺度交互和跨尺度融合解耦。首先,使用单尺度变换器编码器进行内部尺度交互,然后利用类似PANet[25]的结构进行跨尺度融合。
  • D → E:变体E在D的基础上进一步优化了多尺度特征的内部尺度交互和跨尺度融合,采用了我们设计的高效混合编码器(详见下文)。

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

Hybrid design:

the Attention-based Intra-scale Feature Interaction (AIFI) module and the CNN-based Cross-scale Feature-fusion Module (CCFM).

AIFI further reduces computational redundancy based on variant D, which only performs intra-scale interaction on S5.(变体D,如果只在S5进行intra-scale,还可以减少计算冗余)

我们认为,将自注意力操作应用于含有丰富语义概念的高层特征可以捕获图像中概念实体之间的联系,这有助于后续模块检测和识别图像中的对象。同时,由于缺乏语义概念以及与高层特征交互的重复和混淆风险,低层特征的内部尺度交互是不必要的。

为了验证这一观点,我们在变体D中只在S5上执行内部尺度交互,实验结果报告在表3中,参见DS5行。与普通变体D相比,DS5显著减少了延迟(快了35%),但提高了精度(AP提高了0.4%)。这个结论对于实时检测器的设计至关重要。

4.3.IOU-aware Query Selection

  • 在DETR中,object query十一组可学习的embeding。通过解码器优化,并通过预测投影射到分类分数和边界框。然而,这些对象查询难以解释和优化,因为它们没有明确的物理含义。

  • 后续都是提出了对object query初始化的改进,们的共同点是利用分类分数从编码器中选择前K个特征来初始化对象查询(或仅位置查询[46])。然而,由于分类分数和位置置信度的分布不一致,一些预测框具有高分类分数但与GT(Ground Truth,真实框)框不接近,导致选择了具有高分类分数但低IoU分数的框,而丢弃了具有低分类分数但高IoU分数的框。这损害了检测器的性能。

  • 本文提出了IoU感知查询选择(IoU-aware Query Selection),在训练过程中通过约束模型对具有高IoU分数的特征产生高分类分数,对具有低IoU分数的特征产生低分类分数。

  • 根据分类分数由模型选择的前K个编码器特征对应的预测框既具有高分类分数又具有高IoU分数。

Effectiveness analysis

在这里插入图片描述

为了分析所提出的IoU感知查询选择的有效性,我们可视化了在val2017数据集上通过查询选择选出的编码器特征的分类分数和IoU分数,如图6所示。具体来说,我们首先根据分类分数选择前K个(我们实验中K=300)编码器特征,然后可视化分类分数大于0.5的散点图。红色和蓝色点分别是通过应用普通查询选择和IoU感知查询选择训练的模型计算出的。点越接近图形的右上方,对应特征的质量越高,即分类标签和边界框更有可能描述图像中的真实对象。根据可视化结果,我们发现最显著的特征是大量蓝点集中在图形的右上方,而红点集中在右下方。这表明使用IoU感知查询选择训练的模型可以产生更多高质量的编码器特征。

此外,我们定量分析了这两种点的分布特征。图中蓝点比红点多138%,即更多的红点分类分数小于或等于0.5,可以被认为是低质量特征。然后我们分析了分类分数大于0.5的特征的IoU分数,发现IoU分数大于0.5的蓝点比红点多120%。定量结果进一步表明,IoU感知查询选择可以为对象查询提供更多具有准确分类(高分类分数)和精确位置(高IoU分数)的编码器特征,从而提高检测器的准确性。详细的定量结果将在第5.4节中呈现。

4.4. Scaled RT-DETR

为了提供可扩展版本的RT-DETR,我们用HGNetv2替换了ResNet[16]主干网络。我们使用深度乘数和宽度乘数共同缩放主干网络和混合编码器。因此,我们得到了两个版本的RT-DETR,它们在参数数量和FPS上有所不同。对于我们的混合编码器,我们通过调整CCFM中的RepBlocks数量和编码器的嵌入维数来控制深度乘数和宽度乘数。值得注意的是,我们提出的不同规模的RT-DETR维持了一个同质的解码器,这有助于使用高精度大型DETR模型[7、31、46、50、3、42]对轻量级检测器进行蒸馏。这将是一个可探索的未来方向。

这篇关于RTDETR阅读笔记的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/440194

相关文章

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟 开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚 第一站:海量资源,应有尽有 走进“智听

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2

【C++学习笔记 20】C++中的智能指针

智能指针的功能 在上一篇笔记提到了在栈和堆上创建变量的区别,使用new关键字创建变量时,需要搭配delete关键字销毁变量。而智能指针的作用就是调用new分配内存时,不必自己去调用delete,甚至不用调用new。 智能指针实际上就是对原始指针的包装。 unique_ptr 最简单的智能指针,是一种作用域指针,意思是当指针超出该作用域时,会自动调用delete。它名为unique的原因是这个

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi

取得 Git 仓库 —— Git 学习笔记 04

取得 Git 仓库 —— Git 学习笔记 04 我认为, Git 的学习分为两大块:一是工作区、索引、本地版本库之间的交互;二是本地版本库和远程版本库之间的交互。第一块是基础,第二块是难点。 下面,我们就围绕着第一部分内容来学习,先不考虑远程仓库,只考虑本地仓库。 怎样取得项目的 Git 仓库? 有两种取得 Git 项目仓库的方法。第一种是在本地创建一个新的仓库,第二种是把其他地方的某个