一种改进的轻量化YOLOv4人脸口罩检测方法

著录项
  • CN202210007092.0
  • 20220105
  • CN114419705A
  • 20220429
  • 西安电子科技大学;陕西理工大学
  • 王兰美;王桂宝;魏兵;张仲鹏;孙长征;陈正涛
  • G06V40/16
  • G06V40/16 G06V10/44 G06V10/764 G06V10/82 G06V10/80 G06K9/62 G06N3/04 G06N3/08

  • 陕西省西安市雁塔区太白南路2号
  • 陕西(61)
摘要
本发明公开了一种改进的轻量化YOLOv4人脸口罩检测方法,针对实际有效感受野远小于理论感受野,当目标占据整张图片一半以上大小时,由于实际有效感受野的限制,网络的检测效果不好;新设计的SPP模块由四个池化层组成,将输入特征图分别经过四层池化,每一层池化后的输出特征图的感受野进一步扩大,同时也将池化后的多张不同感受野的特征图进行特征融合操作,实现了局部高级语义特征的多尺度利用;将新设计的SPP模块嵌入至YOLOv4?Tiny骨架网络后面,FPN结构前面,构成SPP?YOLOv4?light网络,利用SPP模块将网络深层的感受野进一步扩大,同时将骨架网络提取到的特征进行多尺度池化后融合,在通用数据集上进行训练和测试,验证了本发明方法提高了人脸口罩的检测精度。
权利要求

1.一种改进的轻量化YOLOv4人脸口罩检测方法,基于AIZOO与RMFD通用数据集的人脸口罩检测定位,其特征在于:

步骤一、下载人脸口罩检测的公开数据集AIZOO、RMFD,由于数据集中的照片质量参次不齐,本发明从公开的AIZOO、RMFD人脸识别数据集选取分辨率大于608*608的戴有口罩的人脸照片或者未戴口罩照片,构建了本发明使用的人脸口罩数据集AIFM数据集,其中AIZOO数据集的下载地址:https://github/AIZOOTech/FaceMaskDetection,RMFD数据集的下载地址:https://github/X-zhangyang/Real-World-Masked-Face-Dataset;

由于目前针对于人脸口罩检测的公开数据集较少,照片质量也参次不齐,本发明从公开的AIZOO、RMFD人脸识别数据集选取分辨率大于608*608的戴有口罩的人脸照片或者未戴口罩照片,构建了本发明使用的人脸口罩数据集AIFM;本发明数据集共分为两类:戴口罩人脸目标和未戴口罩人脸目标,共包含照片11208张,数据集中包含不同场景下戴口罩人脸目标7933个,未戴口罩人脸目标13651个,将测试集、验证集与训练集按照6:2:2的比例划分;

步骤二、使用标准YOLOv4-Tiny网络训练与检测人脸口罩,对步骤一人脸口罩数据集进行训练,下载标准YOLOv4-Tiny网络并进行编译,标准YOLOv4-Tiny网络的下载地址:https://github/AlexeyAB/darknet,为人脸口罩数据AIFM更改cfg文件夹中aifm.data文件中的训练集、验证集、测试集目录,并指定类别数量与类别名称;根据精度要求设定迭代次数为9000,根据本次实验数据集加载aifm.data,同时加载YOLOv4-Tiny.cfg,程序即可开始训练,保存训练过程中各层的权重文件Q1,作为训练结束后检测的权值输入文件;利用权重文件Q1进行测试,得到均值平均精度(Mean Average Precision,mAP)、召回率(Recall)与检测时的帧率(Frame Per Second,FPS);当目标占据整张图片一半以上大小时,由于实际有效感受野的限制,网络的检测效果并不佳;

训练过程具体如下:

1)构建YOLOv4-Tiny网络模型,使用Initialization函数进行神经网络各层权值参数的初始化;

