模型训练方法、人脸识别方法、装置、设备及存储介质与流程

文档序号:18144581发布日期:2019-07-10 11:31阅读:159来源:国知局
模型训练方法、人脸识别方法、装置、设备及存储介质与流程

本申请涉及人工智能技术领域,尤其涉及一种模型训练方法、一种跨年龄人脸识别方法、装置、设备及存储介质。



背景技术:

现阶段,跨年龄人脸识别问题是人脸识别领域面临的重大挑战之一,年龄变化使得人脸图像具有更复杂的多样性,极大增加了人脸识别的难度,跨年龄人脸识别技术仍然处于探索阶段。

现有的跨年龄人脸识别主要采用判别式方案,其主要是基于身份判别和年龄判别的多任务学习来进行的,但,由于身份特征和年龄特征通常具有一定程度上的关联性,如此,身份特征就会包括一些年龄信息,使得人脸识别结果并不可靠。

因此,如何提高跨年龄人脸识别的性能是目前亟需解决的问题。



技术实现要素:

本申请提供了一种模型训练方法,通过分离身份特征和年龄特征,利用身份判别器和年龄判别器进行联合学习以及去相关性训练得到特征提取模块,该特征提取模块对于身份特征和年龄特征具有较高的识别精度,将其用于跨年龄人脸识别,能够提高识别结果可靠性。本申请还提供了对应的装置、设备及介质。

有鉴于此,本申请第一方面提供了一种模型训练方法,所述方法包括:

获取训练批数据,所述训练批数据包括多个训练样本,每个所述训练样本包括样本图像及样本图像对应的身份标签和年龄标签;

针对所述训练批数据中每个所述训练样本,通过特征提取模块获得所述训练样本中样本图像对应的身份特征和年龄特征,并通过典型相关映射模块获得所述身份特征和所述年龄特征各自对应的典型相关映射变量;

基于所述训练批数据中每个所述训练样本对应的所述典型相关映射变量,通过批相关系数度量模块统计所述训练批数据对应的相关系数;

通过身份判别器和年龄判别器进行联合监督学习,并通过所述相关系数进行所述身份特征和所述年龄特征的去相关性训练,训练得到满足训练目标的所述特征提取模块。

本申请第二方面提供了一种跨年龄人脸识别方法,所述方法包括:

获取第一人脸图像和第二人脸图像;

通过预先训练的特征提取模块获取所述第一人脸图像中人脸部分的身份特征作为第一身份特征,并通过所述特征提取模块获取所述第二人脸图像中人脸部分的身份特征作为第二身份特征;所述特征提取模块为通过上述第一方面所述模型训练方法训练生成的;

根据所述第一身份特征和所述第二身份特征确定所述第一人脸图像与所述第二人脸图像中人脸的相似度;

显示识别结果,所述识别结果包括所述相似度。

本申请第三方面提供了一种模型训练装置,所述装置包括:

获取单元,用于获取训练批数据,所述训练批数据包括多个训练样本,每个所述训练样本包括样本图像及样本图像对应的身份标签和年龄标签;

分析单元,用于针对所述训练批数据中每个所述训练样本,通过特征提取模块获得所述训练样本中样本图像对应的身份特征和年龄特征,并通过典型相关映射模块获得所述身份特征和所述年龄特征各自对应的典型相关映射变量;

相关系数统计单元,用于基于所述训练批数据中每个所述训练样本对应的所述典型相关映射变量,通过批相关系数度量模块统计所述训练批数据对应的相关系数;

对抗学习单元,用于通过身份判别器和年龄判别器进行联合监督学习,并通过所述相关系数进行所述身份特征和所述年龄特征的去相关性训练,训练得到满足训练目标的所述特征提取模块。

本申请第四方面提供了一种跨年龄人脸识别装置,所述装置包括:

获取单元,用于获取第一人脸图像和第二人脸图像;

特征分析单元,用于通过预先训练的特征提取模块获取所述第一人脸图像中人脸部分的身份特征作为第一身份特征,并通过所述特征提取模块获取所述第二人脸图像中人脸部分的身份特征作为第二身份特征;所述特征提取模块为通过上述权利要求1至6中任一项所述模型训练方法训练生成的;

相似度确定单元,用于根据所述第一身份特征和所述第二身份特征确定所述第一人脸图像与所述第二人脸图像中人脸的相似度;

显示单元,用于显示识别结果,所述识别结果包括所述相似度。

本申请第五方面提供了一种设备,所述设备包括处理器以及存储器:

所述存储器用于存储计算机程序;

所述处理器用于根据所述计算机程序执行第一方面所述的模型训练方法或者第二方面所述的跨年龄人脸识别方法。

本申请第六方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面所述的模型训练方法或者第二方面所述的跨年龄人脸识别方法。

本申请第六方面提供了一种包括指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行第一方面所述的模型训练方法或者第二方面所述的跨年龄人脸识别方法。

