YOLOv7(2022)

YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors

Abstract

YOLOv7在速度和精度上都超过了所有已知的物体探测器,范围从5 FPS到160 FPS,在GPU V100上所有已知的30 FPS或更高的实时物体探测器中具有最高的56.8% AP精度。YOLOv7- e6对象检测器(56 FPS V100, 55.9% AP)在速度和准确度上优于基于transformer的检测器SWINL Cascade-Mask R-CNN (9.2 FPS A100, 53.9% AP),在速度和准确度上优于基于卷积的检测器convNext- XL Cascade-Mask R-CNN (8.6 FPS A100, 55.2% AP) 551%,在准确度上优于0.7% AP,以及YOLOv7在速度和准确度上优于:YOLOR, YOLOX,缩放yolov4, YOLOv5, DETR,变形DETR, DINO-5scale-R50, vit- adapter -b和许多其他对象检测器。此外,我们只在MS COCO数据集上从头开始训练YOLOv7,而不使用任何其他数据集或预训练的权重。源代码在https:// github.com/ WongKinYiu/ yolov7发布。

1. Introduction

实时目标检测是计算机视觉中一个非常重要的课题,它通常是计算机视觉系统中必不可少的组成部分。例如,多目标跟踪[94,93]、自动驾驶[40,18]、机器人[35,58]、医学图像分析[34,46]等。执行实时目标检测的计算设备通常是一些移动CPU或GPU,以及各大厂商开发的各种神经处理单元(NPU)。例如,Apple神经引擎(Apple)、神经计算棒(Intel)、Jetson AI边缘设备(Nvidia)、边缘TPU(谷歌)、神经处理引擎(Qualcomm)、AI处理单元(MediaTek)、AI soc (Kneron)等都是npu。上面提到的一些边缘设备专注于加速不同的操作,如香草卷积、深度卷积或MLP操作。在本文中,我们提出的实时对象检测器主要希望它能够同时支持移动GPU和GPU设备从边缘到云。

近年来,针对不同的边缘设备,还在开发实时目标检测器。例如,MCUNet[49, 48]和NanoDet[54]提升的研究重点是生产低功耗单片机,提高边缘CPU的推理速度。YOLOX[21]和YOLOR[81]等方法,主要是提高各种gpu的推理速度。近年来,实时目标检测器的发展主要集中在高效体系结构的设计上。至于可以在CPU上使用的实时目标检测器[54,88,84,83],其设计多基于MobileNet [28,66,27], ShuffleNet[92,55],或GhostNet[25]。另一种主流的实时目标检测器是针对GPU开发的[81,21,97],他们大多使用ResNet [26], DarkNet[63],或者DLA[87],然后使用CSPNet[80]策略来优化架构。本文所提方法的发展方向与目前主流的实时目标探测器不同。除了架构优化,我们提出的方法还将重点放在训练过程的优化上。我们将重点研究一些优化的模块和优化方法,这些优化可以在不增加推理成本的情况下,加强训练成本,提高目标检测的准确性。我们把提出的模块和优化方法称为可训练的免费赠品。

最近,模型重新参数化[13,12,29]和动态标签分配[20,17,42]已成为网络训练和目标检测的重要课题。主要是在上述新概念提出之后,目标检测器的训练演变出许多新问题。在本文中,我们将介绍我们发现的一些新问题,并设计解决这些问题的有效方法。对于模型重参数化,我们用梯度传播路径的概念分析了适用于不同网络层的模型重参数化策略,并提出了有计划的重参数化模型。此外,当我们发现使用动态标签分配技术时,具有多个输出层的模型的训练会产生新的问题。即:"如何为不同分支的输出分配动态目标?"对于这个问题,我们提出了一种新的标签分配方法,称为从粗到细的引导标签分配。

本文的贡献总结如下:(1)我们设计了几种可训练的免费袋方法,使得实时目标检测可以在不增加推理成本的情况下大大提高检测精度; (2) 对于目标检测方法的发展,我们发现了两个新问题,即重新参数化的模块如何替换原始模块,以及动态标签分配策略如何处理分配给不同输出层的问题。此外,我们还提出了解决这些问题引起的困难的方法; (3) 我们提出了实时目标检测器的"扩展"和"复合缩放"方法,可以有效地利用参数和计算; (4) 我们提出的方法可以有效减少最先进的实时目标检测器约 40% 的参数和50% 的计算量,并且具有更快的推理速度和更高的检测精度。

2. Related work

