YOLO v7详解

论文地址:https://arxiv.org/abs/2207.02696

1. Introduction

        本文除了架构优化外,还进行了训练过程的优化。提出了一些优化的模块和优化方法,这可以加强训练成本,以提高目标检测的准确性,但不增加推理成本。我们称所提出的模块和优化方法为trainable bag-of-freebies

        近年来,模型重参数化[13,12,29]和动态标签分配[20,17,42]已成为网络训练和目标检测中的重要课题。对于模型再参数化,作者用梯度传播路径的概念分析了适用于不同网络中各层的模型再参数化策略,并提出了规划的再参数化模型。对于动态标签分配技术,提出了一种新的标签分配方法,称为coarse-to-fine lead引导标签分配。

        本文的贡献总结如下: (1)设计了几种trainable bag-of-freebies方法,使实时目标检测能够在不增加推理成本的情况下大大提高检测精度;(2)对于目标检测方法的发展,发现了两个新的问题,即重新参数化模块如何取代原始模块,以及动态标签分配策略如何处理对不同输出层的分配。此外,作者还提出了解决这些问题产生的困难的方法;(3)对实时目标检测器提出“扩展”和“复合尺度”方法,可以有效利用参数和计算;

2. Related work         

2.1. Real-time object detectors

        最先进的实时目标检测器,通常需要以下特点: (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)相关的最先进的方法的trainable bag-of-freebies方法。         

2.2. Model re-parameterization         

        模型再参数化技术[71,31,75,19,33,11,4,24,13,12,10,29,14,78]在推理阶段将多个计算模块合并为一个计算模块。模型重参数化技术可以看作是一种集成技术,可以将其分为模块级集成和模型级集成两类。为了获得最终的推理模型,对于模型级重新参数化有两种常见的实践。一是用不同的训练数据训练多个相同的模型,然后对多个训练模型的权重进行平均。另一种方法是对不同迭代次数下模型的权重进行加权平均 

2.3. Model scaling

        模型缩放方法通常使用不同的缩放因子,如分辨率(输入图像的大小)、深度(层数)、宽度(通道数)和阶段(特征金字塔数),以便在网络参数的数量、计算量、推理速度和精度方面实现很好的权衡。网络架构搜索(NAS)是目前常用的模型缩放方法之一。NAS可以在搜索空间中自动搜索合适的缩放因子,而无需定义太复杂的规则。NAS的缺点是它需要非常昂贵的计算来完成对模型缩放因子的搜索。作者发现几乎所有的模型尺度方法都独立分析单个尺度因子,甚至复合尺度类别中的方法也独立优化了尺度因子。这样做的原因是因为大多数流行的NAS体系结构处理的比例因子的相关性不是很大。作者观察到,所有基于连接的模型,如DenseNet [32]或VoVNet [39],当这些模型的深度被缩放时,都会改变某些层的输入宽度。由于所提出的架构是基于连接的,作者为该模型设计一种新的复合缩放方法。        

3. Architecture         