从以上技术方案可以看出,本申请实施例具有以下优点:

本申请实施例中提供了一种模型训练方法,在训练过程中,通过特征提取模块分解训练样本中样本图像的身份特征和年龄特征,通过典型相关映射模块获得身份特征和年龄特征各自对应的典型相关映射变量,基于该典型相关映射变量可以确定训练批数据对应的相关系数,利用该相关系数增加去相关性的约束,基于去相关性的对抗学习使得最终训练得到的特征提取模块识别出的身份特征与年龄特征的相关性极低,从而提高识别精度。将该特征提取模块应用于跨年龄人脸识别,由于能够准确分解出身份特征和年龄特征,因此,能够排除年龄干扰,提高跨年龄人脸识别的识别结果可靠性。

附图说明

图1为本申请实施例中模型训练方法的场景架构图;

图2为本申请实施例中模型训练方法的流程图;

图3为本申请实施例中模型训练方法的示例图;

图4为本申请实施例中跨年龄人脸识别方法的场景架构图;

图5为本申请实施例中跨年龄人脸识别方法的流程图;

图6为本申请实施例中模型训练方法及跨年龄人脸识别方法的场景示意图;

图7为本申请实施例中模型训练装置的一个结构示意图;

图8为本申请实施例中跨年龄人脸识别装置的一个结构示意图;

图9为本申请实施例中服务器的一个结构示意图;

图10为本申请实施例中终端的一个结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

针对采用判别式方案进行跨年龄人脸识别时,身份特征和年龄特征通常具有一定程度上的关联性,身份特征中包括一些年龄信息,使得识别结果不可靠的技术问题,本申请提供了一种模型训练方法,其通过在训练过程中增加去相关性约束,使得最终训练得到的特征提取模块能够较好地分解身份特征和年龄特征,由于二者相关性极低,因此,在利用身份特征进行跨年龄人脸识别时,受到年龄因素的影响较小,因而具有较高的识别精度。

可以理解,本申请提供的模型训练方法可以应用于任意具有图形处理能力的处理设备。具体地,该处理设备可以是包括中央处理器(centralprocessingunit/processor,cpu)和/或图形处理器(graphicsprocessingunit,gpu)的终端、服务器等设备。其中,终端包括桌面终端、手机/平板电脑等移动智能终端、车载终端以及可穿戴终端等等。

需要说明的是,该模型训练方法可以以计算机程序的形式存储于上述处理设备中,上述处理设备通过执行计算机程序以实现本申请提供的模型训练方法。

为了使得本申请的技术方案更加清楚、易于理解,下面将结合具体场景对本申请提供的模型训练方法进行介绍。

参见图1所示的模型训练方法的场景架构图,该场景中包括服务器10和样本数据库20,样本数据库20中存储有训练批数据,训练批数据具体包括多个训练样本,每个训练样本包括样本图像及样本图像对应的身份标签和年龄标签,服务器10从样本数据库20中获取训练批数据,针对训练批数据中每个训练样本,通过特征提取模块获得训练样本中样本图像对应的身份特征和年龄特征,并通过典型相关映射模块获得身份特征和年龄特征各自对应的典型相关映射变量,基于训练批数据中每个训练样本对应的典型相关映射变量,通过批相关系数度量模块统计训练批数据对应的相关系数,通过身份判别器和年龄判别器进行联合监督学习,并通过所述相关系数进行身份特征和年龄特征的去相关性训练,得到满足训练目标的特征提取模块。

下面从服务器的角度,对本申请实施例提供的模型训练方法的各个步骤进行详细说明。参见图2所示的模型训练方法的流程图,该方法包括:

s201:获取训练批数据。

所述训练批数据包括多个训练样本,每个所述训练样本包括样本图像及其对应的身份标签和年龄标签。其中,样本图像具体为人脸图像,身份标签用于表征该样本图像中人的身份,在具体实现时,身份标签可以是人的身份证号、人的姓名或者其他能够区分标识人的信息;当存在重名情况时,还可以增加其他信息进行区分,年龄标签用于表征样本图像中人的年龄,在具体实现时,年龄标签可以是具体的数值,如十八岁,也可以是年龄段,如青年、中年等等。

在一些可能的实现方式中,服务器可以从预先构建的跨年龄数据库中获取训练批数据,用于通过离线学习的方式训练模型。其中,跨年龄数据库存储有训练样本,该训练样本可以是从网络中爬取人脸图像,并对上述人脸图像进行身份标注和年龄标注得到。具体地,在爬取人脸图像时,可以针对每一人,爬取其在不同年龄时的多张人脸图像,并对这多张人脸图像均进行身份标注和年龄标注,得到多个训练样本。

在获得多个训练样本后,可以将其分批得到多个训练批数据,通过训练批数据分批进行训练,可以分批计算损失函数和更新参数,如此,更新方向比较稳定,并且计算开销也相对较小。

