【论文阅读】 YOLOv10: Real-Time End-to-End Object Detection

news2024/11/17 5:03:41

文章目录

  • Abstract
  • Introduction
  • Related Work
  • Methodology
    • Consistent Dual Assignments for NMS-free Training (无NMS训练的一致性双重任务分配)
    • Holistic Efficiency-Accuracy Driven Model Design (效率-精度驱动的整体模型设计)
  • Experiment
  • Conclusion

YOLOv10:实时端到端的目标检测
GitHub
paper

单位:清华大学

Abstract

在过去几年中,YOLOs 因其在计算成本和检测性能之间的有效平衡而成为实时目标检测领域的主流模式。研究人员对 YOLOs 的架构设计、优化目标、数据增强策略等进行了探索,并取得了显著进展。然而,后处理对非最大抑制(NMS)的依赖阻碍了 YOLO 的端到端部署,并对推理延迟产生了不利影响。此外,YOLOs 中各种组件的设计缺乏全面彻底的检查,导致明显的计算冗余,限制了模型的能力。这使得效率不尽如人意,性能还有很大的提升空间。在这项工作中,我们旨在从后处理和模型架构两方面进一步推进 YOLO 的性能-效率边界。为此,我们首先提出了用于 YOLOs 无 NMS 训练的一致双分配,它同时带来了有竞争力的性能和较低的推理延迟。此外,我们还为 YOLOs 引入了效率-精度驱动的整体模型设计策略。我们从效率和准确性两个角度全面优化了 YOLO 的各个组成部分,从而大大降低了计算开销,提高了能力。我们努力的成果是用于实时端到端目标检测的新一代 YOLO 系列,被称为 YOLOv10。大量实验表明,YOLOv10 在各种模型规模下都实现了最先进的性能和效率。例如,在 COCO 上相似的 AP 下,我们的 YOLOv10-S 比 RT-DETR-R18 快 1.8 倍,同时参数和 FLOPs 数量少 2.8 倍。与 YOLOv9-C 相比,在性能相同的情况下,YOLOv10-B 的延迟减少了 46%,参数减少了 25%。

Introduction

实时目标检测一直是计算机视觉领域的研究热点。
YOLOs 的检测流程由两部分组成:**模型前向处理和 NMS 后处理。**然而,这两部分仍存在缺陷,导致精度-延迟边界不理想。

具体来说,YOLO 在训练过程中通常采用一对多的标签分配策略,即一个地面实况对象对应多个正样本。尽管这种方法性能优越,但在推理过程中,NMS 必须选择最佳的正向预测。这就降低了推理速度,使性能对 NMS 的超参数非常敏感,从而阻碍了 YOLOs 实现最佳端到端部署。解决这一问题的方法之一是采用最近推出的端到端 DETR 架构 。例如,RT-DETR 提出了一种高效的混合编码器和不确定性最小的查询选择,将 DETR 推向了实时应用领域。然而,部署 DETR 本身的复杂性阻碍了它在准确性和速度之间达到最佳平衡的能力。另一条思路是探索基于 CNN 的端到端检测,通常利用一对一分配策略来抑制冗余预测 。然而,这些方法通常会引入额外的推理开销,或实现次优性能。

此外,模型结构设计仍然是 YOLOs 面临的一个基本挑战,它对精度和速度有重要影响。为了实现更高效、更有效的模型架构,研究人员探索了不同的设计策略。为提高特征提取能力,骨干网采用了多种主要计算单元,包括 DarkNet [43, 44, 45]、CSPNet [2]、EfficientRep [27] 和 ELAN [56, 58] 等。对于颈部,则探索了 PAN [35]、BiC [27]、GD [54] 和 RepGFPN [65] 等增强多尺度特征融合的方法。此外,还研究了模型缩放策略[56, 55]和重新参数化[10, 27]技术。虽然这些努力取得了显著进展,但仍缺乏从效率和准确性两个角度对 YOLOs 中各种组件的全面检测。因此,在 YOLOs 中仍然存在相当多的计算冗余,导致参数利用效率低下和效率不理想。此外,由此产生的受限模型能力也会导致性能低下,为提高精度留下了很大的空间。

在这项工作中,我们的目标是解决这些问题,并进一步推进 YOLO 的精度-速度界限。我们的目标是后处理和整个检测管道中的模型架构。为此,我们首先解决了后处理中的冗余预测问题,提出了无 NMS YOLOs 的一致双重分配策略,即双重标签分配和一致匹配度量。它使模型在训练过程中享受丰富而和谐的监督,同时在推理过程中无需 NMS,从而以高效率获得有竞争力的性能。其次,我们通过对 YOLOs 中的各个组件进行全面检查,为模型架构提出了效率-精度驱动的整体模型设计策略。在效率方面,我们提出了轻量级分类头、空间信道解耦下采样和等级引导块设计,以减少显性计算冗余,实现更高效的架构。在精度方面,我们探索了大核卷积,并提出了有效的部分自注意模块,以增强模型能力,在低成本的情况下利用潜在的性能改进。