YOLOv4-Tiny由四个部分组成,分别是:(1)Input输入端:指输入网络原始样本数据;(2)BackBone网络:指进行特征提取操作的卷积神经网络结构;(3)Neck颈部:对主干网络提取的图像特征进行融合,并将融合后的特征传递到预测层;(4)Head头部:对图像中的感兴趣目标物体进行预测,并生成可视化的预测框与目标类别;

下载标准YOLOv4-Tiny网络后,对YOLOv4-Tiny网络使用make命令进行编译,形成可执行文件darknet;为人脸口罩数据集AIFM编辑cfg文件夹中aifm.data文件,将class、train、valid、names字符串改为对应数据集的目录与参数,这样就编辑好了标准YOLOv4-Tiny网络Input部分需要的参数,设定迭代阈值后,根据本次实验数据集加载aifm.data,同时加载yolov4-tiny.cfg,程序即可开始训练,程序在运行时会使用Initialization函数进行神经网络各层权值参数的初始化;

2)从Input部分输入图片数据,经过Backbone部分,最终输出两个尺度的特征图,并使用分类器输出预测框Pb1与分类概率CPx;

从Input部分输入图片数据,经过Backbone部分,最终输出两个尺度的特征图,将两种不同尺度的特征图送入FPN组成的Neck部分,并将融合后的特征传递到预测层中,与此同时Head部分完成目标的分类并输出预测框Pb1与分类概率CPx,其中x为每个分类的索引;

3)对这些数据进行IoU与NMS后处理,将预测框Pb2与真实框Gtb对比,并使用Adam算法进行神经网络各层权值更新;

经过Backbone网络生成的预测框Pb1数量太大,对图片中同一物体有大量检测框存在,造成检测结果冗余;YOLOv4-Tiny的Head部分会同时完成预测框与其对应的分类概率;对这些数据进行IoU与NMS后处理,得到处理好的数据;这里使用的IoU与NMS为标准YOLOv4-Tiny的CIoU_loss与NMS;经过这些后处理后就可以得到感兴趣目标的预测框Pb2与其对应的分类概率CPx;同时,使用Adam算法使用后处理过程中得到的loss进行神经网络各层权值更新;

4)循环执行步骤2)和3)继续迭代至迭代阈值,停止训练,输出记录每一层权重与偏移的文件Q1;利用Q1得到的权重与偏移对测试集进行检测,计算得到mAP、Recall与FPS;

本发明按照精度要求设置迭代阈值为9000,迭代次数小于阈值时,使用Adam算法进行网络各层权值更新,直到阈值达到9000时停止训练,计算mAP与Recall,输出记录每一层权重与偏移的文件Q1;

当目标占据整张图片一半以上大小时,由于实际有效感受野的限制,YOLOv4-Tiny网络的检测效果并不佳;因而本发明针对实际有效感受野不足这一特点,采用新设计的SPP模块来增强网络深层的语义信息和增大实际有效感受野,弥补感受野的不足;

步骤三、采用新设计的SPP模块设计SPP-YOLOv4-light网络增强网络深层的语义信息和增大实际有效感受野,弥补感受野的不足,新设计的SPP模块由四个池化层组成,池化窗口大小分别为(3×3)、(5×5)、(7×7)和(10×10),将输入特征图分别经过四层池化,每一层池化后的输出特征图的感受野进一步扩大,同时采用SAME Padding填充的方式保持池化前后的特征图尺寸不变,最后经过Concat合并起来得到最终的输出特征图;此SPP模块不仅通过引入池化层扩大了感受野,同时也将池化后的多张不同感受野的特征图进行特征融合操作,实现了局部高级语义特征的多尺度利用;将上述SPP模块嵌入至YOLOv4-Tiny骨架网络后面,FPN结构前面,在网络深层利用SPP模块将网络深层的感受野进一步扩大,同时也可以将骨架网络提取到的特征进行多尺度池化后融合,有利于整体网络的特征融合,改进后的网络称为SPP-YOLOv4-light网络;使用步骤一中的AIFM人脸口罩数据集进行训练,迭代至迭代阈值,使用Adam算法更新神经网络各层权重,得到权重文件Q2;利用权重文件Q2进行测试,得到mAP、Recall与FPS;