s202:针对所述训练批数据中每个所述训练样本,通过特征提取模块获得所述训练样本中样本图像对应的身份特征和年龄特征,并通过典型相关映射模块获得所述身份特征和所述年龄特征各自对应的典型相关映射变量。

其中,特征提取模块是指用于提取身份特征和年龄特征的模块,其具体可以是神经网络。在具体实现时,特征提取模块可以包括级联的初始特征提取模块和残差分解模块(residualfactorizationmodule,rfm),其中,初始特征提取模块用于通过卷积神经网络(convolutionalneuralnetwork,cnn)提取人脸图像的初始特征,该初始特征提取模块具体可以是cnn主干网络backbone,所述rfm用于通过残差网络对所述初始特征进行线性分解得到身份特征和年龄特征。

在本实施例中,backbone利用卷积神经网络构建而成,一般由一系列的卷积层和池化层连接构成。作为本申请的一些具体示例,backbone可以包括深度残差网络resnet、vggnet或senet等等。

典型相关映射模块(canonicalmappingmodule,cmm)具体是指利用典型相关分析(canonicalcorrelationanalysis,cca)方法对变量相关性进行分析的模块。具体到本实施例,cmm用于对年龄特征和身份特征相关性进行分析。针对训练批数据中的每个训练样本,将其身份特征和年龄特征输入cmm,可以得到所述身份特征和年龄特征各自对应的典型相关映射变量。

在一些可能的实现方式中,cmm可以采用批数据典型相关分析(batchcanonicalmappingmodule,bcca)度量身份特征和年龄特征的相关性,如此,在后续训练过程中,可以采用随机梯度下降算法优化目标值达到对抗过程中的最大值或者最小值。

s203:基于所述训练批数据中每个所述训练样本对应的所述典型相关映射变量,通过批相关系数度量模块统计所述训练批数据对应的相关系数。

批相关系数度量模块是指对训练批数据中身份特征和年龄特征相关性进行度量的模块。其基于每个训练样本身份特征和年龄特征各自对应的典型相关映射变量,进行相关系数统计,得到训练批数据对应的相关系数,该相关系数能够表征整个训练批数据的身份特征和年龄特征的相关性。其统计过程在下文进行详细说明。

s204:通过身份判别器和年龄判别器进行联合监督学习,并通过所述相关系数进行所述身份特征和所述年龄特征的去相关性训练,训练得到满足训练目标的所述特征提取模块。

在进行模型训练时,服务器将身份特征输入身份判别器,年龄特征输入年龄判别器,然后基于训练样本中的身份标签和年龄标签进行联合监督学习,在进行监督学习时,通过身份判别器和年龄判别器的损失函数更新模型参数。

在具体实现时,身份判别器的损失可以采用余弦人脸cosface框架下的增大间隔余弦损失函数(largemargincosineloss,lmcl),其有助于学习高度判别性的深度特征。

当然在本申请实施例其他可能的实现方式中,也可以采用其他具有身份特征判别功能的损失函数,例如sphereface、arcface、centerloss或者交叉熵损失函数softmax等等。

年龄判别器的损失可以采用softmax,当然,在实际应用时,还可以采用其他任意具有年龄分类功能的损失函数。此外,在对年龄特征进行学习时,还可以通过年龄回归的技术方案实现。

并且,在联合监督学习时,服务器还基于表征训练批数据相关性的相关系数施加去相关性约束,也即基于上述相关系数进行去相关性训练,如此,可以得到满足训练目标的特征提取模块。

模型的训练目标是首先寻找相关性最大的典型映射,然后持续地在这个最优映射方向上使得身份特征和年龄特征的相关性达到最小。这样,身份特征和年龄特征的相关性将会被最大化地减小,从而使得二者最终相互无关。

需要说明的是,身份特征和年龄特征无关具体是指身份特征和年龄特征相关性极低,达到可以视为无关的程度。作为本申请的一个示例,当身份特征和年龄特征的相关系数小于预设值时,可以视为二者相互无关。该预设值可以根据实际需求设置,本申请实施例对此不作限定。

由上可知,本申请实施例提供了一种模型训练方法,在训练过程中,通过特征提取模块分解训练样本中样本图像的身份特征和年龄特征,通过典型相关映射模块获得身份特征和年龄特征各自对应的典型相关映射变量,基于该典型相关映射变量可以确定训练批数据对应的相关系数,利用该相关系数增加去相关性的约束,基于去相关性的对抗学习使得最终训练得到的特征提取模块识别出的身份特征与年龄特征的相关性极低,从而提高识别精度。将该特征提取模块应用于跨年龄人脸识别,由于能够准确分解出身份特征和年龄特征,因此,能够排除年龄干扰,提高跨年龄人脸识别的识别结果可靠性。

可以理解,本申请实施例提供的模型训练方法关键在于去相关性训练,通过去相关性训练,可以使得最终训练得到的特征提取模块提取的身份特征和年龄特征相关性极低。基于此,本申请实施例还提供了去相关性训练的一种具体实现方式,其具体包括如下步骤:

