YOLOv10: Real-Time End-to-End Object Detection

YOLOv10: Real-Time End-to-End Object Detection

alt 代码: https://github.com/THU-MIG/yolov10

alt

摘要

Yolos 对非最大抑制(NMS)的依赖阻碍了端到端部署,并对推理延迟产生了不利影响,此外,YOLOs 中各组件的设计缺乏全面、彻底的检查,导致了明显的计算冗余,限制了模型的能力。本文的目标是从后处理和模型架构中推进 YOLOs 的性能-效率边界。
首先,为 YOLOs 的无 NMS 训练提出了一致性双重分配,带来了相匹配的性能和低推理延迟。
之后,介绍了 YOLOs 的整体效率-准确率驱动的模型设计策略。从效率和准确性角度全面优化 YOLOs 的各个组件,大大减少计算开销,提高了能力。
该模型称之为 YOLOv10,实验表明YOLOV10不同模型尺度上达到了最先进的性能和效率。例如,在COCO上有类似的AP下,YOLOv10-S比RT-DETR-R18快1.8倍的同时,参数和FLOPs比其少2.8 倍。与YOLOv9-C相比,相同性能下YOLOv10-B减少46%的延迟,参数减少25%。

方法论

用于无 NMS 训练的一致双分配

训练时,YOLOs通常用TAL【Tood: Task-aligned one-stage object detection】为每个实例分配多个正样本。这使得YOLOs依赖于NMS进行后处理,导致了部署的次优的推理效率。我们提出了一种无 NMS 的 YOLOs 训练策略,即双标签指定和一致匹配度量,实现了高效率和有竞争力的性能
双标签指定
与一对多分配不同,一对一匹配只为每个GT分配一个预测,这虽然避免了 NMS 后处理。但它导致监督能力较弱、精度和收敛速度不佳,这一缺陷可以通过一对多的分配来弥补。为了实现这一点,为YOLOs引入了双标签分配,以结合这两种策略的最佳效果。如图2(a)所示, alt 我们为YOLOs加入了另一个一对一的head。它保留了和原始一对多分支相同的结构,并采用了相同的优化目标,但利用一对一的匹配来获得标签分配。在训练过程中,将两个head与模型进行联合优化,使backbone和neck享受一对多任务提供的丰富监督。在推理过程中,丢弃一对多的头,利用一对一的头来进行预测。这使得yolo可以用于端到端部署,而不产生任何额外的推理成本。

一致匹配度量

在分配期间,一对一和一对多的方法都利用一个度量标准来定量地评估预测和实例之间的一致性水平。为了实现对这两个分支的预测感知匹配,我们采用了一个统一的匹配度量,即 alt p为分类得分, 和b表示预测和实例的边界框,s表示表示预测的锚点是否在实例内的空间先验。α和β是平衡语义预测任务和位置回归任务影响的两个重要超参数。我们将一对多和一对一的指标分别表示为 α β α β 。这些指标会影响这两个head的标签分配和监督信息。
在双标签分配中,一对多分支提供了比一对一分支更丰富的监督信号。直观地说,如果我们能够将一对一的head监督与一对多的head监督协调起来,就可以朝着一对多的head的优化方向优化一对一head。因此,一对一的head可以在推理过程中提供更好的样本质量,从而导致更好的性能。为此,我们首先分析了两者之间的监督差距,由于训练过程中的随机性,我们从一开始就用相同的值初始化两个头,产生相同的预测,即一对一的head和一对多的head为每个预测实例对生成相同的p和IoU。注意到两个分支的回归目标不冲突,因为匹配到的预测共享相同的target,不匹配的预测被忽略。 因此,监督差距在于不同的分类目标。给定一个实例,我们用预测表示其最大的IoU为 ,最大的一对一多和一对一的匹配分数分别为 。假设一对多分支产生的正样本Ω,一对一分支用度量标准 选择第i个预测,然后我们可以得出分类目标, 对于j∈Ω, = * ,和对于任务对齐损失, ,。因此,两个分支之间的监督差距可以由不同分类目标的1-Wasserstein 距离得到,即:

alt

我们可以观察到,差距随着 增加而降低,也就是说,i在Ω中的排名更高。当 时达到最小,即i是Ω内最好的正样本,如图2(a)所示.为了实现这一点,我们提出一致性匹配度量,即 α α β β ,这意味着 。因此,一对一多head的最佳阳性样本也是一对一head的最佳阳性样本。因此,两个head可以一致、和谐地优化。为简单起见,默认采用r=1,即 α α β β 。为了验证改进的监督对齐,训练后统计了一对多结果的前1/5/10与一对一匹结果匹配的数量,如图2(b)所示,在一致性匹配度量下,对齐有了提升。