步骤四、将步骤二与步骤三模型性能的检测结果进行对比,包括模型检测精度、模型检测速度、模型检测召回率、模型权重文件大小,并查看步骤二与步骤三实际检测的数据集中的图像,分析检测结果。

说明书
技术领域

该发明属于图像识别领域,一种改进的轻量化YOLOv4人脸口罩检测方法,该算法在通用标准数据集上表现出很好的检测性能。

人脸口罩检测大多都部署在车站、地铁站、医院、小区入口等人员密集场所,这类场所人员流动性大,且人流量多,所以对人脸口罩检测的检测速度和实时性有很高的要求,设计出一种检测速度快、且检测精度满足要求的检测算法至关重要。近年来,深度学习模型逐渐成为目标检测领域的主要算法,其中卷积神经网络在目标检测领域取得了显着的成果。基于深度学习的目标检测模型可以分为两种:一种基于Region Proposal的双阶段检测算法,如R-CNN,Fast R-CNN,Faster R-CNN等,该算法需要先产生候选区,然后再对目标候选区做分类与回归。另一种是YOLO系列这类单阶段检测算法,YOLO系列算法与双阶段目标检测算法相比,抛弃了生成候选区这一阶段,而是采用锚框(Anchor box)来代替候选区域进行最终的回归。感受野是卷积神经网络每一层输出的特征图上的像素点在原始图像上映射的空间区域大小。卷积层数与卷积核大小共同决定感受野的大小,当卷积层数相同时,卷积核的尺寸越大,感受野就越大,同理当卷积核尺寸相同时,卷积层数越多,感受野越大。卷积的实际有效感受野远小于理论感受野,因为特征图的边缘区域的像素点参与计算的次数会远小于中心区域的像素点。因此,随着网络一层一层做卷积运算,会导致图像边缘特征层层被弱化,而中心区域的特征会层层被强化,会导致有效感受野层层减少,因此有效感受野会远小于理论感受野。当目标占据整张图片一半以上大小时,由于实际有效感受野的限制,YOLOv4-tiny网络的检测效果并不佳;因而本发明针对实际有效感受野不足这一特点,采用新设计的SPP模块来增强网络深层的语义信息和增大实际有效感受野,弥补感受野的不足。新设计的SPP模块由四个池化层组成,将输入特征图分别经过四层池化,每一层池化后的输出特征图的感受野进一步扩大,同时也将池化后的多张不同感受野的特征图进行特征融合操作,实现了局部高级语义特征的多尺度利用,从而提高了人脸口罩的检测精度。

针对以上问题,本发明的目的是提供一种针对YOLOv4-Tiny网络结构的基于SPP模块改进的轻量化SPP-YOLOv4-light人脸口罩检测方法。

为了实现上述目的,本发明采取如下的技术解决方案:

一种改进的轻量化YOLOv4人脸口罩检测方法,将SPP模块嵌入至YOLOv4-Tiny网络结构,将骨架(Backbone)网络提取到的特征进行多尺度池化后融合,增强整体网络的特征融合,提升了检测性能;

所述人脸口罩检测方法包括以下步骤:

步骤一、下载人脸口罩检测的公开数据集AIZOO、RMFD,由于数据集中的照片质量参次不齐;本发明从公开的AIZOO、RMFD人脸识别数据集选取分辨率大于608*608的戴有口罩的人脸照片或者未戴口罩照片,构建了本发明使用的人脸口罩数据集AIFM数据集,其中AIZOO数据集的下载地址:https://github/AIZOOTech/FaceMaskDetection,RMFD数据集的下载地址:https://github/X-zhangyang/Real-World-Masked-Face-Dataset;