2.1. Real-time object detectors

目前最先进的实时目标检测器主要基于 YOLO [61,62, 63] 和 FCOS [76, 77],它们是 [3, 79, 81, 21,54, 85, 23] .能够成为最先进的实时目标检测器通常需要以下特征:(1)更快,更强大的网络架构; (2)更有效的特征整合方法 [22, 97, 37, 74, 59, 30, 9,45]; (3) 更准确的检测方法[76,77,69]; (4) 更稳健的损失函数 [96, 64, 6, 56, 95, 57]; (5) 一种更有效的标签分配方法 [99, 20, 17, 82, 42]; (6)一种更有效的训练方法。在本文中,我们不打算探索需要额外数据或大型模型的自我监督学习或知识蒸馏方法。相反,我们将针对与上述 (4)、(5) 和 (6) 相关的最先进方法派生的问题设计新的可训练的免费赠品袋方法。

2.2. Model re-parameterization

模型重新参数化技术 [71、31、75、19、33、11、4、24、13、12、10、29、14、78] 在推理阶段将多个计算模块合并为一个。模型重参数化技术可以看作是一种集成技术,我们可以将其分为两类,即模块级集成和模型级集成。模型级重新参数化以获得最终推理模型有两种常见的做法。一种是用不同的训练数据训练多个相同的模型,然后对多个训练模型的权重进行平均。另一种是对不同迭代次数的模型权重进行加权平均。模块级重新参数化是最近比较热门的研究问题。这种方法在训练时将一个模块拆分为多个相同或不同的模块分支,在推理时将多个分支模块集成为一个完全等价的模块。然而,并非所有提出的重新参数化模块都可以完美地应用于不同的体系结构。考虑到这一点,我们开发了新的重新参数化模块,并为各种架构设计了相关的应用策略。

2.3. Model scaling

模型缩放 [72, 60, 74, 73, 15, 16, 2, 51] 是一种放大或缩小已设计模型并使其适合不同计算设备的方法。模型缩放方法通常使用不同的缩放因子,如分辨率(输入图像的大小)、深度(层数)、宽度(通道数)和阶段(特征金字塔数),以便在网络参数量、计算量、推理速度和准确性之间取得良好的权衡。网络架构搜索(NAS)是常用的模型缩放方法之一。NAS 可以自动从搜索空间中搜索合适的比例因子,而无需定义太复杂的规则。 NAS的缺点是需要非常昂贵的计算来完成对模型缩放因子的搜索。在[15]中,研究者分析了缩放因子与参数量和操作量之间的关系,试图直接估计一些规则,从而获得模型缩放所需的缩放因子。查阅文献,我们发现几乎所有模型缩放方法都是独立分析单个缩放因子,甚至复合缩放类别中的方法也独立优化缩放因子。这样做的原因是因为大多数流行的 NAS 架构处理的缩放因子不是很相关。我们观察到,所有基于连接的模型,例如 DenseNet [32]或 VoVNet [39],都会在缩放此类模型的深度时改变某些层的输入宽度。由于所提出的架构是基于级联的,我们必须为此模型设计一种新的复合缩放方法。

3. Architecture

3.1. Extended efficient layer aggregation networks

在大多数关于设计高效架构的文献中,主要考虑因素不超过参数的数量、计算量和计算密度。 Ma等人从内存访问成本的特点出发。 [55] 还分析了输入/输出通道比、架构分支数量以及逐元素操作对网络推理速度的影响。人名等,[15] 在执行模型缩放时还考虑了激活,即更多地考虑卷积层输出张量中的元素数量。图 2(b)中 CSPVoVNet [79] 的设计是 VoVNet[39] 的变体。除了考虑上述基本设计问题外,CSPVoVNet [79] 的架构还分析了梯度路径,以使不同层的权重能够学习更多不同的特征。上述梯度分析方法使推理更快、更准确。图 2(c)中的 ELAN[1] 考虑了以下设计策略——“如何设计一个高效的网络?”。他们得出了一个结论:通过控制最短最长的梯度路径,更深的网络可以有效地学习和收敛。在本文中,我们提出了基于 ELAN 的扩展ELAN(E-ELAN),其主要架构如图 2(d)所示。

图 2:扩展的高效层聚合网络。所提出的扩展ELAN(E-ELAN)根本没有改变原有架构的梯度传递路径,而是使用组卷积来增加添加特征的基数,将不同组的特征以shuffle和merge的方式组合起来基数方式。这种操作方式可以增强不同特征图学到的特征,提高参数的使用和计算。

