YOLOv7学习

摘要和引言

将灵活高效的训练工具与所提出的网络结构和复合缩放方法相结合。

提出的方法将侧重于训练过程的优化。

将重点研究一些优化模块和优化方法,这些模块和优化方法可以在不增加推理成本的情况下,增强训练成本以提高目标检测的准确性。

称这些模块和优化方法为可训练的bag of freebies。

什么是 group convolution

Group Convolution(分组卷积)是一种特殊的卷积操作,用于减少计算量和参数数量,同时保持网络的表达能力。它是普通卷积的一种变体,在普通卷积中,每个输出特征图是通过将输入特征图与一组卷积核进行卷积得到的。而在分组卷积中,输入特征图被分成几个组,每个组分别与一组独立的卷积核进行卷积,最后将所有组的输出特征图拼接在一起形成最终的输出。

举个例子,假设我们有一个输入特征图,它有128个通道,我们想用64个卷积核进行卷积。在普通卷积中,每个卷积核都会与输入的所有128个通道进行卷积。但在分组卷积中,如果我们将输入分成4组,每组32个通道,那么每个卷积核只需要与其中的32个通道进行卷积。这样,每组就只需要16个卷积核,总共需要64个卷积核,与普通卷积相同。但是,由于每个卷积核仅与部分通道进行卷积,因此计算量会大大减少。

在这个例子中,分组卷积将输入特征图的128个通道分成4组,每组32个通道。每组使用16个卷积核进行卷积,因此每个卷积核只需处理32个通道而不是全部128个通道。这种方式可以减少参数数量和计算量,同时仍然保持了相同数量的卷积核。

什么是 concatenation-based model?

在计算机视觉的目标检测领域,concatenation-based model(基于连接的模型)是指在模型的某个阶段将不同来源的特征图(feature maps)通过连接(concatenation)操作融合在一起的模型。这种方法通常用于融合来自不同尺度或不同阶段的特征,以便模型能够同时利用多尺度或多层次的信息进行目标检测。

例如,在一些目标检测模型中,可能会将来自不同卷积层的特征图连接起来,然后一起送入后续的网络层进行处理。这样做的目的是结合浅层特征的细节信息和深层特征的语义信息,以提高目标检测的准确性。

总的来说,concatenation-based model 是一种利用特征连接来融合多层次信息的目标检测模型结构。

什么是 Model scaling

在目标检测领域,模型缩放(Model Scaling)是一种提高模型性能的技术,它通过系统地调整网络的深度(层数)、宽度(每层的通道数或神经元数)或图像分辨率来优化模型。模型缩放旨在在模型复杂度(如参数数量、计算资源需求)和性能(如精度)之间找到最佳平衡。这种技术是基于这样一个观察:简单地增加模型的深度或宽度到某一点后会带来递减的性能增益,而更加智能的缩放方法可以更有效地利用额外的计算资源。

模型缩放的主要方法包括:

  1. 深度缩放(Depth Scaling):增加模型的层数。这种方法可以增强模型的学习能力,因为更深的模型能够捕捉到更复杂的特征。但是,过深的模型可能会遇到梯度消失或爆炸的问题,影响训练效率和模型性能。

  2. 宽度缩放(Width Scaling):增加模型中每一层的通道数(对于卷积层)或神经元数(对于全连接层)。宽度缩放可以提高模型的表示能力,但是过宽的模型会显著增加计算负担和参数数量,可能导致过拟合。

  3. 分辨率缩放(Resolution Scaling):增加输入图像的分辨率。这可以使模型捕捉到更细节的特征,特别是对于小目标的检测非常有用。然而,输入分辨率的增加会线性或超线性地增加计算复杂度。

  4. 复合缩放(Compound Scaling):同时调整深度、宽度和分辨率的综合策略。复合缩放方法试图在这三个维度上均衡模型的缩放,以最有效地利用额外的计算资源。一个著名的例子是EfficientNet,它通过一个基于神经网络搜索的方法确定了一套用于同时缩放网络深度、宽度和输入图像分辨率的系数,以此来均衡模型大小、速度和精度。