基于这些方法,我们成功地实现了具有不同模型尺度的新型实时端到端检测器系列,即 YOLOv10-N / S / M / B / L / X。
在这里插入图片描述
如图 1 所示,在性能相似的情况下,我们的 YOLOv10-S / X 比 RT-DETRR18 / R101 分别快 1.8 倍和 1.3 倍。与 YOLOv9-C 相比,YOLOv10-B 在性能相同的情况下减少了 46% 的延迟。此外,YOLOv10 还表现出高效的参数利用率。我们的 YOLOv10-L / X 性能分别比 YOLOv8-L / X 高出 0.3 AP 和 0.5 AP,参数数量分别少 1.8 倍和 2.3 倍。OLOv10-M与 YOLOv9-M / YOLO-MS 相比,AP 与 YOLOv9-M / YOLO-MS 相似,参数分别减少了 23% 和 31%。

Related Work

Methodology

Consistent Dual Assignments for NMS-free Training (无NMS训练的一致性双重任务分配)

在训练过程中,YOLOs [20, 59, 27, 64] 通常利用 TAL [14] 为每个实例分配多个正样本。采用一对多的分配方式可以获得大量的监督信号,从而促进优化并获得卓越的性能。但是,这使得 YOLOs 必须依赖 NMS 的后处理,从而导致部署推理效率不理想。虽然之前的研究 [49, 60, 73, 5] 探索了一对一匹配来抑制冗余预测,但它们通常会引入额外的推理开销或产生次优性能。在这项工作中,我们提出了一种无 NMS 的 YOLOs 训练策略,它具有双标签分配和一致的匹配度量,实现了高效率和有竞争力的性能。

双标签分配。与一对多分配不同,一对一匹配只为每个真值分配一个预测,避免了 NMS 后处理。然而,这种方法会导致弱监督,从而使精度和收敛速度达不到最佳水平 [75]。幸运的是,这种缺陷可以通过一对多的分配来弥补 [5]。为此,我们为 YOLOs 引入了双标签分配,以结合两种策略的优点。具体来说,如图 2(a)所示,我们为 YOLOs 引入了另一种一对一头。它保留了与原来一对多分支相同的结构和优化目标,但利用一对一匹配来获得标签分配。在训练过程中,两个检测头与模型共同优化,让骨干和颈部享受一对多分配提供的丰富监督。在推理过程中,我们舍弃一对多检测头,利用一对一检测头进行预测。这样,端到端部署就可以实现 YOLO,而不会产生任何额外的推理成本。此外,在一对一匹配中,我们采用了前一个选择,这与匈牙利匹配[4]的性能相同,但额外的训练时间更少。

在这里插入图片描述
一致匹配度量。在分配过程中,一对一和一对多方法都会利用一个指标来定量评估预测和实例之间的一致程度。为了实现两个分支的预测感知匹配,我们采用了统一匹配度量,即
在这里插入图片描述
其中 p 是分类得分,ˆb 和 b 分别表示预测和真实的边界框。s 代表空间先验,表示预测的锚点是否在实例内 [20, 59, 27, 64]。α 和 β 是两个重要的超参数,用于平衡语义预测任务和位置回归任务的影响。我们将一对多指标和一对一指标分别记为
在这里插入图片描述
这些指标会影响两个标头的标签分配和监督信息。

