基于知识蒸馏网络的口罩遮挡人脸识别方法、装置及设备转让专利

申请号 : CN202110713814.X

文献号 : CN113343898B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 苟建平熊祥硕欧卫华夏书银柯佳陈潇君

申请人 : 江苏大学

摘要 :

本发明涉及人脸识别技术领域,公开了一种基于知识蒸馏网络的口罩遮挡人脸识别方法、装置及设备,所述方法包括:基于口罩遮挡人脸图像构建训练集和测试集,训练集还包括对应的真实标签数据;基于训练集构建口罩遮挡人脸识别网络;将测试集输入口罩遮挡人脸识别网络中进行识别。本发明在能够有效压缩学生网络的同时,也能让学生网络在口罩遮挡人脸识别方面的性能获得进一步提升。

权利要求 :

1.基于知识蒸馏网络的口罩遮挡人脸识别方法,其特征在于,包括:基于口罩遮挡人脸图像构建训练集和测试集,所述训练集还包括对应的真实标签数据;

基于所述训练集构建口罩遮挡人脸识别网络;

将所述测试集输入所述口罩遮挡人脸识别网络中进行识别;

其中,基于所述训练集构建口罩遮挡人脸识别网络包括:构建教师网络和第一学生网络、第二学生网络,所述第一学生网络与所述第二学生网络结构相同;

对所述教师网络和所述第二学生网络进行预训练;

将所述训练集分别输入所述教师网络和所述第二学生网络获得所述教师网络输出的第一软标签数据、所述第二学生网络输出的第二软标签数据;

基于所述真实标签数据、所述第一软标签数据和所述第二软标签数据确定蒸馏损失函数;

基于所述蒸馏损失函数对所述第一学生网络进行迭代训练获得所述口罩遮挡人脸识别网络;

其中,基于所述第一软标签数据、所述第二软标签数据和所述真实标签数据确定蒸馏损失函数包括:

基于所述真实标签数据确定第一损失函数;

基于所述第一软标签数据确定第二损失函数;

基于所述第二软标签数据确定第三损失函数;

将所述第一损失函数、所述第二损失函数和所述第三损失函数加权求和获得蒸馏损失函数。

2.根据权利要求1所述的基于知识蒸馏网络的口罩遮挡人脸识别方法,其特征在于,所述第一损失函数为:

其中,LCE表示第一损失函数,X={x1,x2,x3,…,xn}表示训练集,σi(Z,1)表示第一学生网络在温度参数为T=1的条件下经过Softmax函数的输出结果,Z={z1,z2,z3,…,zm}表示第一学生网络经过Logits函数的输出结果,T表示温度参数。

3.根据权利要求1所述的基于知识蒸馏网络的口罩遮挡人脸识别方法,其特征在于,所述第二损失函数为:

t

其中,LKL1表示第二损失函数,σi(Z ,T1)表示教师网络在温度参数为T1的条件下经过t

Softmax函数的输出结果,Z表示教师网络经过Logits函数的输出结果。

4.根据权利要求1所述的基于知识蒸馏网络的口罩遮挡人脸识别方法,其特征在于,所述第三损失函数为:

s

其中,LKL2表示第三损失函数,σi(Z ,T2)表示第二学生网络在温度参数为T2的条件下经s

过Softmax函数的输出结果,Z表示第二学生网络经过Logits函数的输出结果。

5.根据权利要求1所述的基于知识蒸馏网络的口罩遮挡人脸识别方法,其特征在于,所述预训练包括:

获取待训练网络,所述待训练网络为教师网络或第二学生网络;

将所述训练集输入所述待训练网络中获取所述待训练网络的输出结果;

基于所述待训练网络的输出结果和所述真实标签数据确定交叉熵损失函数;

基于所述交叉熵损失函数对所述待训练网络进行迭代训练。

6.一种基于多重知识迁移的知识蒸馏装置,其特征在于,包括:数据采集模块,所述数据采集模块用于基于口罩遮挡人脸图像构建训练集和测试集,所述训练集还包括对应的真实标签数据;

模型构建模块,所述模型构建模块用于基于所述训练集构建口罩遮挡人脸识别网络;

人脸识别模块,所述人脸识别模块用于将所述测试集输入所述口罩遮挡人脸识别网络中进行识别;

其中,基于所述训练集构建口罩遮挡人脸识别网络包括:构建教师网络和第一学生网络、第二学生网络,所述第一学生网络与所述第二学生网络结构相同;

