掌桥专利:专业的专利平台
掌桥专利
首页

一种人脸图像年龄特征识别方法

文献发布时间:2023-06-19 11:35:49


一种人脸图像年龄特征识别方法

技术领域

本发明属于人脸识别技术领域,具体涉及一种人脸图像年龄特征识别方法。

背景技术

基于人脸图像的年龄估计是指应用计算机技术对人脸图像随年龄变化的规律进行建模,从而使机器能够根据面部图像推测出人的大概年龄或所属的年龄范围。如果基于人脸图像的年龄估计问题得到解决,那么在日常生活中,基于年龄信息的各种人机交互系统将在现实生活中产生极大的应用需求。

为了对人脸图像的年龄进行判断,现有的年龄识别系统通过两级级联的神经网络对年龄进行识别,但是由于不同性别会影响年龄识别,因此使用两级神经网络对年龄识别会产生较大的误差。

发明内容

为了克服现有技术的不足,本发明的目的在于提供一种人脸图像年龄特征识别方法,由于人脸识别过程中不同性别同一年龄所处的年龄段不同,本申请有利于提高人脸识别过程中不同性别对年龄的精准识别。

第一方面,本申请提供一种人脸图像年龄特征识别方法,包括:

获取人脸图像;

根据目标模型对所述人脸图像进行年龄识别,得到所述人脸图像的年龄特征;所述目标模型包括第一级深度神经网络、第二级深度神经网络和第三级深度神经网络;其中,所述第一级深度神经网络对所述人脸图像进行性别特征提取,得到所述人脸图像的所述性别特征;所述第二级深度神经网络对所述人脸图进行年龄段特征提取,得到所述人脸图像的所述年龄段特征;第三级深度神经网络对所述人脸图像进行所述年龄特征提取,得到所述人脸图像的所述年龄特征。

在一种可能的实现方式中,所述方法还包括:

对所述人脸图像进行图像预处理,所述图像预处理包括图像扶正和/或图像增强和/或图像归一化。

在一种可能的实现方式中,在所述根据目标模型对所述人脸图像进行年龄识别,得到所述人脸图像的年龄特征之前,所述方法还包括:

获取训练数据,所述训练数据中包括已标注年龄特征和性别特征的一个或多个样本人脸图像;

根据所述样本人脸图像,通过深度学习算法训练所述目标模型。

在一种可能的实现方式中,所述根据所述样本人脸图像,通过深度学习算法训练所述目标模型,具体包括:

根据所述样本人脸图像和所述样本人脸图像标注的所述性别特征,通过所述深度学习算法训练出所述第一级深度神经网络;

根据所述样本人脸图像和所述样本人脸图像标注的所述年龄特征所在的所述年龄段特征,通过所述深度学习算法训练出所述第二级深度神经网络;

根据所述样本人脸图像和所述样本人脸图像标注的所述年龄特征,通过深度学习算法训练出所述第三级深度神经网络。

在一种可能的实现方式中,在所述获取人脸图像之前,所述方法还包括:

显示第一应用界面;

接收用户针对第一应用界面的第一输入操作;

所述获取人脸图像,具体包括:

响应于所述第一输入操作,获取所述用户的人脸图像。

在所述得到所述人脸图像的年龄特征后,所述方法还包括:

根据所述年龄特征,从商品数据库中确定出与所述人脸图像的所述年龄特征对应的商品信息;其中,所述商品数据库包括多个年龄特征对应的商品信息。

第二方面,本申请提供一种人脸图像年龄特征识别装置,包括:

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

识别单元,用于根据目标模型对所述人脸图像进行年龄识别,得到所述人脸图像的年龄特征;所述目标模型包括第一级深度神经网络、第二级深度神经网络和第三级深度神经网络;其中,所述第一级深度神经网络对所述人脸图像进行性别特征提取,得到所述人脸图像的所述性别特征;所述第二级深度神经网络对所述人脸图进行年龄段特征提取,得到所述人脸图像的所述年龄段特征;第三级深度神经网络对所述人脸图像进行所述年龄特征提取,得到所述人脸图像的所述年龄特征。

