1.本发明涉及人脸识别技术领域,具体涉及佩戴
口罩人脸识别方法、门禁装置、电子设备和可读介质。
背景技术:
2.新型冠状病毒可以通过空气中的飞沫、气溶胶等载体进行传播,在公共场所佩戴口罩是当前有效防止病毒传播的重要措施,也是疫情结束后一段时间的趋势。但是口罩的遮挡会造成人面部固有结构的缺失,直接影响脸部
特征提取,导致以人脸识别为核心的门禁系统无法正常工作。如果要求去口罩进行检测识别,在学校、小区等人员密集场所不仅会增大交叉感染风险,而且会破坏自动检测的系统性和智能性,延长检测时间,这在大流量出入口是无法接受的。因此,对佩戴口罩的人脸进行快速准确地检测和识别是现在急需解决的问题。
3.授权号为cn109101923b的发明专利提供了一种人员佩戴口罩情况的检测方法以及装置,该发明通过对所述获取的目标人脸
图像进行阈值分割,得到关于目标人脸的二值图像,再经过计算二值图像的下半部分的连通域,统计最大连通域的外界矩形框的宽度和高度,若外界矩形框的宽度和高度是否满足预设条件,则认为佩戴口罩,反之则将所述目标人脸图像从rgb空间像转换到ycrcb空间,结合二值图像得到反向投影人脸图像fb,将fb分为上半人脸图像f
b1
和下半人脸图像f
b2
,分别统计f
b1
和f
b2
中像素点值超过预设阈值的像素个数n1和n2,判定n1及n2是否满足预设条件,若满足则认为未佩戴口罩,实现自动快速且准确地检测人员是否佩戴口罩。但是该专利采用的方法能仅仅用于判断目标人脸是否佩戴口罩,在学校,小区等大流量出入口不能实现对特定人的人脸识别。
[0004]“基于改进yolov3的口罩佩戴检测算法”中提出了一种改进的yolov3口罩佩戴检测方法。该方法将spp(spatial pyramid pooling)结构添加到原yolov3结构中,解决输入神经网络不同图像尺寸不统一问题,然后利用k-means算法对所构造的口罩数据进行聚类,重新获取检测的先验框,并根据图像大小进行合适的分配提升模型的精度。最后,再将原始iou loss损失函数替换为ciou loss,解决边框回归时难以确认梯度下降方向的问题,降低检测中精度损失。该方法虽然在口罩佩戴检测上取得了一定的效果,但是该方法不能实现人脸的识别,并且模型体量大,在检测精度上还有很大的提升空间。
技术实现要素:
[0005]
本发明的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本发明的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
[0006]
为了解决佩戴口罩人脸识别的准确度低下的技术问题,本发明提出了佩戴口罩人脸识别方法、门禁装置、电子设备和可读介质。
[0007]
第一方面,本发明提供了一种佩戴口罩人脸识别方法,该方法包括:
[0008]
根据所需要求对特定人建立未戴口罩人脸
样本库;
[0009]
对未戴口罩人脸样本库进行扩充,构建数据库,其中,所建数据库包含戴口罩与未戴口罩的人脸样本;
[0010]
构建基于yolov5的佩戴口罩人脸检测模型yolov5-md,并通过数据库对构建的基于yolov5的佩戴口罩人脸检测模型yolov5-md进行训练及测试;
[0011]
将待检测人脸图像传入训练好的佩戴口罩人脸检测模型yolov5-md,判断待检测人脸是否佩戴口罩,如果待检测人脸佩戴口罩,则生成待检测人脸佩戴口罩检测结果图,如果待检测人脸未佩戴口罩,则生成表征待检测人脸佩戴口罩未佩戴口罩的提示信息;
[0012]
根据得到的待检测人脸佩戴口罩检测结果图,通过口罩迁移算法提取待检测人脸口罩特征,对样本库人脸添加待检测人脸所戴口罩,并生成样本库佩戴口罩人脸图像;
[0013]
将生成的待检测人脸佩戴口罩检测结果图与样本库佩戴口罩人脸图像传入改进的facenet人脸识别网络,对待检测的佩戴口罩人脸与样本库佩戴口罩人脸的人脸特征及口罩特征进行空间映射,通过三元组计算欧氏距离,生成佩戴口罩人脸的识别信息。
[0014]
进一步的,通过口罩迁移算法,对未戴口罩人脸样本库进行扩充,包括:
[0015]
输入佩戴口罩人脸图像与样本库人脸图像;
[0016]
确定样本库人脸图像的鼻子、眉眼和脸部轮廓关键点;
[0017]
通过鼻子、眉眼和脸底部关键点,确定口罩大小的高度和中心线;
[0018]
提取佩戴口罩人脸口罩特征,将口罩左右平分为两部分,根据确定的口罩大小的高度和中心线调整口罩大小;
[0019]
旋转口罩,角度为中心线相对于y轴的旋转角,将调整的口罩放在人脸适当位置,完成口罩迁移,输出佩戴口罩的样本库人脸图像。
[0020]
进一步的,将数据库按照7:2:1的比例划分作为模型的训练集、验证集和测试集。
[0021]
进一步的,所述构建基于yolov5的佩戴口罩人脸检测模型yolov5-md,包括:
[0022]
拓展yolov5目标检测模型骨干网络中浅层跨阶段局部网络模块的厚度,提取佩戴口罩人脸在浅层的细节特征;
[0023]
引入ca注意力机制,所述ca注意力机制用于yolov5的骨干网络特征提取过程中加强对佩戴口罩人脸特征的提取,得到在宽度和高度方向上带有注意力权重的特征图;
[0024]
将得到的特征图通过bifpn特征融合网络进行加权融合,产生16
×
16、32
×
32和64
×
64大小的特征图,用于head部分的多尺度检测。
[0025]
进一步的,所述通过数据库对构建的基于yolov5的佩戴口罩人脸检测模型yolov5-md进行训练及测试,包括:
[0026]
设置基于yolov5的佩戴口罩人脸检测模型yolov5-md的训练参数;
[0027]
将数据库的训练集送入构建的基于yolov5的佩戴口罩人脸检测模型yolov5-md,按照设置的参数进行训练;
[0028]
根据数据库的验证集对训练的模型进行验证得到平均误差及精度变化,调整相应参数对模型进行优化以达到最优状态;
[0029]
将数据库的测试集送入已达到最优状态的yolov5-md模型进行性能测试,并从map精确度均值及fps检测速度指标下进行评估,得到最终佩戴口罩人脸检测模型。
[0030]
进一步的,所述将生成的待检测人脸佩戴口罩检测结果图与样本库佩戴口罩人脸
图像传入改进的facenet人脸识别网络,对待检测的佩戴口罩人脸与样本库佩戴口罩人脸的人脸特征及口罩特征进行空间映射,通过三元组计算欧氏距离,生成佩戴口罩人脸的识别信息,包括:
[0031]
将facenet中特征提取网络替换为yolov5-md的cspnet特征提取网络;
[0032]
将yolov5-md中得到的佩戴口罩人脸图像与样本库通过口罩迁移算法生成的佩戴口罩人脸图像送入改进的facenet的特征提取网络进行特征提取和特征融合;
[0033]
通过对提取的特征采用l2归一化操作,得到待检测佩戴口罩人脸与样本库佩戴口罩人脸的特征向量以及口罩的特征向量;
[0034]
将得到的待检测佩戴口罩人脸与样本库佩戴口罩人脸的特征向量以及口罩的特征向量通过三元组计算欧氏距离,其中,三元组包括:anchor、positive与negative三个样例,anchor与positive为同一人人脸图像,anchor与negative为不同人人脸图像,判定条件为相同人脸特征向量间的欧氏距离的平方比不同人脸图像特征向量间的欧氏距离的平方小α,α表示正负样本之间的边界值;
[0035]
判断计算的欧氏距离是否满足判定条件,若满足判定条件,则为同一人,若不满足判定条件,则不为同一人,并生成佩戴口罩人脸的识别信息。
[0036]
进一步的,所述判定条件为:
[0037][0038][0039][0040]
其中,表示第i个anchor图像,表示第i个positive图像,表示第i个negative图像,表示第i个anchor图像的特征向量,表示第i个positive图像的特征向量,表示第i个negative图像的特征向量,||f(x)||表示距离长度且α表示正负样本之间的边界值,τ表示训练集中可能的三元组集合,rd表示d维欧几里得空间。
[0041]
第二方面,本发明提供了一种门禁装置,包括:
[0042]
图像采集模块,包括显示模块,用于获取待检测人脸图像,显示识别结果;
[0043]
佩戴口罩人脸检测模块,用于判断是否佩戴口罩,将待检测人脸图像送入训练好的基于yolov5的佩戴口罩人脸检测模型yolov5-md,如果未配戴口罩,则显示模块显示无法通过,如果佩戴口罩,则将待检测佩戴口罩人脸结果图送入特征提取模块;
[0044]
特征提取模块,用于通过口罩迁移算法提取佩戴口罩人脸检测模块得到的待检测人脸图像的口罩特征,对样本库人脸添加待检测人所戴口罩;
[0045]
人脸识别模块,用于对佩戴口罩人脸检测模块得到的佩戴口罩人脸图像与特征提取模块得到的人脸佩戴口罩图像,通过人脸识别网络facenet识别人脸特征及口罩特征,进行l2归一化操作,通过计算欧氏距离,对待检测人脸与样本库人脸进行比对;
[0046]
控制模块,包括闸机模块,用于对人脸识别模块的结果进行反馈,如果比对成功,则控制模块控制闸机模块开放闸机,显示模块显示允许通过,如果比对失败,则控制模块控
制闸机模块不开放闸机,显示模块显示禁止通过。
[0047]
第三方面,本发明提供了一种电子设备,包括存储器、处理器以及能够存储在存储器并且能够在处理器上运行的计算机程序,上述处理器上运行的计算机程序能够实现上述的一种佩戴口罩人脸识别方法。
[0048]
第四方面,本发明提供了一种可读介质,可读介质存储的计算机程序被处理器执行时实现上述的一种佩戴口罩人脸识别方法。
[0049]
本发明具有如下有益效果:
[0050]
第一,由于本发明通过引入ca注意力机制和改进bifpn特征融合网络等构建一种新的基于深度回归神经网络的佩戴口罩人脸检测模型yolov5-md,有效提取佩戴口罩人脸的浅层细节信息和深层全局特征,提高对口罩特征的检测精度。
[0051]
第二,由于本发明通过使用口罩迁移算法,设计样本库人脸优化机制,减少样本库中的人脸与待检测人脸的空间距离,提高在改进facenet网络中人脸识别的准确度。
[0052]
第三,由于本发明有机融合佩戴口罩人脸检测模型yolov5-md和人脸识别网络facenet的特征提取网路,避免特征重复提取,减少了计算复杂度并降低模型参数。
[0053]
第四,由于本发明提出的佩戴口罩人脸识别方法能够部署到提出的门禁装置上,并能在学校、小区等人流量大的出入口进行广泛应用,且能够快速准确的对佩戴口罩人脸进行识别。
附图说明
[0054]
为了更清楚地说明本发明实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
[0055]
图1为本发明的一种佩戴口罩人脸识别方法的流程图;
[0056]
图2为本发明提供的基于口罩迁移算法构建数据库的流程图;
[0057]
图3为本发明提供的基于yolov5的佩戴口罩人脸检测网络yolov5-md的结构图;
[0058]
图4为本发明提供的一种改进的facenet人脸识别网络流程图;
[0059]
图5为本发明提供的一种佩戴口罩人脸识别门禁装置流程图;
[0060]
图6为本发明提供的一种电子设备结构图;
[0061]
图7为本发明的一种佩戴口罩人脸识别方法的又一流程图。
具体实施方式
[0062]
为了更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的技术方案的具体实施方式、结构、特征及其功效,详细说明如下。在下述说明中,不同的“一个实施例”或“另一个实施例”指的不一定是同一个实施例。此外,一个或多个实施例中的特定特征、结构或特点可由任何合适形式组合。
[0063]
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。
[0064]
本发明提供了一种佩戴口罩人脸识别方法,该方法包括以下步骤:
[0065]
根据所需要求对特定人建立未戴口罩人脸样本库;
[0066]
对未戴口罩人脸样本库进行扩充,构建数据库,其中,所建数据库包含戴口罩与未戴口罩的人脸样本;
[0067]
构建基于yolov5的佩戴口罩人脸检测模型yolov5-md,并通过数据库对构建的基于yolov5的佩戴口罩人脸检测模型yolov5-md进行训练及测试;
[0068]
将待检测人脸图像传入训练好的佩戴口罩人脸检测模型yolov5-md,判断待检测人脸是否佩戴口罩,如果待检测人脸佩戴口罩,则生成待检测人脸佩戴口罩检测结果图,如果待检测人脸未佩戴口罩,则生成表征待检测人脸佩戴口罩未佩戴口罩的提示信息;
[0069]
根据得到的待检测人脸佩戴口罩检测结果图,提取待检测人脸口罩特征,对样本库人脸添加待检测人脸所戴口罩,并生成样本库佩戴口罩人脸图像;
[0070]
将生成的待检测人脸佩戴口罩检测结果图与样本库佩戴口罩人脸图像传入改进的facenet人脸识别网络,对待检测的佩戴口罩人脸与样本库佩戴口罩人脸的人脸特征及口罩特征进行空间映射,通过三元组计算欧氏距离,生成佩戴口罩人脸的识别信息。
[0071]
下面对上述各个步骤进行详细展开:
[0072]
参考图1,示出了本发明的一种佩戴口罩人脸识别方法的一些实施例的流程。该基于yolov5和facenet的佩戴口罩人脸识别方法,包括以下步骤:
[0073]
步骤s1,根据所需要求对特定人建立未戴口罩人脸样本库。
[0074]
在一些实施例中,可以根据所需要求对特定人建立未戴口罩人脸样本库。
[0075]
其中,特定人是指一个学校的学生和教职工体、一个小区的业主和物业人员等这些需要进行佩戴口罩人脸识别的大流量出入口场所的人。
[0076]
步骤s2,对未戴口罩人脸样本库进行扩充,构建数据库。
[0077]
在一些实施例中,可以对未戴口罩人脸样本库进行扩充,构建数据库。
[0078]
其中,所建数据库包含戴口罩与未戴口罩的人脸样本。
[0079]
作为示例,可以通过基于生成对抗网络的口罩迁移算法或人工添加模拟口罩方式对步骤s1建立的未戴口罩人脸样本库进行扩充,构建数据库,所建数据库包含戴口罩与未戴口罩的人脸样本。
[0080]
作为又一示例,如图2所示,通过基于生成对抗网络的口罩迁移算法对步骤s1建立的未戴口罩人脸样本库进行扩充,构建数据库,可以包括以下步骤:
[0081]
步骤201,输入佩戴口罩人脸图像与样本库人脸图像。
[0082]
步骤202,确定样本库人脸图像的鼻子、眉眼和脸部轮廓关键点。
[0083]
例如,可以确定步骤201包括的样本库人脸图像的鼻子、眉眼和脸部轮廓关键点。
[0084]
步骤203,通过鼻子、眉眼和脸底部关键点,确定口罩大小的高度和中心线。
[0085]
例如,可以通过步骤202包括的鼻子、眉眼和脸底部关键点,确定口罩大小的高度和中心线。
[0086]
步骤204,提取佩戴口罩人脸口罩特征,将口罩左右平分为两部分,根据确定的口罩大小的高度和中心线调整口罩大小。
[0087]
例如,可以提取佩戴口罩人脸口罩特征,将口罩左右平分为两部分,根据步骤203确定的口罩大小的高度和中心线调整口罩大小。
[0088]
步骤205,旋转口罩,角度为中心线相对于y轴的旋转角,将调整的口罩放在人脸适
当位置,完成口罩迁移,输出佩戴口罩的样本库人脸图像。
[0089]
其中,输出的各个佩戴口罩的样本库人脸图像和未戴口罩人脸样本库可以组成数据库。
[0090]
例如,可以旋转口罩,角度为中心线相对于y轴的旋转角,将步骤204调整的口罩放在人脸适当位置,完成口罩迁移,输出佩戴口罩的样本库人脸图像。
[0091]
可选地,可以将数据库按照7:2:1的比例划分作为模型的训练集、验证集和测试集。即随机选取70%的人脸样本数据作为模型的训练集,随机选取20%的人脸样本数据作为模型的验证集,随机选取10%的人脸样本数据作为模型的测试集。
[0092]
构建数据库是为了实现佩戴口罩人脸检测模型的特征学习,目前大多数人脸检测数据集celeba、mtfl、imdb-wiki等都是基于不带口罩的人脸。所公开的全球最大的口罩遮挡人脸数据集rwmf(real world masked face),包含525人的5千张口罩人脸、9万张正常人脸。佩戴口罩人脸图片数量相比于正常人脸数量过少,会导致yolov5-md检测模型的检测效果较差,从而影响最终的人脸识别效果。因此,采用基于生成对抗网络的口罩迁移算法和人工添加模拟口罩的方式对佩戴口罩人脸类别进行扩充。结合原样本库和扩充的数据库将其标签处理为yolo所需要的格式,从而进行后续的训练与测试。
[0093]
步骤s3,构建基于yolov5的佩戴口罩人脸检测模型yolov5-md,并通过数据库对构建的基于yolov5的佩戴口罩人脸检测模型yolov5-md进行训练及测试。
[0094]
在一些实施例中,可以构建基于yolov5的佩戴口罩人脸检测模型yolov5-md,并通过数据库对构建的基于yolov5的佩戴口罩人脸检测模型yolov5-md进行训练及测试。
[0095]
作为示例,首先,yolo系列目标检测模型结合了残差网络、特征金字塔以及多特征融合网络等多种方法,具有较好的检测精度和识别速度。改进的基础模型yolov5使用的是cspdarknet作为骨干网络,cspdarknet能够解决大型卷积神经网络框架骨干网络中网络优化的梯度信息重复问题,减少了模型的参数量和flops数值;其次,yolov5目标检测模型的网络结构简洁,在灵活性与速度上远超yolov3且具有模型易快速部署的优势;最后,针对人脸佩戴口罩时会造成人面部固有结构的缺失,直接影响脸部特征提取,从而影响检测效果以及后续的人脸识别效果等问题,选择基于yolov5目标检测模型进行改进,基于yolov5的佩戴口罩人脸检测模型yolov5-md包括:在骨干网络中引入ca注意力机制;使用改进的bifpn特征融合网络;检测层head部分采用3个尺度的特征图作为目标预测层,基于yolov5的佩戴口罩人脸检测模型yolov5-md如图3所示,构建基于yolov5的佩戴口罩人脸检测模型yolov5-md,可以包括以下步骤:
[0096]
第一步,拓展yolov5目标检测模型骨干网络中浅层跨阶段局部网络模块的厚度,提取佩戴口罩人脸在浅层的细节特征。
[0097]
第二步,引入ca注意力机制,所述ca注意力机制用于yolov5的骨干网络特征提取过程中加强对佩戴口罩人脸特征的提取,得到在宽度和高度方向上带有注意力权重的特征图。
[0098]
例如,在骨干网络中引入ca注意力机制,可以包括以下子步骤:
[0099]
第一子步骤,在coordinate信息嵌入阶段,将输入的待检测图像分为宽度w和高度h两个方向并进行全局平均池化,获得宽度和高度两个方向的特征图。
[0100]
第二子步骤,在coordinate特征映射阶段,将本例子包括的第一子步骤获得的两
个方向的特征图拼接在一起,送入共享的卷积核为1
×
1的卷积变换函数f1,将其维度降低为原来的c/r,其中c为通道数,r为缩减因子。将经过批量归一化处理的特征图送入sigmoid激活函数得到特征图f。
[0101]
第三子步骤,在coordinate注意力生成阶段,将本例子包括的第二子步骤得到的特征图f按照原来的高度h和宽度w沿空间维度进行卷积核为1
×
1的卷积分别得到通道数与原来一样的特征图fh,fw,再利用两个1
×
1卷积变换函数对fh,fw进行变换得到高度方向和宽度方向的注意力特征权重gh,gw。
[0102]
第四子步骤,最后在原始特征图上通过乘法再次加权计算,得到在宽度和高度方向上带有注意力权重的特征图。
[0103]
第三步,将得到的特征图通过bifpn特征融合网络进行加权融合,产生16
×
16、32
×
32和64
×
64大小的特征图,用于head部分的多尺度检测。
[0104]
其中,bifpn特征融合网络,是一种加权双向特征金字塔,可实现高效的双向跨尺度连接,并通过对不同卷积层提取到的特征进行加权融合。
[0105]
例如,可以将本示例第三步中提取的在宽度和高度方向上带有注意力权重的特征图通过bifpn特征融合网络进行加权融合,产生16
×
16、32
×
32和64
×
64大小的特征图,进而得到最终配戴口罩人脸检测结果图。
[0106]
作为又一示例,通过数据库(步骤s2建立的数据库)对构建的基于yolov5的佩戴口罩人脸检测模型yolov5-md进行训练及测试,可以包括以下步骤:
[0107]
第一步,设置基于yolov5的佩戴口罩人脸检测模型yolov5-md的训练参数。
[0108]
例如,设置模型训练参数,利用随机优化算法adam进行训练,训练批次的大小设置为batch=64,动量momentum=0.9,学习率初始设定为ir=0.001,训练迭代次数epoch=300。
[0109]
第二步,将步骤s2建立的数据库的训练集送入步骤s3所构建的基于yolov5的佩戴口罩人脸检测模型yolov5-md,按照本示例第一步设置的参数进行训练。
[0110]
第三步,根据数据库的验证集对训练的模型进行验证得到平均误差及精度变化,调整相应参数对模型进行优化以达到最优状态。
[0111]
例如,可以通过步骤s2建立的数据库的验证集,对本示例第二步训练的模型进行验证得到平均误差及精度变化,调整相应参数对模型进行优化以达到最优状态。
[0112]
第四步,将数据库的测试集送入已达到最优状态的yolov5-md模型进行性能测试,并从map精确度均值及fps检测速度指标下进行评估,得到最终佩戴口罩人脸检测模型。
[0113]
例如,可以将步骤s2建立的数据库的测试集送入本示例第三步达到最优状态的yolov5-md模型进行性能测试,并从map精确度均值及fps检测速度指标下进行评估,得到最终佩戴口罩人脸检测模型。
[0114]
步骤s4,将待检测人脸图像传入训练好的佩戴口罩人脸检测模型yolov5-md,判断待检测人脸是否佩戴口罩,如果待检测人脸佩戴口罩,则生成待检测人脸佩戴口罩检测结果图,如果待检测人脸未佩戴口罩,则生成表征待检测人脸佩戴口罩未佩戴口罩的提示信息。
[0115]
在一些实施例中,可以将待检测人脸图像传入步骤s3训练好的佩戴口罩人脸检测模型yolov5-md,判断待检测人脸是否佩戴口罩,如果待检测人脸佩戴口罩,则生成待检测
人脸佩戴口罩检测结果图,并进行后续步骤s5的处理。如果待检测人脸未佩戴口罩,则生成表征待检测人脸佩戴口罩未佩戴口罩的提示信息,不进行后续人脸识别,且门禁装置不予通过。
[0116]
步骤s5,根据得到的待检测人脸佩戴口罩检测结果图,提取待检测人脸口罩特征,对样本库人脸添加待检测人脸所戴口罩,并生成样本库佩戴口罩人脸图像。
[0117]
在一些实施例中,可以根据步骤s4得到的待检测人脸佩戴口罩检测结果图,通过口罩迁移算法,提取待检测人脸口罩特征,对样本库人脸添加待检测人脸所戴口罩,并生成样本库佩戴口罩人脸图像。
[0118]
需要说明的是,步骤s5包括的口罩迁移算法,是为了对佩戴口罩的人脸进行识别时,避免因口罩颜或类型而造成的误差,从而提高人脸识别的准确率。与步骤s2包括的口罩迁移算法的区别在于,步骤s2包括的口罩迁移算法的输入为随机佩戴口罩人脸图像与样本库人脸图像,步骤s5包括的口罩迁移算法的输入为待检测人脸佩戴口罩图像与样本库人脸图像,其余口罩迁移算法的步骤不变。
[0119]
步骤s6,将生成的待检测人脸佩戴口罩检测结果图与样本库佩戴口罩人脸图像传入改进的facenet人脸识别网络,对待检测的佩戴口罩人脸与样本库佩戴口罩人脸的人脸特征及口罩特征进行空间映射,通过三元组计算欧氏距离,生成佩戴口罩人脸的识别信息。
[0120]
在一些实施例中,可以将步骤s4生成的待检测人脸佩戴口罩检测结果图与步骤s5生成的样本库佩戴口罩人脸图像传入改进的facenet人脸识别网络,对待检测的佩戴口罩人脸与样本库佩戴口罩人脸的人脸特征及口罩特征进行空间映射,通过三元组计算欧氏距离,生成佩戴口罩人脸的识别信息,实现佩戴口罩人脸的准确识别。
[0121]
作为示例,本步骤可以包括以下步骤:
[0122]
第一步,将facenet中特征提取网络替换为yolov5-md的cspnet特征提取网络。
[0123]
例如,可以将facenet中特征提取网络替换为yolov5-md的cspnet特征提取网络,能更好解决网络优化的梯度信息重复问题,减少了模型的参数量和flops数值。
[0124]
第二步,将yolov5-md中得到的佩戴口罩人脸图像与样本库通过口罩迁移算法生成的佩戴口罩人脸图像送入改进的facenet的特征提取网络进行特征提取和特征融合。
[0125]
例如,可以将步骤s4生成的待检测人脸佩戴口罩检测结果图与步骤s5生成的样本库人脸的佩戴口罩图像送入本示例第一步包括的改进的facenet的特征提取网络进行特征提取和特征融合。
[0126]
第三步,通过对提取的特征采用l2归一化操作,得到待检测佩戴口罩人脸与样本库佩戴口罩人脸的特征向量以及口罩的特征向量。
[0127]
例如,可以通过对本示例第二步提取的特征采用l2归一化操作,得到待检测佩戴口罩人脸与样本库佩戴口罩人脸的特征向量表示以及口罩的特征向量表示。其中,l2归一化操作是将本示例第二步提取的不同的特征映射到一个球面上形成一个个的点,也就是提取的特征向量的表示,所有的点到圆心的距离都为1,这样人脸识别的问题,转换为一个简单的求坐标距离的问题。
[0128]
第四步,将本示例第三步得到的待检测佩戴口罩人脸与样本库佩戴口罩人脸的特征向量以及口罩的特征向量通过三元组计算欧氏距离。
[0129]
其中,三元组包括:anchor、positive与negative三个样例。anchor与positive为
同一人人脸图像。anchor与negative为不同人人脸图像。判定条件为相同人脸特征向量间的欧氏距离的平方比不同人脸图像特征向量间的欧氏距离的平方小α,α表示正负样本之间的边界值。
[0130]
例如,上述判定条件可以为:
[0131][0132][0133][0134]
其中,表示第i个anchor图像,表示第i个positive图像,表示第i个negative图像,表示第i个anchor图像的特征向量,表示第i个positive图像的特征向量,表示第i个negative图像的特征向量,||f(x)||表示距离长度且α表示正负样本之间的边界值,τ表示训练集中可能的三元组集合,rd表示d维欧几里得空间。
[0135]
第五步,判断计算的欧氏距离是否满足判定条件,若满足判定条件,则为同一人,若不满足判定条件,则不为同一人,并生成佩戴口罩人脸的识别信息。
[0136]
例如,通过本示例第四步计算的欧氏距离,判断计算的欧氏距离是否满足判定条件,若满足判定条件,则生成表征允许通过的识别信息,反之,则生成表征不允许通过的识别信息,门禁装置不予通过。
[0137]
改进的facenet人脸识别网络实现的步骤可以如图4所示。
[0138]
如图5所示,本发明提供了一种佩戴口罩人脸识别的门禁装置,包括:
[0139]
图像采集模块501,包括显示模块507,用于获取待检测人脸图像,显示识别结果;
[0140]
佩戴口罩人脸检测模块502,用于判断是否佩戴口罩,将待检测人脸图像送入训练好的基于yolov5的佩戴口罩人脸检测模型yolov5-md。如果未配戴口罩,则显示模块2显示无法通过,如果佩戴口罩,则将待检测人脸结果图送入特征提取模块503;
[0141]
特征提取模块503,用于口罩迁移算法提取佩戴口罩人脸检测模块502得到的待检测人脸图像的口罩特征,对样本库人脸添加待检测人所戴口罩;
[0142]
人脸识别模块504,用于对佩戴口罩人脸识别模块502得到的人脸图像与特征提取模块503得到的人脸佩戴口罩图像,通过人脸识别网络facenet识别人脸特征及口罩特征,进行l2归一化操作,通过计算欧氏距离,对待检测人脸与样本库人脸进行比对,实现待检测人脸识别;
[0143]
控制模块505,包括闸机模块508,用于对人脸识别模块504的结果进行反馈,如果比对成功,则控制模块505控制闸机模块508开放闸机,显示模块507显示允许通过,如果比对失败,则控制模块505控制闸机模块508不开放闸机,显示模块507显示禁止通过;
[0144]
还包括数据传输和供电连接的连接端口模块506,所述的佩戴口罩人脸检测模块502与人脸识别模块504通过连接端口506与控制模块505相连接并进行数据传输,判断待检测人是否可通过。所述显示模块507与控制模块505相连接,结果显示在显示模块507。
[0145]
如图6所示,本发明提供了一种电子设备,包括图像采集摄像头、显示器,存储器、
处理器、电源、通信接口、输入输出端口、门禁闸机和通信总线。所述处理器包括一个及以上的处理核心,处理器通过通信总线与存储器相连接。存储器可以是只读存储器、磁盘或者光盘等,存储器存储的资源包括操作系统、计算机程序及样本库数据,并且处理器能够执行存储器中的计算机程序并实现上述任一所述基于yolov5和facenet的佩戴口罩人脸识别方法的相关步骤。
[0146]
本发明提供的一种佩戴口罩人脸识别方法的流程图可以如图7所示。
[0147]
基于与上述方法实施例相同的发明构思,一种可读介质,该可读介质存储的计算机程序被处理器执行时实现一种佩戴口罩人脸识别方法的步骤。
[0148]
由于本发明通过引入ca注意力机制和改进bifpn特征融合网络等构建一种新的基于深度回归神经网络的佩戴口罩人脸检测模型yolov5-md,有效提取佩戴口罩人脸的浅层细节信息和深层全局特征,提高对口罩特征的检测精度。由于本发明通过使用口罩迁移算法,设计样本库人脸优化机制,减少样本库中的人脸与待检测人脸的空间距离,提高在改进facenet网络中人脸识别的准确度。由于本发明有机融合佩戴口罩人脸检测模型yolov5-md和人脸识别网络facenet的特征提取网路,避免特征重复提取,减少了计算复杂度并降低模型参数。由于本发明提出的佩戴口罩人脸识别方法能够部署到提出的门禁装置上,并能在学校、小区等人流量大的出入口进行广泛应用,且能够快速准确的对佩戴口罩人脸进行识别。
[0149]
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成。
[0150]
以上上述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的范围,均应包含在本技术的保护范围之内。
技术特征:
1.一种佩戴口罩人脸识别方法,其特征在于,包括以下步骤:根据所需要求对特定人建立未戴口罩人脸样本库;对未戴口罩人脸样本库进行扩充,构建数据库,其中,所建数据库包含戴口罩与未戴口罩的人脸样本;构建基于yolov5的佩戴口罩人脸检测模型yolov5-md,并通过数据库对构建的基于yolov5的佩戴口罩人脸检测模型yolov5-md进行训练及测试;将待检测人脸图像传入训练好的佩戴口罩人脸检测模型yolov5-md,判断待检测人脸是否佩戴口罩,如果待检测人脸佩戴口罩,则生成待检测人脸佩戴口罩检测结果图,如果待检测人脸未佩戴口罩,则生成表征待检测人脸佩戴口罩未佩戴口罩的提示信息;根据得到的待检测人脸佩戴口罩检测结果图,通过口罩迁移算法提取待检测人脸口罩特征,对样本库人脸添加待检测人脸所戴口罩,并生成样本库佩戴口罩人脸图像;将生成的待检测人脸佩戴口罩检测结果图与样本库佩戴口罩人脸图像传入改进的facenet人脸识别网络,对待检测的佩戴口罩人脸与样本库佩戴口罩人脸的人脸特征及口罩特征进行空间映射,通过三元组计算欧氏距离,生成佩戴口罩人脸的识别信息。2.根据权利要求1所述的一种佩戴口罩人脸识别方法,其特征在于,通过口罩迁移算法,对未戴口罩人脸样本库进行扩充,包括:输入佩戴口罩人脸图像与样本库人脸图像;确定样本库人脸图像的鼻子、眉眼和脸部轮廓关键点;通过鼻子、眉眼和脸底部关键点,确定口罩大小的高度和中心线;提取佩戴口罩人脸口罩特征,将口罩左右平分为两部分,根据确定的口罩大小的高度和中心线调整口罩大小;旋转口罩,角度为中心线相对于y轴的旋转角,将调整的口罩放在人脸适当位置,完成口罩迁移,输出佩戴口罩的样本库人脸图像。3.根据权利要求1所述的一种佩戴口罩人脸识别方法,其特征在于,将数据库按照7:2:1的比例划分作为模型的训练集、验证集和测试集。4.根据权利要求1所述的一种佩戴口罩人脸识别方法,其特征在于,所述构建基于yolov5的佩戴口罩人脸检测模型yolov5-md,包括:拓展yolov5目标检测模型骨干网络中浅层跨阶段局部网络模块的厚度,提取佩戴口罩人脸在浅层的细节特征;引入ca注意力机制,所述ca注意力机制用于yolov5的骨干网络特征提取过程中加强对佩戴口罩人脸特征的提取,得到在宽度和高度方向上带有注意力权重的特征图;将得到的特征图通过bifpn特征融合网络进行加权融合,产生16
×
16、32
×
32和64
×
64大小的特征图,用于head部分的多尺度检测。5.根据权利要求3所述的一种佩戴口罩人脸识别方法,其特征在于,所述通过数据库对构建的基于yolov5的佩戴口罩人脸检测模型yolov5-md进行训练及测试,包括:设置基于yolov5的佩戴口罩人脸检测模型yolov5-md的训练参数;将数据库的训练集送入构建的基于yolov5的佩戴口罩人脸检测模型yolov5-md,按照设置的参数进行训练;根据数据库的验证集对训练的模型进行验证得到平均误差及精度变化,调整相应参数
对模型进行优化以达到最优状态;将数据库的测试集送入已达到最优状态的yolov5-md模型进行性能测试,并从map精确度均值及fps检测速度指标下进行评估,得到最终佩戴口罩人脸检测模型。6.根据权利要求3所述的一种佩戴口罩人脸识别方法,其特征在于,所述将生成的待检测人脸佩戴口罩检测结果图与样本库佩戴口罩人脸图像传入改进的facenet人脸识别网络,对待检测的佩戴口罩人脸与样本库佩戴口罩人脸的人脸特征及口罩特征进行空间映射,通过三元组计算欧氏距离,生成佩戴口罩人脸的识别信息,包括:将facenet中特征提取网络替换为yolov5-md的cspnet特征提取网络;将yolov5-md中得到的佩戴口罩人脸图像与样本库通过口罩迁移算法生成的佩戴口罩人脸图像送入改进的facenet的特征提取网络进行特征提取和特征融合;通过对提取的特征采用l2归一化操作,得到待检测佩戴口罩人脸与样本库佩戴口罩人脸的特征向量以及口罩的特征向量;将得到的待检测佩戴口罩人脸与样本库佩戴口罩人脸的特征向量以及口罩的特征向量通过三元组计算欧氏距离,其中,三元组包括:anchor、positive与negative三个样例,anchor与positive为同一人人脸图像,anchor与negative为不同人人脸图像,判定条件为相同人脸特征向量间的欧氏距离的平方比不同人脸图像特征向量间的欧氏距离的平方小α,α表示正负样本之间的边界值;判断计算的欧氏距离是否满足判定条件,若满足判定条件,则为同一人,若不满足判定条件,则不为同一人,并生成佩戴口罩人脸的识别信息。7.根据权利要求6所述的一种佩戴口罩人脸识别方法,其特征在于,所述判定条件为:7.根据权利要求6所述的一种佩戴口罩人脸识别方法,其特征在于,所述判定条件为:7.根据权利要求6所述的一种佩戴口罩人脸识别方法,其特征在于,所述判定条件为:其中,表示第i个anchor图像,表示第i个positive图像,表示第i个negative图像,表示第i个anchor图像的特征向量,表示第i个positive图像的特征向量,表示第i个negative图像的特征向量,||f(x)||表示距离长度且α表示正负样本之间的边界值,τ表示训练集中可能的三元组集合,r
d
表示d维欧几里得空间。8.一种门禁装置,包括:图像采集模块,包括显示模块,用于获取待检测人脸图像,显示识别结果;佩戴口罩人脸检测模块,用于判断是否佩戴口罩,将待检测人脸图像送入训练好的基于yolov5的佩戴口罩人脸检测模型yolov5-md,如果未配戴口罩,则显示模块显示无法通过,如果佩戴口罩,则将待检测佩戴口罩人脸结果图送入特征提取模块;特征提取模块,用于通过口罩迁移算法提取佩戴口罩人脸检测模块得到的待检测人脸图像的口罩特征,对样本库人脸添加待检测人所戴口罩;人脸识别模块,用于对佩戴口罩人脸检测模块得到的佩戴口罩人脸图像与特征提取模块得到的人脸佩戴口罩图像,通过人脸识别网络facenet识别人脸特征及口罩特征,进行l2归一化操作,通过计算欧氏距离,对待检测人脸与样本库人脸进行比对;
控制模块,包括闸机模块,用于对人脸识别模块的结果进行反馈,如果比对成功,则控制模块控制闸机模块开放闸机,显示模块显示允许通过,如果比对失败,则控制模块控制闸机模块不开放闸机,显示模块显示禁止通过。9.一种电子设备,其特征在于,所述电子设备包括存储器、处理器以及能够存储在存储器并且能够在处理器上运行的计算机程序,所述处理器上运行的计算机程序能够实现所述权利要求1-7中任一所述的一种佩戴口罩人脸识别方法。10.一种可读介质,所述可读介质存储的计算机程序,其特征在于,所述计算机程序被处理器执行时实现所述权利要求1-7中任一所述的一种佩戴口罩人脸识别方法。
技术总结
本发明涉及人脸识别技术领域,具体涉及佩戴口罩人脸识别方法、门禁装置、电子设备和可读介质,该方法包括:建立未戴口罩人脸样本库并进行扩充;构建佩戴口罩人脸检测模型YOLOv5-MD并进行训练及测试;根据训练好的YOLOv5-MD,判断待检测人脸是否佩戴口罩,如果待检测人脸佩戴口罩,生成待检测人脸佩戴口罩检测结果图;提取待检测人脸口罩特征,对样本库人脸添加待检测人脸所戴口罩;对待检测的佩戴口罩人脸与样本库佩戴口罩人脸的人脸特征及口罩特征进行空间映射,生成佩戴口罩人脸的识别信息。本发明提高了佩戴口罩人脸识别的准确度,应用于学校大门、小区大门等大流量出入口的佩戴口罩人脸识别。口的佩戴口罩人脸识别。口的佩戴口罩人脸识别。
技术研发人员:
李永军 罗金成 李耀 李博 李超越 张心茹 陈锦智敏
受保护的技术使用者:
河南大学
技术研发日:
2022.11.05
技术公布日:
2023/2/3