由于目前针对于人脸口罩检测的公开数据集较少,照片质量也参次不齐,本发明从公开的AIZOO、RMFD人脸识别数据集选取分辨率大于608*608的戴有口罩的人脸照片或者未戴口罩照片,构建了本发明使用的人脸口罩数据集AIFM;本发明数据集共分为两类:戴口罩人脸目标和未戴口罩人脸目标,共包含照片11208张,数据集中包含不同场景下戴口罩人脸目标7933个,未戴口罩人脸目标13651个,将测试集、验证集与训练集按照6:2:2的比例划分;

步骤二、使用标准YOLOv4-Tiny网络训练与检测人脸口罩,对步骤一人脸口罩数据集进行训练,下载标准YOLOv4-Tiny网络并进行编译,标准YOLOv4-Tiny网络的下载地址:https://github/AlexeyAB/darknet,为人脸口罩数据AIFM更改cfg文件夹中aifm.data文件中的训练集、验证集、测试集目录,并指定类别数量与类别名称;根据精度要求设定迭代次数为9000,根据本次实验数据集加载aifm.data,同时加载YOLOv4-Tiny.cfg,程序即可开始训练,保存训练过程中各层的权重文件Q1,作为训练结束后检测的权值输入文件;利用权重文件Q1进行测试,得到均值平均精度(Mean Average Precision,mAP)、召回率(Recall)与检测时的帧率(Frame Per Second,FPS);当目标占据整张图片一半以上大小时,由于实际有效感受野的限制,网络的检测效果并不佳;

训练过程具体如下:

1)构建YOLOv4-Tiny网络模型,使用Initialization函数进行神经网络各层权值参数的初始化;

YOLOv4-Tiny由四个部分组成,分别是:(1)Input输入端:指输入网络原始样本数据;(2)BackBone网络:指进行特征提取操作的卷积神经网络结构;(3)Neck颈部:对主干网络提取的图像特征进行融合,并将融合后的特征传递到预测层;(4)Head头部:对图像中的感兴趣目标物体进行预测,并生成可视化的预测框与目标类别;

下载标准YOLOv4-Tiny网络后,对YOLOv4-Tiny网络使用make命令进行编译,形成可执行文件darknet;为人脸口罩数据集AIFM编辑cfg文件夹中aifm.data文件,将class、train、valid、names字符串改为对应数据集的目录与参数,这样就编辑好了标准YOLOv4-Tiny网络Input部分需要的参数,设定迭代次数后,根据本次实验数据集加载aifm.data,同时加载yolov4-tiny.cfg,程序即可开始训练,程序在运行时会使用Initialization函数进行神经网络各层权值参数的初始化;

2)从Input部分输入图片数据,经过Backbone部分,最终输出两个尺度的特征图,并使用分类器输出预测框Pb1与分类概率CPx;

从Input部分输入图片数据,经过Backbone部分,最终输出两个尺度的特征图,将两种不同尺度的特征图送入特征金字塔网络(Featuer Pyramid Network,FPN)组成的Neck部分,并将融合后的特征传递到预测层中,与此同时Head部分完成目标的分类并输出预测框Pb1与分类概率CPx,其中x为每个分类的索引;

YOLOv4-Tiny的主干网络共有38个卷积层,输出两种不同尺度的特征图;相比YOLOv4,YOLOv4-Tiny的BackBone网络做了大幅简化,使用特征金字塔网络进行32倍下采样与16倍下采样得到两种不同尺寸的特征图进行目标检测,提高检测速度;从Input部分输入图片数据后,经过主干网络,最终会得到38×38×256、19×19×512两种不同尺度的特征图;

3)对这些数据进行IoU与NMS后处理,将预测框Pb2与真实框Gtb对比,并使用Adam算法进行神经网络各层权值更新;