模型缩放是目标检测领域中常用的一种技术,能够根据不同的应用需求和硬件限制,灵活调整模型的规模和性能。正确应用模型缩放可以显著提高目标检测任务的效果,尤其是在资源受限的环境中。

什么是 model re-parameterization

模型重参数化(model re-parameterization)是一种优化技术,旨在改善模型的性能和效率。这种技术通常涉及对模型的参数或结构进行调整,以达到更好的优化效果或减少模型的计算复杂度。

具体来说,模型重参数化可以通过以下几种方式实现:

  1. 参数融合(Parameter Fusion):将多个层或操作合并为一个,减少参数的数量和计算量。例如,将卷积层和BN层融合为一个卷积层,减少了对批量归一化参数的存储和计算需求。

  2. 知识蒸馏(Knowledge Distillation):将一个大型、复杂的模型(教师模型)的知识转移到一个更小、更简单的模型(学生模型)中。通过这种方式,小模型可以在保持较高性能的同时减少参数量。

  3. 权重分解(Weight Decomposition):将大的权重矩阵分解为更小的矩阵乘积,以减少参数数量和计算量。这种方法常用于压缩模型和加速推理。

  4. 网络剪枝(Network Pruning):移除模型中不重要的权重或神经元,以减少模型的大小和提高计算效率。这种方法可以在不显著降低模型性能的情况下减少参数数量。

模型重参数化的目的是在保持模型性能的同时,提高模型的效率和实用性,使其更适合部署在资源受限的设备上,例如移动设备和嵌入式系统。在目标检测任务中,这种优化尤为重要,因为实时性和计算效率对于实际应用至关重要。

什么是 dynamic label assignment

在目标检测中,动态标签分配(Dynamic Label Assignment)是一种训练策略,旨在动态地为每个锚点(anchor)或候选框(proposal)分配最合适的标签和目标。这种策略是为了解决静态标签分配方法中存在的一些问题,例如标签分配的刚性和对不同尺度物体的不适应性。

传统的目标检测方法通常使用固定的规则来分配标签,例如基于与真实边界框(ground truth bounding box)的交并比(IoU)阈值。然而,这种静态分配方法可能不适应模型训练过程中的动态变化,导致训练效果不佳。

动态标签分配策略通过以下几种方式改进:

  1. 自适应阈值:根据模型的训练进度或每个锚点的特征动态调整IoU阈值,以更灵活地分配正负样本。

  2. 质量感知分配:不仅考虑IoU,还考虑其他质量指标(如分类置信度或回归损失)来分配标签,确保选择的正样本具有更高的质量。

  3. 端到端学习:将标签分配过程整合到模型的端到端训练中,允许模型自动学习最优的标签分配策略。

动态标签分配可以提高模型对不同尺度和形状物体的检测性能,同时增加训练过程的灵活性和鲁棒性。这种策略已经在一些先进的目标检测框架中得到应用,例如ATSS(Adaptive Training Sample Selection)和PAA(Probabilistic Anchor Assignment)。

对于模型的再参数化,作者利用梯度传播路径的概念,分析了适用于不同网络层的模型再参数化策略,提出了规划的再参数化模型

此外,作者发现使用动态标签分配技术时,具有多个输出层的模型的训练将产生新的问题。即:“如何为不同分支的输出分配动态目标?”针对这一问题,作者提出了一种新的标签分配方法,即粗到细的导联标签分配方法

论文的贡献:

  • 设计了几种 bag of freebies,使得实时目标检测在不增加推理成本的情况下大大提高了检测精度

  • 对于目标检测方法的改进,发现了两个新问题,即重新参数化模块如何替换原始模块,以及动态标签分配策略如何处理对不同输出层的分配。作者提出了解决这些问题的方法

  • 提出了实时目标检测器的 “扩展”和“复合缩放” “extend” and “compound scaling” 方法,可以有效地利用参数和计算量,该方法可以有效地减少当前实时目标检测器的大量参数和计算量,具有更快的推理速度和更高的检测精度

