APP下载

智能人脸口罩识别系统设计

2023-05-05林科圻赵艳萍苏德权胡卓盛郑鑫

电子技术与软件工程 2023年2期
关键词:肤色人脸分类器

林科圻 赵艳萍 苏德权 胡卓盛 郑鑫

(广西民族师范学院数理与电子信息工程学院 广西壮族自治区崇左市 532200)

随着生活水平的提高和城市化进程的不断加速,人们越来越频繁地出现在公共场所,如商场、机场、体育馆、火车站、地铁等。这些场所的人员流动性大,使得公共卫生安全问题越来越突出。为了确保公共场所的安全,需要进行有效的监管和管理。其中,口罩的佩戴是一种非常重要的预防措施,因为它可以阻挡空气中携带的颗粒物、细菌、病毒等进入呼吸道,从而有效地减少疾病传播的风险。对于公共场所的管理者来说,对人员佩戴口罩情况进行实时监测和管理可以更好地保障公众的健康安全。

在实际应用中,手动监测口罩佩戴情况存在很多困难和限制。这种方法需要耗费大量的人力和物力,并且容易受到主观因素、视觉疲劳等因素的影响,从而降低准确性和效率。因此,需要一种智能化、自动化、高效率和高准确率的技术手段来应对这一问题。

人脸口罩佩戴识别是一种计算机视觉技术,是数字图像处理的重要分支,能够在人脸被口罩部分遮挡的情况下,判定人脸是否正确佩戴了口罩,并且识别出遮挡人脸的身份信息。这项技术具有重要的实际意义,可以协助公共场所进行安全监管和防控措施,提高人们的生活质量和安全水平。目前,国内外已有许多学者和工业界从不同角度对口罩遮挡对人脸识别性能的影响进行了相关的研究和实践,并提出了各种算法和方法来克服这一问题。

1 PyramidBox算法

PyramidBox 算法是一种目标检测算法,其独特之处在于使用了金字塔架构处理不同尺度的特征图像。通过多层特征融合,PyramidBox 算法能够有效提高检测性能。

在本文中,我们将基于PyramidBox 算法进行人脸口罩识别。为了实现这一目标,我们需要增加一个二分类器来判断人脸是否佩戴口罩。具体地,我们将在候选框过滤的步骤中,对每个候选框进行口罩分类和回归。如果一个候选框被判定为佩戴口罩,则将其保留;否则将其过滤掉。

1.1 损失函数

PyramidBox 算法中采用了多任务损失函数[1],该函数包含三个部分:人脸/非人脸二分类器损失、人脸关键点定位损失和人脸边界框回归损失。具体来说,损失函数的总体形式如下:

L=Lcls+λ1Lpts+λ2Lbox

其中,Lcls表示人脸/非人脸二分类器的损失,Lpts表示人脸关键点定位的损失,Lbox表示人脸边界框回归的损失,λ1和λ2是权重系数。

1.2 人脸/非人脸二分类器损失

PyramidBox 算法使用交叉熵损失函数来计算二分类器损失,该损失函数的数学公式如下所示:

其中,N表示训练样本的数量,yi表示第i个样本的真实标签,pi表示第i 个样本为正样本的概率。在二分类器中,yi的取值只有0 和1,表示第i个样本是非人脸还是人脸。

1.3 人脸关键点定位损失

对于人脸关键点定位的损失,PyramidBox 算法使用的是平均欧氏距离损失函数[2],其公式如下:

其中,N表示训练样本的数量,M表示每个样本中关键点的数量,表示第i个样本的第j个关键点的预测坐标, 表示第i个样本的第j个关键点的真实坐标。

1.4 人脸边界框回归损失

对于人脸边界框回归的损失,PyramidBox 算法使用的是平滑L1 损失函数,其公式如下:

其中,Pos表示正样本集合,n表示正样本数量,ti和ti*分别表示第i个正样本的预测边界框和真实边界框,SmoothL1表示平滑L1 损失函数,其公式如下:

该损失函数可以在一定程度上抑制异常值的影响,使得算法更加稳定。同时,由于其平滑的特性,相比于传统的L1 损失函数,其收敛速度更快,更容易得到更好的结果。

2 人脸口罩识别的方法

为了提高人脸口罩识别的准确率,我们可以结合颜色检测和肤色提取技术来进一步筛选识别结果。具体而言,我们可以利用OpenCV 库提供的颜色检测方法来获取肤色图像。这个过程中,我们需要将图像中的每个像素点转换为HSV 色彩空间,并设定肤色的HSV 阈值,以筛选出符合条件的像素点,最终得到肤色图像。再通过形态学操作来去除噪声和填充肤色区域内的空洞,得到最终的肤色掩码图像。

肤色提取的公式如下:

其中,Mcolor(x,y)表示像素(x,y)是否属于肤色;IHSV(x,y)表示像素(x,y)在HSV 色彩空间的值;skinHSV 表示肤色的HSV 阈值范围。