经过Backbone网络生成的预测框Pb1数量太大,对图片中同一物体有大量检测框存在,造成检测结果冗余;YOLOv4-Tiny的Head部分会同时完成预测框与其对应的分类概率;对这些数据进行IoU与NMS后处理,得到处理好的数据;这里使用的IoU与NMS为标准YOLOv4-Tiny的CIoU_loss与NMS;经过这些后处理后就可以得到感兴趣目标的预测框Pb2与其对应的分类概率CPx;同时,使用Adam算法使用后处理过程中得到的loss进行神经网络各层权值更新;

4)循环执行步骤2)和3)继续迭代至设定的迭代阈值,停止训练,输出记录每一层权重与偏移的文件Q1;利用Q1得到的权重与偏移对测试集进行检测,计算得到mAP、Recall与FPS;

本发明按照精度要求设置迭代阈值为9000,迭代次数小于阈值时,使用Adam算法进行网络各层权值更新,直到阈值达到9000时停止训练,计算mAP与Recall,输出记录每一层权重与偏移的文件Q1;

当目标占据整张图片一半以上大小时,由于实际有效感受野的限制,YOLOv4-Tiny网络的检测效果并不佳;因而本发明针对实际有效感受野不足这一特点,采用新设计的SPP模块来增强网络深层的语义信息和增大实际有效感受野,弥补感受野的不足;

步骤三、采用新设计的SPP模块设计SPP-YOLOv4-light网络增强网络深层的语义信息和增大实际有效感受野,弥补感受野的不足,新设计的SPP模块由四个池化层组成,池化窗口大小分别为(3×3)、(5×5)、(7×7)和(10×10),将输入特征图分别经过四层池化,每一层池化后的输出特征图的感受野进一步扩大,同时采用SAME Padding填充的方式保持池化前后的特征图尺寸不变,最后经过Concat合并起来得到最终的输出特征图;此SPP模块不仅通过引入池化层扩大了感受野,同时也将池化后的多张不同感受野的特征图进行特征融合操作,实现了局部高级语义特征的多尺度利用;将上述SPP模块嵌入至YOLOv4-Tiny骨架网络后面,FPN结构前面,在网络深层利用SPP模块将网络深层的感受野进一步扩大,同时也可以将骨架网络提取到的特征进行多尺度池化后融合,有利于整体网络的特征融合,改进后的网络称为SPP-YOLOv4-light网络;使用步骤一中的AIFM人脸口罩数据集进行训练,迭代至迭代阈值,使用Adam算法更新神经网络各层权重,得到权重文件Q2;利用权重文件Q2进行测试,得到mAP、Recall与FPS;

步骤四、将步骤二与步骤三模型性能的检测结果进行对比,包括模型检测精度、模型检测速度、模型检测召回率、模型权重文件大小,并查看步骤二与步骤三实际检测的数据集中的图像,分析检测结果。

本发明利用新设计的SPP模块来增强网络深层的语义信息和增大实际有效感受野,弥补感受野的不足,新设计的SPP模块不仅通过引入池化层扩大了感受野,同时也将池化后的多张不同感受野的特征图进行特征融合操作,实现了局部高级语义特征的多尺度利用,提高了检测精度。

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中需要使用的附图做简单介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明方法的流程图;

图2是使用YOLOv4-Tiny进行训练的流程图;

图3是原版YOLOv4-Tiny模型结构图;

图4是改进后的SPP模块示意图;

图5是SPP-YOLOv4-light网络结构示意图;

图6是各模型AP、mAP和Recall等性能对比柱状图;6(a)未戴口罩人脸AP对比柱状图,6(b)戴口罩人脸AP对比柱状图,6(c)mAP对比柱状图,6(d)召回率Recall对比柱状图;

图7是各模型检测时间与FPS等性能对比柱状图;7(a)FPS对比柱状图,7(b)单张图片检测时间对比柱状图;

图8是YOLOv4-Tiny与SPP-YOLOv4-light模型检测对比图;8(a)YOLOv4-Tiny戴口罩检测图,8(b)SPP-YOLOv4-light戴口罩检测图,8(c)YOLOv4-Tiny未戴口罩检测图,8(d)SPP-YOLOv4-light未戴口罩检测图;