相关工作

Model re-parameterization

模型再参数化技术在推理阶段将多个计算模块合并为一个。

模型再参数化技术可看作是一种集成技术,可分为模块级集成和模型级集成两类。

有两种常用的模型级重新参数化方法来获得最终的推理模型。

一种是用不同的训练数据训练多个相同的模型,然后对多个训练模型的权值进行平均。

二是对不同迭代次数下的模型权值进行加权平均。

模块级重参数化是近年来较为热门的研究课题。该方法在训练时将一个模块拆分为多个相同或不同的模块分支,在推理时将多个分支模块整合为一个完全等价的模块。然而,并非所有提出的重参数化模块都能完美地应用于不同的体系结构。考虑到这一点,作者开发了新的重新参数化模块,并为各种体系结构设计了相关的应用程序策略。

Model scaling

模型缩放是一种将已经设计好的模型按比例放大或缩小,使其适合不同计算设备的方法。

模型缩放方法通常使用不同的缩放因子,如分辨率(输入图像的大小)、深度(层数)、宽度(通道数)和阶段(特征金字塔的数量),从而在网络参数的数量、计算量、推理速度和精度上达到很好的权衡。

网络架构搜索(NAS)是一种常用的模型缩放方法。NAS可以自动从搜索空间中搜索合适的缩放因子,而无需定义过于复杂的规则。NAS的缺点是它需要非常昂贵的计算来完成对模型缩放因子的搜索。

在相关论文中,研究者分析了比例因子与参数和操作数量之间的关系,试图直接估计出一些规律,从而得到模型缩放所需的比例因子。通过查阅文献,作者发现几乎所有的模型缩放方法都是独立分析单个缩放因子,甚至属于复合缩放类的方法也都是独立优化缩放因子。这样做的原因是,大多数流行的NAS架构处理的是不太相关的缩放因子。作者观察到,所有基于连接的模型,如DenseNet或VoVNet,当这些模型的深度被缩放时,都会改变某些层的输入宽度。由于所提出的结构是基于串联的,必须为该模型设计一种新的复合缩放方法。

网络结构

E-ELAN 扩展高效层聚合网络

Extended efficient layer aggregation networks

ELAN 考虑了以下设计策略——“如何设计一个高效的网络?”

他们得出了一个结论:通过控制最长最短的梯度路径,一个更深层次的网络可以有效地学习和收敛。

在本文中,作者提出了基于ELAN的扩展ELAN (E-ELAN),其主要架构如图(d)所示。
在这里插入图片描述
在大规模ELAN中,无论梯度路径长度和计算块的堆叠数量如何,它都达到了稳定状态。如果无限地堆叠更多的计算块,这种稳定状态可能会被破坏,参数利用率会下降。

The proposed E-ELAN uses expand, shuffle, merge cardinality to achieve the ability to continuously enhance the learning ability of the network without destroying the original gradient path.

扩展 (Expand): 在这个上下文中,扩展指的是增加网络的宽度,也就是增加每一层中的神经元数量。这可以增加网络的表达能力,使其能够捕捉到更多的特征。

洗牌 (Shuffle): 洗牌是指对网络层中的神经元或特征进行重新排序。这有助于提高特征的多样性,从而使网络能够更好地学习和适应不同的数据分布。

合并 (Merge): 合并是指将扩展和洗牌后的特征合并到一起,以形成一个更强大的特征表示。这有助于网络在不同层次上捕捉和整合信息。

基数 (Cardinality): 在深度学习中,基数通常指的是一个网络层或模块中独立路径的数量。

“merge cardinality”:合并基数。这里的基数是指组合不同的特征或通道以产生新的特征表示。在E-ELAN中,合并操作可能是通过某种形式的加权和或者拼接来实现的。

在网络结构上,E-ELAN只改变了计算块的结构,而 transition layer 的结构完全不变。