首先,固定特征提取模块的参数,通过更新典型相关映射模块cmm的参数使得相关系数的绝对值最大,从而寻找到相关性最大的典型映射;

其次,固定典型相关映射模块cmm的参数,通过更新特征提取模块、身份判别器和年龄判别器各自的参数使得训练损失达到最小,即在上述相关性最大的典型映射方向上使得身份特征和年龄特征的相关性达到最小。

其中,训练损失是根据对抗损失、身份判别器的损失和年龄判别器的损失确定的。

作为一种实现方式,可以对抗损失、身份判别器的损失和年龄判别器的损失进行加权求和,将加权求和结果作为训练损失。其中,权值用于平衡上述三种损失,可以根据实际需求而设置。

为了便于理解,本申请还提供了模型训练方法的一个具体示例。参照图3所示的模型训练方法的框架图,在该方法中,输入训练样本,该训练样本包括样本图像及其对应的身份标签和年龄标签,主干网络可以从样本图像中提取人脸图像的初始特征,然后通过残差分解模块将初始特征分解为身份特征和年龄特征,身份判别器iddiscriminator学习上述身份特征,年龄判别器agediscriminator学习上述年龄特征,与此同时,上述身份特征和年龄特征一并输入到典型相关映射模块cmm,并经过一个批相关系数度量模块即dalregularizer进行对抗学习以实现相关性优化。

下面对上述示例的特征分解、对抗学习等过程进行详细说明。

在特征分解过程中,设定样本图像中人脸图像p,通过主干网络f提取得到初始特征x,经过残差网络r,将其线性分解为身份特征xid和年龄特征xage。

具体地,其分解公式可以为:

x=f(p)(1)

xage=r(x)(2)

xid=x-r(x)(3)

可以理解,初始特征x包括身份特征xid和年龄特征xage,在通过初始特征提取模块提取人脸图像的初始特征x,并通过残差网络获取人脸图像的年龄特征xage后,可以确定初始特征x与人脸图像的年龄特征xage的差值作为人脸图像的身份特征xid。通过身份判别器和年龄判别器的联合监督使得xid和xage分别具有身份信息和年龄信息。

对抗学习具体是通过去相关对抗学习算法(decorrelatedadversariallearning,dal)算法实现的。xid和xage一并输入典型相关映射模块c后,输出它们的线性组合vid和vage,具体如下所示:

其中,wid和wage是c的可学习的映射参数,vid和vage是训练样本的典型相关变量,在批相关系数度量模块中统计并优化二者的相关系数。

给定一个训练批数据的身份特征集合bid和年龄特征集合bage,m是批大小(即批数据里的样本数目,batchsize):

其相关系数ρ表示如下:

其中,μ和σ2分别是特征的统计均值和方差,ε是一个常数极小值,防止除0。对于这个目标函数,本申请使用随机梯度下降算法(stochasticgradientdescent,sgd)进行优化,以得到相关系数的绝对值|ρ|的最大值或者最小值。

其中,梯度推导如下:

在进行对抗训练时,先固定f和r的参数,通过更新c的参数使得相关系数绝对值|ρ|最大,即找到相关性最大的典型映射,接着,固定c的参数,通过更新f和r的参数使得相关系数绝对值|ρ|最小,如此,可以使得身份特征和年龄特征,在具有最大典型相关系数的映射方向上的相关性达到最小。

该对抗训练的损失函数可以通过如下公式表达:

其中,ldal表征对抗损失,r(f(p))表征xage,f(p)-r(f(p))表征xid,c(r(f(p)))和c(f(p)-r(f(p)))表征xage和xid输入典型相关映射模块c得到的典型相关映射变量vage和vid。

因此,上述两个步骤交替对抗构成了对抗训练过程。也就是说,模型的训练目标是首先寻找相关性最大的典型映射,然后持续地在这个最优映射方向上使得身份特征和年龄特征的相关性达到最小。如此,身份特征和年龄特征的相关性将会被最大化地减小,从而使得二者最终相互无关。

最终,整个训练过程由身份判别器、年龄判别器和去相关对抗学习三个训练任务联合构成,总体损失函数如下:

l=lid(xid)+λ1lage(xage)+λ2ldal(xid,xage)(11)

其中,lid和lage分别是身份判别器和年龄判别器的损失函数,λ1和λ2为超参数,用于平衡三者的权重。其中,lage可以使用softmax损失函数,lid可以使用cosface框架下的lmcl损失函数,具体参见如下公式:

其中,m是预设的分类间隔超参数,s是预设的尺度超参数,n是训练集合的所有身份的类别数目,yi是第i个训练样本的身份标签,cos(θj,i)是第i个训练样本身份特征向量与其分类权重向量夹角的余弦值。