在一种可能的实现方式中,所述装置还包括:

预处理单元,用于对所述人脸图像进行图像预处理,所述图像预处理包括图像扶正和/或图像增强和/或图像归一化。

在一种可能的实现方式中,所述装置还包括:

第二获取单元,用于获取训练数据,所述训练数据中包括已标注年龄特征和性别特征的一个或多个样本人脸图像;

训练单元,用于根据所述样本人脸图像,通过深度学习算法训练所述目标模型。

第三方面,本申请提供一种年龄特征识别装置,包括:一个或多个处理器、一个或多个存储器、收发器;所述一个或多个存储器与所述一个或多个处理器耦合,所述一个或多个存储器用于存储计算机程序代码,所述计算机程序代码包括计算机指令,当所述一个或多个处理器执行所述计算机指令时,执行上述任一方面任一可能的实现方式中的一种人脸图像年龄识别方法。

第四方面,本申请提供了一种计算机存储介质,包括计算机指令,当所述计算机指令运行时,所述计算机指令执行上述任一方面任一可能的实现方式中的一种人脸图像年龄识别方法。

本发明提供了一种人脸图像年龄特征识别方法,采用三级级联的深度神经网络对人脸图像年龄特征进行识别,有利于提高人脸图像识别过程中不同性别对年龄特征的精准识别。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

其中:

图1是本申请提供的一种卷积神经网络(CNN)的结构示意图;

图2是本申请提供的一种多个卷积层/池化层并行的卷积神经网络(CNN)的结构示意图;

图3是本申请实施例提供的一种三维卷积核降维的示意图;

图4是本申请实施例提供的一种系统架构图;

图5是本申请实施例提供的一种训练目标模型的方法流程图;

图6是本申请实施例的一种人脸图像年龄特征识别方法流程图;

图7是本申请实施例提供的一种系统图;

图8-图9是本申请实施例提供的一种穿搭APP的用户界面图;

图10是本申请实施例提供的一种目标模型的训练装置;

图11是本申请实施例提供的一种目标模型的执行装置。

具体实施方式

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

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

本发明提供的一种人脸图像年龄特征识别方法,包括获取人脸图像;根据目标模型对所述人脸图像进行年龄识别,得到所述人脸图像的年龄特征;所述目标模型包括第一级深度神经网络、第二级深度神经网络和第三级深度神经网络;其中,所述第一级深度神经网络对所述人脸图像进行性别特征提取,得到所述人脸图像的所述性别特征;所述第二级深度神经网络对所述人脸图进行年龄段特征提取,得到所述人脸图像的所述年龄段特征;第三级深度神经网络对所述人脸图像进行所述年龄特征提取,得到所述人脸图像的所述年龄特征

由于人脸识别过程中不同性别同一年龄所处的年龄段不同,本申请有利于提高人脸识别过程中不同性别对年龄的精准识别。

由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例涉的相关术语及神经网络等相关概念进行介绍。

(1)、深度神经网络。

深度神经网络(Deep Neural Network,DNN),也称多层神经网络,可以理解为具有很多层隐含层的神经网络,这里的“很多”并没有特别的度量标准。从DNN按不同层的位置划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:

(2)、卷积神经网络。

卷积神经网络(CNN,Convolutional Neuron Network)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器。该特征抽取器可以看作是滤波器,卷积过程可以看作是使用一个可训练的滤波器与一个输入的图像或者卷积特征平面(feature map)做卷积。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。这其中隐含的原理是:图像的某一部分的统计信息与其他部分是一样的。即意味着在某一部分学习的图像信息也能用在另一部分上。所以对于图像上的所有位置,都能使用同样的学习得到的图像信息。在同一卷积层中,可以使用多个卷积核来提取不同的图像信息,一般地,卷积核数量越多,卷积操作反映的图像信息越丰富。

卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。

如图1,卷积神经网络(CNN)100可以包括输入层110,卷积层/池化层120,其中池化层为可选的,以及神经网络层130。下面对其进行详细介绍:

卷积层/池化层120:

卷积层:

如图1所示卷积层/池化层120可以包括如示例121-126层,在一种实现中,121层为卷积层,122层为池化层,123层为卷积层,124层为池化层,125为卷积层,126为池化层;在另一种实现方式中,121、122为卷积层,123为池化层,124、125为卷积层,126为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。

以卷积层121为例,卷积层121可以包括很多个卷积算子,卷积算子也称为核,其在图像处理中的作用相当于一个从输入图像矩阵中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义,在对图像进行卷积操作的过程中,权重矩阵通常在输入图像上沿着水平方向一个像素接着一个像素(或两个像素接着两个像素……这取决于步长stride的取值)的进行处理,从而完成从图像中提取特定特征的工作。该权重矩阵的大小与图像的大小相关,需要注意的是,权重矩阵的纵深维度(depthdimension)和输入图像的纵深维度是相同的,在进行卷积运算的过程中,权重矩阵会延伸到输入图像的整个深度。因此,和一个单一的权重矩阵进行卷积会产生一个单一纵深维度的卷积化输出,但是大多数情况下不使用单一权重矩阵,而是应用维度相同的多个权重矩阵。每个权重矩阵的输出被堆叠起来形成卷积图像的纵深维度。不同的权重矩阵可以用来提取图像中不同的特征,例如一个权重矩阵用来提取图像边缘信息,另一个权重矩阵用来提取图像的特定颜色,又一个权重矩阵用来对图像中不需要的噪点进行模糊化……该多个权重矩阵维度相同,经过该多个维度相同的权重矩阵提取后的特征图维度也相同,再将提取到的多个维度相同的特征图合并形成卷积运算的输出。

这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以从输入图像中提取信息,从而帮助卷积神经网络(CNN)100进行正确的预测。

当卷积神经网络(CNN)100有多个卷积层的时候,初始的卷积层(例如121)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络(CNN)100深度的加深,越往后的卷积层(例如126)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。

池化层:

由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,即如图1中卷积层/池化层120所示例的121-126各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在图像处理过程中,池化层的唯一目的就是减少图像的空间大小。池化层可以包括平均池化算子和/或最大池化算子,以用于对输入图像进行采样得到较小尺寸的图像。平均池化算子可以在特定范围内对图像中的像素值进行计算产生平均值。最大池化算子可以在特定范围内取该范围内值最大的像素作为最大池化的结果。另外,就像卷积层中用权重矩阵的大小应该与图像大小相关一样,池化层中的运算符也应该与图像的大小相关。通过池化层处理后输出的图像尺寸可以小于输入池化层的图像的尺寸,池化层输出的图像中每个像素点表示输入池化层的图像的对应子区域的平均值或最大值。

神经网络层130:

在经过卷积层/池化层120的处理后,卷积神经网络(CNN)100还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层120只会提取特征,并减少输入图像带来的参数。然而为了生成最终的输出信息(所需要的类信息或别的相关信息),卷积神经网络(CNN)100需要利用神经网络层130来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层130中可以包括多层隐含层(如图1所示的隐含层131、隐含层132至隐含层13n)以及输出层140,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到。

在神经网络层130中的多层隐含层之后,也就是整个卷积神经网络(CNN)100的最后层为输出层140,该输出层140具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络(CNN)100的前向传播完成,反向传播就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络(CNN)100的损失及卷积神经网络(CNN)100通过输出层输出的结果和理想结果之间的误差。

需要说明的是,如图1所示的卷积神经网络(CNN)100仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在,例如,如图2所示的多个卷积层/池化层并行,将分别提取的特征均输入给神经网络层130进行处理。