整体效率-准确率驱动的模型设计

除了后处理外,YOLOs模型体系结构也有不可忽视的计算冗余性和受约束的能力,阻碍了其实现高效率和性能的潜力。本部分目标是从效率和准确性的角度对yolo进行整体的模型设计。

效率驱动模型设计

YOLO中的组件包括stem、下采样层、带有基本构建块的stage和head。stem的计算成本很少,因此我们对其他三个部分进行了效率驱动的模型设计

(1)轻量分类头

alt 分类头和回归头在YOLOs中通常共享相同架构。然而,它们在计算开销上表现出显著的差异。例如,YOLOv8-S中分类头(5.95G/1.51M)的FLOPs和参数计数分别为回归头(2.34G/0.64M)的2.5×和2.4×。然而,在分析了分类误差和回归误差的影响后(见Tab6),发现回归头对yolo的表现具有更大的意义。因此,我们可以减少分类头的开销,而不用担心会大大损害性能。我们简单地对分类头采用了轻量级的体系结构,它由两个深度可分离的卷积组成,核大小为3×3,然后是一个1×1的卷积。

(2)空间-通道解耦的降采样

YOLOs通常利用常规的3×3标准卷积,stride为2,同时实现空间降采样(从H×W到H/2×W/2)和通道转换(从C到2C)。这就引入了不可忽略的计算成本 和参数量 我们建议解耦空间降采样和通道增加操作,从而实现更有效的降采样。具体来说,首先利用逐点卷积来调整通道数,然后利用深度卷积来进行空间降采样。 这将计算成本降至 和参数量降至 。同时,它在降采样过程中最大限度地保留信息,通过降低延迟而达到竞争性能。

(3)排名导向块设计

alt

YOLOs常对所有stage使用相同基本构建块。为了彻底检查这种YOLOs的同质设计,我们利用内在秩来分析每个stage的冗余度。具体地说,计算每个stage最后一个基本块中最后一个卷积的数值秩,统计大于阈值的奇异值的数量。图3(a)给出了YOLOv8的结果,表明深层stage和大型模型容易表现出更多的冗余。这一观察结果表明,简单地对所有stage应用相同的块设计对于最佳的容量-效率权衡不是最优的。为解决这个问题,提出了一种秩引导的块设计方案,旨在减少使用紧凑的架构设计而被显示为冗余的stage的复杂性。

**首先提出了一个紧凑的倒置块(CIB)结构,它采用深度卷积用于空间混合,采用逐点卷积用于通道融合,如图3(b)**。它能当作高效的基础构建块,例如,嵌入在ELAN结构(图3(b)).然后,我们提倡采用一种秩导向的块分配策略,以在保持竞争能力的同时达到最佳效率。具体地说,给定一个模型,根据它们的内在排名按升序对其所有stage进行排序。进一步研究了用CIB在领先stage替换基本块的性能变化。具体地说,给定一个模型,根据它们的内在排名按升序对其所有stage进行排序。我们进一步研究了用CIB在主要stage替换基本块的性能变化。与给定的模型相比,如果没有性能下降,我们将继续替换下一stage,否则将停止该过程。因此,我们可以跨stage和模型规模实现自适应紧凑块设计,在不影响性能的情况下实现更高的效率。

准确率驱动模型设计

进一步探索了准确率驱动设计中的大尺寸核卷积和自注意力,旨在在最小的成本下提高性能。

(1)大卷积核

采用大尺寸卷积核进行卷积是扩大接受域、增强模型能力的有效方法。我们建议在深层stage中利用CIB中的大尺寸核进行深度卷积。具体来说,将CIB中第二个3×3深度卷积的核大小增加到7×7。此外,采用结构重参数化技术带来另一个3×3深度卷积分支,在缓解优化问题的情况下,没有推理开销。更多的,随着模型大小的增加,它的接受域自然地扩展,使用大核卷积的好处减小。因此,我们只在小的模型尺度上采用大核卷积

(2)部分自注意(PSA)