表1是各模型AP、mAP和Recall等性能对比;

表2是各模型FPS和检测时间等性能对比;

为了让本发明的上述和其它目的、特征及优点能更明显,下面特举本发明实施例,并配合所附图示,做详细说明如下:

图1为本方法具体流程图,可分为四个步骤:

步骤一、下载人脸口罩检测的公开数据集AIZOO、RMFD,由于数据集中的照片质量参次不齐,本发明从公开的AIZOO、RMFD人脸识别数据集选取分辨率大于608*608的戴有口罩的人脸照片或者未戴口罩照片,构建了本发明使用的人脸口罩数据集AIFM数据集,其中AIZOO数据集的下载地址:https://github/AIZOOTech/FaceMaskDetection,RMFD数据集的下载地址:https://github/X-zhangyang/Real-World-Masked-Face-Dataset;

由于目前针对于人脸口罩检测的公开数据集较少,照片质量也参次不齐,本发明从公开的AIZOO、RMFD人脸识别数据集选取分辨率大于608*608的戴有口罩的人脸照片或者未戴口罩照片,构建了本发明使用的人脸口罩数据集AIFM;本发明数据集共分为两类:戴口罩人脸目标和未戴口罩人脸目标,共包含照片11208张,数据集中包含不同场景下戴口罩人脸目标7933个,未戴口罩人脸目标13651个,将测试集、验证集与训练集按照6:2:2的比例划分;

步骤二、使用标准YOLOv4-Tiny网络训练与检测人脸口罩;对步骤一人脸口罩数据集进行训练,下载标准YOLOv4-Tiny网络并进行编译,标准YOLOv4-Tiny网络的下载地址:https://github/AlexeyAB/darknet;为人脸口罩数据AIFM更改cfg文件夹中aifm.data文件中的训练集、验证集、测试集目录,并指定类别数量与类别名称;根据精度要求设定迭代阈值为9000,根据本次实验数据集加载aifm.data,同时加载YOLOv4-Tiny.cfg,程序即可开始训练,保存训练过程中各层的权重文件Q1,作为训练结束后检测的权值输入文件;利用权重文件Q1进行测试,得到均值平均精度(Mean Average Precision,mAP)、召回率(Recall)与检测时的帧率(Frame Per Second,FPS);当目标占据整张图片一半以上大小时,由于实际有效感受野的限制,网络的检测效果并不佳;

参照图2,训练过程具体如下:

1)构建YOLOv4-Tiny网络模型,使用Initialization函数进行神经网络各层权值参数的初始化;

YOLOv4-Tiny由四个部分组成,分别是:(1)Input输入端:指输入网络原始样本数据;(2)BackBone网络:指进行特征提取操作的卷积神经网络结构;(3)Neck颈部:对主干网络提取的图像特征进行融合,并将融合后的特征传递到预测层;(4)Head头部:对图像中的感兴趣目标物体进行预测,并生成可视化的预测框与目标类别;

下载标准YOLOv4-Tiny网络后,对YOLOv4-Tiny网络使用make命令进行编译,形成可执行文件darknet;为人脸口罩数据集AIFM编辑cfg文件夹中aifm.data文件,将class、train、valid、names字符串改为对应数据集的目录与参数,这样就编辑好了标准YOLOv4-Tiny网络Input部分需要的参数,设定迭代阈值后,根据本次实验数据集加载aifm.data,同时加载yolov4-tiny.cfg,程序即可开始训练,程序在运行时会使用Initialization函数进行神经网络各层权值参数的初始化;

2)从Input部分输入图片数据,经过Backbone部分,最终输出两个尺度的特征图,并使用分类器输出预测框Pb1与分类概率CPx;

