基于卷积神经网络口罩识别方法研究

2022-11-30 03:24蒋益鸣范希喆张美嘉邱少君付贵忠
中国新技术新产品 2022年17期
关键词:口罩像素卷积

蒋益鸣 范希喆 张美嘉 邱少君 付贵忠

(苏州科技大学机械工程学院,江苏 苏州 215009)

0 引言

新冠疫情爆发以来,为保障社会的平稳运行,疫情防控中已经消耗了大量的人力和物力。目前在大部分公共场所,出于疫情防控安全的考虑,通过保安人员检查口罩佩戴的情况,该方式会消耗大量人力资源,增加防疫人员的感染风险,并且无法实现全天候的监测。与传统人工检测相比,机器视觉技术的口罩识别系统具有识别准确、成本低廉、人力消耗小和全天候监测等特点。

基于卷积神经网络的口罩检测方法属于机器视觉技术,是一种通过机器模仿人类视觉功能来进行测量与判断的方式[1]。一套典型的视觉检测系统主要包括图像采集、图像处理分析及输出和显示。机器视觉领域的图像处理和分析技术已从机器学习发展到最新的卷积神经网络方法。随着工业技术的不断发展,自动化和智能化水平也在不断发展,用于疫情防控的口罩检测就是其中一个重要的应用。虽然有部分学者研究了口罩检测方法[2-3],但是对于一些特殊的场景关注不够,因此该文针对口罩检测任务进行了研究,解决了现实场景中可能出现的口罩颜色不常见、佩戴不规范以及光线弱等问题,并在可移动设备上进行了应用。

1 口罩数据集

在进行试验前需要提前筛选试验数据集,数据集的丰富程度往往决定了模型训练的效果,场景和特征丰富的图像数据能提高模型的泛化能力,在实际检测时能提高对不同情形的应变能力。目前公开的人脸识别的数据集有MAFA、WIDER FACE数据集图片,其中MAFA数据集主要包括各种面部被遮挡的检测的数据集,且遮挡种类多样;WIDER FACE数据集是人脸识别常用数据集,且多为不佩戴口罩的情况。鉴于口罩种类、刻意遮挡物种类不同等会对训练检测有巨大的影响,而该文的实时口罩佩戴检测需要较高准确度,所以选择的数据集也需要更全面。该文选取了检票口、室内取景以及机场等公共场合的,近、远距离相结合的,并考虑了背景虚化、逆光环境和侧脸拍摄等的样本。数据集标注常用工具为LabelImg软件,能对人脸是否佩戴口罩进行判断,分为“Mask”(已佩戴)和“No Mask”(未佩戴)。

2 口罩检测方案设计

因为需要能够做到实时自动检测并准确识别图片信息是否为正确佩戴口罩,所以要求该系统具有比较完备的组成,其主要组成部分如图1所示,即图像采集、图像处理、图像分析和结果输出[4]。

该试验训练时不需要图像采集,在测试时通过笔记本电脑的摄像头来采集图像。图像处理是将输入的图像提前进行预处理,读取所有照片以后对图像进行裁剪灰度化和平滑处理,采用二值化图像将图像降维,转为黑白图像,方便进行图像特征区域识别和分类检测。图像分析是对已经通过图像处理步骤的图像进行特征裁取,并对所需要的口罩部分进行定位和分析,最后进行图像检测结果的输出,并显示在显示屏上。

2.1 YOLOv3检测模型

该文模型测试环境是基于TensorFlow深度学习框架开发的。其特征提取应用了DarkNet-53多尺度特征学习与融合网络结构,如图2所示。

该模型的设计思路如下。

首先,DarkNet-53有53层卷积层,通过卷积层1进行特征的学习,利用残差模块1~残差模块5进行尺寸压缩和特征学习,残差模块的具体结构如图3所示。其中残差模块包括梯度回传回路即跳跃连接,可以有效防止训练深层网络出现梯度消失的现象。此外,用卷积层步长为2的方式代替传统的池化层,有利于保留纹理细节特征。

残差结构所用的跳跃连接是将输入特征图与经过处理的输出特征图经过级联层进行维度拼接后输出,如公式(1)所示。

式中:x为模块输入;f(x)为经过本模块卷积层特征学习后的输出;y为最终的模块输出。

其次,该模型采用类金字塔结构进行预测,经过包括步长为2的残差模块时,每次压缩图像尺寸都会缩小一半。如果设定图像输入时尺寸为256×256像素(有时也会选择416×416像素作为输入图像的尺寸);经过卷积层1时,图像尺寸变为256×256像素;经过残差模块1时,图像尺寸变为128×128像素。依此类推,经过残差模块5时,图像尺寸变为8×8像素。

DarkNet-53主干网络的详细参数见表1,随着网络深度的加深,卷积层通道数也在增加。随着特征的不断学习,卷积层学习到的语义特征越来越丰富,因此需要更多的卷积层通道数来表征。卷积核选用的是1×1和3×3的组合,这两种卷积核可以减少模型的参数量,同时能进行特征学习和特征融合。

表1 DarkNet-53主干网络详细参数

因此,残差模块3~残差模块5的特征输出尺寸分别为原图的1/8、1/16和1/32,在随后的网络中分别对3个尺度的特征进行特征学习和检测结果预测,这种技术称之为多尺度特征学习,可以让网络的特征适应图像中可能出现的各种尺寸的物体。