自注意由于其显著的全局建模能力而被广泛应用于各种视觉任务中。然而,它显示出较高的计算复杂度和内存占用。为了解决这个问题,鉴于普遍存在的注意力头部冗余,提出了一种有效的部分自注意(PSA)模块设计,如图3(c)所示.具体来说,在进行1×1卷积后,将跨通道的特征均匀地划分为两个部分。我们只将一部分输入由多头自注意模块(MHSA)和前馈网络(FFN)组成的 块。然后将两个部分通过1×1卷积连接和融合。接着,将query和key的维度指定为MHSA中value的一半,并用BatchNorm替换LayerNorm以进行快速推理。此外,PSA只被放置在分辨率最低的stage4之后,避免了自注意的二次计算复杂度所带来的过度开销。这样,全局表示学习能力就能以较低的计算成本纳入yolo中,从而很好地提高了模型的能力,提高性能。

实验

实现细节

选择YOLOv8作为基线模型,采用一致的双分配来进行无NMS训练,并在此基础上进行整体效率-精度驱动的模型设计,产生YOLOv10模型。YOLOv10具有与YOLOv8相同的变体,即N/S/M/L/X。此外,通过增加YOLOv10-M的宽度比例因子,得到新的YOLOv10-B。

与sota对比

alt

模型分析

alt
alt
alt

本文由 mdnice 多平台发布

  • 26
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Faster R-CNN是一种基于区域建议网络(Region Proposal Networks,RPN)的物体检测算法,旨在实现实时物体检测。它通过预测每个区域是否含有物体来生成候选框,并使用卷积神经网络(CNN)来确定候选框中的物体类别。Faster R-CNN在提高检测精度的同时,也显著提高了检测速度。 ### 回答2: 在计算机视觉领域中,目标检测一直是热门研究的方向之一。近年来,基于深度学习的目标检测方法已经取得了显著的进展,并且在许多实际应用中得到了广泛的应用。其中,Faster R-CNN 是一种基于区域建议网络(Region Proposal Networks,RPN)的目标检测方法,在检测准确率和速度之间取得了很好的平衡,能够实现实时目标检测。 Faster R-CNN 的基本框架由两个模块组成:区域建议网络(RPN)和检测模块。RPN 主要负责生成候选目标框,而检测模块则利用这些候选框完成目标检测任务。具体来说,RPN 首先在原始图像上以多个尺度的滑动窗口为基础,使用卷积网络获取特征图。然后,在特征图上应用一个小型网络来预测每个位置是否存在目标,以及每个位置的目标边界框的坐标偏移量。最终,RPN 根据预测得分和位置偏移量来选择一部分具有潜在对象的区域,然后将这些区域作为候选框送入检测模块。 检测模块的主要任务是使用候选框来检测图像中的目标类别和位置。具体来说,该模块首先通过将每个候选框映射回原始图像并使用 RoI Pooling 算法来获取固定大小的特征向量。然后,使用全连接神经网络对这些特征向量进行分类和回归,以获得每个框的目标类别和精确位置。 相比于传统的目标检测方法,Faster R-CNN 具有以下优点:首先,通过使用 RPN 可以自动生成候选框,避免了手动设计和选择的过程;其次,通过共享卷积网络可以大大减少计算量,提高效率;最后,Faster R-CNN 在准确率和速度之间取得了很好的平衡,可以实现实时目标检测。 总之,Faster R-CNN 是一种高效、准确的目标检测方法,是深度学习在计算机视觉领域中的重要应用之一。在未来,随着计算机视觉技术的进一步发展,Faster R-CNN 这类基于深度学习的目标检测方法将会得到更广泛的应用。 ### 回答3: Faster R-CNN是一种结合了深度学习和传统目标检测算法的新型目标检测方法,旨在提高目标检测速度和准确率。Faster R-CNN采用了Region Proposal Network(RPN)来生成候选区域,并通过R-CNN网络对候选区域进行分类和定位。 RPN是一种全卷积神经网络,用于在图像中生成潜在的候选区域。RPN通常在卷积特征图上滑动,对每个位置预测k个候选区域和其对应的置信度得分。这样,对于输入图像,在不同大小和宽高比的Anchor上预测候选框,可以在计算上更有效率。 R-CNN网络利用卷积特征图作为输入,对RPN生成的候选区域进行分类和精确定位。与以前的目标检测方法相比,Faster R-CNN使用了共享卷积特征,使得整个检测网络可以端到端地进行训练和优化,缩短了训练时间,同时也更便于理解和改进。 Faster R-CNN不仅具有较高的准确性,还具有较快的检测速度。在各种基准测试中,Faster R-CNN与其他目标检测算法相比,都取得了优异的性能表现。总之,Faster R-CNN将目标检测引入了一个新的阶段,为实时目标检测提供了一个良好的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值