从Input部分输入图片数据,经过Backbone部分,最终输出两个尺度的特征图,将两种不同尺度的特征图送入FPN组成的Neck部分,并将融合后的特征传递到预测层中,与此同时Head部分完成目标的分类并输出预测框Pb1与分类概率CPx,其中x为每个分类的索引;

参照图3,YOLOv4-Tiny的主干网络共有38个卷积层,输出两种不同尺度的特征图;相比YOLOv4,YOLOv4-Tiny的BackBone网络做了大幅简化,使用特征金字塔网络进行32倍下采样与16倍下采样得到两种不同尺寸的特征图进行目标检测,提高检测速度;从Input部分输入图片数据后,经过主干网络,最终会得到38×38×256、19×19×512两种不同尺度的特征图;

3)对这些数据进行IoU与NMS后处理,将预测框Pb2与真实框Gtb对比,并使用Adam算法进行神经网络各层权值更新;

经过Backbone网络生成的预测框Pb1数量太大,对图片中同一物体有大量检测框存在,造成检测结果冗余;YOLOv4-Tiny的Head部分会同时完成预测框与其对应的分类概率;对这些数据进行IoU与NMS后处理,得到处理好的数据;这里使用的IoU与NMS为标准YOLOv4-Tiny的CIoU_loss与NMS;经过这些后处理后就可以得到感兴趣目标的预测框Pb2与其对应的分类概率CPx;同时,使用Adam算法使用后处理过程中得到的loss进行神经网络各层权值更新;

4)循环执行步骤2)和3)继续迭代至迭代阈值,停止训练,输出记录每一层权重与偏移的文件Q1;利用Q1得到的权重与偏移对测试集进行检测,计算得到mAP、Recall与FPS;

本发明按照精度要求设置迭代阈值为9000,迭代次数小于阈值时,使用Adam算法进行网络各层权值更新,直到阈值达到9000时停止训练,计算mAP与Recall,输出记录每一层权重与偏移的文件Q1;

最基础的网络性能评价指标分为四个分类,分别为TP(True Positives):正样本被正确识别为正样本,即狗被正确识别为狗;TN(True Negatives):负样本被正确识别为负样本,即猫被正确识别为猫;FP(False Positives):负样本被错误识别为正样本,即猫被错误识别为狗;FN(False Negatives):正样本被错误识别为负样本,即狗被错误识别为猫;准确率(Accuracy)代表预测正确的样本数量与总样本数量的比值,用来评价算法模型的整体准确性能,计算方法为精确率(Precision)即查准率,指的是识别正确的样本数占总识别样本数的比例,计算方法为而召回率(Recall)即查全率,是指正确识别为正例的样例占所有正例样例的比例,计算方法为一个性能好的算法模型应该是保证较高准确率的情况下,召回率也维持较高水平,本发明使用Precision-Recall(P-R)曲线来展示算法模型在准确率与召回率之间的权衡;AP指的是在某一阈值下获得的准确率与召回率所绘制的P-R曲线图与横纵坐标轴围成的面积大小,衡量模型在每个类别上检测性能的好坏,即mAP指的是多个目标类别的AP再取平均值,用来衡量算法模型在所有待测类别上检测性能的好坏;设有N个类别,则mAP的计算方法为本发明主要使用模型总体评价指标mAP与Recall作为主要评价指标;

当目标占据整张图片一半以上大小时,由于实际有效感受野的限制,YOLOv4-Tiny网络的检测效果并不佳;因而本发明针对实际有效感受野不足这一特点,采用新设计的SPP模块来增强网络深层的语义信息和增大实际有效感受野,弥补感受野的不足;