无论梯度路径长度和大规模 ELAN 中计算块的堆叠数量如何,它都达到了稳定状态。如果无限堆叠更多的计算块,可能会破坏这种稳定状态,参数利用率会降低。提议的E-ELAN使用expand、shuffle、merge cardinality来实现在不破坏原有梯度路径的情况下不断增强网络学习能力的能力。在架构方面,E-ELAN 只改变了计算块的架构,而过渡层的架构完全没有改变。我们的策略是使用组卷积来扩展计算块的通道和基数。我们将对计算层的所有计算块应用相同的组参数和通道乘数。然后,每个计算块计算出的特征图将根据设置的组参数g被打乱成g组,然后将它们连接在一起。此时,每组特征图中的通道数将与原始架构中的通道数相同。最后,我们添加 g 组特征图来执行合并基数。除了保持原有的 ELAN 设计架构外,E-ELAN 还可以引导不同组的计算块学习更多样化的特征。

3.2. Model scaling for concatenation-based models

模型缩放的主要目的是调整模型的一些属性,生成不同尺度的模型,以满足不同推理速度的需求。例如,EfficientNet [72] 的缩放模型考虑了宽度、深度和分辨率。至于 scaled-YOLOv4 [79],其缩放模型是调整阶段数。在 [15] 中,Dollár 等人。分析了香草卷积和组卷积在进行宽度和深度缩放时对参数量和计算量的影响,并以此设计了相应的模型缩放方法。

以上方法主要用在PlainNet或ResNet等架构中。当这些架构在执行放大或缩小时,每一层的入度和出度都不会改变,因此我们可以独立分析每个缩放因子对参数量和计算量的影响。然而,如果将这些方法应用于基于连接的架构,我们会发现当对深度进行放大或缩小时,紧跟基于连接的计算块之后的平移层的入度将减少或增加,如图3(a)和(b)所示。从上述现象可以推断,我们不能针对基于串联的模型分别分析不同的比例因子,而必须一起考虑。以scaling-up depth为例,这样的动作会导致transition layer的输入通道和输出通道的比例发生变化,这可能会导致模型的硬件使用率下降。因此,我们必须为基于级联的模型提出相应的复合模型缩放方法。当我们缩放计算块的深度因子时,我们还必须计算该块的输出通道的变化。然后,我们将对过渡层进行等量变化的宽度因子缩放,结果如图3(c)所示。我们提出的复合缩放方法可以保持模型在初始设计时的特性并保持最佳结构。

图 3:基于串联的模型的模型缩放。从 (a) 到 (b),我们观察到当对基于级联的模型执行深度缩放时,计算块的输出宽度也会增加。这种现象会导致后续传输层的输入宽度增加。因此,我们提出(c),即在对基于级联的模型进行模型缩放时,只需要对计算块中的深度进行缩放,传输层的其余部分进行相应的宽度缩放。

4. Trainable bag-of-freebies

4.1. Planned re-parameterized convolution

尽管 RepConv [13] 在 VGG [68] 上取得了出色的性能,但当我们将其直接应用于 ResNet [26] 和DenseNet [32] 等架构时,其准确性会显着降低。我们使用梯度流传播路径来分析重新参数化卷积应该如何与不同的网络相结合。我们还相应地设计了计划的重新参数化卷积。
RepConv 实际上在一个卷积层中结合了 3×3 卷积、1×1 卷积和恒等连接。在分析了 RepConv 和不同架构的组合和相应性能后,我们发现 RepConv 中的恒等连接破坏了 ResNet 中的残差和 DenseNet 中的连接,这为不同的特征图提供了更多的梯度多样性。由于上述原因,我们使用没有身份连接的 RepConv(RepConvN) 来设计计划的重新参数化卷积的体系结构在我们的想法中,当一个带有残差或连接的卷积层被重新参数化的卷积所取代时,应该没有恒等连接。图 4 显示了我们设计的用于 PlainNet 和 ResNet的"计划重新参数化卷积"的示例。至于基于残差模型和基于级联模型的完整计划的重新参数化卷积实验,将在消融研究会议中展示。

图 4:计划的重新参数化模型。在提议的计划重新参数化模型中,我们发现具有剩余或串联连接的层,其 RepConv 不应该有身份连接。在这些情况下,它可以被不包含身份连接的 RepConvN 替换。

4.2. Coarse for auxiliary and fine for lead loss