对所述教师网络和所述第二学生网络进行预训练;

将所述训练集分别输入所述教师网络和所述第二学生网络获得所述教师网络输出的第一软标签数据、所述第二学生网络输出的第二软标签数据;

基于所述真实标签数据、所述第一软标签数据和所述第二软标签数据确定蒸馏损失函数;

基于所述蒸馏损失函数对所述第一学生网络进行迭代训练获得所述口罩遮挡人脸识别网络;

其中,基于所述第一软标签数据、所述第二软标签数据和所述真实标签数据确定蒸馏损失函数包括:

基于所述真实标签数据确定第一损失函数;

基于所述第一软标签数据确定第二损失函数;

基于所述第二软标签数据确定第三损失函数;

将所述第一损失函数、所述第二损失函数和所述第三损失函数加权求和获得蒸馏损失函数。

7.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的基于知识蒸馏网络的口罩遮挡人脸识别方法的步骤。

8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的基于知识蒸馏网络的口罩遮挡人脸识别方法的步骤。

说明书 :

基于知识蒸馏网络的口罩遮挡人脸识别方法、装置及设备

技术领域

[0001] 本发明涉及人脸识别技术领域,具体是指一种基于知识蒸馏网络的口罩遮挡人脸识别方法、装置及设备。

背景技术

[0002] 近年来,深度学习技术发展迅猛,尤其是在计算机视觉领域凸显了很大的优势,并且得到了广泛的应用。深度学习是机器学习的一个分支,深度学习的目的是建立模拟人脑
进行分析学习的神经网络,能不断的模仿人脑进行声音、图像等复杂数据处理与表达。虽然
深度学习网络在很多领域获得了许多优秀的成果,但是在实际工业应用中还是有一些缺陷
和不足。从2012年提出的AlexNet到2016年提出的DenseNet,这些优秀的神经网络虽然获得
了更好的性能,但是需要神经网络变得更广更深,网络的结构变得更加复杂。更加复杂的神
经网络结构,意味着需要更长的时间进行推理,但这并不能适用工业环境。AlexNet和
DenseNet神经网络提高了网络的准确性,忽略了工业中的实时响应性。为了能够保持网络
的高准确性和降低网络的复杂度,从而出现了神经网络压缩方向。神经网络压缩是目前深
度学习研究的一个热门方向,其主要的研究方向是蒸馏、网络结构搜索、量化等。知识蒸馏
(KD)技术,就是模型压缩领域中一个特别重要的技术。
[0003] 知识蒸馏的主要目的是训练一个小的网络模型(小参数模型)去模仿一个预先训练好的大型或者集成的网络(大参数模型)。这种训练模式又被称为“Teacher‑Student”,大
型的网络是“教师”,小型的网络是“学生”。实际上就是让学生模型去学习已经在目标数据
集上训练过的老师模型的输出。训练出的学生模型在压缩的同时,网络精度也提升了。这样
的小型网络,可以很容易的应用在小型终端设备中,在有限的计算资源下能够发挥更好的
效益。
[0004] 由于自新冠肺炎疫情以来,每个人出行都要戴上口罩,这给传统的人脸识别也带来了一些挑战。例如,出门使用人脸移动付款,火车站进站人脸识别,手机人脸解锁等,这些
情况下,戴上口罩后无法进行人脸识别,给控制疫情也带来了许多不便,因此开发口罩遮挡
人脸的识别技术是很有必要的,对此提出了基于知识蒸馏网络的口罩遮挡人脸识别应用研
究,在满足准确性的同时,也要提高识别的速度,可以利用知识蒸馏网络技术进行提高模型
的识别性能。

发明内容