策略是使用分组卷积 group convolution 来扩展计算块的通道和基数。

将对计算层的所有计算块应用相同的组参数和信道乘法器。

然后,将每个计算块计算出的特征图按照设定的组参数 g g g 进行洗牌,再将其拼接在一起。

此时,每组特征图中的通道数将与原架构中的通道数相同。

最后,添加 g g g 组特征映射来执行合并基数。

E-ELAN除了保持原有的ELAN设计架构外,还可以引导不同组的计算块学习更多样化的特性

Model scaling for concatenation-based models

模型缩放的主要目的是调整模型的某些属性,生成不同尺度的模型,以满足不同推理速度的需要。

When these architectures are in executing scaling up or scaling down, the in-degree and out-degree of each layer will not change, so we can independently analyze the impact of each scaling factor on the amount of parameters and computation.

in-degree 和 out-degree 是指进入和离开网络中每一层的连接数量。每层的入度和出度在缩放过程中不会改变时,这意味着即使网络的整体规模发生变化,层之间的连接模式保持不变。

由于连接模式保持不变,因此可以独立分析每个缩放因子(例如深度、宽度、分辨率)对网络参数和计算要求的影响。 这种独立性可以更直接地理解每个因素如何影响网络的整体规模和复杂性。

简单来说,当这些架构缩放时,它们的基本结构不会改变,因此可以分别分析增加或减少深度、宽度或分辨率如何影响参数数量和所需的计算量 。
在这里插入图片描述

这张图解释了在基于连接的模型(concatenation-based model)中如何执行尺度放大(scaling up)。具体地,该图展示了三个部分:

a) 基础的基于连接的模型(concatenation-based model)
这个部分显示了一个典型的具有三个卷积层(Conv)的模型结构,其中卷积层的输出是基于之前所有层输出的连接。图中的“C”表示卷积层输出的通道数。

b) 尺度放大的基于连接的模型
这部分展示了当放大模型的深度(增加更多的卷积层)时,由于每一层的输出是前面所有层输出的 concatenation,导致输出宽度(即通道数)也随之增加。这就是说,每添加一个新层,不仅仅增加了模型的深度,同时也增加了每层的宽度,因为新层需要连接前面所有层的输出。

c) 复合放大深度和宽度的基于连接的模型
这部分描述了一种复合放大(compound scaling)方法,不仅放大计算块(computational block)的深度,也对转换层(transition layer)进行宽度放大。所谓的“部分放大宽度(Partial Scaling up width)”是指只有部分层(通常是连接层)的宽度被放大,而非所有层。这种方法可以在放大模型时更有效地控制参数和计算量的增加。

“交叉阶段合并(Cross Stage Merge)”指的是不同阶段的特征图经过合并,以便在网络深层之间传递信息。

总的来说,这张图说明了如何在基于连接的网络模型中通过深度和宽度的复合放大来扩展网络规模,同时避免造成过度增加计算复杂性。

作者提出 ©,即在 concatenation-based 模型上进行模型缩放时,只对计算块中的深度进行缩放,对 Transition layer 其余部分进行相应的宽度缩放。

对于 concatenation-based 模型,不能单独分析不同的比例因子,而必须综合考虑。以放大深度为例,这种动作会导致 Transition layer 的输入通道和输出通道的比例发生变化,从而可能导致模型的硬件使用率下降。因此,必须针对 concatenation-based 模型提出相应的复合模型缩放方法

当缩放计算块的深度因子时,我们还必须计算该块的输出通道的变化。

然后,对过渡层进行相同变化量的宽度因子缩放,结果如图 © 所示。作者提出的复合缩放方法可以保持模型在初始设计时的属性,并保持最优结构。

可训练的 bag-of-freebies

Planned re-parameterization model

虽然 RepConv 在 VGG 上取得了优异的性能,但当作者直接将其应用于 ResNet 和 DenseNet 等非平面架构时,其准确率会显著降低。