深度监督 [38] 是一种经常用于训练深度网络的技术。它的主要概念是在网络的中间层增加额外的辅助头,以辅助损失为指导的浅层网络权重。即使对于ResNet [26] 和 DenseNet [32] 等通常收敛良好的架构,深度监督 [70, 98, 67, 47, 82, 65, 86, 50]仍然可以显着提高模型在许多任务。图 5 (a) 和 (b)分别显示了"没有"和"有"深度监督的目标检测器架构。在本文中,我们将负责最终输出的head称为lead head,用于辅助训练的head称为辅助head。

图 5:粗略用于辅助,精细用于引导头标签分配器。与普通模型(a)相比,(b)中的模式具有辅助头。与通常的独立标签分配器 © 不同,我们提出 (d) lead head guided label assigner 和 (e) coarse-to-fine lead head guided labelassigner。所提出的标签分配器通过引导头预测和地面实况进行优化,以同时获得训练引导头和辅助头的标签。详细的由粗到细的实现方法和约束设计细节将在附录中详细说明。

接下来我们要讨论标签分配的问题。以往在深度网络的训练中,标签分配通常直接参考groundtruth,根据给定的规则生成hard label。然而,近年来,如果我们以目标检测为例,研究人员往往利用网络预测输出的质量和分布,然后与ground truth一起考虑,使用一些计算和优化方法来生成可靠的软标签[61、8、36、99、91、44、43、90、20、17、42]。例如,YOLO [61] 使用边界框回归预测的 IoU 和ground truth 作为 objectness 的软标签。在本文中,我们将这种将网络预测结果与ground truth一起考虑然后分配软标签的机制称为"标签分配器"。无论是辅助head还是lead head的情况,都需要针对目标进行深度监督。在开发软标签分配器相关技术的过程中,我们无意中发现了一个新的衍生问题,即"如何为辅助头和引导头分配软标签?"据我们所知,目前相关文献还没有探讨这个问题。目前最流行的方法的结果如图5(c)所示,就是将辅助头和引导头分开,然后用自己的预测结果和ground truth执行标签分配。本文提出的方法是一种新的标签分配方法,通过引导头预测来指导辅助头和引导头。换句话说,我们使用引导头预测作为指导来生成由粗到细的层次标签,这些标签分别用于辅助头和引导头学习。提出的两种深度监督标签分配策略分别如图 5 (d)和 (e) 所示。

Lead head guided label assigner 主要根据lead head的预测结果和ground truth计算,并通过优化过程生成软标签。这组软标签将用作辅助头和前导头的目标训练模型。这样做的原因是因为lead head具有比较强的学习能力,所以从它生成的软标签应该更能代表源数据和目标之间的分布和相关性。此外,我们可以将这种学习视为一种广义残差学习。通过让较浅的辅助头直接学习lead head 已经学习的信息,领导头将更能专注于学习尚未学习的残差信息。

Coarse-to-fine lead head guided label assigner也使用导引头的预测结果和ground true来生成软标签。然而,在这个过程中,我们生成了两组不同的软标签,即粗标签和细标签,其中细标签与lead引导标签分配器生成的软标签相同,粗标签由通过放宽正样本分配过程的约束,允许将更多网格视为正目标。原因是辅助头的学习能力不如前导头强,为了避免丢失需要学习的信息,我们将重点优化辅助头的召回在目标检测任务中。至于lead head的输出,我们可以从高recall结果中过滤出高精度结果作为最终输出。但是,我们必须注意,如果粗标签的附加权重接近精细标签,它可能会在最终预测时产生不良先验。因此,为了使那些超粗的正网格影响更小,我们在解码器中设置了限制,使超粗的正网格不能完美地产生软标签。上述机制允许在学习过程中动态调整细标签和粗标签的重要性,并使细标签的可优化上限始终高于粗标签。

4.3. Other trainable bag-of-freebies

在本节中,我们将列出一些可训练的免费赠品。这些免费赠品是我们在训练中使用的一些技巧,但最初的概念并不是我们提出的。这些免费赠品的训练细节将在附录中详细说明,包括(1)conv-bn-activation拓扑中的批量归一化:这部分主要将批量归一化层直接连接到卷积层。这样做的目的是在推理阶段将批量归一化的均值和方差集成到卷积层的偏差和权重中。(2) YOLOR[81]中的隐式知识结合卷积特征图加法乘法的方式:YOLOR中的隐式知识可以在推理阶段通过预计算简化为一个向量。该向量可以与前一个或后一个卷积层的偏置和权重相结合。 (3) EMA 模型:EMA 是mean teacher [75] 中使用的一种技术,在我们的系统中,我们纯粹使用 EMA 模型作为最终的推理模型。