需要说明的是,以上仅为本申请提供的模型训练方法的一个具体示例,在本申请实施例其他可能的实现方式中,上述lid和lage还可以是其他具有身份分类功能、年龄分类功能的损失函数,总体损失函数l还可以是其他表现形式,在实际应用时,可以根据实际需求设置相应的损失函数以及对应的权重。

基于本申请实施例提供的模型训练方法,本申请实施例还提供了一种跨年龄人脸识别方法,该方法是基于上述模型训练方法训练得到的特征提取模块实现的,下面结合附图对上述跨年龄人脸识别方法进行介绍。

可以理解,本申请提供的跨年龄人脸识别方法应用于任意具有图形处理能力的处理设备,该处理设备具体可以是包括cpu和/或gpu终端,终端可以独立实现本申请提供的跨年龄人脸识别方法,也可以和服务器配合实现本申请提供的跨年龄人脸识别方法。

为了使得该方法更加清楚、易于理解,下面结合具体场景对该跨年龄人脸识别方法进行介绍。

参见图4所示的跨年龄人脸识别方法的场景架构图,该场景中包括终端40,用户通过终端40触发跨年龄人脸识别操作,终端40响应于该操作,获取第一人脸图像和第二人脸图像,通过预先训练的特征提取模块获取第一人脸图像中人脸部分的身份特征作为第一身份特征,并通过该特征提取模块获取第二人脸图像中人脸部分的身份特征作为第二身份特征,根据第一身份特征和第二身份特征确定第一人脸图像与第二人脸图像中人脸的相似度,然后显示识别结果,该识别结果包括上述相似度。

接下来,从终端的角度对本申请实施例提供的跨年龄人脸识别方法的各个步骤进行详细说明。

参见图5所示的跨年龄人脸识别方法的流程图,该方法包括:

s501:获取第一人脸图像和第二人脸图像。

第一人脸图像和第二人脸图像是待进行身份识别的两张人脸图像,第一人脸图像和第二人脸图像可以是不同年龄的两张人脸图像,用于通过本申请的跨年龄人脸识别方法识别这两张人脸图像是否为同一人的人脸图像。

s502:通过预先训练的特征提取模块获取所述第一人脸图像中人脸部分的身份特征作为第一身份特征,并通过所述特征提取模块获取所述第二人脸图像中人脸部分的身份特征作为第二身份特征。

所述特征提取模块为通过本申请实施例提供的所述模型训练方法训练生成的,其提取的身份特征和年龄特征相关性极低,因此,可以利用该特征提取模块提取第一人脸图像和第二人脸图像中人脸部分的身份特征,作为第一身份特征和第二身份特征。

s503:根据所述第一身份特征和所述第二身份特征确定所述第一人脸图像与所述第二人脸图像中人脸的相似度。

第一身份特征能够表征第一人脸图像中人脸部分的身份信息,第二身份特征能够表征第二人脸图像中人脸部分身份信息,因此,第一身份特征和第二身份特征的相似度能够表征第一人脸图像和第二人脸图像中人脸的相似度。基于此,可以计算第一身份特征向量与第二身份特征向量的相似度作为第一人脸图像与第二人脸图像中人脸的相似度。

需要说明的是,向量之间的相似度可以通过向量距离进行表征。作为本申请的一个示例,可以通过向量的夹角余弦也即余弦距离衡量向量的相似度,夹角余弦越大表示两个向量的夹角越小,相似度越高,夹角余弦越小表示两个向量的夹角越大,相似度越低。其中,夹角余弦取值范围为[-1,1],在一些可能的实现方式中,可以对该夹角余弦取值进行归一化,以便通过百分比的形式表征相似度。

在实际应用时,还可以根据需求选择对应的距离,如欧氏距离、相关距离等衡量向量的相似度,本申请实施例对此不作限定。

s504:显示识别结果,所述识别结果包括所述相似度。

具体地,识别结果包括第一人脸图像和第二人脸图像中人脸的相似度,进一步地,识别结果还可以包括第一人脸图像和第二人脸图像是否为同一人的人脸图像的判别结果。

在一些可能的实现方式中,第一人脸图像和第二人脸图像中人脸的相似度大于相似度阈值时,则确定第一人脸图像和第二人脸图像是同一人的人脸图像。在显示识别结果时,还可以显示该第一人脸图像和第二人脸图像是同一人的人脸图像。

其中,相似度阈值可以根据实际需求而设置,作为本申请的一个示例,其可以设置为90%。

由上可知,本申请实施例提供了一种跨年龄人脸识别方法,该方法利用预先训练的特征提取模块提取第一人脸图像和第二人脸图像中人脸部分的身份特征,得到第一身份特征和第二身份特征,基于第一身份特征和第二身份特征确定第一人脸图像和第二人脸图像中人脸部分的相似度,将该相似度作为识别结果,并显示该识别结果。由于特征提取模块提取的身份特征与年龄特征相关性极低,其包含的年龄信息对于人脸识别的影响较小,因而具有较高的识别精度,识别结果可靠性较高。