利用梯度流传播路径分析了重参数化卷积如何与不同的网络相结合。并设计了相应的规划再参数化模型。

RepConv 实际上在一个卷积层中结合了3×3卷积、1×1卷积和恒等连接。

在分析了 RepConv 和不同架构的组合和相应性能后,作者发现 RepConv 中的恒等连接破坏了 ResNet 中的残差和 DenseNet 中的级联,这为不同的特征图提供了更多多样性的梯度。

基于上述原因,作者使用无恒等连接的 RepConv(RepConvN)来设计 planned re-parameterization model 。 作者认为,当带有残差或级联的卷积层被重新参数化卷积替换时,不应该有恒等连接。下图显示了作者设计的“计划重参数化模型”如何应用于 PlainNet 和 ResNet 的示例。

至于完整 planned re-parameterization model 在残差模型和级联模型的实验,将在消融研究部分介绍。

在这里插入图片描述
这张图展示了不同网络结构中的重参数化卷积(RepConv)应用的对比。重参数化卷积是一种设计用来改善神经网络性能的结构,它可以在推断阶段通过重参数化技术合并成一个等效的卷积层,以此减少计算量。

图中的每一小部分代表一种不同的网络结构或变体:

a) PlainNet:一个普通的网络,包含连续的3x3卷积层。
b) RepPlainNet:一个通过在PlainNet中用RepConv代替3x3卷积的网络。
c) ResNet:包含残差连接的网络。
d) RepResNet:一个尝试在ResNet中用RepConv代替3x3卷积的网络,但这是不推荐的,因为它破坏了残差学习模式。
e) P1-RepResNet:这是一个优化的网络,在ResNet的第一部分使用RepConv,其余部分使用普通卷积,以保持残差连接不变。
f) P2-RepResNet:这是另一种结构,RepConv被放置在普通卷积之后,以保持残差连接的完整性。
g) P3-RepResNet:在这个结构中,使用了特殊的RepConvN结构,其中没有恒等映射(identity mapping),这使得它适用于残差连接的场景。
h) P4-RepResNet:在这个变体中,RepConvN被放在普通卷积的前面,这与f)中的顺序相反。

图中绿色勾号表示的是推荐的结构,能够保持或增强残差学习的有效性,红色叉号表示的是不推荐的结构,因为它可能破坏了网络的残差学习模式。

简单来说,这张图表明在使用重参数化技术改善网络性能时,需要谨慎地选择在网络中的哪个位置应用RepConv,以免破坏残差连接的效益。特别是在残差网络(如ResNet)中,需要精心设计RepConv的应用,以便保留残差连接的优势。

Coarse for auxiliary and fine for lead loss

深度监督是一种用于训练深度网络的技术。其主要思想是在网络的中间层添加额外的辅助头,并以辅助损失为指导的浅层网络权重。 即使对于通常收敛良好的 ResNet 和 DenseNet 等架构,深度监督仍然可以显着提高模型在许多任务上的性能 。 下图 (a) 和 (b) 分别显示了“无”和“有”深度监督的目标检测器架构。 在本文中,作者将负责最终输出的头称为引导头,而用于辅助训练的头称为辅助头。

在这里插入图片描述
这张图展示了用于目标检测任务的深度学习模型的不同训练策略。

a) Normal model(常规模型):展示了一个典型的多尺度目标检测网络结构,各个尺度(如32x, 16x, 8x等,代表不同的下采样因子)上都有检测器(Detection)进行目标检测。

b) Model with auxiliary head(带辅助头的模型):在常规模型的基础上增加了辅助头(Aux Head)。这些辅助头连接到网络的不同层,以辅助训练并提升检测性能。领头头(Lead Head)是最终用于预测的主要头部。

c) Independent assigner(独立分配器):这个部分说明了每个头(无论是领头还是辅助头)都独立地从Ground Truth(GT)获取标签,并单独计算损失(Loss)。Assigner是分配器,它负责确定预测和真实标签之间的对应关系。