5. Experiments

5.1. Experimental setup

我们使用 Microsoft COCO 数据集进行实验并验证我们的目标检测方法。我们所有的实验都没有使用预训练模型。也就是说,所有模型都是从头开始训练的。在开发过程中,我们使用 train 2017 set 进行训练,然后使用 val 2017 set 进行验证和选择超参数。最后,我们展示了目标检测在 2017 年测试集上的性能,并将其与最先进的目标检测算法进行了比较。详细的训练参数设置在附录中描述。

我们为edge GPU、normal GPU和cloud GPU设计了基础模型,分别称为YOLOv7-tiny、YOLOv7和YOLOv7-W6。同时,我们还针对不同的服务需求,使用基础模型进行模型缩放,得到不同类型的模型。对于 YOLOv7,我们在颈部进行堆栈缩放,并使用提出的复合缩放方法对整个模型的深度和宽度进行缩放,并以此得到 YOLOv7-X。至于YOLOv7-W6,我们使用新提出的复合缩放方法得到YOLOv7-E6和YOLOv7-D6。此外,我们将建议的 E-ELAN 用于 YOLOv7-E6,从而完成 YOLOv7-E6E。由于 YOLOv7-tiny 是面向边缘 GPU的架构,它将使用 leaky ReLU 作为激活函数。至于其他模型,我们使用 SiLU 作为激活函数。我们将在附录中详细描述每个模型的比例因子。

5.2. Baselines

我们选择以前版本的 YOLO [3, 79] 和最先进的目标检测器 YOLOR [81] 作为我们的基线。表 1 显示了我们提出的 YOLOv7 模型与使用相同设置训练的基线的比较。从结果我们看到,如果与 YOLOv4 相比,YOLOv7 的参数减少了 75%,计算量减少了36%,AP 提高了 1.5%。如果与最先进的 YOLOR-CSP相比,YOLOv7 的参数减少了 43%,计算量减少了15%,AP 提高了 0.4%。在tiny模型的性能上,YOLOv7-tiny与YOLOv4-tiny-31相比,参数数量减少了39%,计算量减少了49%,但AP保持不变。在云GPU 模型上,我们的模型仍然可以有更高的 AP,同时减少 19% 的参数数量和 33% 的计算量。

5.3. Comparison with state-of-the-arts

我们将所提出的方法与用于通用 GPU 和移动 GPU 的最先进的目标检测器进行比较,结果如表 2 所示。从表 2 的结果中,我们知道所提出的方法具有最佳的速度-准确度权衡-全面关闭。如果我们将 YOLOv7-tiny-SiLU 与 YOLOv5-N(r6.1) 进行比较,我们的方法在 AP 上的速度提高了 127fps,准确率提高了 10.7%。此外,YOLOv7 在 161 fps 的帧速率下具有 51.4% 的 AP,而具有相同 AP 的 PPYOLOE-L只有 78 fps 的帧速率。在参数使用方面,YOLOv7 比PPYOLOE-L 少 41%。如果我们将具有 114 fps 推理速度的YOLOv7-X 与具有 99 fps 推理速度的 YOLOv5-L (r6.1) 进行比较,YOLOv7-X 可以将 AP 提高 3.9%。如果将YOLOv7-X 与类似规模的 YOLOv5-X (r6.1) 进行比较,YOLOv7-X 的推理速度快了 31 fps。此外,在参数量和计算量方面,YOLOv7-X 相比 YOLOv5-X (r6.1) 减少了 22%的参数和 8% 的计算量,但提高了 2.2% 的 AP。

5.4. Ablation study

5.4.1 Proposed compound scaling method

表 3 显示了使用不同的模型缩放策略进行放大时获得的结果。其中,我们提出的复合缩放方法是将计算块的深度扩大1.5倍,将过渡块的宽度扩大1.25倍。如果我们的方法与仅按比例放大宽度的方法相比,我们的方法可以用更少的参数和计算量将 AP 提高 0.5%。如果我们的方法与只增加深度的方法相比,我们的方法只需要增加 2.9% 的参数数量和 1.2% 的计算量,可以将 AP 提高 0.2%。从表 3 的结果可以看出,我们提出的复合缩放策略可以更有效地利用参数和计算。