颜色检测的公式如下:

其中,Mcolor(x,y)表示像素(x,y)是否属于颜色;IHSV(x,y)表示像素(x,y)在HSV 色彩空间的值;colorHSV 表示颜色的HSV 阈值范围。

得到肤色和颜色掩码图像后,我们可以将其与人脸检测结果进行按位与运算,即可得到在肤色和颜色限制下的人脸区域。最终,我们将得到的人脸区域输入到二分类器中进行口罩检测,输出口罩检测结果。

3 系统总体设计

如图1所示,本系统使用了深度学习算法MTCNN和PyramidBox 进行人脸检测和口罩识别。MTCNN 是一种端到端的多任务卷积神经网络,它能够快速准确地检测人脸和人脸特征点,并判断人脸是否佩戴口罩。PyramidBox 则是一种基于特征金字塔和多尺度检测技术的轻量级目标检测算法,它能够高效地识别图像中的口罩区域。通过将两种算法结合使用,本系统实现了对佩戴口罩的人脸的准确检测和识别。

图1:系统架构设计图

如图2所示,在口罩识别系统的采集模块中,我们采用相机模块来采集人脸图像,并将这些图像输入到MTCNN 算法中进行人脸检测和人脸特征点检测[3]。检测结果将被传输到PyramidBox 算法中进行口罩检测,同时经过过滤和优化,以确保检测结果的准确性和稳定性。最终,我们将得到口罩检测的结果,并将其传递到下一个模块进行后续处理。

图2:算法识别测试

为了提高系统的准确性和效率,我们还对MTCNN和PyramidBox 算法进行了优化和改进。在MTCNN 算法中,我们引入了人脸姿态角度的约束和上下文信息的融合,使得算法在人脸倾斜、遮挡等情况下仍能保持良好的检测效果;在PyramidBox 算法中,我们引入了注意力机制[4]和跨尺度特征融合,使得算法在处理复杂场景下的口罩检测具有更好的鲁棒性和泛化能力。

通过以上改进和优化,我们的口罩识别系统在人脸检测和口罩识别任务上具有较高的准确率和鲁棒性。在后续的模块中,我们将对识别结果进行处理和上传,并提供网页端和移动端用户界面以及一些辅助功能,以实现全面的口罩识别系统。如图3 和图4所示。

图3:网页端用户界面

图4:移动端用户界面

4 实验结果

根据实验数据,得到表1 结果:

表1:人脸口罩检测系统实验数据表

从数据表1 中可以看出,我们使用PyramidBox 算法结合颜色检测和肤色提取技术,增加了一个二分类器来识别佩戴口罩的人脸,经过实验,整个系统的识别准确率高达98.9%。可以看出,该系统具有较高的识别准确性和实用性,可以在公共场合等需要佩戴口罩的场所广泛应用。

图5 显示了PyramidBox 算法结合颜色检测和肤色提取技术,增加一个二分类器用于识别佩戴口罩的人脸在不同Epoch 下的平均精度(mAP)表现。Epoch 是指在神经网络训练期间,在整个训练数据集上使用算法的次数。图表显示了三个数据集(MAFA,WIDER FACE和自采集),每个数据集都显示了算法的mAP 表现。在每个数据集中,随着Epoch 的增加,算法的mAP 表现显著提高。在第10 个Epoch 时,算法在所有三个数据集上都实现了相对较高的mAP 表现。该图表明,PyramidBox 算法结合颜色检测和肤色提取技术以及二分类器的引入可以有效提高口罩检测系统的准确性。

图5:三个数据集性能折线图

5 总结

本文主要介绍了一个基于人脸口罩识别的系统设计和实现。我们首先对人脸口罩识别算法进行了调研和比较,最终选择了MTCNN 和PyramidBox 两个算法作为人脸检测和口罩识别的基础。我们在系统中引入了一些优化算法,如非极大值抑制算法、数据增强等,从而提高了识别准确率和稳定性。同时,我们还考虑了系统的可扩展性和可维护性,设计了基于模块化的系统架构,使得系统具有更好的可拓展性和可维护性。

该系统设计经过实验结果的验证,在人脸口罩识别任务中展现出了较高的准确率和稳定性。尽管系统表现优异,但仍存在一些局限性,例如场景限制和识别速度的问题。未来我们将继续改进该系统,提高其鲁棒性和实用性,以便在更广泛的场景中应用。

猜你喜欢

肤色人脸分类器
有特点的人脸
Conversation in a house
为什么人有不同的肤色?
三国漫——人脸解锁
BP-GA光照分类器在车道线识别中的应用
加权空-谱与最近邻分类器相结合的高光谱图像分类
结合模糊(C+P)均值聚类和SP-V-支持向量机的TSK分类器
马面部与人脸相似度惊人
基于LLE降维和BP_Adaboost分类器的GIS局部放电模式识别
肤色检测和Hu矩在安全帽识别中的应用