在双标签分配中,一对多分支提供的监督信号比一对一分支丰富得多。直观地说,如果我们能协调一对一标头和一对多标头的监督,我们就能朝着一对多标头的优化方向优化一对一标头。因此,一对一标头可以在推理过程中提高样本质量,从而获得更好的性能。为此,我们首先分析了两个计算头之间的监督差距。由于训练过程中的随机性,我们在一开始就对两个 "头 "进行检查,这两个 "头 "以相同的值初始化并产生相同的预测,即一对一 "头 "和一对多 "头 "对每个预测-实例对产生相同的 p 和 IoU。我们注意到,两个分支的回归目标并不冲突,因为匹配的预测会共享相同的目标,而不匹配的预测则会被忽略。因此,监督差距在于不同的分类目标。给定一个实例,我们将其最大的预测 IoU 记为 u ∗ ,最大的一对多和一对一匹配分数分别记为 m∗ o2m 和 m∗ o2o。假设一对多分支产生正样本 Ω,一对一分支选择第 i 个预测,其指标为 mo2o,i=m∗ o2o、 然后,我们可以得出分类目标 to2m,j=u ∗ - mo2m,j m∗ o2m ≤ u ∗(对于 j∈ Ω)和 to2o,i=u ∗ - mo2o,i m∗ o2o =u ∗(对于任务对齐损失),如 [20,59,27,64,14] 所示。因此,两个分支之间的监督差距可以通过不同分类目标的 1-Wasserstein 距离得出:
在这里插入图片描述
我们可以观察到,差距随着 to2m,i 的增大而减小,即 i 在 Ω 中的排名靠前。如图 2.(a) 所示,当 to2m,i=u∗ 时,差距达到最小,即 i 是 Ω 中最好的正样本。为此,我们提出了一致匹配度量,即 αo2o=r - αo2m 和 βo2o=r - βo2m,这意味着 mo2o=mr o2m。因此,一对多磁头的最佳正样本也是一对一磁头的最佳正样本。因此,这两个磁头可以得到一致、和谐的优化。为简单起见,我们默认 r=1,即 αo2o=αo2m 和 βo2o=βo2m。为了验证改进后的监督配准,我们统计了训练后一对多结果的前 1 / 5 / 10 中一对一匹配对的数量。如图 2(b)所示,在一致匹配度量下,配准得到了改善。如需更全面地了解数学证明,请参阅附录。

Holistic Efficiency-Accuracy Driven Model Design (效率-精度驱动的整体模型设计)

效率驱动的模型设计。YOLO 的组件包括stem, downsampling layers, stages with basic building blocks, and the head.。stem的计算成本较低,因此我们对其他三个部分进行了效率驱动模型设计。

(1) 轻量级分类头。在 YOLOs 中,分类头和回归头通常采用相同的架构。但是,它们在计算开销方面表现出明显的差异。例如,在 YOLOv8-S 中,分类头的 FLOPs 和参数数(5.95G/1.51M)分别是回归头(2.34G/0.64M)的 2.5 倍和 2.4 倍。不过,在分析了分类误差和回归误差的影响后(见表 6),我们发现回归头对 YOLO 性能的影响更大。因此,我们可以减少分类头的开销,而不必担心性能会受到很大影响。因此,我们简单地采用了一种轻量级的分类头架构,它由两个深度可分离卷积[24, 8]组成,内核大小为 3×3,然后是 1×1 卷积。

(2) 空间-通道解耦降采样。YOLO 通常利用步长为 2 的常规 3×3 标准卷积,同时实现空间降采样(从 H × W 到 H 2 × W 2)和通道转换(从 C 到 2C)。这将带来不可忽略的计算成本 O( 9 2HW C2 ) 和参数数量 O(18C 2 ) 。取而代之的是,我们建议将空间缩小和通道增加操作解耦,从而实现更高效的下采样。具体来说,我们首先利用点卷积来调节通道维度,然后利用深度卷积来执行空间下采样。这将计算成本降低到 O(2HW C2 + 9 2HW C),参数数量降低到 O(2C 2 + 18C)。同时,它最大限度地保留了下采样过程中的信息,从而在降低延迟的同时实现了极具竞争力的性能。

(3) 等级引导的模块设计。YOLO 通常在所有阶段采用相同的基本构件 [27, 59],例如 YOLOv8 [20] 中的瓶颈构件。为了彻底检查 YOLO 的这种同构设计,我们利用本征等级 [31, 15] 来分析每个阶段的冗余度。具体来说,我们计算每个阶段中最后一个基本块中最后一次卷积的数值秩,其中计算大于阈值的奇异值的数量。图 3.(a) 显示了 YOLOv8 的结果,表明深度阶段和大型模型容易出现更多冗余。这一观察结果表明,简单地对所有阶段应用相同的块设计并不能实现最佳的容量-效率权衡。为了解决这个问题,我们提出了一种等级引导的区块设计方案,旨在通过紧凑的架构设计来降低冗余阶段的复杂性。我们首先提出了一种紧凑型反转块(CIB)结构,它采用廉价的深度卷积进行空间混合,并采用经济高效的点卷积进行信通道混合。它可以作为高效的基本构件,例如嵌入 ELAN 结构[58, 20](图 3.(b))。然后,我们主张采用等级引导的模块分配策略,在保持有竞争力的容量的同时实现最佳效率。具体来说,给定一个模型后,我们根据其内在等级以升序对其所有阶段进行排序。我们将进一步检验用 CIB 替换领先阶段基本区块的性能变化。如果与给定模型相比性能没有下降,我们就继续替换下一阶段,反之则停止这一过程。因此,我们可以实现跨阶段和跨模型规模的自适应紧凑块设计,在不影响性能的情况下实现更高的效率。由于篇幅限制,我们在附录中提供了算法的详细信息

