1.本发明涉及人脸识别技术领域,尤其涉及一种轻量级人脸识别模型的训练方法及装置。
背景技术:2.随着科学技术的快速发展,人脸识别技术的发展也越发成熟。基于响应速度快、非接触即可进行身份认证的优点,人脸识别技术的应用面越来越广,例如:人脸解锁、企业考勤、小区门禁和移动支付等。
3.实际应用中,为了使人脸识别技术能够应用于终端设备(例如:移动端、嵌入式端等),人们提出了轻量级的卷积神经网络,例如:mobilenetv1,mobilenetv2。其中,相对mobilenetv1,moilenetv2是一种使用深度可分卷积、反向残差和线性瓶颈等结构设计的且识别效率更高、更轻量级的模型。进一步的,mobilefacenet采用arcface loss损失函数改进mobilenetv2模型,使人脸识别速度以及精度都得到了一定程度上的提高。然而,实践发现,这些轻量级的卷积神经网络的实时人脸识别经常会面临复杂的背景,例如:复杂光照变化、脸部姿态变化、甚至部分遮挡等复杂背景,这很容易导致轻量级人脸识别模型无法自适应地对复杂场景中的图像特征进行细化,从而无法得到精度高的识别结果。
技术实现要素:4.本发明所要解决的技术问题在于,提供一种轻量级人脸识别模型的训练方法及装置,能够使得轻量级人脸识别模型自适应地对复杂场景中的图像特征进行细化,提高轻量级人脸识别模型的鲁棒性,从而得到精度高的人脸识别结果。
5.为了解决上述技术问题,本发明实施例第一方面公开了一种轻量级人脸识别模型的训练方法,所述方法包括:
6.将获取到的样本人脸数据输入预先确定出的轻量级人脸识别模型中进行训练,得到训练后的轻量级人脸识别模型,并基于预先确定出的注意力模型对所述训练后的轻量级人脸识别模型包括的人脸特征图执行池化卷积操作,得到二维空间注意力人脸特征图;
7.对所述训练后的轻量级人脸识别模型包括的人脸特征图与所述二维空间注意力人脸特征图执行逐元素操作,得到三维空间注意力人脸特征图,并对所述三维空间注意力人脸特征图执行池化操作,得到一维通道注意力人脸特征图;
8.对所述三维空间注意力人脸特征图与所述一维通道注意力人脸特征图执行逐通道操作,得到第一目标轻量级人脸识别模型,所述第一目标轻量级人脸识别模型包括三维通道和空间注意力的人脸特征图。
9.作为一种可选的实施方式,在本发明第一方面中,所述对所述三维空间注意力人脸特征图与所述一维通道注意力人脸特征图执行逐通道操作,得到第一目标轻量级人脸识别模型之后,所述方法还包括:
10.将获取到的teacher网络模型确定为第一监督信号,并结合预先确定出的第一损
失函数训练预先确定出的中间网络模型,得到训练后的中间网络模型,所述中间网络模型的网络层数和通道数小于所述teacher网络模型;
11.将所述训练后的中间网络模型确定为第二监督信号,并结合预先确定出的第二损失函数训练所述第一目标轻量级人脸识别模型,得到第二目标轻量级人脸识别模型。
12.作为一种可选的实施方式,在本发明第一方面中,所述将获取到的teacher网络模型确定为第一监督信号之前,所述方法还包括:
13.基于所述样本人脸数据训练预先确定出的teacher网络模型,并在训练所述teacher网络模型的过程中,基于确定出的初始化方法初始化所述teacher网络模型的权重,得到中间teacher网络模型;
14.基于确定出的第三损失函数训练所述中间teacher网络模型,直至所述第三损失函数的第一损失值稳定于第一预设损失值范围,并确定稳定于所述第一损失值的中间teacher网络模型,作为获取到的teacher网络模型。
15.作为一种可选的实施方式,在本发明第一方面中,所述第一损失函数的计算公式如下:
16.l=l1+λl2(s,t)
17.式中,l为所述第一损失函数,l1为确定出的人脸识别分类损失函数;l2为所述teacher网络模型和所述中间网络模型的蒸馏损失函数;s和t分别表示从所述中间网络模型和所述teacher网络模型提取的人脸特征;λ为超参数,所述超参数用于平衡分类损失和蒸馏损失。
18.作为一种可选的实施方式,在本发明第一方面中,所述结合预先确定出的第一损失函数训练预先确定出的中间网络模型,得到训练后的中间网络模型,包括:
19.结合预先确定出的第一损失函数训练预先确定出的中间网络模型,直至所述中间网络模型的蒸馏损失值稳定于预设蒸馏损失值范围且所述中间网络模型的分类损失值稳定于预设分类损失值范围;
20.确定所述蒸馏损失值稳定于所述预设蒸馏损失值范围且所述分类损失值稳定于所述预设分类损失值范围的所述中间网络模型,作为训练后的中间网络模型。
21.作为一种可选的实施方式,在本发明第一方面中,所述对所述三维空间注意力人脸特征图执行池化操作,得到一维通道注意力人脸特征图,包括:
22.对所述三维空间注意力人脸特征图执行最大池化操作,得到最大池化人脸特征图,并确定所述最大池化人脸特征图为所述注意力模型的含有预设个隐藏层的多层感知器的输入变量,以及将所述输入变量输入所述注意力模型中进行训练,得到一维通道注意力人脸特征图。
23.作为一种可选的实施方式,在本发明第一方面中,所述一维通道注意力人脸特征图的计算公式为:
[0024][0025]
式中,为所述一维通道注意力人脸特征图;σ为所述第一激活函数;δ为第二激
活函数,所述第一激活函数与所述第二激活函数不相同;为所述最大池化人脸特征图。
[0026]
本发明实施例第二方面公开了一种轻量级人脸识别模型的训练装置,所述装置包括训练模块、池化卷积模块、逐元素处理模块以及逐通道处理模块,其中:
[0027]
所述训练模块,用于将获取到的样本人脸数据输入预先确定出的轻量级人脸识别模型中进行训练,得到训练后的轻量级人脸识别模型;
[0028]
所述池化卷积模块,用于基于预先确定出的注意力模型对所述训练后的轻量级人脸识别模型包括的人脸特征图执行池化卷积操作,得到二维空间注意力人脸特征图;
[0029]
所述逐元素处理模块,用于对所述训练后的轻量级人脸识别模型包括的人脸特征图与所述二维空间注意力人脸特征图执行逐元素操作,得到三维空间注意力人脸特征图;
[0030]
所述池化卷积模块,还用于对所述三维空间注意力人脸特征图执行池化操作,得到一维通道注意力人脸特征图;
[0031]
所述逐通道处理模块,用于对所述三维空间注意力人脸特征图与所述一维通道注意力人脸特征图执行逐通道操作,得到第一目标轻量级人脸识别模型,所述第一目标轻量级人脸识别模型包括三维通道和空间注意力的人脸特征图。
[0032]
作为一种可选的实施方式,在本发明第二方面中,所述装置还包括确定模块,其中:
[0033]
所述确定模块,用于在所述逐通道处理模块对所述三维空间注意力人脸特征图与所述一维通道注意力人脸特征图执行逐通道操作,得到第一目标轻量级人脸识别模型之后,将获取到的teacher网络模型确定为第一监督信号;
[0034]
所述训练模块,还用于结合预先确定出的第一损失函数训练预先确定出的中间网络模型,得到训练后的中间网络模型,所述中间网络模型的网络层数和通道数小于所述teacher网络模型;
[0035]
所述确定模块,还用于将所述训练后的中间网络模型确定为第二监督信号;
[0036]
所述训练模块,还用于结合预先确定出的第二损失函数训练所述第一目标轻量级人脸识别模型,得到第二目标轻量级人脸识别模型。
[0037]
作为一种可选的实施方式,在本发明第二方面中,所述装置还包括初始化模块,其中:
[0038]
所述训练模块,还用于在所述确定模块将获取到的teacher网络模型确定为第一监督信号之前,基于所述样本人脸数据训练预先确定出的teacher网络模型;
[0039]
所述初始化模块,用于在训练所述teacher网络模型的过程中,基于确定出的初始化方法初始化所述teacher网络模型的权重,得到中间teacher网络模型;
[0040]
所述训练模块,还用于基于确定出的第三损失函数训练所述中间teacher网络模型,直至所述第三损失函数的第一损失值稳定于第一预设损失值范围;
[0041]
所述确定模块,还用于确定稳定于所述第一损失值的中间teacher网络模型,作为获取到的teacher网络模型。
[0042]
作为一种可选的实施方式,在本发明第二方面中,所述第一损失函数的计算公式如下:
[0043]
l=l1+λl2(s,t)
[0044]
式中,l为所述第一损失函数,l1为确定出的人脸识别分类损失函数;l2为所述teacher网络模型和所述中间网络模型的蒸馏损失函数;s和t分别表示从所述中间网络模型和所述teacher网络模型提取的人脸特征;λ为超参数,所述超参数用于平衡分类损失和蒸馏损失。
[0045]
作为一种可选的实施方式,在本发明第二方面中,所述训练模块结合预先确定出的第一损失函数训练预先确定出的中间网络模型,得到训练后的中间网络模型的具体方式为:
[0046]
结合预先确定出的第一损失函数训练预先确定出的中间网络模型,直至所述中间网络模型的蒸馏损失值稳定于预设蒸馏损失值范围且所述中间网络模型的分类损失值稳定于预设分类损失值范围;
[0047]
确定所述蒸馏损失值稳定于所述预设蒸馏损失值范围且所述分类损失值稳定于所述预设分类损失值范围的所述中间网络模型,作为训练后的中间网络模型。
[0048]
作为一种可选的实施方式,在本发明第二方面中,所述池化卷积模块对所述三维空间注意力人脸特征图执行池化操作,得到一维通道注意力人脸特征图具体方式为:
[0049]
对所述三维空间注意力人脸特征图执行最大池化操作,得到最大池化人脸特征图,并确定所述最大池化人脸特征图为所述注意力模型的含有预设个隐藏层的多层感知器的输入变量,以及将所述输入变量输入所述注意力模型中进行训练,得到一维通道注意力人脸特征图。
[0050]
作为一种可选的实施方式,在本发明第二方面中,所述一维通道注意力人脸特征图的计算公式为:
[0051][0052]
式中,为所述一维通道注意力人脸特征图;σ为所述第一激活函数;δ为第二激活函数,所述第一激活函数与所述第二激活函数不相同;为所述最大池化人脸特征图。
[0053]
本发明第三方面公开了另一种轻量级人脸识别模型的训练装置,所述轻量级人脸识别模型的训练装置包括:
[0054]
存储有可执行程序代码的存储器;
[0055]
与所述存储器耦合的处理器;
[0056]
所述处理器调用所述存储器中存储的所述可执行程序代码,执行本发明第一方面公开的轻量级人脸识别模型的训练方法。
[0057]
本发明第四方面公开了一种计算机存储介质,所述计算机存储介质存储有计算机指令,所述计算机指令被调用时,用于执行本发明第一方面公开的轻量级人脸识别模型的训练方法。
[0058]
与现有技术相比,本发明实施例具有以下有益效果:
[0059]
本发明实施例中,公开了一种轻量级人脸识别模型的训练方法及装置,该方法包括将获取到的样本人脸数据输入预先确定出的轻量级人脸识别模型中进行训练,得到训练后的轻量级人脸识别模型,并基于预先确定出的注意力模型对该训练后的轻量级人脸识别
模型包括的人脸特征图执行池化卷积操作,得到二维空间注意力人脸特征图;对该训练后的轻量级人脸识别模型包括的人脸特征图与二维空间注意力人脸特征图执行逐元素操作,得到三维空间注意力人脸特征图,并对三维空间注意力人脸特征图执行池化操作,得到一维通道注意力人脸特征图;对三维空间注意力人脸特征图与所述一维通道注意力人脸特征图执行逐通道操作,得到第一目标轻量级人脸识别模型,该第一目标轻量级人脸识别模型包括三维通道和空间注意力的人脸特征图。可见,本发明实施例通过结合注意力模型训练轻量级人脸识别模型,在不增加计算消耗以及保证运行速率的情况下,能够使得训练后的轻量级人脸识别模型自适应地对复杂场景(例如:光照变化复杂、脸部姿态多变等)中的图像特征进行细化,提高训练后的轻量级人脸识别模型的鲁棒性,从而有利于获取到精度高的人脸识别结果。
附图说明
[0060]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0061]
图1是本发明实施例公开的一种轻量级人脸识别模型的训练方法的流程示意图;
[0062]
图2是本发明实施例公开的另一种轻量级人脸识别模型的训练方法的流程示意图;
[0063]
图3是本发明实施例公开的一种轻量级人脸识别模型的训练装置的结构示意图;
[0064]
图4是本发明实施例公开的另一种轻量级人脸识别模型的训练装置的结构示意图;
[0065]
图5是本发明实施例公开的又一种轻量级人脸识别模型的训练装置的结构示意图。
具体实施方式
[0066]
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0067]
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
[0068]
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
[0069]
本发明公开了一种轻量级人脸识别模型的训练方法及装置,能够通过结合注意力模型训练轻量级人脸识别模型,在不增加计算消耗以及保证运行速率的情况下,能够使得训练后的轻量级人脸识别模型自适应地对复杂场景中的图像特征进行细化,提高训练后的轻量级人脸识别模型的鲁棒性,从而有利于获取到精度高的人脸识别结果。以下分别进行详细说明。
[0070]
实施例一
[0071]
请参阅图1,图1是本发明实施例公开的一种轻量级人脸识别模型的训练方法的流程示意图。如图1所示,该轻量级人脸识别模型的训练方法可以包括以下操作:
[0072]
101、将获取到的样本人脸数据输入预先确定出的轻量级人脸识别模型中进行训练,得到训练后的轻量级人脸识别模型。
[0073]
本发明实施例中,样本人脸数据可以为现存的人脸识别数据库(例如:ms-celeb-1m数据库等)的数据,也可以为实时采集的数据,本发明实施例不做限定,且该样本人脸数据包括多张样本人脸图像。在获取到样本人脸数据之后,对该样本人脸数据中的每张样本人脸图像执行预处理操作,此时,输入预先确定出的轻量级人脸识别模型的样本人脸数据为经过预处理的样本人脸数据。其中,该预处理操作可以包括图像校正、图像旋转、图像翻转、图像对比度调整、图像亮度调整、图像色度调整以及压缩率调整等方式随机组合,举例来说,以0.5的概率随机地进行水平翻转操作,又例如:以0.5的概率缩放到640
×
640大小或1024
×
1024大小。这样通过采用随机组合的方式对样本人脸数据执行预处理操作,能够丰富样本人脸数据的多样性,进而有利于提高训练后的轻量级人脸识别模型的泛化能力。
[0074]
在一个可选的实施例中,在执行步骤101之前,该轻量级人脸识别模型的训练方法还可以包括以下操作:
[0075]
基于预先确定出的初始化方法(例如:xavier初始化方法)对预先确定出的轻量级人脸识别模型的权重执行初始化操作,得到初始化后的轻量级人脸识别模型,此时步骤101中的预先确定出的轻量级人脸识别模型为初始化后的轻量级人脸识别模型。
[0076]
可见,该可选的实施例在对样本人脸数据执行训练操作之前,先对轻量级人脸识别模型的权重执行初始化操作,能够提高该轻量级人脸识别模型的收敛速度以及性能,从而提高训练的准确性以及效率;以及通过对轻量级人脸识别模型的权重执行初始化操作,能够使轻量级人脸识别模型各层的激活值和梯度的方差在传播过程中保持一致,有利于训练模型的平稳学习。
[0077]
本发明实施例中,作为一种可选的实施方式,将获取到的样本人脸数据输入预先确定出的轻量级人脸识别模型中进行训练,得到训练后的轻量级人脸识别模型,可以包括:
[0078]
将获取到的样本人脸数据输入预先确定出的轻量级人脸识别模型中,并结合第四损失函数(例如:softmax损失函数等)训练该轻量级人脸识别模型;
[0079]
在训练轻量级人脸识别模型的过程中,获取第四损失函数的第三实时损失值,并在第三实时损失值稳定于第三预设损失值范围的时长大于等于第三预设时长(例如:20s)时,确定轻量级人脸识别模型训练完成,得到训练后的轻量级人脸识别模型。
[0080]
可见,该可选的实施方式通过结合损失函数训练轻量级人脸识别模型,能够实现轻量级人脸识别模型的训练,以及提高模型的训练效率与准确性。
[0081]
在另一个可选的实施例中,在第三实时损失值稳定于第三预设损失值范围的时长
大于等于第三预设时长(例如:2min)之后,以及确定轻量级人脸识别模型训练完成之前,该轻量级人脸识别模型的训练方法还可以包括以下操作:
[0082]
当第三实时损失值稳定于第三预设损失值范围的时长大于等于第三预设时长(例如:10s)时,获取轻量级人脸识别模型的第一模型参数;
[0083]
基于第一模型参数与第五损失函数(例如:arcface损失函数等)继续训练轻量级人脸识别模型,并获取第五损失函数的第四实时损失值;
[0084]
在第四实时损失值稳定于第四预设损失值范围的时长大于等于第四预设时长(例如:10s)时,确定轻量级人脸识别模型训练完成,得到训练后的轻量级人脸识别模型,并保存训练后的轻量级人脸识别模型的第二模型参数。
[0085]
可见,该可选的实施例通过其他损失函数,例如:arcface损失函数,继续训练轻量级人脸识别模型,能够从角度空间优化轻量级人脸识别模型,使得该轻量级人脸识别模型的类间更加分散、类内更加分散,有利于获取到更具判别能力的人脸特征。
[0086]
102、基于预先确定出的注意力模型对训练后的轻量级人脸识别模型包括的人脸特征图执行池化卷积操作,得到二维空间注意力人脸特征图。
[0087]
本发明实施例中,对训练后的轻量级人脸识别模型包括的人脸特征图沿着通道维度执行最大化池化操作,生成有效人脸特征图,这样通过沿着通道维度对人脸特征图执行最大池化操作,能够突出有效人脸特征图的位置信息。其中,最大池化操作的计算公式如下:
[0088][0089]
式中,maxpool为对该人脸特征图沿通道维度最大池化操作;为有效人脸特征图;f∈rc×h×w为训练后的轻量级人脸识别模型包括的人脸特征图;c、h、w分别为特征图的通道数、高和宽。
[0090]
本发明实施例中,进一步的,通过注意力模型的卷积层以及第三激活函数(例如:sigmoid激活函数)生成二维空间注意力人脸特征图,其中,该二维空间注意力人脸特征图的生成公式为:
[0091][0092]
式中,为二维空间注意力人脸特征图,σ为第三激活函数,fk×k为表示卷积核大小为k
×
k(例如:3
×
3)的标准卷积操作。
[0093]
这样通过先生成二维空间注意力人脸特征图,能够便于后续结合上述训练后的轻量级人脸识别模型生成三维空间注意力人脸特征图,有利于提高该三维空间注意力人脸特征图的生成效率。
[0094]
103、对训练后的轻量级人脸识别模型包括的人脸特征图与二维空间注意力人脸特征图执行逐元素操作,得到三维空间注意力人脸特征图,并对三维空间注意力人脸特征图执行池化操作,得到一维通道注意力人脸特征图。
[0095]
本发明实施例中,将训练后的轻量级人脸识别模型包括的人脸特征图f∈rc×h×w和
二维空间注意力人脸特征图执行逐元素乘法运算,获得包含三维空间注意力人脸特征图f
*
∈rc×h×w,其中,该三维空间注意力人脸特征图的计算公式如下:
[0096][0097]
其中,表示逐元素(乘法)操作。
[0098]
这样通过对训练后的轻量级人脸识别模型包括的人脸特征图与二维空间注意力人脸特征图执行逐元素乘法运算,能够实现在保证效率得情况下,提高人脸数据的三维空间注意力人脸特征图的生成精度,有利于后续自适应能力强以及表达能力强的目标轻量级人脸识别模型的生成。
[0099]
本发明实施例中,作为一种可选的实施方式,对三维空间注意力人脸特征图执行池化操作,得到一维通道注意力人脸特征图,包括:
[0100]
对三维空间注意力人脸特征图执行最大池化操作,得到最大池化人脸特征图,并确定最大池化人脸特征图为注意力模型的含有预设个(例如:1个)隐藏层的多层感知器的输入变量,以及将输入变量输入注意力模型中进行训练,得到一维通道注意力人脸特征图。
[0101]
该可选的实施方式中,该一维通道注意力人脸特征图的计算公式为:
[0102][0103]
式中,为一维通道注意力人脸特征图;σ为第一激活函数(例如:sigmoid激活函数);δ为第二激活函数(例如:relu激活函数),第一激活函数与第二激活函数不相同;为最大池化人脸特征图;w1∈r
c/r
×c和w2∈rc×
c/r
分别为注意力模型的多层感知机的权重,r为超参数,且取值范围1<<r<<c,其中,r用于减少多层感知机的参数数量。其中,的计算公式为:
[0104][0105]
式中,为最大池化人脸特征图;maxpool`表示对三维空间注意力人脸特征图f
*
∈rc×h×w进行全局最大池化操作。
[0106]
可见,该可选的实施方式通过将最大池化人脸特征图作为输入变量来训练注意力模型,能够得到一维通道注意力人脸特征图,以及提高了一维通道注意力人脸特征图的获取准确性以及效率。
[0107]
104、对三维空间注意力人脸特征图与一维通道注意力人脸特征图执行逐通道操作,得到第一目标轻量级人脸识别模型,该第一目标轻量级人脸识别模型包括三维通道和空间注意力的人脸特征图。
[0108]
本发明实施例中,将三维空间注意力人脸特征图f
*
∈rc×h×w与一维通道注意力人脸特征图一维通道注意力人脸特征图执行逐通道乘法运操作,得到第一目标轻量级人脸识别模型,且该第一目标轻量级人脸识别模型包括三维通道和空间注意力的人脸特征图。其
中包括三维通道和空间注意力的人脸特征图的计算公式为:
[0109][0110]
式中,f
**
为三维通道和空间注意力的人脸特征图;fs表示逐通道乘法操作。
[0111]
这样通过对空间注意力人脸特征图与通道注意力特征图生成目标轻量级人脸识别模型,能够在保证生成包括空间注意力与通道注意力的目标轻量级人脸识别模型的同时,提高该目标轻量级人脸识别模型的生成效率以及精度,提升了该目标轻量级人脸识别模型的表达能力。
[0112]
在又一个可选的实施例中,该轻量级人脸识别模型的训练方法还可以包括以下操作:
[0113]
获取测试人脸数据,并将该测试人脸数据包括的多张测试人脸图像输入上述第一目标轻量级人脸识别模型中进行分析,得到每张测试人脸图像的识别度;
[0114]
计算每张测试人脸图像的识别度与预设识别度之间的识别度差值,并确定在所有识别度差值中小于等于预设识别度差值的所有目标识别度;
[0115]
判断所有目标识别度占所有识别度的比例是否大于等于预设比例阈值,当判断结果为否时,可以触发执行步骤101;当判断结果为是时,可以结束本次流程。
[0116]
该可选的实施例中,该测试人脸数据包括标准数据库中的人脸图像和在生活中随机采集到的人脸图像。
[0117]
可见,该可选的实施例在等到目标轻量级人脸识别模型之后,进一步通过测试人脸数据测试该目标轻量级人脸识别模型的精确度,并在其精确度较低时继续触发执行训练该目标轻量级人脸识别模型,有利于进一步保证获取到精度高、鲁棒性强的目标轻量级人脸识别模型。
[0118]
可见,实施图1所描述的轻量级人脸识别模型的训练方法通过结合注意力模型训练轻量级人脸识别模型,在不增加计算消耗以及保证运行速率的情况下,能够使得训练后的轻量级人脸识别模型自适应地对复杂场景中的图像特征进行细化,提高训练后的轻量级人脸识别模型的鲁棒性,从而有利于获取到精度高的人脸识别结果。此外,还能够提高轻量级人脸识别模型的收敛速度以及性能,从而提高训练的准确性以及效率;以及通过对轻量级人脸识别模型的权重执行初始化操作,能够使轻量级人脸识别模型各层的激活值和梯度的方差在传播过程中保持一致,有利于训练模型的平稳学习;还能够从角度空间优化轻量级人脸识别模型,使得该轻量级人脸识别模型的类间更加分散、类内更加分散,有利于获取到更具判别能力的人脸特征;还能够保证获取到精度高、鲁棒性强的目标轻量级人脸识别模型。
[0119]
实施例二
[0120]
请参阅图2,图2是本发明实施例公开的另一种轻量级人脸识别模型的训练方法的流程示意图。如图2所示,该轻量级人脸识别模型的训练方法可以包括以下操作:
[0121]
201、将获取到的样本人脸数据输入预先确定出的轻量级人脸识别模型中进行训练,得到训练后的轻量级人脸识别模型。
[0122]
202、基于预先确定出的注意力模型对训练后的轻量级人脸识别模型包括的人脸特征图执行池化卷积操作,得到二维空间注意力人脸特征图。
[0123]
203、对训练后的轻量级人脸识别模型包括的人脸特征图与二维空间注意力人脸特征图执行逐元素操作,得到三维空间注意力人脸特征图,并对三维空间注意力人脸特征图执行池化操作,得到一维通道注意力人脸特征图。
[0124]
204、对三维空间注意力人脸特征图与一维通道注意力人脸特征图执行逐通道操作,得到第一目标轻量级人脸识别模型,该第一目标轻量级人脸识别模型包括三维通道和空间注意力的人脸特征图。
[0125]
本发明实施例中,针对步骤201-步骤204的相关描述请参照实施例一中针对步骤101-步骤104的详细描述,本发明实施例不再赘述。
[0126]
205、将获取到的teacher网络模型确定为第一监督信号,并结合预先确定出的第一损失函数训练预先确定出的中间网络模型,得到训练后的中间网络模型,该中间网络模型的网络层数和通道数小于teacher网络模型。
[0127]
本发明实施例中,该teacher网络模型为宽度大于等于第一预设宽度且深度大于等于第一预设深度的卷积神经网络,例如:resnet100等。
[0128]
本发明实施例中,训练前的中间网络模型为宽度小于等于第二预设宽度且深度小于等于第二预设深度的卷积神经网络,例如:resnet34等,其中,第一预设宽度大于第二预设宽度,第一预设深度大于第二预设宽度。这样通过深度和宽度均较大的网络模型去训练同类型的但深度和宽度均较小的网络模型,有利于提高获取到表达能力更强的中间网络模型的效率以及准确性。
[0129]
206、将训练后的中间网络模型确定为第二监督信号,并结合预先确定出的第二损失函数训练第一目标轻量级人脸识别模型,得到第二目标轻量级人脸识别模型。
[0130]
可见,本发明实施例在获取到基于注意力模型训练后的轻量级人脸识别模型之后,进一步通过渐进式的知识蒸馏法训练经过注意力模型训练后的轻量级人脸识别模型,能够提高轻量级人脸识别模型的获取准确性,以及提高了轻量级人脸识别模型的表达能力以及判别能力,从而提高了轻量级人脸识别模型的人脸识别性能,进而获取到精度高的人脸信息;通过获取到模型体积小、计算量小以及识别精度高的轻量级人脸识别模型,便于部署到移动端和嵌入式设备。
[0131]
在一个可选的实施例中,在将获取到的teacher网络模型确定为第一监督信号之前,该轻量级人脸识别模型的训练方法可以包括以下操作:
[0132]
基于样本人脸数据训练预先确定出的teacher网络模型,并在训练teacher网络模型的过程中,基于确定出的初始化方法(例如:xavier初始化方法等)初始化teacher网络模型的权重,得到中间teacher网络模型;
[0133]
基于确定出的第三损失函数(例如:arcface损失函数等)训练中间teacher网络模型,直至第三损失函数的第一损失值稳定于第一预设损失值范围,并确定稳定于第一损失值的中间teacher网络模型,作为获取到的teacher网络模型。
[0134]
该可选的实施例中,当停止训练teacher网络模型时,保持该teacher网络模型对应的第三模型参数。并结合该第三模型参数训练预先确定出的中间网络模型,从而有利于提高该中间网络模型的训练准确性以及效率,从而有利于获取到精度更高的轻量级人脸识别模型。
[0135]
可见,该可选的实施例在获取到teacher网络模型之后,进一步对该teacher网络
模型执行训练操作,能够提高teacher网络模型的表达能力,从而提高最终轻量级人脸识别模型的获取准确性,进而有利于提高人脸识别的准确性以及可靠性。
[0136]
在另一个可选的实施例中,结合预先确定出的第一损失函数训练预先确定出的中间网络模型,得到训练后的中间网络模型,包括:
[0137]
结合预先确定出的第一损失函数训练预先确定出的中间网络模型,直至该第一损失函数的蒸馏损失值稳定于预设蒸馏损失值范围且该第一损失函数的分类损失值稳定于预设分类损失值范围;
[0138]
确定蒸馏损失值稳定于预设蒸馏损失值范围且分类损失值稳定于预设分类损失值范围的中间网络模型,作为训练后的中间网络模型。
[0139]
该可选的实施例中,该第一损失函数的计算公式如下:
[0140]
l=l1+λl2(s,t)
[0141]
式中,l为第一损失函数,l1为确定出的人脸识别分类损失函数;l2为teacher网络模型和中间网络模型的蒸馏损失函数;s和t分别表示从中间网络模型和teacher网络模型提取的人脸特征;λ为超参数,该超参数用于平衡分类损失和蒸馏损失。
[0142]
该可选的实施例中,当停止训练中间网络模型时,保持该中间网络模型对应的第四模型参数。并结合该第四模型参数训练第一目标轻量级人脸识别模型,能够提高该第一目标轻量级人脸识别模型的训练准确性以及效率。
[0143]
可见,该可选的实施例通过计算在训练中间网络模型过程中的损失函数的蒸馏损失值以及分类损失值,并在该蒸馏损失值以及该分类损失值趋于稳定时停止训练中间网络模型,能够提高该中间网络模型的精准性,从而有利于提高轻量级人脸识别模型获取准确性以及效率,从而提高轻量级人脸识别模型适应复杂环境的能力,即提高对复杂场景中的图像特征细化的能力,进而获取到精度更高的人脸识别结果。
[0144]
可见,实施图2所描述的轻量级人脸识别模型的训练方法能够通过结合注意力模型训练轻量级人脸识别模型,在不增加计算消耗以及保证运行速率的情况下,能够使得训练后的轻量级人脸识别模型自适应地对复杂场景中的图像特征进行细化,提高训练后的轻量级人脸识别模型的鲁棒性,从而有利于获取到精度高的人脸识别结果。此外,还能够提高轻量级人脸识别模型的获取准确性,以及提高了轻量级人脸识别模型的表达能力以及判别能力,从而提高了轻量级人脸识别模型的人脸识别性能,进而获取到精度高的人脸信息。
[0145]
实施例三
[0146]
请参阅图3,图3是本发明实施例公开的一种轻量级人脸识别模型的训练装置的结构示意图。如图3所示,该轻量级人脸识别模型的训练装置可以包括训练模块301、池化卷积模块302、逐元素处理模块303以及逐通道处理模块304,其中:
[0147]
训练模块301,用于将获取到的样本人脸数据输入预先确定出的轻量级人脸识别模型中进行训练,得到训练后的轻量级人脸识别模型。
[0148]
池化卷积模块302,用于基于预先确定出的注意力模型对训练后的轻量级人脸识别模型包括的人脸特征图执行池化卷积操作,得到二维空间注意力人脸特征图。
[0149]
逐元素处理模块303,用于对训练后的轻量级人脸识别模型包括的人脸特征图与二维空间注意力人脸特征图执行逐元素操作,得到三维空间注意力人脸特征图。
[0150]
池化卷积模块302,还用于对三维空间注意力人脸特征图执行池化操作,得到一维
通道注意力人脸特征图。
[0151]
逐通道处理模块304,用于对三维空间注意力人脸特征图与一维通道注意力人脸特征图执行逐通道操作,得到第一目标轻量级人脸识别模型,该第一目标轻量级人脸识别模型包括三维通道和空间注意力的人脸特征图。
[0152]
可见,实施图3所描述的轻量级人脸识别模型的训练装置能够通过结合注意力模型训练轻量级人脸识别模型,在不增加计算消耗以及保证运行速率的情况下,能够使得训练后的轻量级人脸识别模型自适应地对复杂场景中的图像特征进行细化,提高训练后的轻量级人脸识别模型的鲁棒性,从而有利于获取到精度高的人脸识别结果。
[0153]
在另一个可选的实施例中,该轻量级人脸识别模型的训练装置还包括确定模块305,此时,该轻量级人脸识别模型的训练装置可以如图4所示,图4为另一种可选的轻量级人脸识别模型的训练装置的结构示意图,其中:
[0154]
确定模块305,用于在逐通道处理模块304对三维空间注意力人脸特征图与一维通道注意力人脸特征图执行逐通道操作,得到第一目标轻量级人脸识别模型之后,将获取到的teacher网络模型确定为第一监督信号。
[0155]
训练模块301,还用于结合预先确定出的第一损失函数训练预先确定出的中间网络模型,得到训练后的中间网络模型,该中间网络模型的网络层数和通道数小于该teacher网络模型。
[0156]
确定模块305,还用于将训练后的中间网络模型确定为第二监督信号。
[0157]
训练模块301,还用于结合预先确定出的第二损失函数训练第一目标轻量级人脸识别模型,得到第二目标轻量级人脸识别模型。
[0158]
该可选的实施例中,当确定模块305执行完毕将获取到的teacher网络模型确定为第一监督信号之后,可以触发训练模块301执行上述的结合预先确定出的第一损失函数训练预先确定出的中间网络模型,得到训练后的中间网络模型的操作。
[0159]
该可选的实施例中,第一损失函数的计算公式如下:
[0160]
l=l1+λl2(s,t)
[0161]
式中,l为第一损失函数,l1为确定出的人脸识别分类损失函数;l2为teacher网络模型和中间网络模型的蒸馏损失函数;s和t分别表示从中间网络模型和teacher网络模型提取的人脸特征;λ为超参数,该超参数用于平衡分类损失和蒸馏损失。
[0162]
可见,实施图4所描述的轻量级人脸识别模型的训练装置能够在获取到基于注意力模型训练后的轻量级人脸识别模型之后,进一步通过渐进式的知识蒸馏法训练经过注意力模型训练后的轻量级人脸识别模型,能够提高轻量级人脸识别模型的获取准确性,以及提高了轻量级人脸识别模型的表达能力以及判别能力,从而提高了轻量级人脸识别模型的人脸识别性能,进而获取到精度高的人脸信息。
[0163]
在另一个可选的实施例中,如图4所示,该轻量级人脸识别模型的训练装置还可以包括初始化模块306,其中:
[0164]
训练模块301,还用于在确定模块305将获取到的teacher网络模型确定为第一监督信号之前,基于样本人脸数据训练预先确定出的teacher网络模型。
[0165]
初始化模块306,用于在训练teacher网络模型的过程中,基于确定出的初始化方法初始化teacher网络模型的权重,得到中间teacher网络模型。
[0166]
训练模块301,还用于基于确定出的损失函数训练中间teacher网络模型,直至该中间teacher网络模型的损失值稳定于预设损失值范围。
[0167]
确定模块305,还用于确定稳定于损失值的中间teacher网络模型,作为获取到的teacher网络模型。
[0168]
可见,实施图4所描述的轻量级人脸识别模型的训练装置通过在获取到teacher网络模型之后,进一步对该teacher网络模型执行训练操作,能够提高teacher网络模型的表达能力,从而提高最终轻量级人脸识别模型的获取准确性,进而有利于提高人脸识别的准确性以及可靠性。
[0169]
在又一个可选的实施例中,如图4所示,训练模块301结合预先确定出的第一损失函数训练预先确定出的中间网络模型,得到训练后的中间网络模型的具体方式为:
[0170]
结合预先确定出的第一损失函数训练预先确定出的中间网络模型,直至该中间网络模型的蒸馏损失值稳定于预设蒸馏损失值范围且中间网络模型的分类损失值稳定于预设分类损失值范围;
[0171]
确定蒸馏损失值稳定于预设蒸馏损失值范围且分类损失值稳定于预设分类损失值范围的中间网络模型,作为训练后的中间网络模型。
[0172]
可见,实施图4所描述的轻量级人脸识别模型的训练装置通过计算在训练中间网络模型过程中的损失函数的蒸馏损失值以及分类损失值,并在该蒸馏损失值以及该分类损失值趋于稳定时停止训练中间网络模型,能够提高该中间网络模型的精准性,从而有利于提高轻量级人脸识别模型获取准确性以及效率,从而提高轻量级人脸识别模型适应复杂环境的能力,即提高对复杂场景中的图像特征细化的能力,进而获取到精度更高的人脸识别结果。
[0173]
在又一个可选的实施例中,如图4所示,池化卷积模块302对三维空间注意力人脸特征图执行池化操作,得到一维通道注意力人脸特征图具体方式为:
[0174]
对三维空间注意力人脸特征图执行最大池化操作,得到最大池化人脸特征图,并确定最大池化人脸特征图为注意力模型的含有预设个隐藏层的多层感知器的输入变量,以及将输入变量输入注意力模型中进行训练,得到一维通道注意力人脸特征图。
[0175]
该可选的实施例中,该一维通道注意力人脸特征图的计算公式为:
[0176][0177]
式中,为一维通道注意力人脸特征图;σ为第一激活函数;δ为第二激活函数,第一激活函数与第二激活函数不相同;为最大池化人脸特征图。
[0178]
可见,实施图4所描述的轻量级人脸识别模型的训练装置通过将最大池化人脸特征图作为输入变量来训练注意力模型,能够得到一维通道注意力人脸特征图,以及提高了一维通道注意力人脸特征图的获取准确性以及效率。
[0179]
实施例四
[0180]
请参阅图5,图5是本发明实施例公开的又一种轻量级人脸识别模型的训练装置。如图5所示,该轻量级人脸识别模型的训练装置可以包括:
[0181]
存储有可执行程序代码的存储器501;
[0182]
与存储器501耦合的处理器502;
[0183]
进一步的,还可以包括与处理器502耦合的输入接口503和输出接口504;
[0184]
其中,处理器502调用存储器501中存储的可执行程序代码,用于执行实施例一或实施例二所描述的轻量级人脸识别模型的训练方法的步骤。
[0185]
实施例五
[0186]
本发明实施例公开了一种计算机读存储介质,其存储用于电子数据交换的计算机程序,其中,该计算机程序使得计算机执行实施例一或实施例二所描述的轻量级人脸识别模型的训练方法的步骤。
[0187]
实施例六
[0188]
本发明实施例公开了一种计算机程序产品,该计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,且该计算机程序可操作来使计算机执行实施例一或实施例二所描述的轻量级人脸识别模型的训练方法的步骤。
[0189]
以上所描述的装置实施例仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0190]
通过以上的实施例的具体描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,存储介质包括只读存储器(read-only memory,rom)、随机存储器(random access memory,ram)、可编程只读存储器(programmable read-only memory,prom)、可擦除可编程只读存储器(erasable programmable read only memory,eprom)、一次可编程只读存储器(one-time programmable read-only memory,otprom)、电子抹除式可复写只读存储器(electrically-erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
[0191]
最后应说明的是:本发明实施例公开的一种轻量级人脸识别模型的训练方法及装置所揭露的仅为本发明较佳实施例而已,仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解;其依然可以对前述各项实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应的技术方案的本质脱离本发明各项实施例技术方案的精神和范围。