打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
YOLOv5 网络模型

1 网络结构

       在 YOLO 网络模型提出以前,目标检测研究领域以 Faster-RCNN 为首的two-stage 算法为主。two-stage 算法需要将候选区域的提取与最后的网络分类和回归分为两个独立的部分,导致速度较慢但检测精度相对较高。而 one-stage 算法仅需要将输入图像送入网络一次就可以得到所有预测框的位置和类别信息,其相较于 two-stage 算法精度较低,但是网络运行的速度更快,内存占用更小,非常适合移动端以及硬件配置相对较简单的环境。 
       YOLO 系列网络模型是最为经典的 one-stage 算法,也是目前工业领域使用得最多的目标检测网络,目前已经有 5 个较为成熟的版本。YOLOv5 网络模型是 YOLO 系列的最新版本,在继承了原有 YOLO 网络模型优点的基础上,具有更优的检测精度和更快的推理速度。YOLOv5 系列可分为四个模型,分别为YOLOv5s、YOLOv5m、YOLOv5l 和 YOLOv5x,四个模型的网络结构基本一致,只是其中的模块数量与卷积核个数不一致。模型的整体结构如图 1 所示。

      YOLOv5目标检测模型相比于其他YOLO系列模型在网络结构上更加复杂,同时在数据增强与训练策略上也使用很多技巧来提升模型的检测精度与速度。从图1 中可以看出,YOLOv5 网络模型可以分为三部分,第一部分为主干网络(Backbone),负责目标的特征提取,由 Focus 模块、BottlenCSP 模块、SPP模块组成。第二部分为颈部(Neck)网络,主要是对主干网络所提取的特征进行增强,所采用的模块是 PANet 路径聚合结构。第三部分为头部(Head)网络,采用与 YOLOv3 网络模型一样的头部检测网络,三个检测头分别对原图像进行了 8 倍、16 倍和 32 倍下采样,最终分别生成三个不同大小的特征向量,用来检测不同大小的目标。 

2 Focus 模块

       Focus 模块把图片数据分成四份,每份数据都是相当于进行 2 倍下采样获得,然后将四份数据进行拼接得到尺寸缩小一半的新的特征图,最后进行卷积操作将信息融合并改变特性图通道数。Focus 结果的好处是可以最大程度的减少信息损失和计算量,同时也增加了困难样本与数据的多样性。Focus 过程如图2 所示: 

      如上图所示,输入图像大小为640 × 640 × 3,Focus 结构对图像采取像素点切片操作,在图像矩阵的行列两个维度每隔一个像素点进行选取,维度保持不变,一次切片操作后得到320 × 320 × 3的特征图,最终经过四次切片操作再将所有特征图进行拼接得到大小为320 × 320 × 12的特征图,起到了下采样的作用。与普通卷积下采样的计算量相比,Focus 操作的计算量也显著减少,并且不会带来信息丢失,为后续的特征提取保留了更完整的图片信息。 

3 BottlenkCSP 模块

     BottlenCSP 模块主要分为 Bottleneck模块和 CSP模块。其中 Bottleneck结构就是经典的瓶颈—残差结构,其网络结构如下图所示。

      输入图像首先经过1 × 1卷积层改变图像的通道数,一般是将通道缩减为输入图像的一半,然后再经过3 × 3的卷积操作复原输入的通道数,最后通过残差结构与初始输入相加得到最后的输出。由于 Bottleneck 结构的存在,可以灵活地调整通道数的数量,还可以增加网络的非线性,保护图像信息的完整性,提高网络的复杂度。一般的网络模型随着网络层级的不断叠加,训练过程会愈发困难,很容易产生梯度消失或爆炸等问题,而残差结构可以有效地解决这个问题,帮助模型学习到更多更丰富的语义特征,从而提升网络的性能。 

      CSP(Cross Stage Partial)结构如图 4 所示,它首先将特征图分为两个