具体地,可以参见图3,是本申请实施例提供的一种三维卷积核降维的示意图。如前所述,在卷积神经网络中通常会有多个卷积核,而这多个卷积核往往是三维的,包含三个维度的数据,x、y方向为数据的长和宽,z方向可以认为是数据的深度。在实际应用中,可以通过矩阵-矩阵乘(General Matrix-matrix Multiplication,GEMM)将三维的卷积核转化为二维的卷积核。

(3)、反向传播算法。

卷积神经网络(CNN)100可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的超分辨率模型中参数的大小,使得超分辨率模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的超分辨率模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的超分辨率模型的参数,例如权重矩阵。

下面介绍本申请实施例提供的系统架构400。参见图4,如系统架构400所示,数据采集设备460用于采集训练数据,本申请实施例中训练数据包括:已标注好属性特征的人脸图像。并将训练数据存入数据库430,训练设备420基于数据库430中维护的训练数据训练得到目标模型401,目标模型401可以用于实现本申请实施例提供的一种一种人脸图像年龄特征识别方法,即将人脸图像经过预处理后输入该目标模型401,目标模型401可以识别出人脸图像的属性特征。

根据训练设备420训练得到的目标模型401可以应用于不同的系统或设备中,如应用于图4所示的执行设备410,所述执行设备410可以是终端,如手机终端,平板电脑,笔记本电脑,AR/VR,车载终端等,还可以是服务器或者云端等。在图4中,执行设备410配置有I/O接口412,用于与外部设备进行数据交互,用户可以通过客户设备440向I/O接口412输入数据,所述输入数据在本申请实施例中可以包括:客户设备440采集的人脸图像。

预处理模块413用于根据I/O接口412接收到的输入数据(如所述客户设备440采集的人脸图像)进行预处理。

计算模块411执行计算等相关的处理过程中,执行设备410可以调用数据存储系统450中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统450中。

最后,I/O接口412将处理结果,如上述识别得到的人脸图像的属性特征返回给客户设备440,从而提供给用户。

值得注意的是,图4仅是本申请实施例提供的一种系统架构图,图中所示设备、器件、模块等之间的位置关系不构成任何限制。

下面介绍本申请实施例训练目标模型的方法。

图5是本申请实施例提供的一种训练目标模型的方法流程图。

训练目标模型的方法可以是由图1所示的训练设备执行。训练方法包括以下步骤:

S501、建立目标模型。

在一种可能的实现方式中,目标模型可以是由多个独立的卷积神经网络构成的三级级联的深度神经网络,分别是第一级深度神经网络、第二级深度神经网络、第三级深度神经网络。每一级的神经网络包括N层卷积神经网络,每层卷积神经网络可以包括卷积层、下采样层和全连接层。

S502、获取训练数据A。

数据采集设备采集训练数据A并保存至数据库,训练数据可以是视频片段中的人脸图像,并将采集的人脸图像放入标注系统中按照属性特征进行标注,将标注后的人脸图像记为A={a1,a2,a3…ai…an},ai为采集的第i个人脸图像,共有n个人脸图像。

人脸图像的属性特征可以是下列的一种或几种:性别、年龄、种族、表情等;在本申请实施例中,人脸图像的属性特征是性别和年龄,上述标注系统对采集的人脸图像按照性别和年龄进行标注。

在一种可能的实现方式中,训练数据可以是IMBD-wiki数据集。IMBD-wiki数据集有超过100万张已标注性别和年龄的人脸图像,适合大规模的网络训练。在其他的实施例中,可以使用其他的图像库进行训练。

在训练过程中,采用了分级训练的方法,节省了训练的时间,提高了目标模型的准确性。

S503、利用训练数据A对目标模型中的第一级深度神经网络进行训练。

第一级深度神经网络将人脸图像a

