YOLO v7原理解析 | 读论文

本文正在参加 人工智能创作者扶持方案

在核算机视觉的领域中,实时方针检测是一个非常重要的组成分支,由最开端的R-CNN三件套,到全体结构结构趋于简单化的YOLO,无论是在检测精度仍是在检测速度上都在不断进步。YOLO的一代代更迭在功能上更是被人们所推崇。今天就经过一篇2022年最新的YOLO论文,带大家了解一下最前沿的图像检测算法。

论文地址:arxiv.org/pdf/2207.02…

代码地址:github.com/WongKinYiu/…

YOLO v7原理解析 | 读论文

YOLOv7简介

近些年来,针关于不同的边缘设备,仍然在进行实时方针检测器的开发,而且实时方针检测器的发展首要是集中在了有效结构的规划上,分为在CPU上运用和在GPU上运用。然而本文所提办法的发展方向与现在这两种干流的发展方向有区别,除了优化全体的架构,还在练习进程中进行了相关的工作来优化。其重点是规划出了一些新的优化模块和优化办法,并称其为可练习的免费赠品;在不添加推理本钱的基础上,完成精度的进步。

YOLOv7的架构

可扩展高效的层聚合网络

现在,在大多数的关于规划高效架构的办法中,首要考虑的要素仍是参数的数量、核算量和核算密度

YOLO v7原理解析 | 读论文

在上面的图中,图b所规划的CSPVoVNet网络结构其实是图a中的VoVNet的一种改动体。图b的规划除了考虑到上面提到的根本的规划问题外,还剖析了梯度途径,以使不同层的权重能够学习到更多样化的特征,进行梯度剖析的优势在于使得推理速度更快、更精确。

图c中的ELAN办法将“怎么规划一个高效的网络”作为着重考虑的规划战略,得出的结论是:经过操控最短和最长的梯度途径,一个更深层的网络能够进行更有效地学习和收敛。本篇文章中提出的办法是根据ELANExtended-ELAN (E-ELAN),其结构如图d所示。经过比较图c与图d能够发现,本文所提出的办法并没有改动原来架构的梯度传输途径,而是运用分组卷积来添加新增特征的基数,并以shufflemerge基数的办法将不同组别的特征组合在一起。这种办法能够增强从不同的特征图里学习到的特征,以进步参数和核算的运用率。

本篇文章提出的E-ELAN办法运用了扩展、shuffle、merge基数,在不损坏原有梯度途径的前提下,完成了不断增强网络学习的才能。架构方面,过渡层是不变的,改动的仅仅核算块的组成,完成的战略就是运用组群卷积对核算块的通道和基数进行扩展。完成的流程大致如下:

  1. 首要,关于一个核算层的一切核算块,运用相同的组参数和通道乘法器;

  2. 然后,将每个核算块核算出来的特征映射按照预先设定的组参数g分配到g个组别里,再将它们拼接在一起;留意此时,每组特征映射中的通道数与原先架构中的通道数是相同的。

  3. 最后,经过添加g组特征映射来执行合并基数。除了坚持原有的ELAN规划架构外,E-ELAN还能够指导不同的核算块组学习更多样化的特性。

根据衔接模型的模型缩放

模型缩放的首要意图是调整模型的某些特点,生成不同标准的模型,以满意不同推理速度的需求。

YOLO v7原理解析 | 读论文

如图所示,是根据衔接模型的模型缩放示意图。从图中(a)和(b)能够看出,当进行深度的缩放时核算块的输出宽度也会跟着改动,这就会形成后面的传输层的输入宽度增大,并且影响在一层一层的扩展。所以,关于根据拼接的模型,不能独自剖析不同的缩放因子,而有必要一起考虑。以放大深度为例,这样的操作会导致过渡层的输入通道和输出通道的份额发生改动,这可能会导致模型硬件运用量的降低。因而,文章提出了一种根据拼接模型的复合模型缩放办法,只需求进行一个核算块的深度缩放,其他的传输层进行相应的宽度缩放。即当缩放一个核算块的深度因子时,还有必要核算该块的输出通道的改动。然后,将在过渡层进步行相同改动量的宽度因子缩放,成果如上图 (c)所示。文章提出的复合缩放办法能够坚持模型在初始规划时的特点,并坚持最优结构。

Trainable bag-of-freebies(可练习的免费赠品)

方案的从头参数化的卷积

在本篇文章中,运用了梯度流传达途径来剖析从头参数化卷积应该怎样与不同网络进行结合,相应地还规划了方案的从头参数化的卷积。详细的模型结构如下图。

YOLO v7原理解析 | 读论文

