APP下载

基于YOLOv5s网络模型的口罩佩戴检测系统

2022-10-23王烁宇崔庆森

信息记录材料 2022年8期
关键词:口罩函数算法

王烁宇,崔庆森

(西藏大学信息科学技术学院 西藏 拉萨 850000)

0 引言

疫情防控的背景下,商场、车站等公共场所均要求人员佩戴口罩[1]。当前针对人员是否佩戴口罩采用的方法主要是人工检查,这种方法存在效率较低、容易漏检的问题,有较大的安全隐患,一个可靠的口罩佩戴实时检测系统可以较好地解决这些问题。

口罩佩戴检测可以归为目标检测问题,基于深度学习的目标检测是当下较为主流的目标检测方案[2],主要可分为两类,第一类是以R-CNN[3]系列为代表的基于候选区域的目标检测算法,其检测过程可分为候选区域分类及其坐标修正两个阶段,因而被称为双阶段目标检测算法,优点是检测准确率较高,缺点是检测速度较慢。第二类是以YOLO[4]系列为代表的基于回归分析的目标检测算法,其检测只有一次回归分析的过程,因而被称为单阶段目标检测算法[5],其优点是检测速度快,缺点是检测精度偏低。

对YOLO系列算法、SSD[6]算法和R-CNN系列算法在VOC2007、VOC2012和COCO数据集上的测试结果进行对比,如表1所示,mAP指平均精度均值,是横量模型效果的综合指标,“-”表示没有相关数据。相较于其他网络模型,YOLOv5在检测速度与精度上均有一定的优势。

表1 算法性能对比

1 YOLOv5s网络模型

YOLOv5网络模型由Glenn Jocher于2020年5 月份提出,YOLOv5s是YOLOv5系列模型中体积最小的一个模型,YOLO系列算法以其便于部署、实时检测性能好等优点被广泛地应用于各种目标检测场景,本文选择YOLOv5s作为系统检测的网络模型。

YOLOv5网络模型沿用了YOLOv3和v4的结构,可分为input(输入端)、Backbone(骨干网络)、Neck(特征聚合端)、Prediction(预测端)四个部分。模型工作时,输入端对输入的图像进行数据增强、自适应图片缩放和锚框计算等处理,处理的结果输入到骨干网络中,骨干网络主要完成特征提取的工作,特征聚合端将提取到的特征进行融合,预测端可根据不同尺度下的特征生成相应的目标框并计算出最优的目标框[10],其网络结构如图1所示。

2 实验及结果

2.1 数据集及实验环境

实验从WIDER Face、MAFA和VOC等公开数据集和网络资源中筛选出2910张图片用以制作训练集和测试集。数据集包括3种类别,分别为mask、incorrect_mask和face,表示人员已佩戴口罩、人员错误佩戴口罩和未佩戴口罩三种情况,对数据集的划分如表2所示。

表2 数据集的划分

数据集采用YOLO格式,使用Labelimg进行目标的标注,标注后产生的文件名与图片名称一致,以txt作为后缀,文件每一行的第一个参数表示目标的类型,第三、四个参数分别表示经过归一化后目标的中心点坐标,第五、六个参数分别表示目标框的宽和高,参数之间用空格隔开。

实验使用Ubuntu 18.04操作系统,选用PyTorch框架,使用NVIDIA GeForce RTX 3090显卡进行运算,具体实验配置如表3所示。

表3 实验环境配置

2.2 模型训练

模型训练过程中,将图片的迭代批量大小设置为32,总迭代次数设置为200次,学习率设置为0.01,各参数随迭代次数的变化如图2、图3和图4所示。

cls_loss、box_loss和obj_loss是在三个方面衡量模型训练效果的损失函数,其中cls_loss表示置信度的损失函数,box_loss 表示预测框位置的损失函数,obj_loss表示检测目标的损失函数[11],随着迭代次数的增加,各种损失函数也在减小。

recall,召回率,也叫查全率,即样本中正类被模型正确判断的概率,其计算如公式1所示,其中TP表示被模型判断为正类的正样本数,FN表示被模型判断为负类的正样本数[12]。在模型迭代到75次时接近0.8。

precision, 精确度,也叫查准率,即模型判断正确的正类占所有正样本的比例,其计算如公式2所示,其中FP表示被模型判断为正类的负样本数。在模型迭代到100次时,数值稳定在0.8左右。

mAP即平均精度均值,是衡量模型训练效果的一个综合指标。图中的mAP_0.5指的是当损失函数IoU[13]取0.5时的mAP,mAP_0.5:0.95指的是当IoU分别取0.5~0.95时(步进0.05)mAP的平均值,其计算如公式3、4所示,其中mAP_0.5在模型迭代到100次时稳定在0.8左右。

2.3 测试结果

模型训练完毕,利用测试集对模型进行测试,mask、face和incorrect_mask分别表示正确佩戴口罩、未佩戴口罩和口罩佩戴不规范的情况,图5中目标框上的数值为各类别标签的置信度,在不同场景下的检测效果如图5所示,训练出的模型在多目标的情况下也可以实现较为精准的检测。

3 搭建图形化界面

3.1 图形化界面的设计

本系统拟实现对实时视频和视频文件的检测,因此要具备视频文件检测和摄像头检测两个功能,同时也应能够随时停止检测,因此利用PyQt5初步设计出系统的界面如图6所示。

3.2 系统功能的实现

信号和槽机制让QT框架明显区别于其他框架,通常用于对象之间的通信,当一个窗口部件发生了变化,利用信号和槽机制,在某一窗口内做出特定的操作,在另一个窗口或者本窗口上就会做出相应的反应[14]。利用该机制与相应的函数实现系统的功能,系统实现的摄像头检测和视频文件检测的效果如图7所示。

4 结语

本文基于YOLOv5s网络模型,利用公开数据集和网络资源收集了相关数据并对模型进行训练与评估,训练效果较理想,模型的检测精度与速度较为均衡,灵活性较强,满足实时检测的要求,使用PyQt5框架开发了图形化界面并实现了相关的功能,系统设计较为完善,兼容性较好,具有一定的实用价值。

猜你喜欢

口罩函数算法
哪种算法简便
函数备考精讲
戴口罩的苦与乐
因为一个口罩,我决定离婚了
Travellng thg World Full—time for Rree
雾霾口罩
进位加法的两种算法
根据问题 确定算法
关于函数的一些补充知识
高中数学中二次函数应用举隅オ