部分并分别送入两个支路,其中一部分进行 n 次 Block 内定义的卷积操作后与另一部分直接拼接并输出,最后通过卷积操作实现特征的融合以及输出通道数的改变。采用 CSP 结构不仅可以减少计算量,提高网络运算速度和硬件资源使用率,还可以将不同位置的梯度交叉混合,丰富梯度分流,增强网络的梯度表现和学习能力,从而提高训练准确度和收敛速度。 

        如上图所示,特征图在 n 个 block 中不断进行信息提取特征融合,最终的输出大小与输入保持不变。另一分支的特征图直接通过一个 shortcut 与其进行拼接。拼接后的特征图再经过一组大小1 × 1的卷积层融合不同网络层的输出信息提升学习能力,改变输出通道数量从而减少计算量。
       YOLOv5 网络模型结合上述两种网络结构提出了 BottleneckCSP 结构用于主干网络中提取图像的信息,其整体结构如下图所示。

      该结构在 CSP 结构的基础上加入残差网络,将梯度的变化集成到特征图上得到网络的输出。如上图所示,与原始 CSP 结构不同,实际的结构在特征图输入后并没有按照通道划分成两个部分,而是直接将特征图进行复制后送入两条支路,进一步提高特征的重用性,其中一条支路实现通道数缩减,另一支路在改变通道数后进行 n 次 Bottlenneck 操作,之后进行一次 Transition 操作,改变输出的通道数,随后拼接两条支路的输出再进行第二次 Transition 操作,目的是为了实现特征融合,让模型学习到更多的特征,有效增强了网络的学习能力,提升了检测的准确率。   

4 FPN+PAN 结构

       YOLOv5 网络模型中颈部网络(Neck)主要负责特征增强,将主干网络所提取的特征进行增强处理,使得后期的预测更加精准。原始 FPN 结构采用自顶向下的特征融合方式处理目标检测领域中的多尺度变化问题,在众多的模型中得到了应用。但是若只采用 FPN 结构融合上下文信息,实现不了上层信息与底层信息的交流,因此 YOLOv5 网络在 FPN 的基础上再加入 PAN 结构引入一条自下而上的信息流,充分实现了网络上下信息流的融合,提升网络的检测能力。 

      卷积神经网络浅层特征图所关注的信息主要是图像中基础的位置与结构信
息,而不断卷积之后得到的顶层特征图所关注的图像信息则更为高级。网络模型为了能够更加准确地检测出目标物体,就需要平衡不同层级之间的特征图信息。FPN 结构如图所 6 所示,首先需要在卷积神经网络中提取不同大小不同层级的特征图构建特征金字塔,随后自顶向下利用上采样操作融合金字塔中不同层级的特征图,重复特征融合过程直到得到网络模型所需要的所有输出。这种自顶向下的结构可以将深层语义信息传送到浅层网络层中从而实现多尺度的目标检测,能够有效提高模型的检测能力。 

      但是 FPN 只是自顶向下地将高层的语义信息传递回浅层的特征图,缺少了目标的位置信息,导致其对大中型目标的检测不够理想。针对此问题,YOLOv5网络模型采用的方法是在 FPN 结构基础上加入一个自底向上的金字塔作为原始 FPN 结构的补充,构成 PANet 网络,网络结构如图7 所示,自底向上的结构通过将浅层丰富的位置信息映射叠加到深层特征来进行信息融合,将底层的位置信息再向高层传递回去,进一步加强了不同特征图之间的信息传递,准确保留了空间信息,能有效提高网络对大中型目标的检测能力。 

                               

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
改进的YOLO:AF-FPN替换金字塔模块提升目标检测精度
目标检测算法21篇速览:检测网络优化及改进
广西大学郑含博、李金恒 等:基于改进YOLOv3的电力设备红外目标检测模型
YOLOv4详细分析 | 细数当前最佳检测框架小细节(附论文及源码下载)
YOLO Nano来了!比Tiny YOLOv3小8倍,性能提升11个点,4MB的网络也能做目标检测...
融合轻量化与梯形结构的学生行为检测算法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服