其间,RepConv实际上是一个把33卷积层、11卷积层和标识卷积层结合在一起的卷积层。经过剖析RepConv与不同架构的组合及其功能,能够发现RepConv中的标识衔接损坏了ResNet中的残差和DenseNet中的拼接,为不同的特征映射提供了更多样化的梯度。根据此原因,文中运用无单位衔接的RepConv (RepConvN)来规划规划的从头参数化卷积的体系结构。在该思路中,当一个带有残差或串联的卷积层被从头参数化的卷积所替代时,应该没有标识衔接。上图展示了规划的用于PlainNetResNet的“方案重参数化卷积”的示例。在这些模型中,能够发现有剩下衔接或者是串联衔接的层,其RepConv不应该有标识衔接。在这种情况下,它能够被不包含标识衔接的RepConvN所替代。

辅佐头与引导头

YOLO v7原理解析 | 读论文

上图是一个辅佐头与引导头的结构结构图。从图中能够看出与常规模型(a)相比,(b)形式具有辅佐头;与一般的独立标签分配器(c)不同,文中提出(d)引导头引导标签分配器和(e)粗至细引导头引导标签分配器。该标签分配器经过前导头猜测和地上实在值进行优化,一起得到练习前导头和辅佐头的标签。

  • 引线头导向标签分配器首要是根据引线头的猜测成果和地上实在值进行核算,经过优化进程生成软标签。这套软标签将作为辅佐头和带头头的方针练习模型。这样做的原因是引导头具有比较强的学习才能,因而由它生成的软标签应该更能代表源数据和方针数据之间的散布和相关性。此外,能够将这种学习看作是一种广义的剩下学习。经过让较浅的辅佐头直接学习先导头现已学习过的信息,先导头将更能够专心于学习尚未学习到的剩下信息。

  • 粗至细导标器也运用导标头的猜测成果和地上实在值生成软标。但在该进程中,生成了两组不同的软标签,即粗标签和细标签,其间细标签与铅头引导标签分配器生成的软标签相同,粗标签是经过放宽正样本分配进程的约束,答应更多的网格作为正方针来生成的。原因是辅佐头的学习才能不如先导头,为了防止丢掉需求学习的信息,在方针检测任务中将重点优化辅佐头的召回率。关于引线头的输出,能够从高召回率的成果中筛选出高精度的成果作为终究输出。可是有必要留意,假如粗标的附加分量接近细标的附加分量,在终究猜测时可能会发生不良的先验。因而,为了使那些超粗的正网格影响更小,在解码器中进行了约束,使得超粗的正网格不能完美地发生软标签。上述机制答应在学习进程中动态调整细标签和粗标签的重要性,并使细标签的可优化上界始终高于粗标签。

其它的可练习的免费赠品袋

除了文中规划的办法,这儿还列出了一些困扰练习的免费包;这些免费赠品是在练习中运用的一些技巧,但最初的概念并不是这篇文章中提出的。首要包含以下几个方面:

  • conv-bn-activation拓扑中的批量归一化

    该部分首要将批处理归一化层直接衔接到卷积层。这样做的意图是在推理阶段将批归一化的均值和方差整合到卷积层的误差和权重中。

  • YOLOR中的隐式常识结合卷积特征映射的加乘办法

    在揣度阶段经过预核算,能够将YOLOR中的隐式常识简化为一个向量。该向量能够与前一层或后续卷积层的误差和权值相结合。

  • EMA模型

    EMAmean teacher中运用的一种技术,在本文的体系中,朴实运用EMA模型作为终究的推理模型。

YOLOv7的优势

  1. 在不添加推理本钱的情况下,经过规划了几种不同的可练习免费赠品袋(trainable bag-of-freebies)办法,然后大大进步实时方针检测的精度;

  2. 关于方针检测办法的演化,在从头参数化的模块怎么替换原有的模块动态标签赋值战略怎么处理对不同输出层的赋值两个问题上,提出了相对应的处理办法;

  3. 提出了运用参数和核算量的实时方针检测器的扩展复合缩放的办法;

  4. 在现有方针检测办法的基础上,有效地减少了参数和核算量,具有较高的推理速度和检测精度。

结论

文章提出了一种新的实时方针检测器体系结构和相应的模型缩放办法。在该办法的规划中,又发现了方针检测办法在发展进程发生的新研究课题。在研究进程中,发现了从头参数化模块的替换问题和动态标签分配问题。为了处理这一问题,文章提出了可练习的免费赠品袋办法来进步方针检测的精确性。在此基础上,开发了YOLOv7系列方针检测体系,该体系获得了最先进的成果。

其他

论文中还提到了其他的,比方其他类似方针检测消融实验的细节之类的,这儿就不一一列举进行比较了,感兴趣的能够自己去看一下论文。