基于改进的YOLO V3框架的口罩检测

2023-12-10 08:07董广辉郭春爽郭秀娟
吉林建筑大学学报 2023年5期
关键词:人脸口罩图像

董广辉,郭春爽,郭秀娟

吉林建筑大学 电气与计算机学院,长春 130118

0 引言

随着新冠疫情在全球肆虐,佩戴口罩成为居民预防病毒的主要方式之一.人脸识别和人工智能的快速发展,为抗击疫情提供了关键性的技术手段,减少了疫情中投入的人力和物力.本研究采用改良的YOLO V3[1]模型,称为YOLO-口罩[2]模型,利用Label what you see(LWYS)[3]技术检测复杂环境条件下的人脸.为了避免深度学习的缺陷,使探测器更加智能化,使用从复杂环境条件[4]中获得的小数据集标记方法,将密集空间建筑整合到YOLO V3中,以促进特征的更好利用及SPP[5]的应用,减少漏检和不准确性.其主要目的是增加输入图像的可变性,使所设计的人脸检测模型对不同环境下获取的图像具有更高的鲁棒性[6].实验表明,该方法在不均匀环境下具有较高的检测精度和实时检测速度.

1 YOLO V3模型框架

YOLO V3使用多标签分类,每个标签用二值交叉熵损失[7],而不是使用均方误差来计算分类损失.YOLO V3在3种不同的尺度上预测对象,类似于特征金字塔网络(如图1所示),并使用逻辑回归对每个边界框的得分进行预测.

图1 YOLO V3结构框架

DarkNet-53[8](YOLO V3骨干)被用来取代DarkNet-19作为新的特征提取器.整个DarkNet-53网络是由多个块组成的链,中间有两个卷积层,以降低维数.每个块包含1×1的瓶颈结构,然后是3×3的过滤器,具有类似ResNet的跳过连接.与ResNet-152相比,DarkNet-53拥有更少的十亿浮点运算,在相同的分类精度下速度快了2倍.YOLO V3在小对象检测方面有了显著的改进,在涉及速度时表现非常好.

2 改进的YOLO V3口罩模型

2.1 改进模型

在图1所示的YOLO V3架构的基础上,为了更好地利用和表现目标特性,文献[9]提出了一个密集连接的架构,这使检测模型更加紧凑和精确.改进的口罩检测模型框架如图2所示.

图2 YOLO-口罩模型框架

YOLO-口罩模型设计以密集的架构布置取代了YOLO V3中残差块8×256和残差块8×512,如图2和图3蓝色部分所示.这是为了增强网络内部更深层次的检测尺度[10].每个密集层堆叠1×1瓶颈层23和3×3卷积层.为了使模型更紧凑,在两个致密层之间放置了一个过渡层,修改的主要原理是能够从网络的不同层对多个特征图进行检测.这将允许在不同环境下准确检测口罩的佩戴.其损失函数的连接特性由26×26×768增加到26×26×2 816和13×13×384增加到13×13×1 408,其目的在于检测更小的目标以适应LWYS法,同时增加有助于保存更细的特征颗粒.用Mish激活函数[11]和采用FDL×2和SPP的YOLO-口罩模型,该激活函数对每个深度神经网络的性能具有重要作用.

图3 YOLO-口罩模型下的DenseNet架构

2.2 SPP模型

在YOLO-口罩模型的最后一个残块(残块4×1 024)之后引入SPP模块,对网络结构进行优化.随着卷积层的加深,单个神经元的接受域逐渐增大,在YOLO-口罩的特征提取过程中,需要提取的特征能力更强、更抽象.加入SPP模块可以解决这个问题(如图4所示),它是一个特征增强模块,提取特征图的主要信息并进行拼接.

图4 SPP模块

3 实验结果分析

3.1 实验平台

在一台计算机上进行模型训练和测试,其规格如下:i7-8700处理器,win10操作系统, CPU 64位3.20 GHz, 16GB 内存,使用Python软件编程,其深度学习的框架为Pytorch.

3.2 数据集的构建和模型训练

本文数据集主要从MAFA开源数据集[12]和谷歌等搜索网站中获取人脸遮挡的图像,共计865张进行测试.将其分为80 %的训练集和20 %的测试集,每幅图像随机地由戴口罩和不戴口罩、有遮挡无遮挡等单个或者多个人脸组合形成.

