[0001]
本发明涉及人脸识别技术领域,具体涉及一种人脸识别方法、装置、服务器及存储介质。
背景技术:[0002]
人脸识别,是一种基于人的脸部特征信息进行身份识别的生物识别技术,一般是用摄像机或摄像头采集含有人脸的图像或视频流后,自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别,通常也叫做人像识别、面部识别。
[0003]
受深度学习发展的影响,人脸识别技术取得了巨大进展,传统的人脸识别神经网络广泛应用于人脸识别中,在公开的人脸识别测试集性能表现上,基于深度卷积网络的技术占据着牢牢优势。
[0004]
但由于传统的人脸识别神经网络中的人脸特征提取模型多是基于在一个很大的人脸数据集(50万以上)上训练,即基于人脸识别神经网络的良好人脸识别性能离不开规模巨大的训练数据支撑,然后作为通用模型应用在各种场景中,由于通用人脸识别网络模型对训练数据具有很强的依赖性,而特定应用场景的数据在通用人脸数据集中所占的比例较少,且大规模训练数据的获取往往代价不小,因此,导致通用模型在特定的人脸识别应用场景中的人脸识别精度并不高。
技术实现要素:[0005]
本发明实施例提供一种人脸识别方法、装置、服务器及存储介质,使得采用该样本训练集训练得到的人脸识别模型能排除增广图片中的无效干扰,对于人脸图片及人脸图片的增广变形图片均能识别为同一身份,进而使得人脸识别模型具有更好的分类识别性能,另外也在一定程度上提升人脸识别的可解释性,提高了人脸识别的准确度。
[0006]
第一方面,本申请提供一种人脸识别方法,所述人脸识别方法包括:
[0007]
获取人脸图片;
[0008]
将所述人脸图片输入到预设的人脸识别模型,所述人脸识别模型是基于样本训练集作为模型训练样本训练得到的,所述样本训练集中包括多个样本人脸图片,以及每张样本人脸图片对应的多张增广处理图片;
[0009]
根据所述人脸识别模型对所述人脸图片进行人脸识别,输出人脸识别结果。
[0010]
在本申请一些实施例中,在将所述人脸图片输入到预设的人脸识别模型之前,所述人脸识别方法还包括:
[0011]
采集多张样本人脸图片;
[0012]
根据所述多张样本人脸图片建立样本训练集,所述样本训练集中包括所述多个样本人脸图片,以及每张样本人脸图片对应的多张增广处理图片;
[0013]
根据所述样本训练集训练所述神经网络模型得到所述人脸识别模型。
[0014]
在本申请一些实施例中,根据所述多张样本人脸图片建立样本训练集,包括:
[0015]
分别以所述多张样本人脸图片中的样本人脸图片为目标样本人脸图片,对所述目标样本人脸图片,采用预设的多种增广方式进行处理,得到多张增广处理图片;
[0016]
将所述多张增广处理图片添加到所述样本训练集。
[0017]
在本申请一些实施例中,所述多种增广方式包括翻转变换、随机修剪、色彩抖动、平移变换、尺度变换、对比度变换、噪声扰动和旋转变换中至少两种。
[0018]
在本申请一些实施例中,所述根据所述样本训练集训练所述神经网络模型得到所述人脸识别模型,包括:
[0019]
依次将每张样本人脸图片对应的多张增广处理图片作为目标增广处理图片;
[0020]
将所述目标增广处理图片输入所述神经网络模型,对所述目标增广处理图片进行特征采样处理,得到特征图;
[0021]
对所述特征图进行全连接运算,得到所述目标增广处理图片的预测值;
[0022]
根据所述样本训练集中多张增广处理图片的预测值进行损失训练,得到所述人脸识别模型。
[0023]
在本申请一些实施例中,所述根据所述样本训练集中多张增广处理图片的预测值进行损失训练,得到所述人脸识别模型,包括:
[0024]
对每张样本人脸图片对应的多张增广处理图片的预测值进行约束散度最小化处理,以保证每张样本人脸图片对应的多张增广处理图的语义一致,得到每张样本人脸图片对应的多张增广处理图片的矫正预测值;
[0025]
获取每张样本人脸图片对应的多张增广处理图片的真实值;
[0026]
对每张样本人脸图片对应的多张增广处理图片的真实值和矫正预测值进行收敛,得到所述人脸识别模型。
[0027]
在本申请一些实施例中,所述对每张样本人脸图片对应的多张增广处理图片的真实值和矫正预测值进行收敛,得到所述人脸识别模型,包括:
[0028]
根据每张样本人脸图片对应的多张增广处理图片的真实值和矫正预测值,计算预设的损失函数对应的损失函数值;
[0029]
在所述损失函数值最小时,得到所述人脸识别模型。
[0030]
在本申请一些实施例中,所述根据每张样本人脸图片对应的多张增广处理图片矫正后的预测值,计算预设的损失函数对应的损失函数值,包括:
[0031]
根据每张样本人脸图片的分类损失值;
[0032]
计算每张样本图片对应的多张增广处理图片在特征采样处理中的第一损失值;
[0033]
计算每张样本图片对应的多张增广处理图片在特征全连接处理中的第二损失值;
[0034]
根据所述分类损失值、所述第一损失值和所述第二损失值,计算所述损失函数值。
[0035]
第二方面,本申请还提供一种人脸识别装置,所述人脸识别装置包括:
[0036]
获取单元,用于获取人脸图片;
[0037]
输入单元,用于将所述人脸图片输入到预设的人脸识别模型,所述人脸识别模型是基于样本训练集作为模型训练样本训练得到的,所述样本训练集中包括多个样本人脸图片,以及每张样本人脸图片对应的多张增广处理图片;
[0038]
识别单元,用于根据所述人脸识别模型对所述人脸图片进行人脸识别,输出人脸识别结果。
[0039]
在本申请一些实施例中,所述人脸识别装置还包括训练单元,所述训练单元具体用于:
[0040]
在将所述人脸图片输入到预设的人脸识别模型之前,采集多张样本人脸图片;
[0041]
根据所述多张样本人脸图片建立样本训练集,所述样本训练集中包括所述多个样本人脸图片,以及每张样本人脸图片对应的多张增广处理图片;
[0042]
根据所述样本训练集训练所述神经网络模型得到所述人脸识别模型。
[0043]
在本申请一些实施例中,所述训练单元具体用于:
[0044]
分别以所述多张样本人脸图片中的样本人脸图片为目标样本人脸图片,对所述目标样本人脸图片,采用预设的多种增广方式进行处理,得到多张增广处理图片;
[0045]
将所述多张增广处理图片添加到所述样本训练集。
[0046]
在本申请一些实施例中,所述多种增广方式包括翻转变换、随机修剪、色彩抖动、平移变换、尺度变换、对比度变换、噪声扰动和旋转变换中至少两种。
[0047]
在本申请一些实施例中,所述训练单元具体用于:
[0048]
依次将每张样本人脸图片对应的多张增广处理图片作为目标增广处理图片;
[0049]
将所述目标增广处理图片输入所述神经网络模型,对所述目标增广处理图片进行特征采样处理,得到特征图;
[0050]
对所述特征图进行全连接运算,得到所述目标增广处理图片的预测值;
[0051]
根据所述样本训练集中多张增广处理图片的预测值进行损失训练,得到所述人脸识别模型。
[0052]
在本申请一些实施例中,所述训练单元具体用于:
[0053]
对每张样本人脸图片对应的多张增广处理图片的预测值进行约束散度最小化处理,以保证每张样本人脸图片对应的多张增广处理图的语义一致,得到每张样本人脸图片对应的多张增广处理图片的矫正预测值;
[0054]
获取每张样本人脸图片对应的多张增广处理图片的真实值;
[0055]
对每张样本人脸图片对应的多张增广处理图片的真实值和矫正预测值进行收敛,得到所述人脸识别模型。
[0056]
在本申请一些实施例中,所述训练单元具体用于:
[0057]
根据每张样本人脸图片对应的多张增广处理图片的真实值和矫正预测值,计算预设的损失函数对应的损失函数值;
[0058]
在所述损失函数值最小时,得到所述人脸识别模型。
[0059]
在本申请一些实施例中,所述训练单元具体用于:
[0060]
根据每张样本人脸图片的分类损失值;
[0061]
计算每张样本图片对应的多张增广处理图片在特征采样处理中的第一损失值;
[0062]
计算每张样本图片对应的多张增广处理图片在特征全连接处理中的第二损失值;
[0063]
根据所述分类损失值、所述第一损失值和所述第二损失值,计算所述损失函数值。
[0064]
第三方面,本申请还提供一种服务器,所述服务器包括:
[0065]
一个或多个处理器;
[0066]
存储器;以及
[0067]
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并
配置为由所述处理器执行以实现第一方面中任一项所述的人脸识别方法。
[0068]
第四方面,本申请还一种存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行第一方面中任一项所述的人脸识别方法中的步骤。
[0069]
本发明实施例通过获取人脸图片;将人脸图片输入到预设的人脸识别模型,该人脸识别模型是基于样本训练集作为模型训练样本训练得到的,该样本训练集中包括多个样本人脸图片,以及每张样本人脸图片对应的多张增广处理图片;根据人脸识别模型对人脸图片进行人脸识别,输出人脸识别结果。在现有人脸识别模型仅通过样本人脸图片进行训练得到,导致人脸识别模型对于不同人脸图片的增广变形图片识别精度不高的情况下,本发明实施例中人脸识别模型是采用样本训练集作为模型训练样本训练得到的,由于样本训练集中包括多个样本人脸图片,每张样本人脸图片对应多张增广处理图片,即样本人脸图片和样本人脸图片对应的多张增广处理图片均是同一身份的人脸照片,从而使得采用该样本训练集训练得到的人脸识别模型能排除增广图片中的无效干扰,对于人脸图片及人脸图片的增广变形图片均能识别为同一身份,进而使得人脸识别模型具有更好的分类识别性能,另外也在一定程度上提升人脸识别的可解释性,提高了人脸识别的准确度。
附图说明
[0070]
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0071]
图1是本发明实施例提供的人脸识别方法的一个实施例流程示意图;
[0072]
图2是本发明实施例提供的人脸识别方法中步骤102的一个实施例流程示意图;
[0073]
图3是本发明实施例提供的神经网络模型的一个实施例架构示意图;
[0074]
图4是本发明实施例提供的人脸识别装置的一个实施例流程示意图;
[0075]
图5是本发明实施例中服务器的一个实施例结构示意图。
具体实施方式
[0076]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0077]
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0078]
在本申请中,“示例性”一词用来表示“用作例子、例证或说明”。本申请中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本申请所公开的原理和特征的最广范围相一致。
[0079]
本发明实施例提供一种人脸识别方法、装置、服务器及存储介质,以下分别进行详细说明。
[0080]
首先,本发明实施例中提供一种人脸识别方法,所述人脸识别方法包括:获取人脸图片;将所述人脸图片输入到预设的人脸识别模型,所述人脸识别模型是基于样本训练集作为模型训练样本训练得到的,所述样本训练集中包括多个样本人脸图片,以及每张样本人脸图片对应的多张增广处理图片;根据所述人脸识别模型对所述人脸图片进行人脸识别,输出人脸识别结果。
[0081]
如图1所示,为本发明实施例中人脸识别方法的一个实施例流程示意图,该人脸识别方法应用于人脸识别装置,该人脸识别装置可以位于服务器中,具体的,该人脸识别方法包括:
[0082]
101、获取人脸图片。
[0083]
其中,本发明实施例中该人脸图片为待进行人脸识别的人脸图片。
[0084]
本发明实施例中获取人脸图片有多种方式,在本发明一些实施例中,具体可以通过拍摄用户人脸来获取人脸图片,即该人脸图片可以是拍摄装置(如手机、照相机、摄像机以及监控设备等)拍摄的人脸图片,或者从人脸图片数据库中来获取人脸图片等等。
[0085]
在本发明另一些实施例中,该人脸图片可以指原始图片(如拍摄装置拍摄的人脸图片)经过处理后达到预设要求的图片。需要说明的是,上述通过拍摄用户人脸及人脸数据库等方式获取原始图片之后,获取的原始图片可能人脸部分在图像角落(如右下角)或侧边的情况,同时获取的原始图片尺寸不一,因此有必要对获取的原始片进行统一处理,得到统一规格的人脸图片。进一步的,即获取人脸图片前还需要对原始图片进行处理,以使得原始图片符合预设要求,更利于人脸属性的预测,此时,即获取人脸图片的步骤可以进一步包括:获取原始图片;对原始图片进行人脸检测,以对原始图片进行人脸矫正处理,得到所述人脸图片。
[0086]
进一步的,对原始图片进行人脸检测,以对原始图片进行人脸矫正处理,得到人脸图片的步骤可以包括:对原始图片进行人脸检测,确定人脸区域;在人脸区域中确定预设数量的人脸关键点;根据人脸关键点对原始图片进行人脸矫正,得到人脸矫正图;按照预设的尺寸对人脸矫正图进行尺寸调整,得到该人脸图片。可以理解的是,该原始图片中是包含人脸的原始图片,只有包含人脸的原始图片才能处理得到本发明实施例中人脸图片,不包含人脸的图片可以直接丢弃,不进行后续处理。
[0087]
本发明实施例中,可以利用adaboost分类器(自适应增强分类器)或者深度学习的人脸检测算法,对原始图片进行人脸检测确定人脸区域以及在人脸区域中确定预设数量的人脸关键点。其中,利用adaboost分类器检测人脸确定人脸关键点的算法、及利用深度学习
算法检测人脸确定人脸关键点的方法均为惯用技术手段,此处不再赘述。
[0088]
在确定原始图片中人脸关键点后,即可根据人脸关键点对原始图片进行人脸矫正,得到人脸矫正图,例如,若人脸关键点中包括人脸关键点中两边眉毛的关键点,根据人脸关键点中两边眉毛上的人脸关键点可以连成直线,若该直线相对图案上下边界是倾斜的,则调整原始图片使得该直线与图案上下边界平行即可,最后按照预设的尺寸(例如50*50)对样本人脸矫正图进行尺寸调整,即得到人脸图片。需要说明的是,原始图片的尺寸一般情况下需要大于该预设的尺寸,便于进行尺寸调整,当然,在某些实施例中,原始图片的也可以小于该预设的尺寸,此种情况下需要先对原始图片进行预设倍数的放大处理后,再进行尺寸调整。
[0089]
102、将所述人脸图片输入到预设的人脸识别模型,所述人脸识别模型是基于样本训练集作为模型训练样本训练得到的,所述样本训练集中包括多个样本人脸图片,以及每张样本人脸图片对应的多张增广处理图片。
[0090]
本发明实施例中,在将所述人脸图片输入到预设的人脸识别模型之前,会首先训练样本数据得到人脸识别模型,具体的,如图2所示,即在将所述人脸图片输入到预设的人脸识别模型之前,本发明实施例中人脸识别方法还可以包括:
[0091]
201、采集多张样本人脸图片。
[0092]
本发明实施例中,可以采集一定的原始样本人脸图片,具体可以通过拍摄大量用户人脸来获取原始样本人脸图片,或者也可以通过在互联网上搜索人脸图片得到该原始样本人脸图片,或者从人脸图片数据库中来获取原始样本人脸图片等等。其中,在拍摄用户人脸来获取该多张样本人脸图片时也可以拍摄同一用户的多张人脸图片等途径来采集原始样本人脸图片。
[0093]
需要说明的是,上述通过拍摄用户人脸、互联网搜索及人脸数据库等方式获取原始样本人脸图片之后,获取的原始样本人脸图片同样可能人脸部分在图像角落(如右下角)或侧边的情况,同时获取的原始样本人脸图片尺寸不一,因此有必要对获取的原始样本人脸图片进行统一处理,得到样本人脸图片,对样本人脸图片进行统一处理的方式可以参照步骤101中对原始图片处理得到人脸图片的具体过程,具体此处不再赘述。
[0094]
202、根据所述多张样本人脸图片建立样本训练集,所述样本训练集中包括所述多个样本人脸图片,以及每张样本人脸图片对应的多张增广处理图片。
[0095]
具体的,根据所述多张样本人脸图片建立样本训练集的步骤可以包括:分别以所述多张样本人脸图片中的样本人脸图片为目标样本人脸图片,对所述目标样本人脸图片,采用预设的多种增广方式进行处理,得到多张增广处理图片;将所述多张增广处理图片添加到所述样本训练集。
[0096]
其中,所述多种增广方式包括翻转变换、随机修剪、色彩抖动、平移变换、尺度变换、对比度变换、噪声扰动和旋转变换中至少两种。在人脸识别装置所在的服务器处理能力足够强的情况下,可以对每张样本人脸图片,采用越多的增广方式进行处理,可以使得训练得到的人脸识别模型,对于各种人脸图片的增广图片,都有更好的识别能力,具有更好的人脸识别的准确度。
[0097]
203、根据所述样本训练集训练所述神经网络模型得到所述人脸识别模型。
[0098]
本发明实施例中,神经网络模型可以是现有的神经网络模型,例如卷积神经网络
(convolutional neural networks,cnn)模型,可以理解的是,本发明实施例中主要基于模型的训练方式,该神经网络模型也可以是未来新出现的神经网络模型。
[0099]
具体的,如图3所示,该神经网络模型的结构可以包括:深度卷积网络层,特征层,全连接层,输出层和损失层。其中,深度卷积网络层可以包括输入层,卷积层和池化层。具体如下:
[0100]
输入层:负责接受图片输入,例如样本人脸图片输入。
[0101]
该神经卷积网络层内部可包括包含卷积层和池化层,这两个操作交替地进行(即卷积层和池化层交替设置)。
[0102]
卷积层:主要用于对输入的图像(比如训练样本人脸图片或待进行人脸识别的人脸图片)进行特征提取(即将原始数据映射到隐层特征空间),其中,卷积核大小可以根据实际应用而定,例如,第一层卷积层积核大小设置为(5,5),,第一层卷积层积核大小设置为(3,3),可选的,为了降低计算的复杂度,提高计算效率,神经网络模型中所有卷积层的卷积核大小也可以都设置为(3,3);卷积层作为特征的检测器,使得神经网络模型可以获得从低层特征到高层特征。可选的,为了提高模型的表达能力,还可以通过加入非线性激活函数来加入非线性因素,在本发明实施例中,卷积层后面均连接有非线性激活函数,具体可以根据实际应用的需求进行设置,例如,非线性激活函数可以是f(x)=max(0,x)。
[0103]
需说明的是,为了描述方便,在本发明实施例中,将激活函数所在层和下采样层(也称为池化层)均归入深度卷积网络层中,应当理解的是,也可以认为该深度卷积网络层包括卷积层、激活函数所在层、下采样层(即池化层)和全连接层,当然,还可以包括用于输入数据的输入层和用于输出数据的输出层,在此不作赘述。
[0104]
池化层:池化层是对相邻区域合并,使得神经网络模型可容忍一定的形变,提升模型鲁棒性。该池化层与卷积层的操作基本相同,只不过池化层的卷积核为只取对应位置的最大值(max pooling)或平均值(average pooling)等。
[0105]
特征层:对多个神经网络模型中的输出特征,分别经过特征层再进行拼接,其中的特征层会对特征进行归一化,使得神经网络模型中的输出特征有着同样的数量级,便于特征的融合。
[0106]
全连接层:然后将融合的特征输入全连接层,全连接层可以将学到的“分布式特征表示”映射到样本标记空间,其在整个卷积神经网络中主要起到“分类器”的作用,全连接层的每一个结点都与上一层(如神经网络模型中的最后一个池化层)输出的所有结点相连,其中,全连接层的一个结点即称为全连接层中的一个神经元,全连接层中神经元的数量可以根据实际应用的需求而定,比如,全连接层的神经元数量可以均设置为2048个。由于该神经网络模型可以包括多个神经子网络模型,每个神经子网络模型均可以输出多个向量,且向量的数量与神经网络模型神经元的数量一致,全连接层即将这多个向量进行拼接,得到一个融合后的向量,比如,神经网络模型包括第一神经子网络模型和第二神经子网络模型,若第一神经子网络模型和第二神经子网络模型可以分别输出2048个向量;则全连接层对第一神经子网络模型输出向量和第二神经子网络模型输出向量进行拼接,得到4096个向量。
[0107]
可选的,在全连接层中,在得到融合后的向量后,会对融合后的向量进行一个线性变换,从而方便后续具体人脸属性的预测。该线性变换操作可以采用线性函数进行,例如y=a*x+b。其中,y是输出,x是输入,a,b都是参数。比如输入x是10维的向量,a是4*10的一个
矩阵,b是一个常量。如0.2。先做矩阵乘法,得到的结果加上这个常量b,即得到输出y。
[0108]
损失层:损失层用于计算比较人脸属性预测值和人脸属性真实值的差异,并通过反向传播算法对神经网络模型中的参数进行不断地修正优化,得到神经网络模型,其中,损失函数可以采用交叉熵损失函数。
[0109]
输出层,也称为预测层,用于输出预测数据,如对人脸图片的进行人脸识别的预测值。
[0110]
具体的,所述根据所述样本训练集训练所述神经网络模型得到所述人脸识别模型的步骤可以包括:
[0111]
(1)依次将每张样本人脸图片对应的多张增广处理图片作为目标增广处理图片。
[0112]
(2)将所述目标增广处理图片输入所述神经网络模型,对所述目标增广处理图片进行特征采样处理,得到特征图。
[0113]
具体的,可以利用图3所示的神经网络模型中的深度卷积网络层对所述目标增广处理图片进行特征采样处理,得到特征图。
[0114]
为了与人类常识中对变化后的人脸认识应无多大差异一致,作为神经网络模型可解释性的一部分,本发明实施例中对所述目标增广处理图片进行特征采样处理,得到特征图包括将对特征图进行向量维度处理,以使得每张人脸图片对应的不同增广处理图片处于同一向量维度。具体的,维度处理采用如下公式:
[0115][0116]
其中,n表示样本人脸图片的数量,i表示n张样本人脸图片中第i张样本人脸图片,n≥i,为第i张样本人脸图片经过增广处理a后在特征层的输出,为第i张样本人脸图片经过增广处理b后在特征层的输出,h表示高斯核函数,最终是让不同增广处理图片在特征层的输出处于同一向量维度。
[0117]
(3)对所述特征图进行全连接运算,得到所述目标增广处理图片的预测值。
[0118]
本发明实施例中,在神经网络模型的全连接层对特征图进行全连接运算,以得到所述目标增广处理图片的预测值。
[0119]
由于不同类型的样本数量会存在差异,为了加强类别间的可分辨性,考虑到类别样本间数量不平衡,本发明实施例中,在全连接层中引入了自适应类别间隔,即对特征图分类度量运算,具体的,即对不同类型的样本人脸图片对应的特征图设计不同的分类度量,以对特征图减去该分类度量,使得不同类型的样本人脸图片可分辨性更强,具体设计的分类度量如下:
[0120][0121]
其中,n表示样本人脸图片的数量,i表示n张样本人脸图片中第i张样本人脸图片,x
i
为第i个样本人脸图片的增广图片输入神经网络模型后在特征层的输出,e为自然常数,w
j
为全连接层第j个单元权重,x
j
为全连接层第j个单元的输出,为样本人脸图片类别y
i
自适应间隔,η为超参数。
[0122]
本发明实施例中在全连接层中引入了自适应类别间隔,一方面能保证人脸识别有
足够的鉴别性,另一方面使得人脸识别模型对人脸图片数据量相对较少的情况下仍有较好识别准确度。
[0123]
(4)根据所述样本训练集中多张增广处理图片的预测值进行损失训练,得到所述人脸识别模型。
[0124]
其中,所述根据所述样本训练集中多张增广处理图片的预测值进行损失训练,得到所述人脸识别模型的步骤可以包括:对每张样本人脸图片对应的多张增广处理图片的预测值进行约束散度最小化处理,以保证每张样本人脸图片对应的多张增广处理图的语义一致,得到每张样本人脸图片对应的多张增广处理图片的矫正预测值;获取每张样本人脸图片对应的多张增广处理图片的真实值;对每张样本人脸图片对应的多张增广处理图片的真实值和矫正预测值进行收敛,得到所述人脸识别模型。
[0125]
其中,保证每张样本人脸图片对应的多张增广处理图的语义一致,即表示每张样本人脸图片对应的多张增广处理图的概率分布一致。另外获取每张样本人脸图片对应的多张增广处理图片的真实值和矫正预测值可以如下面步骤103中描述的一个或多个人脸属性值的数值或向量表示,例如(0,1,1)表示女、戴眼镜和未戴口罩等三个人脸属性值。
[0126]
本发明实施例中,在对每张样本人脸图片对应的多张增广处理图片的预测值进行约束散度最小化处理,以保证每张样本人脸图片对应的多张增广处理图的语义一致,得到每张样本人脸图片对应的多张增广处理图片的矫正预测值之前,也可以对于输出层输出的预测数据也可以向量维度处理,具体可以采用如下公式:
[0127][0128]
其中,i表示n张样本人脸图片中第i张样本人脸图片,为第i张样本人脸图片经过增广操作a后在输出层(预测层)输出的预测值,表示第i张样本人脸图片经过增广操作b后在输出层(预测层)输出的预测值,js为简森散度。
[0129]
具体的,本发明实施例中对每张样本人脸图片对应的多张增广处理图片的预测值进行约束散度最小化处理,以保证每张样本人脸图片对应的多张增广处理图的语义一致,得到每张样本人脸图片对应的多张增广处理图片的矫正预测值的步骤可以采用如下公式:
[0130][0131][0132]
其中,kl表示kl散度(kullback-leibler divergence),p
1
表示样本人脸图片经过第1种增广处理对应的增广图片输出的预测值,p
2
表示样本人脸图片经过第2种增广处理对应的增广图片输出的预测值。经过上述约束散度最小化处理后,最终让同一样本人脸图片经过不同增广处理的增广处理图片的输出预测能保持大致相似。
[0133]
本发明实施例中,具体可以采用预设的损失函数对每张样本人脸图片对应的多张增广处理图片的真实值和矫正预测值进行收敛,得到所述人脸识别模型。其中,该损失函数可以根据实际应用需求进行灵活设置,比如,损失函数可以为交叉熵损失函数。通过降低每张样本人脸图片对应的多张增广处理图片的预测值与真实值之间的误差,进行不断训练,以调整神经网络模型的参数至合适数值(例如是的损失函数值最小),便可得到人脸识别模
型。
[0134]
在本发明一些实施例中,所述对每张样本人脸图片对应的多张增广处理图片的真实值和矫正预测值进行收敛,得到所述人脸识别模型,具体可以包括:根据每张样本人脸图片对应的多张增广处理图片的真实值和矫正预测值,计算预设的损失函数对应的损失函数值;在所述损失函数值最小时,得到所述人脸识别模型。
[0135]
具体的,所述根据每张样本人脸图片对应的多张增广处理图片的真实值和矫正预测值,计算预设的损失函数对应的损失函数值可以包括:根据每张样本人脸图片的分类损失值;计算每张样本图片对应的多张增广处理图片在特征采样处理中的第一损失值;计算每张样本图片对应的多张增广处理图片在特征全连接处理中的第二损失值;根据所述分类损失值、所述第一损失值和所述第二损失值,计算所述损失函数值。
[0136]
在一个具体实施方式中,所述根据每张样本人脸图片对应的多张增广处理图片矫正后的预测值,计算预设的损失函数对应的损失函数值的步骤可以采用如下损失函数进行计算:
[0137][0138]
其中,第一项l
m
为分类损失值,即上述实施例中描述的分类度量,α为常量比例系数,为特征层损失,用于校正特征层输出;β为常量比例系数,为预测层(即后续描述的输出层)损失,用于校正预测层输出;l为损失函数值。
[0139]
103、根据所述人脸识别模型对所述人脸图片进行人脸识别,输出人脸识别结果。
[0140]
本发明实施例中,根据步骤102中的人脸识别模型,可以对人脸图片进行人脸识别输出人脸识别结果。其中,人脸识别结果中可以是一个或多个人脸属性对应属性值的数值表示或向量表示。
[0141]
由于人脸属性的类型不同,本发明实施例中用于指示人脸属性的属性值也可以具有不同的表示形式,人脸属性的属性值可以是数值形式,也可以是向量形式。例如,该样本人脸图片对应的人脸属性可以是是否戴眼镜、性别、是否戴口罩等人脸属性。在实际应用中,可以采用数值形式来表示各个人脸属性,例如,性别有两种,可以用0代表男,用1代表女。是否戴眼镜可以有2种:是和否,分别可以用0代表否(未戴眼镜),用1代表是(戴眼镜)。是否戴口罩可以有2种:是和否,同样分别可以用0代表否(没戴口罩),用1代表是(戴口罩)。人脸属性识别装置获取的多个人脸图片中的两个人脸图片的属性可以分别是女、戴眼镜、未戴口罩和男、未戴眼镜、未戴口罩,则这两个样本人脸图片的多个属性的属性值可以是1、1、0和0、0、0。本发明实施例中,对于某些人脸属性可以采用数值形式表示,例如年龄属性,对另一些人脸属性可以采用向量形式表示,例如性别属性和表情属性,本发明实施例中对此不作限定。
[0142]
本发明实施例通过获取人脸图片;将人脸图片输入到预设的人脸识别模型,该人脸识别模型是基于样本训练集作为模型训练样本训练得到的,该样本训练集中包括多个样本人脸图片,以及每张样本人脸图片对应的多张增广处理图片;根据人脸识别模型对人脸
图片进行人脸识别,输出人脸识别结果。在现有人脸识别模型仅通过样本人脸图片进行训练得到,导致人脸识别模型对于不同人脸图片的增广变形图片识别精度不高的情况下,本发明实施例中人脸识别模型是采用样本训练集作为模型训练样本训练得到的,由于样本训练集中包括多个样本人脸图片,每张样本人脸图片对应多张增广处理图片,即样本人脸图片和样本人脸图片对应的多张增广处理图片均是同一身份的人脸照片,从而使得采用该样本训练集训练得到的人脸识别模型能排除增广图片中的无效干扰,对于人脸图片及人脸图片的增广变形图片均能识别为同一身份,进而使得人脸识别模型具有更好的分类识别性能,另外也在一定程度上提升人脸识别的可解释性,提高了人脸识别的准确度。
[0143]
为了更好实施本发明实施例中人脸识别方法,在人脸识别方法基础之上,本发明实施例中还提供一种人脸识别装置,该人脸识别装置可以应用于服务器。
[0144]
如图4所示,为本发明实施例中人脸识别装置的一个实施例结构示意图,该人脸识别装置400包括:
[0145]
获取单元401,用于获取人脸图片;
[0146]
输入单元402,用于将所述人脸图片输入到预设的人脸识别模型,所述人脸识别模型是基于样本训练集作为模型训练样本训练得到的,所述样本训练集中包括多个样本人脸图片,以及每张样本人脸图片对应的多张增广处理图片;
[0147]
识别单元403,用于根据所述人脸识别模型对所述人脸图片进行人脸识别,输出人脸识别结果。
[0148]
在本申请一些实施例中,所述人脸识别装置还包括训练单元,所述训练单元具体用于:
[0149]
在将所述人脸图片输入到预设的人脸识别模型之前,采集多张样本人脸图片;
[0150]
根据所述多张样本人脸图片建立样本训练集,所述样本训练集中包括所述多个样本人脸图片,以及每张样本人脸图片对应的多张增广处理图片;
[0151]
根据所述样本训练集训练所述神经网络模型得到所述人脸识别模型。
[0152]
在本申请一些实施例中,所述训练单元具体用于:
[0153]
分别以所述多张样本人脸图片中的样本人脸图片为目标样本人脸图片,对所述目标样本人脸图片,采用预设的多种增广方式进行处理,得到多张增广处理图片;
[0154]
将所述多张增广处理图片添加到所述样本训练集。
[0155]
在本申请一些实施例中,所述多种增广方式包括翻转变换、随机修剪、色彩抖动、平移变换、尺度变换、对比度变换、噪声扰动和旋转变换中至少两种。
[0156]
在本申请一些实施例中,所述训练单元具体用于:
[0157]
依次将每张样本人脸图片对应的多张增广处理图片作为目标增广处理图片;
[0158]
将所述目标增广处理图片输入所述神经网络模型,对所述目标增广处理图片进行特征采样处理,得到特征图;
[0159]
对所述特征图进行全连接运算,得到所述目标增广处理图片的预测值;
[0160]
根据所述样本训练集中多张增广处理图片的预测值进行损失训练,得到所述人脸识别模型。
[0161]
在本申请一些实施例中,所述训练单元具体用于:
[0162]
对每张样本人脸图片对应的多张增广处理图片的预测值进行约束散度最小化处
理,以保证每张样本人脸图片对应的多张增广处理图的语义一致,得到每张样本人脸图片对应的多张增广处理图片的矫正预测值;
[0163]
获取每张样本人脸图片对应的多张增广处理图片的真实值;
[0164]
对每张样本人脸图片对应的多张增广处理图片的真实值和矫正预测值进行收敛,得到所述人脸识别模型。
[0165]
在本申请一些实施例中,所述训练单元具体用于:
[0166]
根据每张样本人脸图片对应的多张增广处理图片的真实值和矫正预测值,计算预设的损失函数对应的损失函数值;
[0167]
在所述损失函数值最小时,得到所述人脸识别模型。
[0168]
在本申请一些实施例中,所述训练单元具体用于:
[0169]
根据每张样本人脸图片的分类损失值;
[0170]
计算每张样本图片对应的多张增广处理图片在特征采样处理中的第一损失值;
[0171]
计算每张样本图片对应的多张增广处理图片在特征全连接处理中的第二损失值;
[0172]
根据所述分类损失值、所述第一损失值和所述第二损失值,计算所述损失函数值。
[0173]
本发明实施例通过获取单元401获取人脸图片;输入单元402将人脸图片输入到预设的人脸识别模型,该人脸识别模型是基于样本训练集作为模型训练样本训练得到的,该样本训练集中包括多个样本人脸图片,以及每张样本人脸图片对应的多张增广处理图片;识别单元403根据人脸识别模型对人脸图片进行人脸识别,输出人脸识别结果。在现有人脸识别模型仅通过样本人脸图片进行训练得到,导致人脸识别模型对于不同人脸图片的增广变形图片识别精度不高的情况下,本发明实施例中人脸识别模型是采用样本训练集作为模型训练样本训练得到的,由于样本训练集中包括多个样本人脸图片,每张样本人脸图片对应多张增广处理图片,即样本人脸图片和样本人脸图片对应的多张增广处理图片均是同一身份的人脸照片,从而使得采用该样本训练集训练得到的人脸识别模型能排除增广图片中的无效干扰,对于人脸图片及人脸图片的增广变形图片均能识别为同一身份,进而使得人脸识别模型具有更好的分类识别性能,另外也在一定程度上提升人脸识别的可解释性,提高了人脸识别的准确度。
[0174]
本发明实施例还提供一种服务器,其集成了本发明实施例所提供的任一种人脸识别装置,所述服务器包括:
[0175]
一个或多个处理器;
[0176]
存储器;以及
[0177]
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行上述人脸识别方法实施例中任一实施例中所述的人脸识别方法中的步骤。
[0178]
本发明实施例还提供一种服务器,其集成了本发明实施例所提供的任一种人脸识别装置。如图5所示,其示出了本发明实施例所涉及的服务器的结构示意图,具体来讲:
[0179]
该服务器可以包括一个或者一个以上处理核心的处理器501、一个或一个以上计算机可读存储介质的存储器502、电源503和输入单元504等部件。本领域技术人员可以理解,图5中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
[0180]
处理器501是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器502内的软件程序和/或模块,以及调用存储在存储器502内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器501可包括一个或多个处理核心;优选的,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。
[0181]
存储器502可用于存储软件程序以及模块,处理器501通过运行存储在存储器502的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器501对存储器502的访问。
[0182]
服务器还包括给各个部件供电的电源503,优选的,电源503可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源503还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
[0183]
该服务器还可包括输入单元504,该输入单元504可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
[0184]
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器501会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器502中,并由处理器501来运行存储在存储器502中的应用程序,从而实现各种功能,如下:
[0185]
获取人脸图片;
[0186]
将所述人脸图片输入到预设的人脸识别模型,所述人脸识别模型是基于样本训练集作为模型训练样本训练得到的,所述样本训练集中包括多个样本人脸图片,以及每张样本人脸图片对应的多张增广处理图片;
[0187]
根据所述人脸识别模型对所述人脸图片进行人脸识别,输出人脸识别结果。
[0188]
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
[0189]
为此,本发明实施例提供一种存储介质,该存储介质可以包括:只读存储器(rom,read only memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。该存储介质中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种人脸识别方法中的步骤。例如,该指令可以执行如下步骤:
[0190]
获取人脸图片;
[0191]
将所述人脸图片输入到预设的人脸识别模型,所述人脸识别模型是基于样本训练集作为模型训练样本训练得到的,所述样本训练集中包括多个样本人脸图片,以及每张样
本人脸图片对应的多张增广处理图片;
[0192]
根据所述人脸识别模型对所述人脸图片进行人脸识别,输出人脸识别结果。
[0193]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
[0194]
具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
[0195]
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
[0196]
以上对本发明实施例所提供的一种人脸识别方法、装置、服务器及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。