[0005] 基于以上技术问题,本发明提供了一种基于知识蒸馏网络的口罩遮挡人脸识别方法、装置及设备,其可以使轻量级的人脸识别网络也能够有效的提取被口罩遮挡住的人脸
特征进行识别,在低算力设备上也能达到较高的性能,具体包括以下技术方案:
[0006] 一种基于知识蒸馏网络的口罩遮挡人脸识别方法,包括:
[0007] 基于口罩遮挡人脸图像构建训练集和测试集,训练集还包括对应的真实标签数据;
[0008] 基于训练集构建口罩遮挡人脸识别网络;
[0009] 将测试集输入口罩遮挡人脸识别网络中进行识别。
[0010] 一种基于多重知识迁移的知识蒸馏装置,包括:
[0011] 数据采集模块,数据采集模块用于基于口罩遮挡人脸图像构建训练集和测试集,训练集还包括对应的真实标签数据;
[0012] 模型构建模块,模型构建模块用于基于训练集构建口罩遮挡人脸识别网络;
[0013] 人脸识别模块,人脸识别模块用于将测试集输入口罩遮挡人脸识别网络中进行识别。
[0014] 一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,处理器执行计算机程序时实现上述基于知识蒸馏网络的口罩遮挡人脸识别方法的步骤。
[0015] 一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述基于知识蒸馏网络的口罩遮挡人脸识别方法的步骤。
[0016] 与现有技术相比,本发明的有益效果是:
[0017] 本发明提出的一种基于知识蒸馏网络的口罩遮挡人脸识别方法,学生网络不仅能够学习大型教师网络的软标签输出,也能学习与自身网络结构相同的学生网络的软标签输
出,克服了以往教师学生知识蒸馏和自学习知识蒸馏的单一性,这样不仅能够有效的压缩
学生网络模型,也能让学生网络的性能进一步提升,甚至超越大型教师网络的性能。通过这
种方式,可以使轻量级网络有效的提取被口罩遮挡住的人脸特征进行识别,在低算力设备
上也能达到较高的性能,这对于人脸识别技术无疑是一个重大突破。

附图说明

[0018] 本申请将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述,其中:
[0019] 图1为基于知识蒸馏网络的口罩遮挡人脸识别方法流程示意图。
[0020] 图2为基于训练集构建口罩遮挡人脸识别网络流程示意图。
[0021] 图3为基于第一软标签数据、第二软标签数据和真实标签数据确定蒸馏损失函数流程示意图。
[0022] 图4为预训练流程示意图。
[0023] 图5为教师网络、第一学生网络和第二学生网络识别准确率示意图。

具体实施方式