YOLO检测模型训练需要带标签的数据,即训练图像中所有边界框的类标签和位置,使用图形图像标注工具labelImg进行标注,在每张图片中,所有可见的佩戴和未佩戴口罩都基于LWYS技术被标记为一个边界框.值得注意的是对于高度遮挡的人脸,边框是根据可见部分的假设形状绘制的.对加了注释的图像进行3次检查,以确保没有遗漏任何未加注释的类.其数据集训练和检测过程的YOLO-口罩模型流程如图5所示.

图5 数据集、训练和检测过程的YOLO-口罩模型流程图

3.3 实验结果和分析

根据图3所示检测层的3个尺度,采用K-mean聚类算法[13]在416×416像素处生成9个聚类.锚点按降序排列并分配到每个尺度,以改进YOLO-口罩模型.得到的平均IoU[14]结果显示为78.56 %.该模型接收416× 416像素的输入图像,学习率的调整减少了训练损失.由于输入图像包含佩戴和未佩戴口罩两类,所以在0次~4 000次迭代之间学习率选择0.001,最大批量为4 000次.为了减少内存使用,批处理和细分分别设置为64和16,动态衰减和权重衰减分别设置为0.9和0.000 5.此外,使用随机初始化方法初始化训练YOLO-口罩的权值,为了验证所做实验在训练好的YOLO-口罩模型上的有效性,使用Precision,Recall,F1-score和AP作为评价参数.计算方法如下所示:

(1)

(2)

(3)

(4)

式中,TP,FN和FP分别为正确检测、遗漏检测和错误检测数值的缩写.F1作为召回和精度之间的权衡,来表示训练模型的综合性能,平均精度AP来表示模型在不同置信阈值下的整体性能,表示在Recall测量的精度.

为保持与训练图像分辨率的一致性,训练模型采用批大小为1、分辨率为416×416像素的图像进行测试.YOLO-口罩模型检测了测试数据集中人脸的数量,并取得了良好的检测效果.计算检测人脸的Precision,Recall,F1和AP,并与YOLO V3模型进行比较.结果见表1.从表1可以看出,由于使用了小数据集,两种方法的性能均较高.对比YOLO V3,改进后的算法由于LWYS技术的应用使模型具有了更良好的性能.表1AP对比结果显示,在模型中Mish函数的激活下表现为Precision,Recall,F1和AP的提高.从中看出YOLO-口罩模型准确率、召回率、F1和AP分别提高了0.7 %,召回率、F1和AP分别提高了3.1 %,1.5 %,1.7 %.

表1 416 × 416像素分辨率下的模型性能评估

计算每幅图像的YOLO-口罩模型的平均检测时间见表2.测试结果表明,YOLO V3模型平均每帧图像计算佩戴和未佩戴口罩的时间为46.2 ms,因为将DenseNet纳入网络构成了准确性的提高与检测速度的下降.YOLO-口罩模型为52.1 ms,这表明了准确性和速度之间的权衡,SPP加入到YOLO-口罩模型中,也使检测时间增加.

表2 不同模型时间检测对比

4 结论

本文在改进的YOLO V3模型基础上,提出利用YOLO-口罩模型进行人脸检测,使用从复杂环境中获得的人脸数据集来限制深度学习的缺点,标记你看到的(LWYS)方法,将密集的架构整合到YOLO V3中,以促进功能的利用,从而更好地推广人脸口罩检测,采用Mish激活和spatial pyramid pooling(SPP)减少漏检和错误率,使检测器与人一样智能.实验结果表明,本文提出的方法在平均精度(AP)方面优于之前的方法.相对于平均精密度(AP), YOLO-口罩模型性能水平也得到提高,具有较好的泛化能力和实时检测能力.

猜你喜欢
人脸口罩图像
改进的LapSRN遥感图像超分辨重建
有特点的人脸
有趣的图像诗
戴口罩的苦与乐
因为一个口罩,我决定离婚了
雾霾口罩
三国漫——人脸解锁
马面部与人脸相似度惊人
长得象人脸的十种动物
遥感图像几何纠正中GCP选取