在这里插入图片描述
精度驱动模型设计。我们进一步探索了大核卷积和自注意力的精度驱动设计,旨在以最小的成本提高性能。

(1) 大核卷积。采用大核深度卷积是扩大感受野和增强模型能力的有效方法 [9, 38, 37]。但是,如果在所有阶段都简单地利用它们,可能会对用于检测小物体的浅层特征造成污染,同时也会在高分辨率阶段带来巨大的 I/O 开销和延迟[7]。因此,我们建议在深度阶段利用 CIB 中的大核深度卷积。具体来说,我们仿照文献[37],将 CIB 中第二个 3×3 深度卷积的核大小增加到 7×7。此外,我们还采用了结构重参数化技术 [10, 9, 53],引入了另一个 3×3 深度卷积分支,在不增加推理开销的情况下缓解了优化问题。此外,随着模型大小的增加,其感受野自然也会扩大,使用大核卷积的好处也会随之减少。因此,我们只在模型规模较小的情况下采用大核卷积。

(2) 部分自注意力(PSA)。自注意力[52]因其卓越的全局建模能力而被广泛应用于各种视觉任务中[36, 13, 70]。然而,它的计算复杂度和内存占用都很高。为了解决这个问题,考虑到普遍存在的注意头冗余问题 [63],我们提出了一种高效的部分自注意(PSA)模块设计,如图 3©所示。具体来说,我们在 1×1 卷积后将各通道的特征平均分成两部分。我们只将其中一部分输入由多头自注意模块(MHSA)和前馈网络(FFN)组成的 NPSA 模块。然后,两部分通过 1×1 卷积进行连接和融合。此外,我们遵循文献[21],将查询和关键字的维度分配为 MHSA 中值的一半,并用 BatchNorm [26] 代替 LayerNorm [1],以实现快速推理。此外,PSA 只放在分辨率最低的第 4 阶段之后,避免了自注意力的二次计算复杂度带来的过高开销。这样,全局表示学习能力就能以较低的计算成本融入 YOLOs,从而很好地增强了模型的能力,提高了性能。

Experiment

在这里插入图片描述

在这里插入图片描述

Conclusion

在本文中,我们将后处理和模型架构作为整个 YOLOs 检测流程的目标。在后处理方面,我们提出了无 NMS 训练的一致双重分配,实现了高效的端到端检测。在模型架构方面,我们引入了效率-精度驱动的整体模型设计策略,改善了性能-效率的权衡。这些都为我们带来了全新的实时端到端对象检测器 YOLOv10。广泛的实验表明,与其他先进的检测器相比,YOLOv10 的性能和延迟都达到了最先进的水平,充分证明了它的优越性。

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

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

相关文章

如何在window中快速建立多个文件夹?

时隔多年,再次开始撰写文章,但是这次却是以设计师的身份 1. 几个基础快捷键先记一下,要不更高级的玩儿不转(1)快速打开资源管理器(2)快速建立新文件夹(3)快速修改文件文件…

作为 App 开发者会推荐安装的 Mac App

Xcode,作为 App 开发者,必须安装的工具。当然,有经验的开发者不会从 Mac App Store 下载,而是从网站下载,除了安装过程更可控,也方便多版本共存。此外,我不信任任何第三方下载方式: …

[LLM-Agents]浅析Agent工具使用框架:MM-ReAct

上文LLM-Agents]详解Agent中工具使用Workflow提到MM-ReAct框架,通过结合ChatGPT 与视觉专家模型来解决复杂的视觉理解任务的框架。通过设计文本提示(prompt design),使得语言模型能够接受、关联和处理多模态信息,如图像…

网络安全技术心得体会

网络与信息安全技术心得体会 通过对网络安全这门课程的学习,我进一步了解了网络安全技术的相关知识。大致来说,所谓网络安全指的是对网络系统中各类软硬件和数据信息等提供保护屏障,确保数据信息不受到恶意侵入、窃取等破坏,保证…

FaceFusion源码框架解读

FaceFusion源码框架解读 我的视频讲解:FaceFusion入门教学 FaceFusion官网 FaceFusion是一款开源的AI换脸工具,一款非常好用的换脸工具,操作简单,上手容易。 Facefusion:GitHub - facefusion/facefusion: Next gene…

最新Adaptive特征融合策略,涨点又高效,想发表论文可以参考