通过上述训练好的第一级深度神经网络,可以通过第一级深度神经网络识别输入的人脸图像的性别特征。

S504、将训练数据A中的人脸图像按照性别分为性别为女的训练数据B和性别为男的训练数据C,利用训练数据B和训练数据C分别对目标模型中的第二级深度神经网络进行训练。

首先,将训练数据A中标注的性别为女的人脸图像a

在训练第二级深度神经网络之前,将人的年龄分为0~6岁,7~12岁,12~18岁,19~24岁,25~40岁,41~60岁,60岁以上这七个年龄段。

首先,第二级深度神经网络将训练数据B和性别女当作输入,第二级深度神经网络将输出训练数据B中人脸图像的年龄段。然后,第二级深度神经网络计算训练数据B中人脸图像的年龄段标注的年龄特征不在第二级深度神经网络输出的训练数据B中人脸图像的年龄段的损失误差,这里的损失误差为第二级深度神经网络输出训练数据B中人脸图像的标注的年龄特征不在第二级深度神经网络输出的训练数据B中人脸图像的年龄段的概率值,举例来说,训练数据B中人脸图像a

同样的,第二级深度神经网络将训练数据C和性别男当作输入,第二级深度神经网络将输出训练数据C中人脸图像的年龄段。具体地,这个训练过程与上述实施例的训练过程一致,在此不再赘述。

通过上述训练好的第二级深度神经网络,第二级深度神经网络可以根据人脸图像和第一级深度神经网络输出的人脸图像的性别特征识别并输出人脸图像的年龄段特征。

本实施例将人的性别为男和女的人脸图像单独训练第二级深度神经网络,避免了性别特征对年龄识别的影响,提高了目标模型识别年龄特征的准确性。

S505、利用训练数据B和训练数据C按照年龄段分类分别对目标模型中的第三级深度神经网络进行训练。

训练数据B和训练数据C已标注好年龄,将人的年龄分为0~6岁,7~12岁,12~18岁,19~24岁,25~40岁,41~60岁,60岁以上这几个年龄段。

将训练数据B和训练数据C按照年龄段进行分类。

示例性地,将训练数据B中年龄在0~6岁的人脸图像建立一个数据集,称为数据集D,将训练数据B中年龄在7~12岁的人脸图像建立一个数据集,称为数据集E,将训练数据B中年龄在12~18岁的人脸图像建立一个数据集,称为数据集F,将训练数据B中年龄在19~24岁的人脸图像建立一个数据集,称为数据集G,将训练数据B中年龄在25~40岁的人脸图像建立一个数据集,称为数据集H,将训练数据B中年龄在41~60岁的人脸图像建立一个数据集,称为数据集I,将训练数据B中年龄在60岁以上的人脸图像建立一个数据集,称为数据集J。

示例性地,将训练数据C中年龄在0~6岁的人脸图像建立一个数据集,称为数据集D1,将训练数据C中年龄在7~12岁的人脸图像建立一个数据集,称为数据集E1,将训练数据C中年龄在12~18岁的人脸图像建立一个数据集,称为数据集F1,将训练数据C中年龄在19~24岁的人脸图像建立一个数据集,称为数据集G1,将训练数据C中年龄在25~40岁的人脸图像建立一个数据集,称为数据集H1,将训练数据C中年龄在41~60岁的人脸图像建立一个数据集,称为数据集I1,将训练数据C中年龄在60岁以上的人脸图像建立一个数据集,称为数据集J1。

首先,第三级深度神经网络将训练数据D和年龄段0~6岁作为输入,第三级深度神经网络将输出训练数据D中人脸图像的年龄。然后第三级深度神经网络计算输出训练数据D中人脸图像的年龄与训练数据D中人脸图像的标注年龄的损失误差,这里的损失误差为训练数据D中人脸图像标注的年龄与第三级深度神经网络输出的人脸图像的年龄不一样的概率值,例如,人脸图像a