3.1. Extended effificient layer aggregation networks          

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

        在大规模ELAN中,无论梯度路径长度和计算块的堆积数如何,它都已达到稳定状态。如果更多的计算块被无限地堆叠,这种稳定状态可能会被破坏,参数利用率也会降低。所提出的E-ELAN采用expand, shufflfle, merge基数,可以在不破坏原始梯度路径的情况下不断提高网络的学习能力。在体系结构方面,E-ELAN只改变了计算块中的体系结构,而过渡层的体系结构则完全不变。作者的策略是利用group卷积来扩展计算块的通道和基数。应用相同的group parameter 和 channel multiplier用于计算层的所有计算块。然后,将每个计算块计算出的特征图根据设置的组参数g整分为g组,然后将它们连接在一起。此时,每一组特征图中的通道数将与原始体系结构中的通道数相同。最后,我们添加了g组特征映射来执行合并基数。除了维护原始的ELAN设计架构外,E-ELAN还可以指导不同的计算块组来学习更多样化的特性。                

 

 3.2. Model scaling for concatenation-based models

        模型缩放的主要目的是调整模型的一些属性,生成不同尺度的模型,以满足不同推理速度的需求。例如,EffificientNet[72]的缩放模型考虑了宽度、深度和分辨率。对于scale-yolov4[79],其缩放模型是调整阶段数。在[15]中,Doll‘ar等人分析了vanilla卷积和group卷积对参数量和计算量的影响,并据此设计了相应的模型缩放方法。 上述方法主要用于诸如PlainNet或ResNet等架构中。当这些架构在执行放大缩放或缩小缩放时,每一层的in-degreeout-degree 都不会发生变化,因此可以独立分析每个缩放因子对参数量和计算量的影响。然而,如果这些方法应用于基于连接的架构,会发现当扩大或缩小执行深度,基于连接的特征映射层计算块将减少或增加,如图3 (a)和(b).所示

        因此,作者为一个基于连接的模型提出相应的复合模型缩放方法。当缩放一个计算块的深度因子时,还计算该块的输出通道的变化。然后,对全连接层以相同的变化量进行宽度因子缩放,结果如图3 (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卷积,和在一个卷积层中的identity连接。通过分析RepConv与不同架构的组合和对应的性能,作者发现RepConv中的identity连接破坏了ResNet中的残差和DenseNet中的连接,这为不同的特征图提供了更多的梯度多样性。基于上述原因,作者使用没有identity连接的RepConv(RepConvN)来设计计划中的重新参数化卷积的体系结构。在我们的思维中,当具有残差或连接的卷积层被重新参数化的卷积所取代时,不应该存在identity连接。图4显示了作者在PlainNet和ResNet中使用的“计划重新参数化卷积”的一个示例。对于基于残差的模型和基于连接的模型中完整计划的再参数化卷积实验,它将在消融研究环节中提出。 

4.2. Coarse for auxiliary and fifine for lead loss  

        深度监督[38]是一种常用于训练深度网络的技术。其主要概念是在网络的中间层增加额外的辅助head,以及以辅助损失为导向的浅层网络权值。在本文中,将负责最终输出的头称为lead head,将用于辅助训练的头称为auxiliary head. 

        对于标签分配的问题。过去,在深度网络的训练中,标签分配通常直接指真实标签,并根据给定的规则生成硬标签。然而,近年来,以目标检测为例,研究者经常利用网络预测输出的质量和分布,然后结合真实标签,使用一些计算和优化方法来生成可靠的软标签。例如,YOLO [61]使用边界框回归预测和真实框的IoU作为客观性的软标签。在本文中,我们将将网络预测结果与地面真相一起考虑,然后将软标签分配为“标签分配者”的机制。

        本文提出的方法是一种新的标签分配方法,通过lead head prediction来引导auxiliary headlead head。换句话说,使用lead head prediction作为指导,生成从粗到细的层次标签,分别用于auxiliary headlead head的学习。所提出的两种深度监督标签分配策略分别如图5 (d)和(e)所示

        lead head prediction标签分配器主要根据lead head 的预测结果和地面真实框进行计算,并通过优化过程生成软标签。这组软标签将作为auxiliary headlead head的目标训练模型。这样做的原因是lead head具有相对较强的学习能力,因此由此产生的软标签应该更能代表源数据与目标之间的分布和相关性。此外,还可以将这种学习看作是一种广义剩余学习。通过让较浅的auxiliary head直接学习lead head已经学习到的信息,lead head将更能专注于学习尚未学习到的残余信息。

        从粗到细的lead head 引导标签分配也使用lead head 的预测结果和地面真相来生成软标签。然而,在此过程中,生成了两组不同的软标签,即粗标签和细标签,其中细标签与软标签由lead head 引导标签分配者生成的软标签相同,粗标签通过放宽更多的网格作为积极样本分配过程的约束而生成。原因是一个辅助头的学习能力不是那么强大,为了避免丢失需要学习的信息,将专注于优化召回auxiliary head的目标检测任务。对于lead head 的输出,可以从高查全率结果中过滤高精度结果作为最终输出。 但是,需要注意到,如果粗标签的附加权重接近于细标签的附加权重,它可能会在最终预测时产生不良的先验。因此,为了使这些超粗的正网格的影响更小,在解码器中进行了限制,从而使超粗的正网格不能完美地产生软标签。上述机制允许在学习过程中动态调整细标签和粗标签的重要性,并使细标签的可优化上限始终高于粗标签。

4.3. Other trainable bag-of-freebies 

        在本节中,作者列出一些trainable bag-of freebies.。包括(1)conv-bn激活拓扑中的批处理归一化:这部分主要将批处理归一化层直接连接到卷积层。其目的是将推理阶段批量归一化的均值和方差整合到卷积层的偏差和权重中。(2)YOLOR[81]中的隐式知识结合卷积特征映射和乘法方式:YOLOR中的隐式知识可以通过推理阶段的预计算简化为向量。这个向量可以与之前或随后的卷积层的偏差和权重相结合。(3) EMA模型: EMA是在指数移动平均值[75]中使用的一种技术,在我们的系统中,使用EMA模型作为最终的推理模型。 

5. Experiments

 

5.4. Ablation study  

5.4.1 Proposed compound scaling method          

 

5.4.2 Proposed planned re-parameterized model  

         

 

5.4.3 Proposed assistant loss for auxiliary head  

         

 

 

 

8. More comparison  

 

         

猜你喜欢

转载自blog.csdn.net/qq_52053775/article/details/127140149
今日推荐