步骤三、采用新设计的SPP模块设计SPP-YOLOv4-light网络增强网络深层的语义信息和增大实际有效感受野,弥补感受野的不足,新设计的SPP模块由四个池化层组成,池化窗口大小分别为(3×3)、(5×5)、(7×7)和(10×10),将输入特征图分别经过四层池化,每一层池化后的输出特征图的感受野进一步扩大,同时采用SAME Padding填充的方式保持池化前后的特征图尺寸不变,最后经过Concat合并起来得到最终的输出特征图,改进后的SPP模块如图4所示;此SPP模块不仅通过引入池化层扩大了感受野,同时也将池化后的多张不同感受野的特征图进行特征融合操作,实现了局部高级语义特征的多尺度利用;将上述SPP模块嵌入至YOLOv4-Tiny骨架网络后面,FPN结构前面,在网络深层利用SPP模块将网络深层的感受野进一步扩大,同时也可以将骨架网络提取到的特征进行多尺度池化后融合,有利于整体网络的特征融合,改进后的网络称为SPP-YOLOv4-light网络,其结构如图5所示;使用步骤一中的AIFM人脸口罩数据集进行训练,迭代至迭代阈值,使用Adam算法更新神经网络各层权重,得到权重文件Q2;利用权重文件Q2进行测试,得到mAP、Recall与FPS;

步骤四、将步骤二与步骤三模型性能的检测结果进行对比,包括模型检测精度、模型检测速度、模型检测召回率、模型权重文件大小,并查看步骤二与步骤三实际检测的数据集中的图像,分析检测结果;

本发明新设计的SPP模块不仅通过引入池化层扩大了感受野,同时也将池化后的多张不同感受野的特征图进行特征融合操作,实现了局部高级语义特征的多尺度利用,提高了检测精度。

下面结合仿真实例对该发明做进一步的描述。

仿真实例:

本发明使用原始YOLOv4-Tiny作为对比,训练数据集与测试数据集均来自通用数据集AIZOO与RMFD,以验证算法对不同数据集的普适性。

表1是各模型AP、mAP和Recall等性能对比,为了直观感受每种模型的性能区别,图6给出各模型AP、mAP和Recall等性能对比柱状图;由表1和图6可知,原始YOLOv4-Tiny的mAP值为79.79%,Recall为72%,mAP@0.75为42.17%,将SPP模块嵌入到YOLOv4-Tiny后,SPP-YOLOv4-light的mAP的值提升2.23%,达到82.02%,Recall提升3%,达到75%,mAP@0.75提升6.47%,达到48.64%,而每个目标类别的AP值也都有接近3%的提升;所以说明SPP模块可以引入池化层扩大了感受野,同时也将池化后的多张不同感受野的特征图进行特征融合操作,最终检测效果良好。

表2是各模型FPS和检测时间等性能对比,图7是各模型检测时间与FPS等性能对比柱状图。由表2和图7可知,原始YOLOv4的单张检测时间为22ms,FPS为45,其参数量为64138848,其权重文件的大小为256M,但是两种轻量化模型的参数量约为原YOLOv4的十分之一,其FPS大幅度提升,其中SPP-YOLOv4-light的FPS达到123,比原始YOLOv4的FPS性能提升约三倍,其权重文件所占内存大小也为原始YOLOv4的十分之一,只有23M。并且SPP-YOLOv4-light模型相对于YOLOv4-Tiny,引入SPP模块仅仅增加少许计算量,却在mAP上提升2.23%。

图8是对大目标戴口罩人脸与未戴口罩人脸目标进行图片检测,在实际检测效果中,图8(a)是原始YOLOv4-Tiny的检测效果图,图中戴口罩人脸的置信度只有67%,而引入SPP模块后增大感受野的SPP-YOLOv4-light模型的对同样图片进行检测,如图8(b)所示其戴口罩人脸的置信度提升30%,提升效果明显,图8(c)和(d)是未戴口罩人脸的检测图,可以看出图8(d)的SPP-YOLOv4-light模型置信度为99%,比图8(c)中原始YOLOv4-Tiny的置信度提升了9%。说明SPP模块可以引入池化层扩大感受野,同时也将池化后的多张不同感受野的特征图进行特征融合操作,有利于模型检测大目标。

本文发布于:2024-09-24 08:24:08,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/84752.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议