APP下载

基于改进YOLOv5s的口罩佩戴检测方法

2023-01-11朱梦凡陈博源

现代计算机 2022年20期
关键词:网络结构金字塔口罩

朱梦凡,陈博源

(西安交通大学电气工程学院,西安 710049)

0 引言

新冠疫情防控已经进入常态化阶段,检测人 们是否佩戴口罩是疫情防控的重要手段,目前针对人们是否佩戴口罩的检测主要依靠人力,此种方式耗费大量的人力物力,难以满足不间断的全天候检测需求,易出现漏检错检等人为错误。近两年来,随着计算机视觉的不断发展,对口罩识别的目标检测算法也在不断改进,使得口罩检测更为快速、便捷、灵敏,符合常态化防控需求。

何育民等[1]提出了一种基于HSV+HOG特征和SVM的人脸口罩检测算法,通过在人脸口鼻区域提取HSV+HOG特征并使用SVM进行训练,实现对有无佩戴口罩的检测,但该方法矩阵运算和图像预处理过程复杂,缺少大规模训练能力。刘国明等[2]收集口罩图片,搭建Resnet-34深度神经网络实现口罩佩戴检测,但模型缺少特征定位能力,应用价值受限。

Redmon等[3]于2016年提出YOLO算法,用一个神经网络实现检测目标的识别和定位,目前已经经历了从v1到v5[3-6]的发展,在口罩佩戴检测领域获得了一定的应用。周慧丽等[7]提出了基于YOLOv3的戴口罩人脸识别算法,提高了目标图像的识别速度;薛均晓等[8]提出了基于改进YOLOv4的自然人群口罩佩戴检测方法,通过加入协调注意力机制提高模型性能。2020年推出的YOLOv5网络结构具有速度快、体积小、精度高等优点,且在具有成熟开发生态的Pytorch编译软件中实现,硬件适配性强,部署简单。YOLOv5包括了YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x四个权重模型,本文对YOLOv5s网络进行改进,将原有的特征金字塔模块替换为加权双向特征金字塔(BiFPN)模块,并统计精度指标,与改进前的模型进行对比分析。

1 数据集预处理

(1)收集到佩戴口罩和未佩戴口罩的人脸图像各600张,编写图像分类程序,以6∶3∶1的比例随机分配用于训练模型、验证模型和测试模型的数据集。

(2)采用labelimg工具对佩戴和未佩戴口罩的人脸图像进行特征标注(见图1,mask表示佩戴口罩,no_mask表示未佩戴口罩)。

图1 labelimg口罩特征标注

(3)编写程序,将生成的可扩展标记语言(.xml)格式的缺陷信息转化成文本信息格式(.txt)。每个特征信息表示为带特征种类系数的张量格式。

2 YOLOv5s网络

图2为YOLOv5s网络结构图,YOLOv5s网络包含输入端、Backbone、Neck和Head输出端。输入端包含Mosaic数据处理和自适应锚框计算。随机不重复选取四张图片,对四张图片进行拼接。输入数据集后,程序自行选择初始锚点框,进而和真实框(GT)进行比对,对二者差值执行反向更新操作,以自适应方式输出最佳锚框值;Backbone结构包含Focus、跨阶段局部融合网络(CrossStagePartialNetworks,CSPNet[9])和空间金字塔池化(space pyramid pooling,SPP[10])模块,Focus模块对输入图像进行切片操作和一次32个卷积核的卷积操作,CSPNet模块提取不同层的特征信息,通过局部跨层融合操作获得更为丰富的特征图,SPP模块采用 四种不同大小的卷积核进行最大池化和张量拼接。Neck结构采用路径聚合网络(PathAggregation,PANet[11])对不同层图像的特征融合。Head输出端包含损失函数GIOU_Loss[12]的计算和NMS非极大值抑制,通过对相交尺度的测量,解决当两锚框不相交时难以优化的情况。

图2 YOLOv5s网络结构

3 加权双向特征金字塔(BiFPN)网络

3.1 FPN及PANet特征融合

在YOLO架构的不断发展下,模型不断复杂化,特征网络的维度越来越深,在特征提取过程中不可避免地出现特征丢失的情况。为了使深层网络具有较高的分辨率,提高精度,需要对特征网络进行多尺度融合。目前针对YOLO框架的特征网络融合结构有FPN和PANet。FPN对特征网络进行简单的自上而下单向融合,然后输出融合后的特征。PANet在FPN的基础上进行了优化改进,对特征网络在自上而下融合后,进行自下而上二次融合。FPN、PANet结构的多尺度融合存在不同尺度上的特征信息差别,计算量大导致检测时间长,融合特征的效果较差等不足。