类似的,将训练数据B中的数据集E和年龄段7~12岁、数据集F和年龄段12~18岁、数据集G和年龄段19~24岁、数据集H和年龄段25~40岁、数据集I和年龄段41~60岁、数据集J和年龄段60岁以上分别输入上述第三级深度神经网络对第三级深度神经网络进行训练,具体地,训练过程与上述实施例的训练过程一致,在此不再赘述。

类似的,将训练数据C中的数据集D1和年龄段0~6岁、数据集E1和年龄段7~12岁、数据集F1和年龄段12~18岁、数据集G1和年龄段19~24岁、数据集H1和年龄段25~40岁、数据集I1和年龄段41~60岁、数据集J1和年龄段60岁以上分别输入上述第三级深度神经网络对第三级深度神经网络进行训练,具体地,训练过程与上述实施例的训练过程一致,在此不再赘述。

通过上述训练好的第三级深度神经网络,第三级深度神经网络可以根据人脸图像和第二级深度神经网络输出的人脸图像的年龄段特征识别并输出人脸图像的年龄特征。

经过上述分级训练目标模型,节省时间并且提高了训练模型的正确率,目标模型可以准确地识别出人脸图像的年龄特征。

可选的,所述训练方法可以由图4中的训练设备420中的中央处理单元(CentralProcessing Unit,CPU)处理,也可以由CPU和图形处理单元(Graphic Processing Unit,GPU)共同处理,也可以不用GPU,而使用其他适合用于神经网络计算的处理器,本申请不做限制。

通过上述训练过程,目标模型可以根据输入的人脸图像输出人脸图像的年龄。

图6为本申请实施例的一种人脸图像年龄特征识别方法流程图。

所述方法具体可以由如图4中所示的执行设备410执行,本方法具体包括以下步骤:

S601、获取人脸图像。

所述的人脸图像可以是如图4所示的客户设备采集的,客户设备可以是如手机终端,平板电脑,笔记本电脑,AR/VR,车载终端等设备,在此不做限定。

客户设备将获取的人脸图像通过I/O接口输入至执行设备中的预处理模块。

S602、预处理人脸图像。

执行设备中的预处理模块通过I/O接口接收客户设备获取的人脸图像,对获取的人脸图像进行预处理。

在采集第一人脸图像时,由于光照强度、位置等环境的影响,导致人脸在整个采集图像中的大小和位置不确定,会影响识别结果的准确性。

可以由如图4所示的预处理模块对人脸图像进行预处理。

具体地,预处理模块可以用于将客户设备采集的人脸图像进行人脸图像扶正,人脸图像的增强,以及人脸图像归一化等工作;其中,人脸图像扶正是为了得到人脸位置端正的人脸图像,人脸图像增强是为了改善人脸图像的质量,使图像更利于计算机的处理与识别,人脸图像归一化是为了取得尺寸一致的人脸图像。

S603、将预处理的人脸图像输入目标模型。

S604、目标模型识别并输出人脸图像的年龄。

本申请实施例的目标模型可以为三级级联的深度神经网络,分别为第一级深度神经网络、第二级深度神经网络、第三级深度神经网络,每一级深度神经网络包括N层卷积神经网络,每层卷积神经网络可以包括卷积层、下采样层和全连接层。

具体地,将预处理的人脸图像输入第一级深度神经网络,第一级深度神经网络输出人脸图像的性别特征。

例如,获取的人脸图像是个女孩,第一级深度神经网络输出人脸图像的性别特征是女。

将第一级深度神经网络输出的人脸图像的性别特征和人脸图像输入第二级深度神经网络,第二级深度神经网络输出人脸图像的年龄段。

例如,第一级深度神经网络输出的人脸图像的性别特征,获取的人脸图像年龄是24,那么24处于19~24岁,第二级深度神经网络输出人脸图像的年龄段是19~24岁。