图5所示实施例是由终端独立实现本申请的跨年龄人脸识别方法进行说明的,在本申请实施例其他可能的实现方式中,终端还可以与服务器配合,实现上述跨年龄人脸识别方法。

具体地,终端向服务器发送第一人脸图像和第二人脸图像,由服务器通过特征提取模块从第一人脸图像中提取人脸部分的身份特征得到第一身份特征,从第二人脸图像中提取人脸部分的身份特征得到第二身份特征,并基于该第一身份特征和第二身份特征确定第一人脸图像和第二人脸图像中人脸部分的相似度,然后服务器将该相似度作为识别结果发送给终端,终端显示该识别结果,从而实现跨年龄人脸识别。

可以理解,本申请提供的跨年龄人脸识别方法可以通过人工智能(artificialintelligence,ai)技术应用于许多领域,如刑侦、寻亲、安防等领域。下面以寻亲应用场景作为示例,对本申请提供的模型训练方法以及跨年龄人脸识别进行介绍。

参见图6所示的模型训练方法以及跨年龄人脸识别方法的场景示意图,该场景中包括训练服务器610、样本数据库620、识别服务器630、走失人口信息数据库640以及终端650,训练服务器610利用样本数据620中的训练样本训练得到特征提取模块,然后识别服务器630利用特征提取模块,将寻亲者上传的第一人脸图像和走失人口信息数据库中第二人脸图像进行跨年龄人脸识别,得到寻亲者上传图像与走失人口信息数据库中第二人脸图像人脸部分的相似度,并将相似度大于相似度阈值的第二人脸图像及其与第一人脸图像人脸部分相似度作为识别结果返回给终端650,由终端650对上述识别结果进行显示,如界面651所示,如此,寻亲者可以基于上述识别结果确定上述第二人脸图像是否为走失亲人的人脸图像。

具体地,样本数据库620中存储有多组训练样本,每组训练样本至少两个训练样本,具体为同一人在不同年龄的人脸图像以及对应的身份标签和年龄标签,在进行模型训练时,将多组训练样本分批得到训练数据批,利用训练数据批对模型进行分批训练。

下面以针对其中一个训练批数据的训练过程作为示例,对模型训练方法进行介绍。针对训练批中的每一个训练样本,训练服务器610先通过主干网络从样本图像中提取初始特征,然后通过残差网络将该初始特征线性分解为身份特征和年龄特征,一方面,将该身份特征和年龄特征分别输入各自对应的判别器进行联合监督学习,另一方面将该身份特征和年龄特征输入典型相关映射模块cmm,得到各自对应的典型相关映射变量,在得到训练批数据中每个训练样本对应的典型相关映射变量后,可以通过批相关系数度量模块,基于上述式(7)统计所述训练批数据对应的相关系数,基于该相关系数进行身份特征和年龄特征的去相关训练。

其中,去相关训练具体为,先固定特征提取模块即主干网络和残差网络的参数,通过更新典型相关映射模块的参数使得相关系数绝对值|ρ|最大,即找到相关性最大的典型映射,接着,固定典型相关映射模块的参数,通过更新特征提取模块的参数使得相关系数绝对值|ρ|最小,如此,可以使得身份特征和年龄特征,在具有最大典型相关系数的映射方向上的相关性达到最小。

整个训练过程包括基于判别器、年龄判别器和去相关对抗学习三个训练任务,其总体损失函数是根据上述三个训练任务的损失函数确定的,每个训练任务的损失函数的权重可以根据实际需求而进行调整,当总体损失函数达到收敛时,可以停止训练,将此时的特征提取模块作为最终训练得到的特征提取模块,该特征提取模块可以用于跨年龄人脸识别。

接下来,对识别服务器630利用上述特征提取模块进行跨人脸识别的过程进行详细说明。寻亲者通过终端650上传走失亲人的第一人脸图像,该第一人脸图像具体可以为走失亲人在童年时的人脸图像,识别服务器630利用上述特征提取模块从第一人脸图像中提取人脸部分的身份特征得到第一身份特征,并从走失人口信息数据库640中第二人脸图像提取人脸部分的身份特征得到第二身份特征,然后分别计算第一身份特征和每个第二身份特征的相似度,以确定第一人脸图像与走失人口信息数据库中每张第二人脸图像人脸部分的相似度,若存在第二人脸图像与第一人脸图像相似度大于相似度阈值,则将该第二人脸图像及其相似度阈值作为识别结果返回给终端650,终端650显示该识别结果,如此寻亲者可以基于该识别结果实现寻亲。

以上为本申请实施例提供的模型训练方法、跨年龄人脸识别方法的一些具体实现方式,基于此,本申请实施例还提供了对应的装置,接下来,将从功能模块化的角度,对上述装置进行介绍。

参见图7所示的模型训练装置的结构示意图,该装置700包括:

获取单元710,用于获取训练批数据,所述训练批数据包括多个训练样本,每个所述训练样本包括样本图像及其对应的身份标签和年龄标签;

分析单元720,用于针对所述训练批数据中每个所述训练样本,通过特征提取模块获得所述训练样本中样本图像对应的身份特征和年龄特征,并通过典型相关映射模块获得所述身份特征和所述年龄特征各自对应的典型相关映射变量;

相关系数统计单元730,用于基于所述训练批数据中每个所述训练样本对应的所述典型相关映射变量,通过批相关系数度量模块统计所述训练批数据对应的相关系数;

对抗学习单元740,用于通过身份判别器和年龄判别器进行联合监督学习,并通过所述相关系数进行所述身份特征和所述年龄特征的去相关性训练,训练得到满足训练目标的所述特征提取模块。

可选的,所述对抗学习单元740具体用于:

固定所述特征提取模块的参数,通过更新所述典型相关映射模块的参数使得所述相关系数的绝对值最大;

固定所述典型相关映射模块的参数,通过更新所述特征提取模块、所述身份判别器和所述年龄判别器各自的参数使得训练损失达到最小,所述训练损失包括所述相关系数的绝对值、所述身份判别器的损失和所述年龄判别器的损失。

可选的,所述装置700还包括:

训练损失确定单元,用于对所述对抗损失、所述身份判别器的损失和所述年龄判别器的损失进行加权求和,将加权求和结果作为所述训练损失。

可选的,所述身份判别器的损失采用增大间隔余弦损失函数。

可选的,所述年龄判别器的损失采用交叉熵损失函数。

可选的,所述特征提取模块包括:级联的初始特征提取模块和残差分解模块;其中,

所述初始特征提取模块,用于通过卷积神经网络提取人脸图像的初始特征;

所述残差分解模块,用于通过残差网络对所述初始特征进行线性分解得到身份特征和年龄特征。

可选的,所述初始特征提取模块采用深度残差网络。

本申请实施例还提供了一种跨年龄人脸识别装置,所述装置800包括:

获取单元810,用于获取第一人脸图像和第二人脸图像;

特征分析单元820,用于通过预先训练的特征提取模块获取所述第一人脸图像中人脸部分的身份特征作为第一身份特征,并通过所述特征提取模块获取所述第二人脸图像中人脸部分的身份特征作为第二身份特征;所述特征提取模块为通过上述权利要求1至6中任一项所述模型训练方法训练生成的;

相似度确定单元830,用于根据所述第一身份特征和所述第二身份特征确定所述第一人脸图像与所述第二人脸图像中人脸的相似度;

显示单元840,用于显示识别结果,所述识别结果包括所述相似度。

本申请实施例还提供了一种设备,该设备包括处理器以及存储器:

所述存储器用于存储计算机程序;

所述处理器用于根据所述计算机程序执行本申请实施例提供的模型训练方法或者跨年龄人脸识别方法。

下面将从硬件实体化的角度对本申请实施例提供的设备进行介绍。

图9是本申请实施例提供的一种服务器结构示意图,该服务器900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)922(例如,一个或一个以上处理器)和存储器932,一个或一个以上存储应用程序942或数据944的存储介质930(例如一个或一个以上海量存储设备)。其中,存储器932和存储介质930可以是短暂存储或持久存储。存储在存储介质930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器922可以设置为与存储介质930通信,在服务器900上执行存储介质930中的一系列指令操作。

服务器900还可以包括一个或一个以上电源926,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口958,和/或,一个或一个以上操作系统941,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述实施例中由服务器所执行的步骤可以基于该图9所示的服务器结构。

其中,cpu922用于执行如下步骤:

获取训练批数据,所述训练批数据包括多个训练样本,每个所述训练样本包括样本图像及其对应的身份标签和年龄标签;

针对所述训练批数据中每个所述训练样本,通过特征提取模块获得所述训练样本中样本图像对应的身份特征和年龄特征,并通过典型相关映射模块获得所述身份特征和所述年龄特征各自对应的典型相关映射变量;

基于所述训练批数据中每个所述训练样本对应的所述典型相关映射变量,通过批相关系数度量模块统计所述训练批数据对应的相关系数;

通过身份判别器和年龄判别器进行联合监督学习,并通过所述相关系数进行所述身份特征和所述年龄特征的去相关性训练,训练得到满足训练目标的所述特征提取模块。

可选的,所述cpu922还用于执行本申请实施例提供的模型训练方法的任意一种实现方式的步骤。

本申请实施例还提供了另一种设备,如图10所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(英文全称:personaldigitalassistant,英文缩写:pda)、销售终端(英文全称:pointofsales,英文缩写:pos)、车载电脑等任意终端设备,以终端为手机为例:

图10示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图10,手机包括:射频(英文全称:radiofrequency,英文缩写:rf)电路1010、存储器1020、输入单元1030、显示单元1040、传感器1050、音频电路1060、无线保真(英文全称:wirelessfidelity,英文缩写:wifi)模块1070、处理器1080、以及电源1090等部件。本领域技术人员可以理解,图10中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

下面结合图10对手机的各个构成部件进行具体的介绍:

rf电路1010可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1080处理;另外,将设计上行的数据发送给基站。通常,rf电路1010包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(英文全称:lownoiseamplifier,英文缩写:lna)、双工器等。此外,rf电路1010还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(英文全称:globalsystemofmobilecommunication,英文缩写:gsm)、通用分组无线服务(英文全称:generalpacketradioservice,gprs)、码分多址(英文全称:codedivisionmultipleaccess,英文缩写:cdma)、宽带码分多址(英文全称:widebandcodedivisionmultipleaccess,英文缩写:wcdma)、长期演进(英文全称:longtermevolution,英文缩写:lte)、电子邮件、短消息服务(英文全称:shortmessagingservice,sms)等。

存储器1020可用于存储软件程序以及模块,处理器1080通过运行存储在存储器1020的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

输入单元1030可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1030可包括触控面板1031以及其他输入设备1032。触控面板1031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1031上或在触控面板1031附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器1080,并能接收处理器1080发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1031。除了触控面板1031,输入单元1030还可以包括其他输入设备1032。具体地,其他输入设备1032可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元1040可包括显示面板1041,可选的,可以采用液晶显示器(英文全称:liquidcrystaldisplay,英文缩写:lcd)、有机发光二极管(英文全称:organiclight-emittingdiode,英文缩写:oled)等形式来配置显示面板1041。进一步的,触控面板1031可覆盖显示面板1041,当触控面板1031检测到在其上或附近的触摸操作后,传送给处理器1080以确定触摸事件的类型,随后处理器1080根据触摸事件的类型在显示面板1041上提供相应的视觉输出。虽然在图10中,触控面板1031与显示面板1041是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板1031与显示面板1041集成而实现手机的输入和输出功能。

手机还可包括至少一种传感器1050,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板1041的亮度,接近传感器可在手机移动到耳边时,关闭显示面板1041和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路1060、扬声器1061,传声器1062可提供用户与手机之间的音频接口。音频电路1060可将接收到的音频数据转换后的电信号,传输到扬声器1061,由扬声器1061转换为声音信号输出;另一方面,传声器1062将收集的声音信号转换为电信号,由音频电路1060接收后转换为音频数据,再将音频数据输出处理器1080处理后,经rf电路1010以发送给比如另一手机,或者将音频数据输出至存储器1020以便进一步处理。

wifi属于短距离无线传输技术,手机通过wifi模块1070可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图10示出了wifi模块1070,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器1080是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器1020内的软件程序和/或模块,以及调用存储在存储器1020内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器1080可包括一个或多个处理单元;优选的,处理器1080可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1080中。

手机还包括给各个部件供电的电源1090(比如电池),优选的,电源可以通过电源管理系统与处理器1080逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。

尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。

在本申请实施例中,该终端所包括的处理器1080还具有以下功能:

获取第一人脸图像和第二人脸图像;

通过预先训练的特征提取模块获取所述第一人脸图像中人脸部分的身份特征作为第一身份特征,并通过所述特征提取模块获取所述第二人脸图像中人脸部分的身份特征作为第二身份特征;所述特征提取模块为通过本申请实施例提供的模型训练方法训练生成的;

根据所述第一身份特征和所述第二身份特征确定所述第一人脸图像与所述第二人脸图像中人脸的相似度;

显示识别结果,所述识别结果包括所述相似度。

可选的,所述处理器1080还用于执行本申请实施例提供的跨年龄人脸识别方法的任意一种实现方式的步骤。

需要说明的是,在实际应用时,终端还可以和服务器配合共同实现上述跨年龄人脸识别方法,例如,由服务器获取第一人脸图像和第二人脸图像,并通过预先训练的特征提取模块获取所述第一人脸图像中人脸部分的身份特征作为第一身份特征,以及通过所述特征提取模块获取所述第二人脸图像中人脸部分的身份特征作为第二身份特征,根据所述第一身份特征和所述第二身份特征确定所述第一人脸图像与所述第二人脸图像中人脸的相似度,将所述相似度作为识别结果发送给终端,由终端显示上述识别结果。

本申请实施例还提供一种计算机可读存储介质,用于存储程序代码,该程序代码用于执行前述各个实施例所述的一种模型训练方法中的任意一种实施方式或者各个实施例所述的一种跨年龄人脸识别方法的任意一种实施方式。

本申请实施例还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例所述的一种模型训练方法中的任意一种实施方式或者各个实施例所述的一种跨年龄人脸识别方法的任意一种实施方式。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(英文全称:read-onlymemory,英文缩写:rom)、随机存取存储器(英文全称:randomaccessmemory,英文缩写:ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1