5.4.2 Proposed planned re-parameterized model

为了验证我们提出的平面重新参数化模型的通用性,我们分别将其用于基于级联的模型和基于残差的模型进行验证。我们选择用于验证的基于连接的模型和基于残差的模型分别是 3-stacked ELAN 和 CSPDarknet。

在基于连接的模型实验中,我们用 RepConv 替换了 3-stacked ELAN 中不同位置的 3×3 卷积层,详细配置如图 6 所示。从表 4 所示的结果我们看到所有更高的 AP 值都出现在我们提出的计划重新参数化模型中。在处理基于残差模型的实验中,由于原始暗块没有 3×3 卷积块符合我们的设计策略,我们为实验额外设计了一个反向暗块,其架构如图 7 所示。由于具有暗块和反向暗块的 CSP-Darknet 具有完全相同数量的参数和操作,比较公平。表 5 所示的实验结果充分证实了所提出的计划重新参数化模型在基于残差的模型上同样有效。我们发现 RepCSPResNet [85] 的设计也符合我们的设计模式。



5.4.3 Proposed assistant loss for auxiliary head

在辅助头实验的辅助损失中,我们比较了引导头和辅助头方法的一般独立标签分配方法,我们还比较了两种提出的引导引导标签分配方法。我们在表 6 中显示了所有比较结果。从表 6 中列出的结果可以清楚地看出,任何增加辅助损失的模型都可以显着提高整体性能。此外,我们提出的引导标签分配策略在 AP、AP50 和 AP 75 中获得了比一般独立标签分配策略更好的性能。至于我们提出的 coarse for assistant 和fine for lead 标签分配策略,它在所有情况下都会产生最佳结果。在图 8 中,我们显示了在辅助头和引导头上通过不同方法预测的对象图。从图8我们发现,如果辅助头学习lead guided soft label,它确实会帮助lead head从一致的目标中提取残差信息。

在表 7 中,我们进一步分析了所提出的从粗到细引导标签分配方法对辅助头解码器的影响。也就是说,我们比较了引入/不引入上限约束的结果。从表中的数字来看,通过到对象中心的距离来约束对象性上限的方法可以获得更好的性能。

由于所提出的 YOLOv7 使用多个金字塔来联合预测目标检测结果,我们可以直接将辅助头连接到中间层的金字塔进行训练。这种类型的训练可以弥补在下一级金字塔预测中可能丢失的信息。由于上述原因,我们在所提出的 E-ELAN 架构中设计了部分辅助头。我们的方法是在合并基数之前在其中一组特征图之后连接辅助头,这种连接可以使新生成的一组特征图的权重不直接由辅助损失更新。我们的设计允许每个铅头金字塔仍然从不同大小的物体中获取信息。表 8 显示了使用两种不同的方法获得的结果,即从粗到精的引导方法和部分从粗到细的引导方法。显然,局部由粗到精的导引法辅助效果较好。

6. Conclusions

在本文中,我们提出了一种新的实时目标检测器架构和相应的模型缩放方法。此外,我们发现目标检测方法的发展过程产生了新的研究主题。在研究过程中,我们发现了重新参数化模块的替换问题和动态标签分配的分配问题。为了解决这个问题,我们提出了可训练的bag-of-freebies方法来提高目标检测的准确性。基于上述,我们开发了 YOLOv7 系列目标检测系统,该系统获得了最先进的结果。

More comparison

YOLOv7 在 5 FPS 到 160 FPS 的范围内在速度和精度上都超过了所有已知的物体检测器,并且在所有已知的30 FPS 或在 GPU V100 上更高。 YOLOv7-E6 目标检测器(56 FPS V100,55.9% AP)在速度上优于基于变压器的检测器 SWIN-L Cascade-Mask R-CNN(9.2 FPSA100,53.9% AP)509% 和 2%,和基于卷积的检测器 ConvNeXt-XL Cascade-Mask R-CNN(8.6FPS A100,55.2% AP)速度提高 551%,准确度提高 0.7%AP,以及 YOLOv7 优于:YOLOR、YOLOX、Scaled-YOLOv4、YOLOv5 , DETR, Deformable DETR, DINO-5scale-R50,ViT-Adapter-B 和许多其他速度和准确性的物体检测器。此外,我们只在 MS COCO 数据集上从头开始训练 YOLOv7,而不使用任何其他数据集或预训练权重。

参考文献




猜你喜欢

转载自blog.csdn.net/m0_60534571/article/details/129626801