自适应特征融合是一种非常高效的数据处理方法,它比传统的特征更能适应不同的数据和任务需求,也因此拥有广泛的应用前景,是深度学习领域的研究热点。 这种方法通过动态选择和整合来自不同层次或尺度的特征信息,不仅显著提升了模型…

USB抓包工具:bushound安装及使用

一、环境搭建 下载busbound6.01安装包,安装完成,重启电脑。 二、工具配置 按照下图配置工具: 使能自动识别新设备 2. 设置抓取数据的容量 三、抓包 回到capture选项卡,在页面的右下角有个run的按钮,点击使能&…

nacos-opera(k8s)安装问题解决

整理一些关于k8s部署nacos出现的一些恶心的问题 网上说其他说的更改数据库连接都未解决。 在用nacos-opera想安装高可用nacos时连接mysql数据库报错: 报错具体项: No DataSource set 具体就是说没找到数据源。 第一个 检查一下nacos连接数据库配置 : 第二个 检查一下数据库…

视频监控汇聚平台LntonCVS通过GB/T28181国标协议实现视频监控平台的级联方案

近年来,随着网络视频监控应用范围的拓展,越来越多的政府部门和跨区域行业单位对视频监控的需求已经不局限于本地联网监控。他们正在探索在原有的本地联网监控基础上,建设省级乃至全国范围内的跨区域监控联网,以全面打造数据共享平…

【Unity2D:C#Script】实现角色射击功能

一、创建子弹预制体 1. 创建子弹预制体 2. 调整图片大小、层级 二、为子弹添加碰撞体积 1. 添加Box Collider 2D、Rigidbody 2D组件 2. 锁定z轴 三、编辑敌人脚本 注:在以下代码中,只显示本章节新增的代码,省略原有的代码 1. 为敌人添加生…

安科瑞为河南省促进分布式光伏发电健康持续发展提供解决方案

1 光伏、储能运维市场分析 在光伏、储能行业飞速发展的同时,已建的光伏、风力发电站和储能系统的监控、运维管理项目的招标也非常多,2023年上半年,光伏电站开发企业运维招标规模28.6GW,同比增长204.3%,上述28.6GW招标…

抖店一件代发,从0到1操作全流程

我是王路飞。 先说明一点,新手不需要纠结抖店一件代发(即无货源模式)还能不能做的问题。 无货源只是前期帮助新手阶段的你进入到这个市场里来的一种方式,不是你长期做店的思路。 入门之后,基本就转型为有货源去玩了…

深度学习之基于暗通道算法+卷积神经网络图像去雾可视化系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 一、项目背景与意义 在图像处理领域,图像去雾技术一直是一个重要的研究方向。由于雾霾等天气条件的影响…

vue项目中如何使用iconfont

导读:vue项目中引入iconfont的方式 iconfont 的三种使用方法 unicode 不常用Font class 像字体一样使用,默认黑色图标,无法修改颜色Symbol 支持多色图标,更灵活,推荐 一、unicode 略 二、Font class 方式一&#…

一般EI论文的格式是什么样的?

论文应该符合会议的提交要求和模板,包括页面格式、字体、字号、行距等。可以在特定会议的官方网站上找到详细的提交指南和模板。 EI会议论文的格式通常遵循以下基本结构: 标题和作者信息:论文标题应该简洁明了,能够准确概括您研究…

【金砖赛】基于docker搭链

一.基于docker搭建 启动并检查是否启动成功 #启动命令 sudo systemctl start docker#检查命令 sudo systemctl status docker修改权限 chomd 777 build_chain.sh 进行4节点联盟链搭建(举例) sudo ./build_chain.sh -d -l "127.0.0.1…

Java web应用性能分析之【高并发之缓存-多级缓存】

说到缓存,作为java开发第一时间想到的是不是上图所示的Redis,又或者是Guava Cache、Caffeine、EhCache这些;Redis作为分布式缓存、其他的可以作为本地缓存。但是作为一名资深开发人员,着眼的层面应该再提升一个级别,从…

云上聚智——移动云云服务器进行后端的搭建及部署

什么是移动云 移动云是指将移动设备和云计算技术相结合,为移动应用提供强大的计算和存储能力的服务模式。传统的移动应用通常在本地设备上进行计算和存储,而移动云将这些任务转移到云端进行处理。通过移动云,移动设备可以利用云端的高性能计算…

Linux程序开发(三):MakeFile编程及Githup项目编码

Tips:"分享是快乐的源泉💧,在我的博客里,不仅有知识的海洋🌊,还有满满的正能量加持💪,快来和我一起分享这份快乐吧😊! 喜欢我的博客的话,记得…