将第二级深度神经网络输出的人脸图像的年龄段和人脸图像输入第三级深度神经网络,第三级深度神经网络输出人脸图像的年龄。

例如,第二级深度神经网络输出人脸图像的年龄段是19~24岁,采集的人脸图像年龄是24,第三级深度神经网络输出人脸图像的年龄是24岁。

本申请提供了一种基于级联神经网络的人脸图像年龄特征识别方法,由于人脸识别过程中不同性别同一年龄所处的年龄段不同,本申请有利于提高人脸识别过程中不同性别对年龄的精准识别。

下面结合应用场景介绍本申请实施例中提供的一种基于级联神经网络的人脸图像年龄特征识别方法。

为了更好的理解本申请实施例,下面介绍本方法在穿搭应用程序(AcceleratedParallel Processing,APP)上的应用,具体的,穿搭APP接收用户上传的个人图片,首先穿搭APP识别个人图片的性别,若是女生,则推荐女性主页,若是男生,则推荐男性主页。进入男性主页或女性主页之后,穿搭APP识别个人图片的年龄,推荐和年龄适应的穿搭单品。

本方法在穿搭APP上的应用可以应用于计算机系统/服务器。参见图7本发明系统701包括括终端700、服务器710,终端可以由诸如智能手机、电脑、个人数字助理(PersonalDigital Assistant,PDA)之类的来实现。服务器是提供计算服务的设备。终端可以通过有线网络或者无线网络的方式与服务器相连。本实施例中,终端上安装有穿搭APP。

如图8,为穿搭APP的登录的用户界面图,包括上传个人图片控件801,终端接收并响应用户点击上传个人图片控件801的操作,终端接收个人图片并识别个人图片的性别特征,并结合个人图片的性别特征判断个人图片的年龄,为用户推荐各个年龄的穿搭单品,示例性地,穿搭APP将显示图9所示的试穿用户界面。

示例性地,若上传的个人图片是一个男性,穿搭APP将进入男性的应用界面,进一步判断这个男性的年龄是24岁,则穿搭APP将推荐24岁男性的穿搭单品,例如男士衬衫、T恤、运动裤、帆布鞋等;若个人图片是一个女性,穿搭穿搭APP将进入女性的应用界面,进一步判断这个女性的年龄是24岁,则穿搭APP将推荐24岁女性的穿搭单品,例如连衣裙、短裙、T恤、高跟鞋等。

如图9所示,为穿搭APP显示的识别的个人图片是一位24岁的女性的用户界面,图9包括试穿控件901、个人图片902(用户上传的个人图片)、推荐穿搭控件903、推荐穿搭控件903里具体包括穿搭单品控件例如连衣裙控件904、短裙套装控件905、大衣控件906等。

推荐穿搭控件903里的穿搭单品控件可以接收用户点击各个穿搭单品控件,各个穿搭单品可以接收并响应用户点击操作在个人图片902进行展示。连衣裙控件904、短裙套装控件905、大衣控件906可以接收用户点击操作在个人图片902进行切换显示。

这里只是本申请实施例的一种实现方式,不应构成限定。

下面介绍本申请实施例提供的一种人脸图像年龄特征识别装置,包括:

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

识别单元,用于根据目标模型对所述人脸图像进行年龄识别,得到所述人脸图像的年龄特征;所述目标模型包括第一级深度神经网络、第二级深度神经网络和第三级深度神经网络;其中,所述第一级深度神经网络对所述人脸图像进行性别特征提取,得到所述人脸图像的所述性别特征;所述第二级深度神经网络对所述人脸图进行年龄段特征提取,得到所述人脸图像的所述年龄段特征;第三级深度神经网络对所述人脸图像进行所述年龄特征提取,得到所述人脸图像的所述年龄特征。

在一种可能的实现方式中,所述装置还包括:

预处理单元,用于对所述人脸图像进行图像预处理,所述图像预处理包括图像扶正和/或图像增强和/或图像归一化。

