一种基于人脸信息进行年龄识别的方法、装置及电子设备与流程

文档序号:23501383发布日期:2021-01-01 18:06阅读:92来源:国知局
一种基于人脸信息进行年龄识别的方法、装置及电子设备与流程
本公开涉及信息识别分类
技术领域
,特别涉及一种基于人脸信息进行年龄识别的方法、装置及电子设备。
背景技术
:基于图像进行目标识别后,需要基于识别的目标进行分类。应用到年龄值预测场景,可以获取人脸图像,基于人脸图像进行年龄预测。目前预测年龄被越来越多的应用需要,年龄预测是人脸属性任务中一项重要的子任务。目前多采用年龄预测模型对年龄进行预测,对年龄的预测大致分为两类:1)输出人脸的年龄值;即需要输出准确的年龄值,一般年龄值的范围为1≤年龄≤100,当然,还可以是定义的其他年龄值范围。2)输出人脸所属的年龄段;具体可以定义为儿童、少年、青年、中年、老年等年龄段,一个年龄段可以包括多个年龄值。在年龄预测模型建模时,一种方式是只针对输出的年龄值作优化,即输入人脸图像,利用网络模型提取特征并进行分类预测,以输出年龄值为目标进行模型参数调整;另一种方式是针对输出的年龄段作优化,即输入人脸图像,利用网络模型提取特征并进行分类预测,以输出年龄段为目标进行端到端的训练。如果一个年龄预测模型既需输出年龄值,又需输出年龄段,通常会采用多分支的结构,其中一个分支采用上述一种方式进行训练,另一个分支采用上述另一种方式进行训练,两个分支的输入相同,各自输出对应的分类结果。目前的年龄预测模型如果仅预测年龄值或年龄段,则对于年龄段或年龄值的预测不够准确甚至无法预测,如果采用上述两个分支的网络模型,则网络结构复杂,且训练过程耗时耗资源。技术实现要素:本公开提供一种基于人脸信息进行年龄识别的方法、装置及电子设备,用以解决目前采用模型识别年龄结果不够准确的问题。本公开的技术方案如下:根据本公开实施例的第一方面,提供一种基于人脸信息进行年龄识别的方法,包括:获取人脸图像并输入到年龄识别模型,所述年龄识别模型包括特征提取部分和分类预测部分;利用所述特征提取部分,对所述人脸图像进行特征向量提取,其中,所述年龄识别模型是分批将包括不同年龄段的人脸样本作为输入对网络模型进行训练得到的,所述特征提取部分是对所述网络模型中的特征提取层进行训练过程中,利用不同批次的第一损失函数和第二损失函数调整特征提取层的参数后得到的;所述第一损失函数通过计算当前批次提取的各人脸样本的特征向量,与对应年龄段的中心特征向量的距离得到,所述第二损失函数根据所述网络模型中分类输出层输出的年龄值及标注的人脸样本的年龄值计算得到;基于提取的特征向量,利用所述分类预测部分,预测所述人脸图像数据对应的年龄值。在一种可能的实施方式中,所述对应年龄段的中心特征向量采用如下方式确定:根据至少一个批次提取的各人脸样本的特征向量,确定不同年龄段的初始中心特征向量;对不同年龄段的初始中心特征向量,利用除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整,得到不同年龄段的中心特征向量。在一种可能的实施方式中,利用除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整,包括:将所述反向向量与该年龄段的初始中心特征向量相减;将相减后得到的向量乘以设定的调整系数,并与该年龄段的初始中心特征向量求和。在一种可能的实施方式中,预先针对不同代epoch的网络模型训练,设定对应的调整系数。在一种可能的实施方式中,所述反向向量为利用反向向量的模值归一化处理后的向量,所述不同年龄段的初始中心特征向量,为利用所述初始中心特征向量模值进行归一化处理后的向量。在一种可能的实施方式中,根据至少一个批次提取的各人脸样本的特征向量,确定不同年龄段的初始中心特征向量,包括:将所述至少一个批次得到的各年龄段归一化后各人脸样本的特征向量,取平均得到当前批次各年龄段的初始中心特征向量。在一种可能的实施方式中,利用除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整,包括:对不同年龄段的初始中心特征向量,确定该年龄段所在的分组,其中每个分组包括多个年龄段;对该年龄段的初始中心特征向量,利用在所述确定的分组内,除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整。在一种可能的实施方式中,所述分类预测部分是对所述网络模型中分类输出层进行训练过程中,利用不同批次的第二损失函数调整分类输出层的参数后得到的。在一种可能的实施方式中,利用不同批次的第一损失函数调整特征提取层的参数,包括:计算当前批次提取的各人脸样本的特征向量,与对应年龄段的中心特征向量的余弦距离,得到各人脸样本对应的第一损失函数;将当前批次中,各人脸样本对应的第一损失函数对应的梯度值叠加后,反向传播调整特征提取层的参数。根据本公开实施例的第二方面,提供一种基于人脸信息进行年龄识别的装置,包括:图像输入模块,用于获取人脸图像并输入到年龄识别模型,所述年龄识别模型包括特征提取部分和分类预测部分;特征提取模块,用于利用所述特征提取部分,对所述人脸图像进行特征向量提取,其中,所述年龄识别模型是分批将包括不同年龄段的人脸样本作为输入对网络模型进行训练得到的,所述特征提取部分是对所述网络模型中的特征提取层进行训练过程中,利用不同批次的第一损失函数和第二损失函数调整特征提取层的参数后得到的;所述第一损失函数通过计算当前批次提取的各人脸样本的特征向量,与对应年龄段的中心特征向量的距离得到,所述第二损失函数根据所述网络模型中分类输出层输出的年龄值及标注的人脸样本的年龄值计算得到;年龄值预测模块,用于基于提取的特征向量,利用所述分类预测部分,预测所述人脸图像数据对应的年龄值。在一种可能的实施方式中,所述特征提取模块采用如下方式确定对应年龄段的中心特征向量:根据至少一个批次提取的各人脸样本的特征向量,确定不同年龄段的初始中心特征向量;对不同年龄段的初始中心特征向量,利用除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整,得到不同年龄段的中心特征向量。在一种可能的实施方式中,所述特征提取模块利用除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整,包括:将所述反向向量与该年龄段的初始中心特征向量相减;将相减后得到的向量乘以设定的调整系数,并与该年龄段的初始中心特征向量求和。在一种可能的实施方式中,预先针对不同代epoch的网络模型训练,设定对应的调整系数。在一种可能的实施方式中,所述反向向量为利用反向向量的模值归一化处理后的向量,所述不同年龄段的初始中心特征向量,为利用所述初始中心特征向量模值进行归一化处理后的向量。在一种可能的实施方式中,所述特征提取模块根据至少一个批次提取的各人脸样本的特征向量,确定不同年龄段的初始中心特征向量,包括:将所述至少一个批次得到的各年龄段归一化后各人脸样本的特征向量,取平均得到当前批次各年龄段的初始中心特征向量。在一种可能的实施方式中,特征提取模块利用除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整,包括:对不同年龄段的初始中心特征向量,确定该年龄段所在的分组,其中每个分组包括多个年龄段;对该年龄段的初始中心特征向量,利用在所述确定的分组内,除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整。在一种可能的实施方式中,所述分类预测部分是对所述网络模型中分类输出层进行训练过程中,利用不同批次的第二损失函数调整分类输出层的参数后得到的。在一种可能的实施方式中,所述特征提取模块利用不同批次的第一损失函数调整特征提取层的参数,包括:计算当前批次提取的各人脸样本的特征向量,与对应年龄段的中心特征向量的余弦距离,得到各人脸样本对应的第一损失函数;将当前批次中,各人脸样本对应的第一损失函数对应的梯度值叠加后,反向传播调整特征提取层的参数。根据本公开实施例的第三方面,提供一种电子设备,包括:存储器,用于存储可执行指令;处理器,用于读取并执行所述存储器中存储的可执行指令,以实现执行如下方法步骤:获取人脸图像并输入到年龄识别模型,所述年龄识别模型包括特征提取部分和分类预测部分;利用所述特征提取部分,对所述人脸图像进行特征向量提取,其中,所述年龄识别模型是分批将包括不同年龄段的人脸样本作为输入对网络模型进行训练得到的,所述特征提取部分是对所述网络模型中的特征提取层进行训练过程中,利用不同批次的第一损失函数和第二损失函数调整特征提取层的参数后得到的;所述第一损失函数通过计算当前批次提取的各人脸样本的特征向量,与对应年龄段的中心特征向量的距离得到,所述第二损失函数根据所述网络模型中分类输出层输出的年龄值及标注的人脸样本的年龄值计算得到;基于提取的特征向量,利用所述分类预测部分,预测所述人脸图像数据对应的年龄值。在一种可能的实施方式中,所述对应年龄段的中心特征向量采用如下方式确定:根据至少一个批次提取的各人脸样本的特征向量,确定不同年龄段的初始中心特征向量;对不同年龄段的初始中心特征向量,利用除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整,得到不同年龄段的中心特征向量。在一种可能的实施方式中,利用除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整,包括:将所述反向向量与该年龄段的初始中心特征向量相减;将相减后得到的向量乘以设定的调整系数,并与该年龄段的初始中心特征向量求和。在一种可能的实施方式中,预先针对不同代epoch的网络模型训练,设定对应的调整系数。在一种可能的实施方式中,所述反向向量为利用反向向量的模值归一化处理后的向量,所述不同年龄段的初始中心特征向量,为利用所述初始中心特征向量模值进行归一化处理后的向量。在一种可能的实施方式中,根据至少一个批次提取的各人脸样本的特征向量,确定不同年龄段的初始中心特征向量,包括:将所述至少一个批次得到的各年龄段归一化后各人脸样本的特征向量,取平均得到当前批次各年龄段的初始中心特征向量。在一种可能的实施方式中,利用除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整,包括:对不同年龄段的初始中心特征向量,确定该年龄段所在的分组,其中每个分组包括多个年龄段;对该年龄段的初始中心特征向量,利用在所述确定的分组内,除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整。在一种可能的实施方式中,所述分类预测部分是对所述网络模型中分类输出层进行训练过程中,利用不同批次的第二损失函数调整分类输出层的参数后得到的。在一种可能的实施方式中,利用不同批次的第一损失函数调整特征提取层的参数,包括:计算当前批次提取的各人脸样本的特征向量,与对应年龄段的中心特征向量的余弦距离,得到各人脸样本对应的第一损失函数;将当前批次中,各人脸样本对应的第一损失函数对应的梯度值叠加后,反向传播调整特征提取层的参数。根据本公开实施例的第四方面,提供一种非易失性存储介质,当所述存储介质中的指令由电子设备的处理器执行时,能够执行本公开实施例第一方面中所述的基于人脸信息进行年龄识别的方法。本公开的实施例提供的技术方案至少带来以下有益效果:本公开实施例提供的方案,不再对网络模型做分支进行不同的预测,通过年龄值得到年龄段,简化了网络模型;在网络模型的训练过程中,会确定各年龄段的中心特征向量,并计算各年龄的特征向量与对应年龄段的中心特征向量的距离作为损失函数,调整特征向量层的参数,从而使各年龄段的特征向量向对应年龄段的中心特征向量靠拢,对不同年龄段进行了中心聚类,且增大了不同年龄段的特征向量的隔离度,能同时考虑年龄值和年龄段的优化,使得模型无论是作为年龄值预测模型,还是年龄段预测模型,都能得到较高的指标。附图说明图1是根据一示例性实施例示出的应用场景的示意图;图2是根据一示例性实施例示出的基于人脸信息进行年龄识别的方法流程图;图3是根据一示例性实施例示出的年龄识别模型的结构图;图4是根据一示例性实施例示出的模型训练及年龄识别详细流程图;图5是根据一示例性实施例示出的一种基于人脸信息进行年龄识别的装置框图;图6是根据一示例性实施例示出的一种电子设备的框图。具体实施方式为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。以下,对本公开实施例中的部分用语进行解释说明,以便于本领域技术人员理解。(1)本公开实施例中术语“电子设备”可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。(3)本公开实施例中术语“人脸图像”是指通过摄像采集设备采集的包括人脸的图像。(4)本公开实施例中术语“网络模型”是指用于解决分类问题的一种神经网络模型,是一种探索“响应变量的期望”与“自变量”的关系,以实现对非线性关系的某种拟合的模型。目前对年龄预测模型的建模方式,存在无法同时准确识别出年龄值和年龄段,或者同时识别出年龄值和年龄段时,需要训练两个网络分支,网络结构复杂及训练过程耗时耗力的问题。在本公开实施例提供的基于人脸信息进行年龄识别的方案中,年龄识别模型在推理时只会输出年龄值,且同一年龄段的年龄值之间的相似度较高,识别的年龄值更准确,有了准确的年龄值,则可以得到所属年龄段。因而本公开实施例的方案对年龄识别模型建模时,避免了多分支的结构,提高了建模效率和推理效率。本方案能同时考虑年龄值和年龄段的优化,使得模型无论是作为年龄值预测模型,还是年龄段预测模型,都能得到较高的指标。本公开实施例所提供的基于人脸信息进行年龄识别的方法,可以单独应用于某个电子设备,也可以由图1所示的终端设备30和服务器20配合实施,具体由终端设备30采集人脸图像,并将人脸图像发送到服务器20,服务器利20用年龄识别模型识别出年龄值发送到终端设备30。其中,终端设备30可以是可用来进行网络访问的任何合适的电子设备,包括但不限于计算机、笔记本电脑、智能电话、平板电脑或是其它类型的终端。服务器20则是能够通过网络访问的提供交互服务所需信息的任何服务器。终端设备30可以经由网络40实现与服务器20的信息收发。服务器20可以通过访问数据库50来获取终端设备30所需的内容。终端设备之间(例如,30_1与30_2或30_n之间)也可以经由网络40彼此通信。网络40可以是广义上的用于信息传递的网络,可以包括一个或多个通信网络,诸如无线通信网络、因特网、私域网、局域网、城域网、广域网或是蜂窝数据网络等。应当注意,如果向图示环境中添加附加模块或从其中去除个别模块,不会改变本发明的示例实施例的底层概念。另外,虽然为了方便说明而在图中示出了从数据库50到服务器20的双向箭头,但本领域技术人员可以理解的是,上述数据的收发也是可以通过网络40实现的。本公开实施例所提供的基于人脸信息进行年龄识别的方法,可以应用于多种app上来辅助提供相应的服务,可以理解为任何一种需要根据用户的年龄属性提供服务的app,均可以应用本公开提供的方法进行年龄识别。为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。实施例1如图2所示,为本公开实施例提供的基于人脸信息进行年龄识别的方法,主要包括以下流程:步骤201,获取人脸图像并输入到年龄识别模型,所述年龄识别模型包括特征提取部分和分类预测部分;本公开实施例中的年龄识别模型可以采用现有的常用的神经网络模型,可以但不限于采用卷积神经网络,网络模型主要包括两个部分,在训练时可以理解为由第一模型和第二模型训练得到,第一模型的作用是基于人脸图像进行特征数据提取,第二模型的作用是基于第一模型提取的人脸特征数据进行年龄值预测。获取的人脸图像可以为设备自带的拍摄设备采集的,也可以是由其他设备采集后发送过来的。获取到人脸图像后,需要对人脸图像进行简单预处理,例如利用人脸识别技术识别图像中是否有人脸图像,如果有人脸图像,则对该人脸图像进行相应的勾边,将勾边后内的人脸图像数据输入到年龄识别模型。本公开实施例的年龄识别模型的分类预测部分的最后一层输出预测的年龄值,该年龄值可以但不限于为区间[1,100]上的一个实数,最后一层输出的年龄值的方式可以但不限于如下三种方式中的任一种:方式一、采用100分类的方法,最后一层输出有100个节点,对应的输出值为y1,y2,…,y100,其中一个节点对应一个年龄值,每个节点的输出值代表预测的该年龄的概率值,将最大概率值的节点对应的年龄值,作为预测的年龄值为argmaxyi。方式二、采用线性放缩的方法,最后一层输出为一个节点y1,年龄值为:该方式中最后一层将输出量化为一个数值,在训练时以人脸样本为输入,以输出的年龄值为目标进行模型参数调整,将输出的年龄值进行缩放使其符合神经网络的输出,即输出一个0~1之间的数值。方式三,采用100个二分类的方法,最后一层输出有200个节点,分别为y1,y2,…,y200。令zi为:最后确定年龄值为:该方式中最后一层节点中,每相邻的两个为一组,得到100个二分类的0或1的结果,最后将其求和。例如训练时输入年龄值为50的人脸图像时,以前50个二分类结果为1,后50个二分类结果为0的输出目标,进行模型训练。步骤202,利用所述特征提取部分,对所述人脸图像进行特征向量提取,其中,所述年龄识别模型是分批将包括不同年龄段的人脸样本作为输入对网络模型进行训练得到的,所述特征提取部分是对所述网络模型中的特征提取层进行训练过程中,利用不同批次的第一损失函数和第二损失函数调整特征提取层的参数后得到的;所述第一损失函数通过计算当前批次提取的各人脸样本的特征向量,与对应年龄段的中心特征向量的距离得到,所述第二损失函数根据所述网络模型中分类输出层输出的年龄值及标注的人脸样本的年龄值计算得到;在模型训练过程中,分批次输入人脸样本,每个人脸样本都标注有一个年龄值标签,每个训练样本属于且只属于一个年龄段,每个批次的人脸样本包括多个年龄段的人脸样本,每个年龄段的人脸样本包括多个人脸样本,完成一个批次的输入输出后进行一次模型参数调整。上述特征向量层在分类预测部分之前,特征向量层通常由不超过1024个float型实数构成,作用是用于提取人脸图像图的特征数据的,可以理解为网络模型的倒数第二个层。本公开公开实施例中,在分批次输入人脸样本后,在现有的整体模型的参数调整的基础上增加了特征向量层的调整,即也会执行以输出标注的人脸样本的年龄值为目标的模型参数调整,这里的模型参数调整包括第一模型和第二模型的参数调整。不同的是,本公开实施例中,对于第一模型部分即所述网络模型中的特征提取层进行训练过程中,特征提取层对当前批次的人脸样本进行特征向量提取后,确定对应年龄段的中心特征向量,并计算该年龄段的每个人脸样本的特征向量与中心特征向量的距离,综合该批次得到的距离得到第一损失函数,据所述网络模型中分类输出层输出的年龄值及标注的人脸样本的年龄值计算得到第二损失函数,利用第一损失函数和第二损失函数调整特征向量层的参数。中心特征向量的个数和年龄段的个数相等。例如一个批次batch的人脸样本有100个人脸样本,属于5个年龄段,每个年龄段有多个样本,则中心特征向量有5个。步骤203,基于提取的特征向量,利用所述分类预测部分,预测所述人脸图像数据对应的年龄值。本公开实施例提供的基于人脸信息进行年龄识别的方法,根据得到一个准确的年龄值,及根据年龄段的定义,则可以得到对应年龄段的原理,不再对网络模型做分支进行不同的预测,通过年龄值得到年龄段,简化了网络模型;在网络模型的训练过程中,不同于现有技术的是会确定各年龄段的中心特征向量,并计算各人脸样本的特征向量与对应年龄段的中心特征向量的距离作为其中一个损失函数,与根据模型输出对应的损失函数共同调整特征向量层的参数,从而使各年龄段的特征向量提取更向对应年龄段的中心特征向量靠拢,对不同年龄段进行了中心聚类,不同的年龄段的特征向量间的距离较远,即增大了不同年龄段的中心特征向量的隔离度,因此特征向量提取部分提取的同一年龄段的特征向量相似度更高,不同年龄段的特征向量隔离度更大,从而在输出对应的准确的年龄值也会确定对应准确的年龄段。作为一种可能的实施方式,上述模型训练过程中,也会同现有技术进行端到端的整体模型参数调整。即特征向量层会进行现有技术常规的参数调整过程,具体为所述特征提取部分是对所述网络模型中的特征提取层进行训练过程中,利用不同批次的第一损失函数和第二损失函数调整特征提取层的参数后得到的,所述第二损失函数根据所述网络模型中分类输出层输出的年龄值及标注的人脸样本的年龄值计算得到。所述分类预测部分是对所述网络模型中分类输出层进行训练过程中,利用不同批次的第二损失函数调整分类输出层的参数后得到的;所述第二损失函数根据所述网络模型中分类输出层输出的年龄值及标注的人脸样本的年龄值计算得到。上述第二损失函数对应上述三种不同的输出方式,采用各自对应的损失函数,记作loss2,该损失函数用于指导整体模型参数的调整,尽量使损失函数的取值比较小。可以作为一种可能的实施方式,所述对应年龄段的中心特征向量采用如下方式确定:根据至少一个批次提取的各人脸样本的特征向量,确定不同年龄段的初始中心特征向量;对不同年龄段的初始中心特征向量,利用除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整,得到不同年龄段的中心特征向量。在分批次进行模型训练时,如果单个批次的训练样本不够多,则可以将每个batch进行前向传播,即在当前批次训练时,可以参考前几个批次的特征向量,得到当前批次的初始中心特征向量,作为一种可选的实施方式,根据至少一个批次提取的各人脸样本的特征向量,确定不同年龄段的初始中心特征向量,包括:将所述至少一个批次得到的该年龄段归一化后各人脸样本的特征向量,取平均得到当前批次各年龄段的初始中心特征向量。具体为:确定当前批次提取的各年龄段中各人脸样本的特征向量,并进行归一化;将归一化后的特征向量,与之前至少一个批次得到的该年龄段归一化后各人脸样本的特征向量,取平均得到当前批次各年龄段的初始中心特征向量。训练过程中对特征提取层对每个人脸样本提取的特征向量进行归一化处理。每个批次提取各人脸样本的特征向量后,若当前的批次数量达到设定批次b,则结合当前最新的b个批次的人脸样本的特征向量,若未达到b,则结合之前所有的特征向量。在训练过程中每个batch前向传播,当前batch训练时,参与计算的中心特征向量来自最近若干个batch,下一个batch计算时,丢弃最旧的一个。具体计算方法是:假设对于当前批次,当前最新的b个batch中,属于某个年龄段的人脸图像数据分别为:第1个batch:…第b个batch:其中,上述x代表的每个人脸图像数据,下标从左向右表示第几个批次的第几个数据,n为数据的数量总数。各批次得到用于前向传播的特征向量是:第1个batch:…第b个batch:其中,上述f代表人脸样本的特征向量,下标从左向右依次表示第几个批次的第几个特征向量,n代表特征向量的个数。对上述提取的特征向量进行归一化,归一化后的特征向量是:第1个batch:…第b个batch:上述第b个batch即为当前batch。在前向推理后,该年龄段的初始中心特征向量为:本公开实施例中还进一步对各年龄段的初始中心向量进行归一化,向量f的归一化公式为:‖f‖为向量f在欧氏空间中的模。本公开实施例中,得到上述初始中心特征向量后,基于初始中心特征向量计算中心特征向量,需要说明的是,本公开实施例在计算中心特征向量时,会保留初始中心向量,并不会替代已有的每个年龄段的初始中心特征向量。作为一种可能的实施方式,所述反向向量为利用反向向量的模值归一化处理后的向量,所述该年龄段的初始中心特征向量,为利用所述初始中心特征向量模值进行归一化处理后的向量。作为一种可能的实施方式,利用除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整,目的是增大不同年龄段中心特征向量的隔离度,从向量的角度来说,两个向量的角度区分度更大,包括:将所述反向向量与该年龄段的初始中心特征向量相减;将相减后得到的向量乘以设定的调整系数,并与该年龄段的初始中心特征向量求和。具体地,假设通过上述方式得到每个年龄段未归一化处理的初始中心特征向量分别是:center1,center2,…,centerkk是本公开实施例定义的年龄段的个数,对第i(1≤i≤k)个初始中心特征向量,计算除它之外的所有初始中心特征向量之和:求sum_of_otheri的反向向量:reversei=-sum_of_otheri对初始中心特征向量进行如下调整,得到分离程度加大的中心特征向量detachi:令i从1计算到k,最终得到:detach1,detach2,…,detachk。得到为每个年龄段的初始中心特征向量相互远离后的另一组中心特征向量,作为用于计算损失函数的中心特征向量。上述α为设定的调整系数,在模型训练过程中,一个epoch包括多个批次batch,则可以根据训练的进度,按预先设定的方式调整上述α。具体可以预先针对不同代epoch的网络模型训练,设定对应的调整系数。例如针对第一个epoch的训练设定调整系数为0.1,第二个epoch的训练设定调整系数为0.2,第三个epoch的训练设定调整系数为0.3,之后epoch的训练时,调整系数保持不变。进一步地,对于定义的各个年龄段,可以进行相应的分组,每组包括多个年龄段,例如将年龄段1~3分为一组,将年龄段4~5分为另一组,利用除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整,包括:对不同年龄段的初始中心特征向量,确定该年龄段所在的分组,其中每个分组包括多个年龄段;对该年龄段的初始中心特征向量,利用在所述确定的分组内,除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整。通过上述处理方式,使用center1,center2,center3按照上述计算中心特征向量的方式,计算分离后的一组中特征向量detach1,detach2,detach3。使用center4,center5,按照上述计算中心特征向量的方式,计算分离后的一组中特征向量detach4,detach5,分组时其他初始中心特征向量,限定到同一分组中,具体的分组情况不限于此,分组可根据训练情况随意组合。作为一种可选的实施方式,在训练过程反向传播调整参数时,对于当前批次,计算每个人脸样本的特征向量,与上述detach1,detach2,…,detachk之一的余弦距离loss,具体过程为:若根据年龄值标签确定人脸样本属于第i(1≤i≤k)个年龄段,计算人脸样本的特征向量f与detachi的余弦距离得到第一损失函数loss1,loss1计算公式为:通过最小化loss1函数值进行特征向量层的参数,可以使人脸样本的特征向量与这个样本所属年龄段的中心特征向量在余弦距离上更接近。作为一种可能的实施方式,利用不同批次的第一损失函数调整特征提取层的参数,包括:计算当前批次提取的各人脸样本的特征向量,与对应年龄段的中心特征向量的余弦距离,得到各人脸样本对应的第一损失函数;将当前批次中,各人脸样本对应的第一损失函数对应的梯度值叠加后,反向传播调整特征提取层的参数。对于每个人脸样本,上述loss1函数对该人脸样本产生的梯度作用于该样本的特征向量层,该梯度的计算公式为:上述f表示任一个人脸样本,detachi表示该人脸样本对应的年龄段的中心特征向量。假设每个样本产生的梯度分别是:当前批次对应的总梯度为:将本batch中,每个人脸样本的余弦距离loss1函数产生的梯度叠加后得到的总梯度,根据总梯度反向传播调整特征向量层的参数。需要说明的是,在一个batch调整参数的过程中,根据该batch得到的loss1和loss2,利用loss2对应的梯度调整包括特征向量层在内的模型的所有参数,利用loss1对应梯度调整特征向量层的参数及特征向量层之前所有层的所有参数,即特征向量层及之前的所有层被两个梯度共同作用调整。具体调整的模型参数为权重参数,根据梯度调整权重参数的过程为现有技术,这里不再详述。利用本公开实施例提供的上述方法,可以达到如下技术效果:1)能够使得每个年龄段的中心特征向量相互远离对于同样的训练样本集,如果采用现有的端到端的方式训练,若干次迭代之后,根据特征向量层提取的,一组典型的年龄段中心特征向量之间的相似度如表1所示:表1年龄段1年龄段2年龄段3年龄段4年龄段5年龄段110.8780.302-0.58-0.5年龄段210.673-0.8-0.653年龄段31-0.857-0.8年龄段410.866年龄段51通过表1可以看出:年龄段1和年龄段2的中心特征向量相似度较高;年龄段2和年龄段3的中心特征向量相似度较高;年龄段4和年龄段5的中心特征向量相似度较高;使用本公开实施例中的方法之后,若干次迭代之后,根据特征向量层提取的,一组典型的年龄段中心特征向量之间的相似度为:年龄段1年龄段2年龄段3年龄段4年龄段5年龄段110.784-0.418-0.829-0.554年龄段210.189-0.833-0.876年龄段310.177-0.39年龄段410.789年龄段51通过表2可以看出:年龄段1和年龄段2的中心特征向量相似度降低;年龄段2和年龄段3的中心特征向量相似度降低;年龄段4和年龄段5的中心特征向量相似度降低。2)不会增加年龄识别时网络模型预测的复杂度本公开实施例中计算初始中心特征向量,中心特征向量及隔离度调整等过程,只会在训练时发生,当模型训练完成之后,在根据采集的人脸图像进行年龄值推理时,只会进行提取人脸图像的样本特征预测年龄值运算。后续根据年龄值预测年龄段只需要一个if判断语句即可,不会增加模型推理的复杂度。3)提升年龄段预测的准确率对于同样的训练样本集,如果采用现有的端到端的方式训练,若干次迭代之后,若干次迭代之后,一组典型的年龄段预测准确率如表3所示:表3使用本公开实施例中的方法之后,若干次迭代之后,一组典型的年龄段预测准确率如表4所示:表4下面结合附图对本发明实施例基于人脸信息进行年龄识别方向详细流程进行说明。如图3所示为本公开实施例的网络模型结构示意图,主要包括特征提取部分30和分类预测部分31,特征提取部分30包括下采样单元301,第一全连接层302和特征提取层303,分类预测部分31包括全连接层311和年龄预测层312,如图4所示为详细的模型训练过程及识别流程,具体包括:步骤401,选择人脸样本作为训练数据;人脸样本为人脸图片,人脸图片大小为96*96。每张人脸图片有一个年龄标签,年龄值的范围是[1,100],年龄值为整数。步骤402,选择网络模型中的特征提取部分,特征提取部分的主干网络中包括多个下采样单元和特征向量层;具体可以选择resnet-34为主干网络。主干网络中存在4个下采样单元。最后一个残差单元的输出特征图尺寸为6*6*512。接一个全连接层变换到一个256维的特征层,即特征向量层,本实施例记作fc1。步骤403,选择网络模型中的分类预测部分,具体是特征向量层fc1接一个全连接层变换到一个200维的网络层,即年龄预测层,200个节点分别记作y1,y2,…,y200;本公开实施例将年龄值标签转换为[1,1,1,…,1,0,0,…,0]的形式,方法是,若年龄值为n,则转化为:标签[1,1,1,…,1,0,0,…,0]称作[lb1,lb2,…,lb100]将y2i-1,y2i(1≤i≤100)分为一组,共100组,结合标签lbi,作二分类softmaxloss,共100个loss,记作l1,l2,…,l100。确定年龄段的定义,例如:步骤404,分批次输入人脸样本进行模型训练时,通过前向推理方式确定每个年龄段的初始中心特征向量。例如取最近的100个batch中的特征向量数据求初始中心特征向量。在最近的100个batch中,年龄段1的数据的fc1层输出为:第1个batch对应的特征向量为:…第100个batch对应的特征向量为:归一化后的特征向量是:第1个batch:…第100个batch:按上述公式求得年龄段1的初始中心特征向量:每个年龄段的初始中心特征向量都要求出,最终得到:center1,center2,…,center5步骤405,将center1,center2,center3分为一组,根据前述方式进行调整,计算出中心特征向量detach1,detach2,detach3,将center4,center5分为一组,按照同样的方法计算出detach4,detach5。本实施例中设定的调整系数α值取0.3。步骤406,根据计算出的中心特征向量确定第一损失函数,根据第一损失函数确定当前批次对应的总梯度,反向传播进行特征向量层参数的调整。反向传播时,当前batch中,每个样本在fc1层上产生的梯度,由前述的梯度公式计算得到,当前batch中的所有样本在fc1层上产生的梯度由上述总梯度公式计算得到。步骤407,使用l1,l2,…,l100和总梯度共同实现反向传播,更新网络模型的参数,实现一个batch的完整迭代过程。其中,l1,l2,…,l100产生的梯度由训练框架完成。梯度直接作用于fc1层。它们之间的权重关系为1:1。本公开实施例中,整个模型训练过程,初始学习率为0.0005,每5个epoch,学习率衰减一半,25个epoch完成后,训练结束。步骤408,训练结束后得到年龄识别模型,获取待分类的人脸图像,利用年龄识别模型输出年龄值。使用模型进行推理时,对上述步骤中的y1,y2,…,y200,令zi为:预测的年龄值为:再将年龄值和预设的年龄段定义匹配得到所属年龄段。实施例2图5是根据一示例性实施例示出的一种基于人脸信息进行年龄识别的装置框图。参照图5,该装置包括图像输入模块501、特征提取模块502、年龄值预测模块503,其中:图像输入模块,用于获取人脸图像并输入到年龄识别模型,所述年龄识别模型包括特征提取部分和分类预测部分;特征提取模块,用于利用所述特征提取部分,对所述人脸图像进行特征向量提取,其中,所述年龄识别模型是分批将包括不同年龄段的人脸样本作为输入对网络模型进行训练得到的,所述特征提取部分是对所述网络模型中的特征提取层进行训练过程中,利用不同批次的第一损失函数和第二损失函数调整特征提取层的参数后得到的;所述第一损失函数通过计算当前批次提取的各人脸样本的特征向量,与对应年龄段的中心特征向量的距离得到,所述第二损失函数根据所述网络模型中分类输出层输出的年龄值及标注的人脸样本的年龄值计算得到;年龄值预测模块,基于提取的特征向量,用于利用所述分类预测部分,预测所述人脸图像数据对应的年龄值。在一种可能的实施方式中,所述特征提取模块采用如下方式确定对应年龄段的中心特征向量:根据至少一个批次提取的各人脸样本的特征向量,确定不同年龄段的初始中心特征向量;对不同年龄段的初始中心特征向量,利用除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整,得到不同年龄段的中心特征向量。在一种可能的实施方式中,所述特征提取模块利用除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整,包括:将所述反向向量与该年龄段的初始中心特征向量相减;将相减后得到的向量乘以设定的调整系数,并与该年龄段的初始中心特征向量求和。预先针对不同代epoch的网络模型训练,设定对应的调整系数。在一种可能的实施方式中,所述反向向量为利用反向向量的模值归一化处理后的向量,所述不同年龄段的初始中心特征向量,为利用所述初始中心特征向量模值进行归一化处理后的向量。在一种可能的实施方式中,所述特征提取模块根据至少一个批次提取的各人脸样本的特征向量,确定不同年龄段的初始中心特征向量,包括:将所述至少一个批次得到的各年龄段归一化后各人脸样本的特征向量,取平均得到当前批次各年龄段的初始中心特征向量。在一种可能的实施方式中,特征提取模块利用除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整,包括:对不同年龄段的初始中心特征向量,确定该年龄段所在的分组,其中每个分组包括多个年龄段;对该年龄段的初始中心特征向量,利用在所述确定的分组内,除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整。在一种可能的实施方式中,所述分类预测部分是对所述网络模型中分类输出层进行训练过程中,利用不同批次的第二损失函数调整分类输出层的参数后得到的。在一种可能的实施方式中,所述特征提取模块利用不同批次的第一损失函数调整特征提取层的参数,包括:计算当前批次提取的各人脸样本的特征向量,与对应年龄段的中心特征向量的余弦距离,得到各人脸样本对应的第一损失函数;将当前批次中,各人脸样本对应的第一损失函数对应的梯度值叠加后,反向传播调整特征提取层的参数。根据本公开实施例的第三方面,提供一种电子设备,如图6所示,处理器601、存储器602、收发器609以及总线系统611;存储器,用于存储可执行指令;处理器,用于读取并执行所述存储器中存储的可执行指令,以实现执行如下方法步骤:获取人脸图像并输入到年龄识别模型,所述年龄识别模型包括特征提取部分和分类预测部分;利用所述特征提取部分,对所述人脸图像进行特征向量提取,其中,所述年龄识别模型是分批将包括不同年龄段的人脸样本作为输入对网络模型进行训练得到的,所述特征提取部分是对所述网络模型中的特征提取层进行训练过程中,利用不同批次的第一损失函数和第二损失函数调整特征提取层的参数后得到的;所述第一损失函数通过计算当前批次提取的各人脸样本的特征向量,与对应年龄段的中心特征向量的距离得到,所述第二损失函数根据所述网络模型中分类输出层输出的年龄值及标注的人脸样本的年龄值计算得到;基于提取的特征向量,利用所述分类预测部分,预测所述人脸图像数据对应的年龄值。图6是本公开实施例提供的一种电子设备600的结构示意图,电子设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(英文全称:centralprocessingunits,英文简称:cpu)601(例如,一个或一个以上处理器)和存储器602,一个或一个以上存储应用程序604或数据606的存储介质603(例如一个或一个以上海量存储设备)。其中,存储器602和存储介质603可以是短暂存储或持久存储。存储在存储介质603的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对信息处理装置中的一系列指令操作。更进一步地,处理器601可以设置为与存储介质603通信,在设备600上执行存储介质603中的一系列指令操作。设备600还可以包括一个或一个以上电源610,一个或一个以上有线或无线网络接口607,一个或一个以上输入输出接口608,和/或,一个或一个以上操作系统605,例如windowsserver,macosx,unix,linux,freebsd等。在一种可能的实施方式中,所述对应年龄段的中心特征向量采用如下方式确定:根据至少一个批次提取的各人脸样本的特征向量,确定不同年龄段的初始中心特征向量;对不同年龄段的初始中心特征向量,利用除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整,得到不同年龄段的中心特征向量。在一种可能的实施方式中,利用除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整,包括:将所述反向向量与该年龄段的初始中心特征向量相减;将相减后得到的向量乘以设定的调整系数,并与该年龄段的初始中心特征向量求和。在一种可能的实施方式中,预先针对不同代epoch的网络模型训练,设定对应的调整系数。在一种可能的实施方式中,所述反向向量为利用反向向量的模值归一化处理后的向量,所述不同年龄段的初始中心特征向量,为利用所述初始中心特征向量模值进行归一化处理后的向量。在一种可能的实施方式中,根据至少一个批次提取的各人脸样本的特征向量,确定不同年龄段的初始中心特征向量,包括:将所述至少一个批次得到的该年龄段归一化后各人脸样本的特征向量,取平均得到当前批次各年龄段的初始中心特征向量。在一种可能的实施方式中,利用除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整,包括:对不同年龄段的初始中心特征向量,确定该年龄段所在的分组,其中每个分组包括多个年龄段;对该年龄段的初始中心特征向量,利用在所述确定的分组内,除该年龄段外其他年龄段的初始中心特征向量之和的反向向量进行调整。在一种可能的实施方式中,所述分类预测部分是对所述网络模型中分类输出层进行训练过程中,利用不同批次的第二损失函数调整分类输出层的参数后得到的。在一种可能的实施方式中,利用不同批次的第一损失函数调整特征提取层的参数,包括:计算当前批次提取的各人脸样本的特征向量,与对应年龄段的中心特征向量的余弦距离,得到各人脸样本对应的第一损失函数;将当前批次中,各人脸样本对应的第一损失函数对应的梯度值叠加后,反向传播调整特征提取层的参数。根据本公开实施例提供一种非易失性存储介质,当所述存储介质中的指令由电子设备的处理器执行时,能够执行本公开实施例第一方面中所述的基于人脸信息进行年龄识别的方法。本公开实施例还提供一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行实现本公开实施例上述任意一项基于人脸信息进行年龄识别的方法或任意一项基于人脸信息进行年龄识别的方法可能涉及的方法。本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本
技术领域
中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1