[0024] 为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公
开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术
人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0025] 本申请的目的在于提供一种基于知识蒸馏网络的口罩遮挡人脸识别方法、装置及设备,所述方法包括:基于口罩遮挡人脸图像构建训练集和测试集,训练集还包括对应的真
实标签数据;基于训练集构建口罩遮挡人脸识别网络;将测试集输入口罩遮挡人脸识别网
络中进行识别。
[0026] 本申请实施例可以用于以下应用场景,具体而言:
[0027] 仅仅出于说明性目的,本申请实施例可用于手机端人脸拍照应用场景。该应用场景需要解决的技术问题是:当用户使用手机拍照时,需要自动抓取人脸目标,从而帮助手机
自动对焦、美化等,因此需要一个体积小、运行快的用于目标检测的卷积神经网络模型,进
而给用户带来更好的用户体验并提升手机产品品质。
[0028] 仅仅出于说明性目的,本申请实施例还可用于入口闸机人脸验证的应用场景。该应用场景需要解决的技术问题是:在高铁、机场等入口的闸机上,乘客进行人脸认证时,摄
像头会拍摄人脸图像并使用卷积神经网络抽取特征,然后和存储在系统中的身份证件的图
像特征进行相似度计算;如果相似度高就验证成功。其中,通过卷积神经网络抽取特征是最
耗时的,因此需要能够快速进行人脸验证和特征提取的高效的卷积神经网络模型。
[0029] 仅仅出于说明性目的,本申请实施例还可用于考勤设备人脸验证的应用场景。该应用场景需要解决的技术问题是:在公司、单位等入口的考勤机上,员工进行人脸认证时,
摄像头会拍摄人脸图像并使用卷积神经网络抽取特征,然后和存储在系统中的员工身份信
息的图像特征进行相似度计算;如果相似度高就验证成功。其中,通过卷积神经网络抽取特
征是最耗时的,因此需要能够快速进行人脸验证和特征提取的高效的卷积神经网络模型。
[0030] 参阅图1,在本实施方式中,基于知识蒸馏网络的口罩遮挡人脸识别方法,包括:
[0031] S101,基于口罩遮挡人脸图像构建训练集和测试集,训练集还包括对应的真实标签数据;
[0032] 其中,训练集与测试集中口罩遮挡人脸图像既可以是通过图像采集设备采集获得,也可以从现有数据集中获取;具体的,口罩遮挡人脸图像的采集可以根据具体场景选择
适用的图像采集设备,比如相机或摄像头等;
[0033] 其中,令X={x1,x2,x3,…,xn}表示训练集;
[0034] 其中,令Y={y1,y2,y3,…,ym}表示训练集对应的真实标签数据;
[0035] 优选的,采集获取的口罩遮挡人脸图像在形成训练集和测试集时,可对其进行预处理;
[0036] 具体的,口罩遮挡人脸图像预处理主要包括消除噪声、灰度归一化、集合校正、压缩、剪裁等步骤;
[0037] S102,基于训练集构建口罩遮挡人脸识别网络;
[0038] S103,将测试集输入口罩遮挡人脸识别网络中进行识别。
[0039] 参阅图2,在一些实施例中,基于训练集构建口罩遮挡人脸识别网络包括:
[0040] S201,构建教师网络和第一学生网络、第二学生网络,第一学生网络与第二学生网络结构相同;
[0041] 其中,由于第一学生网络与第二学生网络结构相同,两者都是属于轻量级网络。
[0042] S202,对教师网络和第二学生网络进行预训练;
[0043] S203,将训练集分别输入教师网络和第二学生网络获得教师网络输出的第一软标签数据、第二学生网络输出的第二软标签数据;
[0044] 其中,软标签数据包括教师网络对训练集进行处理后得到的概率数据和第二学生网络对训练集进行处理后得到的概率数据,实质上教师网络和第二学生网络分别根据训练
集得到的预测数据,其性质接近真实标签数据,但与真实标签数据存在不同,因此称为软标
签数据。
[0045] S204,基于真实标签数据、第一软标签数据和第二软标签数据和确定蒸馏损失函数;
[0046] S205,基于蒸馏损失函数对第一学生网络进行迭代训练获得口罩遮挡人脸识别网络。
[0047] 其中,蒸馏损失函数用于更新优化协同网络的参数,在协同网络训练过程中的每次迭代中,通过最小化损失函数或以其他方式调整蒸馏损失函数的值,对应更新协同网络
的参数,通过对协同网络进行多次迭代训练,以逐步协同网络的参数值趋向于拟合,该训练
过程即监督学习的过程。
[0048] 在本实施例中,学生网络不仅能够学习大型教师网络的软标签输出,也能学习与自身网络结构相同的学生网络的软标签输出,克服了以往教师学生知识蒸馏和自学习知识
蒸馏的单一性,这样不仅能够有效的压缩学生网络模型,也能让学生网络的性能进一步提
升,甚至超越大型教师网络的性能。通过这种方式,可以使轻量级网络有效的提取被口罩遮
挡住的人脸特征进行识别,在低算力设备上也能达到较高的性能。
[0049] 参阅图3,在一些实施例中,基于第一软标签数据、第二软标签数据和真实标签数据确定蒸馏损失函数包括:
[0050] S301,基于真实标签数据确定第一损失函数;
[0051] 具体的,第一损失函数为:
[0052]
[0053] 其中,LCE表示第一损失函数,X={x1,x2,x3,…,xn}表示训练集,σi(Z,T)表示第一学生网络在温度参数为T的条件下经过Softmax函数的输出结果,Z={z1,z2,z3,…,zm}表示
第一学生网络经过Logits函数的输出结果,T表示温度参数。
[0054] 具体的,σi(Z,1)中温度参数T=1。
[0055] S302,基于第一软标签数据确定第二损失函数;
[0056] 具体的,第二损失函数为:
[0057]
[0058] 其中,LKL1表示第二损失函数,σi(Zt,T1)表示教师网络在温度参数为T1的条件下经t
过Softmax函数的输出结果,Z表示教师网络经过Logits函数的输出结果。
[0059] S303,基于第二软标签数据确定第三损失函数;
[0060] 具体的,第三损失函数为:
[0061]
[0062] 其中,LKL2表示第三损失函数,σi(Zs,T2)表示第二学生网络在温度参数为T2的条件s
下经过Softmax函数的输出结果,Z表示第二学生网络经过Logits函数的输出结果。
[0063] S304,将第一损失函数、第二损失函数和第三损失函数加权求和获得蒸馏损失函数。
[0064] 具体的,蒸馏损失函数为:
[0065] LKD=(1‑a)LCE+(1‑a)LKL1+aLKL2
[0066] 其中,LKD表示蒸馏损失函数,a表示权重系数。
[0067] 参阅图4,在一些实施例中,预训练包括:
[0068] S401,获取待训练网络,待训练网络为教师网络或第二学生网络;
[0069] S402,将训练集输入待训练网络中获取待训练网络的输出结果;
[0070] S403,基于待训练网络的输出结果和真实标签数据确定交叉熵损失函数;
[0071] S404,基于交叉熵损失函数对待训练网络进行迭代训练。
[0072] 下面将结合实验数据对本发明的基于多重知识迁移的知识蒸馏方法做进一步说明:
[0073] 训练集采用WebFace模拟口罩人脸数据集,测试集采用LFW模拟口罩人脸数据集和LFW人脸数据集。待教师网络、第一学生网络和第二学生网络均训练完成后,将测试集分别
输入教师网络、第一学生网络和第二学生网络,获得如图5所示的各网络的识别准确率。
[0074] 其中,预训练的大型教师网络ResNet101在LFW模拟口罩人脸数据集和LFW人脸数据集上的精度分别为82.61%和95.65%;
[0075] 其中,预训练的第二学生网络ResNet50在LFW模拟口罩人脸数据集和LFW人脸数据集上的精度分别为82.03%和95.53%。
[0076] 其中,最后训练出来的轻量级第一学生网络(即最终获得的口罩遮挡人脸识别网络)ResNet50在LFW模拟口罩人脸数据集和LFW人脸数据集上的精度分别为82.91%和
96.95%。
[0077] 由此可知,经过本申请的知识蒸馏方法训练后,训练出来的第一学生网络在LFW模拟口罩人脸数据集和LFW人脸数据集上相比预训练的第二学生模型提升了0.88%和
1.42%,相比于预训练的教师模型提升了0.30%和1.3%,从而验证了所提知识蒸馏方法的
有效性。
[0078] 且由图5可知,本申请由第一学生网络训练获得的口罩遮挡人脸识别网络还拥有超越预训练教师网络的性能。
[0079] 一种基于多重知识迁移的知识蒸馏装置,包括:
[0080] 数据采集模块,数据采集模块用于基于口罩遮挡人脸图像构建训练集和测试集,训练集还包括对应的真实标签数据;
[0081] 模型构建模块,模型构建模块用于基于训练集构建口罩遮挡人脸识别网络;
[0082] 人脸识别模块,人脸识别模块用于将测试集输入口罩遮挡人脸识别网络中进行识别。
[0083] 在一些实施例中,本申请还公开了一种计算机设备,其特征在于,包括存储器和处理器,存储器中存储有计算机程序,处理器执行计算机程序时实现上述基于知识蒸馏网络
的口罩遮挡人脸识别方法的步骤。
[0084] 其中,所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进
行人机交互。
[0085] 所述存储器至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或D界面显示存储器等)、随机访问存储器(RAM)、静态随
机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只
读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器可以是所述计算
机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,所述存储器
也可以是所述计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能
存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)
等。当然,所述存储器还可以既包括所述计算机设备的内部存储单元也包括其外部存储设
备。本实施例中,所述存储器常用于存储安装于所述计算机设备的操作系统和各类应用软
件,例如基于知识蒸馏网络的口罩遮挡人脸识别方法的程序代码等。此外,所述存储器还可
以用于暂时地存储已经输出或者将要输出的各类数据。
[0086] 所述处理器在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器通常用于控制所述计算
机设备的总体操作。本实施例中,所述处理器用于运行所述存储器中存储的程序代码或者
处理数据,例如运行所述基于知识蒸馏网络的口罩遮挡人脸识别方法的程序代码。
[0087] 在一些实施例中,本申请还公开了一种计算机可读存储介质,其特征在于,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述基于知识蒸馏网
络的口罩遮挡人脸识别方法的步骤。
[0088] 其中,所述计算机可读存储介质存储有界面显示程序,所述界面显示程序可被至少一个处理器执行,以使所述至少一个处理器执行如上述的基于知识蒸馏网络的口罩遮挡
人脸识别方法的程序代码的步骤。
[0089] 通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下
前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做
出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质
(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服
务器或者网络设备等)执行本申请各个实施例所述的方法。
[0090] 如上即为本发明的实施例。上述实施例以及实施例中的具体参数仅是为了清楚表述发明的验证过程,并非用以限制本发明的专利保护范围,本发明的专利保护范围仍然以
其权利要求书为准,凡是运用本发明的说明书及附图内容所作的等同结构变化,同理均应
包含在本发明的保护范围内。