d) Lead guided assigner(领头引导的分配器):在这个设置中,领头的预测被用来引导辅助头的学习。领头和辅助头共享从领头预测得到的标签分配,并基于这些分配计算损失。

e) Coarse-to-fine lead guided assigner(粗到细领头引导的分配器):这种方法首先使用领头的预测创建粗略(coarse)和细致(fine)的标签,然后这些标签被用来引导领头和辅助头的损失计算。粗略标签可能更宽泛,覆盖更多的正样本,而细致标签则更具体,更准确。

总的来说,图中展示了从常规单头模型到使用多头以及不同标签分配策略的复杂模型的演变。目的是展示如何通过在模型中添加辅助结构和改进标签分配方法来提升目标检测的性能。这些策略的设计旨在帮助模型更好地学习从简单(辅助头)到复杂(领头)的特征,并改善整体检测性能。

接下来要讨论标签分配的问题。过去,在深度网络的训练中,标签分配通常直接参考 ground truth,并根据给定的规则生成硬标签。然而,近年来,如果以目标检测为例,研究人员经常利用网络预测输出的质量和分布,然后结合 Ground Truth,使用一些计算和优化方法来生成可靠的软标签 。例如, YOLO[58]使用边界框回归预测和 groundtruth 的 IoU作为对象性的软标签。

在本文中,将这种将网络预测结果与 groundtruth 一起考虑然后分配软标签的机制称为“标签分配器”。 无论辅助头还是引导头的情况,都需要针对目标进行深度监督训练。 在开发软标签分配器相关技术的过程中,作者无意中发现了一个新的衍生问题,即“如何为辅助头和引导头分配软标签?

据作者所知,相关文献迄今尚未对此问题进行探讨。 目前最流行的方法的结果上图5©所示,即将辅助头和引导头分开,然后使用各自的预测结果和groundtruth来执行标签分配。 本文提出的方法是一种新的标签分配方法,通过引导头预测来引导辅助头和引导头。

换句话说,作者使用引导头预测作为指导来生成从粗到细的分层标签,这些标签分别用于辅助头和引导头学习。

所提出的两种深度监督标签分配策略分别上图 (d)和(e)所示。

Lead head guided label assigner

Lead Head引导标签分配器主要根据Lead Head的预测结果和ground truth进行计算,并通过优化过程生成软标签。 这套软标签将作为辅助头和引导头的目标训练模型。

这样做的原因是因为Lead Head具有比较强的学习能力,因此它生成的软标签应该更能代表源数据和目标数据之间的分布和相关性。 此外,可以将这种学习视为一种广义的残差学习。 通过让较浅的辅助头直接学习引导头已学到的信息,引导头将更能够专注于学习尚未学习的剩余信息。

Coarse-to-fine lead head guided label assigner

“粗到细领头引导的标签分配器(Coarse-to-fine lead head guided label assigner)”。这是一种用于目标检测任务中的标签分配方法,其核心思想是产生两组不同类型的软标签:粗标签(coarse label)和细标签(fine label)。下面是对这一过程的详细解释:

  1. 引导头(Lead Head)的预测和真实标签(Ground Truth):该系统使用引导头的预测结果与真实标签共同生成软标签。这里的引导头指的是网络中主要的预测头,它的预测结果通常比辅助头(Aux Head)更精确。

  2. 粗标签和细标签

    • 细标签:与引导头引导的标签分配器生成的软标签相同,表示的是更精确的分类和定位标签。
    • 粗标签:通过放宽正样本分配过程中的限制而生成,允许更多的网格被视为正样本。这意味着在训练初期,模型被允许将更广泛的区域视为目标的可能位置,从而优化对正样本的召回。
  3. 为什么使用粗标签:辅助头的学习能力不如引导头强,因此通过提供粗标签,可以帮助辅助头捕捉到更多的潜在信息,并在目标检测任务中优化召回率。这有助于模型在训练过程中学习到更多的特征信息。

  4. 细化最终输出:引导头的输出会从高召回的结果中筛选出高精度的结果作为最终输出。

  5. 平衡粗细标签的权重:如果粗标签的权重接近细标签,可能会在最终预测时产生不良的先验。因此,为了减少额外的粗标签的影响,作者在解码器中施加了限制,确保这些额外的粗标签不会完美地产生软标签。

  6. 动态调整重要性:这种机制允许在学习过程中动态调整粗标签和细标签的重要性,确保了细标签的优化上界始终高于粗标签,从而在细化预测的同时保留足够的学习灵活性。

