• 工作总结
  • 工作计划
  • 心得体会
  • 领导讲话
  • 发言稿
  • 演讲稿
  • 述职报告
  • 入党申请
  • 党建材料
  • 党课下载
  • 脱贫攻坚
  • 对照材料
  • 主题教育
  • 事迹材料
  • 谈话记录
  • 扫黑除恶
  • 实施方案
  • 自查整改
  • 调查报告
  • 公文范文
  • 思想汇报
  • 当前位置: 雅意学习网 > 文档大全 > 公文范文 > 正文

    基于改进路径聚合和池化YOLOv4的目标检测

    时间:2023-06-22 16:30:05 来源:雅意学习网 本文已影响 雅意学习网手机站

    杨真真,郑艺欣,邵 静,杨永鹏,2

    (1.南京邮电大学宽带无线通信与传感网技术教育部重点实验室,江苏 南京 210003 2.南京信息职业技术学院网络与通信学院,江苏 南京 210023)

    人工智能(Artificial Intelligence,AI)发展至今,深度学习(Deep Learning,DL)作为其关键技术,已广泛应用在目标检测、图像分割和图像分类等领域[1]。目标检测需要快速判断图像中某个类别或多个类别是否存在,以及准确定位具体位置并将其框出,但对于一些目标种类多的复杂场景,其面临着巨大挑战。

    传统目标检测共分为3个阶段。首先进行区域选择,采用不同大小的滑动窗口遍历截取图像,产生多个候选框来尽可能检测所有存在的目标,然后进行特征提取,最后利用分类器来获得检测框的类别和位置。传统目标检测中滑动窗口的存在会产生大量时间和计算开销,人工操作导致检测速度无法提升且检测成本高。另外,其特征表示复杂,对于不同应用场景,需要重新设计新的模型,影响目标检测器的泛化性能和鲁棒性。此外,在实际场景会受到光线、遮挡及角度等因素的影响,传统目标检测不能满足实际检测的需求,容易产生错误检测。

    在新的科技生产的带动下,计算机性能得以提升,卷积神经网络(Convolutional Neural Networks,CNN)[2]被提出并且应用到目标检测领域,取得了很好的效果。基于卷积神经网络的目标检测方法一般分为两阶段目标检测方法和一阶段目标检测方法两大类。相较于传统目标检测方法,基于深度学习的目标检测的检测精度和速度都得到了显著提升。

    两阶段目标检测方法与传统目标检测方法相比,进步在于检测的精度高,在性能显著提升的同时加快了检测速度。它共分为两步,首先获取候选区域,然后再对候选区域的目标进行分类和坐标回归。区域卷积神经网络(Regions with CNN Features,R⁃CNN)[3]提出了具有CNN特征的网络,将其首次用于目标检测。接着提出空间金字塔池化(Spatial Pyramid Pooling, SPP)网络[4],该网络使用特征金字塔来解决尺度和缩放问题,并将其放在卷积层和全连接层之间,提高了检测精度,并缩短了检测时间。接着快速的区域卷积神经网络(Fast Regions with CNN Features, Fast R⁃CNN)[5]在 R⁃CNN 的基础上改变特征提取的方法,把空间金字塔的多尺度操作改为单一尺度的可变窗口,并且只进行一次前向计算。2017年Ren等[6]提出的更快速的区域卷积神经网络(Faster Regions with CNN Features,Faster R⁃CNN)使用区域生成网络 (Region Proposal Network,RPN)代替选择性搜索来提取候选区域,再进行后续分类操作,大大减少了检测时间,实现了端到端的检测。两阶段目标检测方法是两级检测方法,往往检测很准确,但在实际应用中检测速度会受到限制,无法达到实时性要求。

    因此研究人员提出了许多基于卷积神经网络的一阶段目标检测方法,如 Retinanet[7]、EfficientNet[8]、可伸缩和高效的目标检测 (Scalable and Efficient Object, EfficientDet)[9]、单次多盒检测头(Single Shot Multiboc Detector, SSD)[10]和只看一次(You Only Look Once, YOLO)[11]系列方法。

    这个过程一步到位,直接使用卷积神经网络提取特征进行目标检测。Retinanet针对一阶段检测方法中类不平衡影响精度的问题,修改损失函数,利用Focal损失分辨目标类别,并且通过实验验证了提出损失函数的有效性,但检测时间有所增加。EfficientDet在 EfficientNet的基础上增加了BiFPN,使用残差网络结构扩大网络的深度,增强特征提取能力,检测精度有所提升,但仍以检测速度为代价,算法实时性仍然需要改进。YOLO系列网络作为一阶段目标检测中的代表性方法,具有检测速度快、准确率高等特点。YOLO延续了GoogleNet的核心思想,通过单个神经网络实现了目标检测,实时性高。它将图像划分为多个网格并预测每个网格的边界框和概率,但每个网格只能预测一个类别。2016年Liu等提出的SSD方法在YOLO方法的基础上做了修改,引入锚点机制,并将其全连接层摒弃,提升了检测精度,特别是对一些小目标检测效果较好。但SSD的先验框需要手动设置,不能直接通过训练得到。第二版本 YOLO(The Second Version of YOLO, YOLOv2)[12]更改了主干特征提取网络,使用了Darknet⁃19,并在每一个卷积层中也作了改进,引入了批量归一化(Batch Normalization,BN)层。优点是有效提高了目标检测精度,保持了检测速度,但容易漏检。第三版本YOLO(The Third Version of YOLO, YOLOv3)[13-14]引入了多尺度特征,并使用更深层次的新主干网络Darknet⁃53代替了Darknet⁃19,改变了网络结构,提高了网络检测精度,但对小目标检测仍然存在漏检和误检。第四版本YOLO(The Fourth Version of YOLO, YOLOv4)[15]使用CSPDarknet⁃53作为主干特征提取网络,可以很好地平衡检测速度和精度。YOLOv4作为目前主流的先进目标检测方法,将目标检测任务转变成回归任务,对于输入到网络中的图像,可以直接进行检测。当图像输入到YOLOv4网络时,被划分为一个S×S的网格,只要物体的中心点落在一个格子上,格子就用来检测物体,同时生成一个矩形框来定位位置和确定类别。YOLOv4可以较好平衡检测速度和精度,可扩展性高。

    本文针对YOLOv4目标检测器存在浅层位置信息利用率不足的问题,提出了一种新的目标检测方法——YOLOv4⁃P。对路径聚合网络进行改进,利用主干特征提取网络的第二个残差块,新增一个大小为104×104的检测层,加强融合浅层特征层,并且使用K⁃means聚类对数据集重新进行处理,获得合适的先验框尺寸。同时使用金字塔池化模块(Pyramid Pooling Module, PPM)[16],利用 4 种不同尺度的金字塔池化引入不同尺度下的特征信息。进行了仿真实验,结果表明,改进的YOLOv4效果更优,在PASCAL VOC2007和VOC2012两个数据集上的均值平均精度(Mean Average Precision,mAP)相较于YOLOv4分别提高了2.03%和1.94%。

    1.1 YOLOv4算法

    YOLOv4是一种端到端的目标检测方法,它将目标检测问题转化为回归问题,直接检测图像。每一个网格会预先设定3个先验框,每个先验框会通过YOLO Head生成矩形框定位位置,判定类别,留下置信度高于阈值的矩形框。YOLOv4以CSPDarknet⁃53为主干特征提取网络,对YOLOv3中的Darknet⁃53中的残差块进行修改,引入了CSPNet结构。将原本的残差块进行了拆分,拆成左右两个部分,主干部分依然继续将残差块一个一个地堆叠,而另一部分只需要做少量的操作就可以直接与残差块的尾部相连,使得CSPDarknet⁃53中存在一个大的残差边。对于YOLOv4这种深层网络来说,残差边可以把信息传递到网络的深层,将浅层信息与深层信息进行结合,避免了梯度消失的问题,增强网络特征提取能力。同时,CSPDarknet⁃53还将卷积中的激活函数由 Leaky⁃ReLU 换为 Mish[17],Mish 函数具有平滑和连续等特点,这可以让网络具有更好的泛化能力,使信息可以更深入网络。

    1.2 路径聚合网络

    YOLOv4采用路径聚合网络(Path Aggregation Network, PANet)[18]作为加强特征提取网络。

    上采样时,特征层将输入的长和宽分别变为原来的两倍,再与上一特征层堆叠,使得浅层特征与深层特征进行融合,将深层网络的语义信息向回传递,全部堆叠完成后再反过来进行下采样,与下一特征层进行堆叠。融合了上采样、下采样,并对不同的特征层之间的信息进行特征融合,更有利于提取多尺度的特征,以便更好地对不同大小的目标进行检测。

    传统的特征金字塔网络(Feature Pyramid Networks, FPN)[19]结构仅仅为单方向自上而下传递,信息传递受到限制,而YOLOv4中的PANet更改了这种仅作上采样堆叠的方式,在FPN的基础上使用了自底向上的路径聚合,由浅至深传递,提高了浅层特征层中位置信息的利用率。这种自底向上的结构层数较少,缩短了路径,减轻了由于层层卷积导致的信息丢失,且产生的计算开销很小。

    1.3 金字塔池化

    深层网络往往注重深层信息的获取,感受野大时结合全局信息的程度更强。而理论中当网络越深时,感受野越大,但实际的感受野大小会比理论的感受野要小,因此融合上下文信息非常重要。金字塔池化模块采用的是平均池化,可以融合全局信息,但其特征提取能力不足,如果单纯使用单一的平均池化会造成信息的损失,因此利用平均池化将不同感受野下的特征进行融合。

    2.1 提出的路径聚合网络

    YOLOv4随着CSPDarknet⁃53的层层下采样,浅层信息丢失严重,向深层传递时信息利用率较低。为了解决该问题,并且使用尽量短的路径避免信息丢失,本文主要从加强特征提取网络入手,对YOLOv4进行改进以提升浅层信息的利用率。

    YOLOv4将YOLOv3堆叠的金字塔结构改为具有自底向上的路径聚合结构,先将深层向浅层传递,再将浅层向深层传递,这种结构层数较少,缩短了路径,减轻了由于层层卷积导致的信息丢失[20]。受此启发,为了充分利用这个特点,对PANet结构进行改进,利用主干特征提取网络的第二个残差块,新增一个大小为104×104的检测层,共有大小分别为104×104,52×52,26×26 和 13×13 等 4 个检测层,加强融合浅层特征层,改进的PANet网络结构如图1所示。

    图1 改进的PANet网络结构

    当PANet进行上采样堆叠至52×52特征层时,依旧继续进行上采样,与第二个残差块输出的结果,即大小为104×104的特征层进行堆叠,然后再反过来进行层层下采样。将这4个不同尺度的特征层进行深度融合,尽可能地保留了浅层位置信息,增强了特征提取能力。

    YOLOv4共有3个检测层,每个检测层设定3个先验框尺寸,先验框的宽高都是预先设定好的,可以通过对其宽高进行调整,帮助预测结果更接近真实框,并加快模型的收敛速度。先验框的宽高设定非常重要,YOLOv4 是使用 K⁃means聚类[21]来获得合适的先验框尺寸大小。原始的先验框尺寸大小分别为(12,16)、(19,36)、(40,28)、(36,75)、(76,55)、(72,146)、(142,110)、(192,243)和(459,401),共有9个不同的尺寸。本文改进的YOLOv4共有4个检测层,每个检测层需要3个不同的先验框尺寸,为了给每个特征层分配合理的先验框,共需要12个不同尺寸的先验框,因此取K=12的K⁃means聚类方法对数据集重新进行聚类,以获得新的先验框尺寸。通过K⁃means聚类,重新得到的先验框尺寸大小分别为(14,22)、(16,47)、(26,82)、(38,35)、(44,126)、(66,66)、(76,163)、(116,251)、(134,113)、 (202,321)、(257,180)和(361,343)。每个检测层对应3个尺寸,大尺寸的先验框用于深层检测层,小尺寸用于浅层检测层。每个先验框会通过YOLO Head生成矩形框定位位置,判定类别,留下置信度高于阈值的矩形框。

    2.2 提出网络的整体架构

    本文对 YOLOv4进行改进,改进的 YOLOv4⁃P结构如图2所示。

    图2 基于改进的路径聚合和池化YOLOv4的目标检测方法网络结构

    该网络主要分为主干特征提取网络,加强特征提取网络和YOLO Head检测层3个部分。YOLOv4将尺寸为416×416的图像输入到网络,首先经过主干特征提取网络CSPDarknet⁃53,进行网络的特征提取。但随着网络变深,感受野变小,特征提取能力受限,并没有充分结合上下文信息。为了进行全局信息的特征融合,在 CSPDarknet⁃53的输出后加入金字塔池化模块,预先设定好不同池化核大小,利用4种大小分别为1×1、2×2、3×3 和 6×6 尺度的金字塔池化引入不同尺度下的特征信息。特征图输入到金字塔池化模块中,分成两个分支,其中一个分支不做修改,另一个分支首先分别进行这4个尺度的池化,得到4个不同大小的特征图。由于是4个尺度,通道数会变为原来的4倍,再进行卷积调整后通道数变为原来的1/4,利用双线性插值修改特征图尺寸,与原始特征图结合后经过卷积输出结果。这种金字塔结构可以让图像变换为不同尺度的特征图,最后连接到一起,解决了卷积神经网络对于图像的固定约束。同时聚合了多种感受野中的特征,相较于单一尺度的池化,对网络中提取到的多种尺度的语义信息进行融合,增强了网络对全局信息的特征提取能力。加强特征提取网络由SPP模块和PANet构成,YOLOv4虽然具有速度和精度的优势,但主干网络拥有53个卷积层,随着CSPdarknet⁃53的层层下采样,浅层信息丢失严重,为了更好地利用浅层特征层的位置信息,本文对 PANet结构进行改进。PANet路径较短,将信息由浅至深传递,可以提高浅层特征层中位置信息的利用率。原本的YOLOv4经过PANet后会产生3个不同尺度的特征层,改进后利用了主干网络的第二个残差块的输出,使用PANet将深层特征层上采样的结果与其进行堆叠,得到第4个大小为104×104的检测层,再进行层层下采样,将浅层信息传递到深层,得到的4个检测层大小分别为104×104、52×52、26×26 和 13×13,改进的PANet结构对4个尺度的特征都可以充分利用。由于改进的YOLOv4拥有4个尺度的检测层,网络在预测时需要对先验框进行调整以获得预测结果,合适的先验框尺寸大小非常重要,使用K⁃means聚类重新生成对应的先验框,提高了目标检测精度。

    为了验证本文提出的YOLOv4⁃P的有效性,进行了实验,数据集为 PASCAL VOC2007和VOC2012,使用的服务器GPU版本为NVIDIA Tesla M40(12 GB),Ubuntu 版本为 16.04.7,CUDA 版本为10.0。

    在训练前首先使用K⁃means聚类来获得12个新的合适的先验框尺寸完成准备工作。训练共有100个轮次,采用了迁移学习的理念,前50个轮次将主干网络冻住,后50个轮次解冻主干网络,将整个网络进行训练。实验中训练的批尺寸是4,初始学习率为1e-3,动量设为0.9,权重衰减设为5e-4。先进行了消融实验,研究改进的路径聚合网络的加层和金字塔池化模块对YOLOv4⁃P的贡献。最后将YOLOv4⁃P与其他先进的目标检测方法进行了对比实验。

    3.1 消融实验

    为了验证本文提出的YOLOv4⁃P方法中各个策略的有效性,在PASCAL VOC2007和VOC2012上进行消融实验,其中YOLOv4+PP表示在YOLOv4主干特征提取网络的后端加入金字塔池化模块,YOLOv4+PA表示在YOLOv4中加入加层路径聚合网络,其实验结果的mAP值如表1所示。

    表1 YOLOv4⁃P的消融实验

    首先比较使用金字塔池化模块和原始YOLOv4在精度上的差异,金字塔池化模块可以让图像变换为不同尺度的特征图,解决了卷积神经网络对于图像的固定约束。相较于单一尺度的池化,金字塔池化对网络中提取到的多种尺度的语义信息进行融合,增强了网络对全局信息的特征提取能力。在两个数据集上的mAP分别提高了0.78%和0.74%,说明金字塔池化模块可以有效提升YOLOv4⁃P的检测精度。接着验证路径聚合网路的加层改进对YOLOv4⁃P的优化,该方法增加了一个浅层检测层,可以利用低层特征层的位置信息。在两个数据集上上的mAP较YOLOv4分别提升1.46%和1.47%,分别达到86.92%和88.15%,说明加层的路径聚合网络可以有效提升网络精度,加层后的4个不同尺度的特征层深度融合,尽可能地保留了浅层位置信息,增强了特征提取能力。

    3.2 对比实验

    将YOLOv4⁃P与其他先进目标检测方法进行对比,置信度设为0.5,图像被不同的目标检测方法检测后,会判断图像中是否含有目标以及目标的具体位置,并使用不同颜色的矩形框框出,其视觉结果如图3所示。

    图3 YOLOv4⁃P和其他先进目标检测方法的对比结果

    从图 3 可以看出,SSD、Retinanet、EfficientDet⁃D0、EfficientDet⁃D1、YOLOv3+SPP 和 YOLOv4 框出目标数为 6 个,EfficientDet⁃D2、YOLOv3 和本文提出的YOLOv4⁃P框出目标数为7个,最左侧的小汽车位置较偏较小,目标不完整且为背面,其他先进方法皆将其漏检,而提出的YOLOv4⁃P能将其框出,说明其中为了保留浅层位置信息和融合不同尺度信息而对路径聚合网络改进增加的浅层特征层和金字塔池化模块起到作用,成功提高小目标检测能力,减少漏检和误检。且从框出的目标可以看出,与其他先进的目标检测器对比,YOLOv4⁃P表现出改善。EfficientDet⁃D2和 YOLOv3虽然框出的目标数与YOLOv4⁃P 相同,但 YOLOv4⁃P 更能完整地框出目标,尤其是对于人物这种容易产生形变而不容易精确框出的类别。此外,YOLOv4⁃P检测的置信度也有所提高,7个目标中有3个目标置信度为1,从检测图片结果来看,YOLOv4⁃P能够提高目标检测的性能。

    YOLOv4⁃P与其他先进目标检测方法在mAP和帧每秒(Frames Per Second,FPS)上的对比结果如表2所示。

    表2 与其他先进目标检测方法的对比

    由表2可以看出,在两个数据集上,YOLOv4⁃P的mAP最高,分别为87.49%和88.62%,比次优的YOLOv4分别提升2.03%和1.94%,说明YOLOv4⁃P的改进策略可以有效提升目标检测的精度。YOLOv4⁃P 的 FPS 分别为38.49 帧/s和 35.64 帧/s,因为加入了金字塔池化模块并增加了浅层检测层,所以网络结构变得比原先复杂,网络的速度稍变慢,比FPS最高的YOLOv4稍慢。YOLOv4虽然FPS最高,但mAP与YOLOv4⁃P相差较大,综合考虑检测精度和速度,YOLOv4⁃P性能更优。SSD在几种先进目标检测方法中精度最低且速度中等,Retinannet精度较SSD有所提升但检测速度也降低了,EfficientDet⁃D0、EfficientDet⁃D1 和 EfficientDet⁃D2 的精度依次提升,但检测时间也依次变长,YOLOv3及YOLOv3⁃SPP可以很好地平衡速度与精度,但与YOLOv4⁃P相比仍有较大差距。综合比较,YOLOv4⁃P更能平衡速度与精度,效果最优。

    YOLOv4⁃P不论是从同一张图片的视觉检测结果还是定量数据,与其他先进目标检测方法相比,不仅维持检测速度,满足了实时性要求,还提升了检测精度,整体效果更好。

    为了解决YOLOv4目标检测器对浅层位置信息利用率不足的问题,本文提出对PANet进行改进,增加了一个检测层来加强浅层信息融合。并且使用K⁃means聚类对数据集重新进行处理,获得合适的先验框尺寸。此外还使用金字塔池化模块来引入不同尺度下的特征信息,并将其加入到主干特征提取网络之后。为了验证提出的网络的性能,进行了消融实验以及与其他先进目标检测方法的对比实验。实验结果表明,YOLOv4⁃P的性能比其他先进目标检测方法都更优。

    猜你喜欢池化先验浅层基于高斯函数的池化算法计算机应用(2022年9期)2022-09-25卷积神经网络中的自适应加权池化软件导刊(2022年3期)2022-03-25浅层换填技术在深厚软土路基中的应用建材发展导向(2021年24期)2021-02-12基于浅层曝气原理的好氧颗粒污泥的快速培养环境影响评价(2020年5期)2020-12-02基于无噪图像块先验的MRI低秩分解去噪算法研究成都信息工程大学学报(2019年3期)2019-09-25基于卷积神经网络和池化算法的表情识别研究计算机技术与发展(2019年1期)2019-01-21用于手写汉字识别的文本分割方法智能计算机与应用(2018年2期)2018-05-23基于自适应块组割先验的噪声图像超分辨率重建自动化学报(2017年5期)2017-05-14岩心资料在大庆油田中浅层油水层解释中的应用录井工程(2017年4期)2017-03-16康德审美判断的先验演绎与跨文化交流中国诠释学(2016年0期)2016-05-17

    推荐访问:路径 聚合 改进

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章