3.2 BiFPN加权双向特征金字塔结构

本文采用加权双向特征金字塔结构BiFPN替换模型原有的PANet结构,对YOLOv5s网络的特征融合模块进行改进。BiFPN在FPN中寻找有效的block,然后重复叠加,相较于PANet进行了较复杂的特征融合,从而对FPN大小弹性控制。在PANet基础上,BiFPN进行简单的残差处理以增强特征表示能力,对信息含量较少的单输入节点移除以减少计算量,给每个尺度上的特征按需赋以权重以提高检测速度。

图3为BiFPN网络结构。深层次的特征网络包含了较多特征信息,直接进行特征的卷积融合计算量过大,首先需要对特征网络进行简单的残差处理以增强特征表示能力。在融合过程中,忽略信息含量较少的单输入节点,简化网络以减少计算量,同时不影响输出的有效特征信息。由于同一尺度上的节点间处于相同层,卷积过程中对相同层间的节点间进行跳跃连接不会增加太多的计算量,并且融合更多特征避免特征丢失。BiFPN的融合考虑分别将自下而上和自上而下卷积路径视为不同的特征网络,重复融合,以获得更深层次特征融合。不同尺度上特征的分辨率具有差异性,若对不同输入特征赋以相同的权重,在输出贡献中不平等。赋予每个尺度上的特征不同权重,对不同特征分辨其重要性,从而实现快速融合和较高的识别精确度。

图3 BiFPN网络结构

设每一次的特征融合的输入层为Pl1、Pl2、Pl3…Pln,每一次的特征融合的输出层分别设为Cl1、Cl2、Cl3…Clm,L代表第L次融合,q代表最终融合次数。最终输出为自上而下的特征融合路径—Cupside,自下而上的特征融合路径—Cdownside。通过多尺度的特征进行不同权重融合,ali表示不同层在正向特征网络融合时的权重比,bli表示不同层在反向特征网络层融合中的权重比,对不同层进行卷积融合,融合路径公式如下:

4 实验结果及分析

4.1 实验环境设置

本实验的运行环境:CPU为Inteli7-11800H,GPU为NVIDIA GeForce RTX 3060,内存为16 G,操作系统为Windows10,CUDA为11.0版本,开发语言为Python,框架为Pytorch,训练参数设置见表1。

表1 训练参数设置

4.2 模型评价标准

对训练获得的口罩佩戴检测模型进行精度统计,精度评价标准包括识别精确率(precision)、召回率(recall)和均值平均精度(mAP),识别精确率指模型预测的所有目标中预测正确的比例,召回率指所有正样本中被正确预测的比率,均值平均精度指各类别平均精度的均值。各标准公式如下:

式(5)~(7)中,TP、FN、FP和TN依次代表将正类预测为正类数、将正类预测为负类数、将负类预测为正类数和将负类预测为负类数。

4.3 模型性能比较

表2为改进前后的YOLOv5s网络在同一数据集上的性能比较,由表2可知,采用加权双向特征金字塔(BiFPN)网络结构替换原有的特征金字塔模块的改进YOLOv5s结构,对人脸口罩佩戴的检测精确率为96.9%,召回率为88.3%,mAP值为58.4%,较原YOLOv5s模型分别提高1.4%、6.2%和3.5%,模型性能显著提升。图4为改进后模型对人脸口罩佩戴的检测结果,实现了对口罩是否佩戴的准确识别。

表2 模型性能比较

图4 口罩佩戴检测效果

5 结语

本文提出一种基于改进YOLOv5s的口罩佩戴检测方法,在原YOLOv5s网络结构基础上,采用加权双向特征金字塔(BiFPN)网络结构替换原有的特征金字塔模块,对人脸口罩数据集图像进行特征标注、迭代训练和模型性能比较。实验结果表明,与原YOLOv5s模型相比,改进后的YOLOv5s网络实现了更加高效的特征提取和特征融合,口罩检测精度显著提高,有助于提高防疫水平,适合移动部署。

猜你喜欢

网络结构金字塔口罩
“金字塔”
快递网络结构研究进展
Great Vacation Places
戴口罩的苦与乐
因为一个口罩,我决定离婚了
基于AutoML的保护区物种识别①
雾霾口罩
金字塔是用金子造的吗
基于时效网络的空间信息网络结构脆弱性分析方法研究
基于互信息的贝叶斯网络结构学习