简而言之,这个方法旨在通过粗标签来增加模型对正样本的识别范围,以帮助辅助头学习到更多的信息,而通过细标签来精确模型的预测。通过这种策略,YOLOv7能够更好地学习到各种尺寸的目标,提升目标检测的性能。

其他的可训练 Bag of freebies

在本节中,作者将列出一些可训练的 Bag of freebies。 这些是在训练中使用的一些技巧,但最初的概念并不是作者提出的。 包括

(1)Conv-bn-activation 拓扑中的批量归一化:这部分主要将批量归一化层直接连接到卷积层。这样做的目的是在推理阶段将批量归一化的均值和方差整合到卷积层的偏差和权重中。

(2)YOLOR 中的隐式知识与卷积特征图相加和乘法相结合:YOLOR中的隐式知识可以通过推理阶段的预计算简化为向量。 该向量可以与前一个或后一个卷积层的偏差和权重相结合。

(3) EMA模型:EMA是Mean Teacher中使用的技术,在作者的系统中他们纯粹使用 EMA 模型作为最终的推理模型。

实验

设计了边缘GPU、普通GPU和云GPU的基本模型,分别命名为YOLOv7tiny、YOLOv7和YOLOv7- w6。还使用基本模型对不同的服务需求进行模型缩放。

对于YOLOv7,在 Neck 部分进行堆栈缩放,并使用所提出的复合缩放方法对整个模型的深度和宽度进行缩放,得到YOLOv7- x。对于YOLOv7-W6,采用新提出的复合缩放法得到了YOLOv7-E6和YOLOv7-D6。此外,对YOLOv7-E6使用了提出的E-ELAN,从而完成了YOLOv7-E6E。由于YOLOv7-tiny是面向边缘gpu的架构,它将使用 Leaky ReLU作为激活函数。对于其他模型,使用 SiLU 作为激活函数。附录中详细描述每个模型的比例因子。

消融实验

Proposed planned re-parameterization model

为了验证提出的 planned re-parameterization model 的通用性,在 concatenation-based model 和 residual-based model 分别做了实验,

选择用于验证的基于串联的模型和基于残差的模型分别是 3-stacked ELAN 和 CSPDarknet。

在基于级联模型的实验中,用 RepConv 替换 3-stacked ELAN 中不同位置的3 × 3卷积层,详细配置如图所示。从表所示的结果中,可以看到所有较高的 AP 值都出现在作者所提出的 planned re-parameterization model 中。

在这里插入图片描述

Proposed assistant loss for auxiliary head

在辅助头部的辅助损失实验中,比较了一般的引导头独立标签分配方法和辅助头部方法,并比较了两种提出的导联引导标签分配方法。在表6中显示了所有的比较结果。从表6中列出的结果可以清楚地看出,任何增加辅助损失的模型都可以显著提高整体性能。

在这里插入图片描述
在表7中,作者进一步比较了引入上限约束和不引入上限约束的结果。

从表中的数字可以看出,用距离物体中心的距离来约束物体上界的方法可以获得更好的性能。

在这里插入图片描述
将辅助头部直接连接到中间层金字塔进行训练,可以弥补下一层金字塔预测中可能丢失的信息。为了解决这个问题,作者提出的方法是在合并E-ELAN的基数之前,在其中一组特征映射之后连接辅助头部。表8显示了采用粗-细引导和部分粗-细引导方法获得的结果。显然,部分粗转细引导法具有较好的辅助效果

在这里插入图片描述

结论

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

  • 23
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值