在一种可能的实现方式中,在所述根据目标模型对所述人脸图像进行年龄识别,得到所述人脸图像的年龄特征之前,所述装置还包括:

第二获取单元,用于获取训练数据,所述训练数据中包括有已标注年龄特征和性别特征的一个或多个样本人脸图像;

训练单元,用于根据所述样本人脸图像,通过深度学习算法训练所述目标模型。

在一种可能的实现方式中,所述根据所述样本人脸图像,通过深度学习算法训练所述目标模型,所述装置具体包括:

第一训练单元,用于根据所述样本人脸图像和所述样本人脸图像标注的所述性别特征,通过所述深度学习算法训练出所述第一级深度神经网络;

第二训练单元,用于根据所述样本人脸图像和所述样本人脸图像标注的所述年龄特征所在的年龄段,通过所述深度学习算法训练出所述第二级深度神经网络;

第三训练单元,用于根据所述样本人脸图像和所述样本人脸图像标注的所述年龄特征,通过深度学习算法训练出所述第三级深度神经网络。

下面介绍本申请实施例提供的一种目标模型的训练装置1000。图10所示的一种目标模型的训练装置1000(该训练装置1000具体可以是一种计算机设备)包括存储器1001、处理器1002、通信接口1003以及总线1004。其中,存储器1001、处理器1002、通信接口1003通过总线1004实现彼此之间的通信连接。

存储器1001可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储1001可以存储程序,当存储器1001中存储的程序被处理器1002执行时,处理器1002和通信接口1003用于执行本申请实施例的目标模型的训练方法的各个步骤。

处理器1002可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的目标模型的训练装置中的单元所需执行的功能,或者执行本申请方法实施例的目标模型的训练方法。

处理器1002还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的目标模型的训练方法的各个步骤可以通过处理器1002中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1002还可以是通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1001,处理器1002读取存储器1001中的信息,结合其硬件完成本申请实施例的目标模型的训练装置中包括的单元所需执行的功能,或者执行本申请方法实施例的目标模型的训练方法。

通信接口1003使用例如但不限于收发器一类的收发装置,来实现训练装置1000与其他设备或通信网络之间的通信。例如,可以通过通信接口1003获取训练数据。

图11是本申请实施例提供的目标模型的执行装置1100。图11所示的目标模型的执行装置1100(该执行装置1100具体可以是一种计算机设备)包括存储器1101、处理器1102、通信接口1103以及总线1104。其中,存储器1101、处理器1102、通信接口1103通过总线1104实现彼此之间的通信连接。

存储器1101可以是只读存储器(Read Only Memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(Random Access Memory,RAM)。存储器1101可以存储程序,当存储器1101中存储的程序被处理器1102执行时,处理器1102和通信接口1103用于执行本申请实施例的执行设备的各个步骤。

处理器1102可以采用通用的中央处理器(Central Processing Unit,CPU),微处理器,应用专用集成电路(Application Specific Integrated Circuit,ASIC),图形处理器(graphics processing unit,GPU)或者一个或多个集成电路,用于执行相关程序。

处理器1102还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请的执行设备的各个执行步骤可以通过处理器1102中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1102还可以是通用处理器、数字信号处理器(DigitalSignal Processing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(Field ProgrammableGate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1101,处理器1102读取存储器1101中的信息。

通信接口1103使用例如但不限于收发器一类的收发装置,来实现与其他设备或通信网络之间的通信。例如,可以通过通信接口1103获取训练数据。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为U盘、磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccess Memory,RAM)等。

本申请可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本申请的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理装置,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理装置中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理装置中的计算机可读存储介质中。

用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。

这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

本实施例的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解以上所揭露的仅为本公开较佳实施例。

相关技术
  • 一种人脸图像年龄特征识别方法
  • 一种基于改进集成学习策略的人脸图像年龄识别方法
技术分类

06120112985466