再次,检测框的尺寸往往也会影响最终的检测效果,因为检测框的尺寸需要定位所检测的目标。一般来说是通过K-means聚类的方法对数据集中的标注框进行统计分析,找到适用于特定数据集的标注框尺寸。对人脸佩戴口罩的数据集的训练能获得相对合适的先验框,在此使用的K-Means聚类具体过程如下。。

根据数据的标注框尺寸的设定划分为k个簇,将簇上的紧密连接连接起来,然后计算均方误差SSE,如公式(2)所示。

式中:k为k个簇;j为正在计算的簇的序号;Cj为簇j内数据样本的集合;x为Cj内样本的数值;mj为Cj簇的质心。

在不同的迭代中去优化,减小均分误差,当误差达到设定的数值或者误差几乎稳定不变时停止迭代。K-Means算法可以更高效地对检测特征和结果进行聚类强化,提高整个系统的检测精度。

最后,利用检测框进行检测,需要采用非极大值的抑制方式去除置信度不高的候选框,具体过程如下。对图像进行检测时,如果输入尺寸为416像素,检测模型会有3个输出,即即13×13像素、26×26像素和52×52像素,输出像素尺寸总和为13×13+26×26+52×52=10647像素,数量为分类类别n(n在该试验中取2+5,2为戴口罩和不戴口罩2种情况,5为检测框的位置、数量信息及置信度);通过置信度筛选大于阈值的预测作为新的预测;计算置信度得分;将置信度得分进行排序,得到最大值,找到和这个得分最大的预测类别相同的计算IOU值,通过加权计算得到最终的预测框。

最后,输出预测模块部分采用的损失函数是CIOU损失函数[5],计算预测框和真实标记框之间的差异,其计算方法如公式(3)~公式(5)所示。

式中:d为真实框的中心点与预测框中心点的距离;c为预测框与真实框交集的最小矩形的对角线距离;α为平衡比例的一个系数;v为测量长宽比的一致性;wgt和hgt分别为真实框的宽和高;w和h分别为预测框的宽和高。

2.2 模型训练

该试验是在处理器为i5-6500,GPU为英伟达1050显卡的笔记本上进行的,在TensorFlow深度学习平台上进行运算,并采用基于Cuda编程的GPU进行加速训练。

当训练时,先确保系统通过数据加载器载入标注好的数据集,没有对数据集进行特别的图像预处理。再加载卷积神经网络模型,通过图像读取文件读取训练集,进行人脸识别并获取人脸的位置,获取后裁取图片并保存。在得到灰化后的图像以后,通过测试文件对截取得到的画面进行反复训练,当损失函数趋于稳定就可以即停止训练。通过K-Means聚类处理选择预选框,选择尺寸为10×13、16×30、33×33、45×45、45×62、90×90、116×90、156×195以及373×326像素的候选框。

2.3 测试方法

该测试过程采用的模型是在上一步中训练得到的,测试的数据可以通过2种方式获得,第一种是利用摄像头实时采集图像,第二种是载入本地图像。通过以上2种方式获得的图像将在模型中载入,模型将针对图像输出检测结果,并同步标注好“Mask”或“No Mask”以及对应的预测置信度。

如果某张图像的检测结果“Mask”数值标注为1.0,那么检测模型认为已佩戴口罩的概率是100%,“Mask”标注框的颜色是绿色。反之,“No Mask”标注框的颜色是红色,如果标注数值为0.8,就认为没有佩戴口罩的概率是0.8。在测试时,通过时间函数记录运行程序所需要的时间。

3 试验结果分析

为了验证该模型在正确佩戴口罩、未完全佩戴口罩、刻意遮挡脸部以及多种颜色口罩下的检测结果,采用多种场景下的照片,结果如图4所示。

可以看出,该模型在光照相对清晰、侧面拍照或非常见颜色口罩的情况下都能够将口罩检测出来。第二张图片属于光照较弱的情况,模型也能够完成对口罩的检测。最后一组图片为口罩从完全未戴到戴好,可以看出模型对于佩戴口罩和未佩戴口罩的识别结果都很理想。当口罩只戴了一部分,模型会将其识别为未佩戴口罩,如果将口罩戴到鼻子部位,将识别为已佩戴。通过分析可以看出,检测模型在检测口罩佩戴规范性方面有比较良好的效果,但是仍有提升的空间。

此外,该文还对该模型进行了量化指标的评估,见表2。根据表2的数据,检测的平均精度值为96.5%,计算速度为67 F/s,即每秒可以处理67张图片,考虑实际使用时镜头前面的待检测人群是慢慢出现的,该检测速度完全可以满足需求。

表2 模型的运行结果

综上所述,口罩佩戴检测系统目前虽然已经发展成熟,但面对光线极端差异、人群复杂的情况下仍然可能或多或少有误判、漏判的问题,可以在图像预处理过程中进行分析,通过图像增强的方式提供更多的数据,提高检测的准确性。

4 结语

该文主要对人脸口罩佩戴检测进行了深入研究,在标注了自建的数据集后,采用基于DarkNet -53的YOLOv3模型进行数据集训练,对弱光照、侧拍和不规范佩戴口罩的情况都得到了不错的效果,试验的检测精度达到96.5%,检测速度达到67 F/s。

猜你喜欢
口罩像素卷积
赵运哲作品
像素前线之“幻影”2000
基于3D-Winograd的快速卷积算法设计及FPGA实现
因为一个口罩,我决定离婚了
从滤波器理解卷积
雾霾口罩
基于傅里叶域卷积表示的目标跟踪算法
一种基于卷积神经网络的性别识别方法