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

人脸年龄识别方法、装置、终端设备及存储介质

文献发布时间:2023-06-19 10:38:35


人脸年龄识别方法、装置、终端设备及存储介质

技术领域

本申请属于人工智能技术领域,尤其涉及一种人脸年龄识别方法、装置、终端设备及存储介质。

背景技术

年龄作为一种重要的人脸属性,在人机交互、智能商务、安全监控以及娱乐等领域都有着广阔的应用前景。自动人脸年龄预测技术是一项重要的生物特征识别技术,其采用计算机视觉等技术,可以根据输入的脸部图像自动预测出人脸的真实年龄。现有技术中,大部分系统采用的年龄识别方法均是使用回归方程进行年龄识别的方法,即年龄预测模型直接输出预测出的年龄数字。然而,该方法预测的人脸年龄的准确率低。

发明内容

本申请实施例提供了一种人脸年龄识别方法、装置、终端设备及存储介质,可以解决现有技术中,使用回归方程进行人脸年龄识别准率低的问题。

第一方面,本申请实施例提供了一种人脸年龄识别方法,包括:

若判定年龄预测模型中的当前预测阶段为初始预测阶段,则根据所述初始预测阶段中的年龄范围个数和年龄总范围,确定所述当前预测阶段中的多个年龄范围;

若判定所述年龄预测模型中的当前预测阶段不为初始预测阶段,则根据所述当前预测阶段中的年龄范围个数和目标年龄范围,确定所述当前预测阶段中的多个年龄范围;

将人脸图像输入至所述年龄预测模型,分别得到所述当前预测阶段中每个年龄范围对应的概率;

确定所述概率的最大值对应的预测年龄范围,并将所述预测年龄范围作为下一预测阶段的目标年龄范围;

根据所述目标年龄范围和下一预测阶段的年龄范围个数,确定所述下一预测阶段中的多个年龄范围;

在确定所述下一预测阶段中的多个年龄范围后,将所述下一预测阶段确定为所述年龄预测模型中的当前预测阶段,并重复执行所述将人脸图像输入至所述年龄预测模型,分别得到所述当前预测阶段中每个年龄范围对应的概率,直到分别得到每个预测阶段中每个年龄范围对应的概率;

根据所述每个预测阶段中的所述预测年龄范围,以及所述每个预测阶段中与所述每个年龄范围分别对应的概率,计算所述人脸图像的人脸年龄。

在一实施例中,所述年龄预测模型包括阶段预测模型分支和年龄范围个数预测模型分支;

在所述若判定年龄预测模型中的当前预测阶段为初始预测阶段,则根据所述初始预测阶段中的年龄范围个数和年龄总范围,确定所述当前预测阶段中的多个年龄范围之前,还包括:

获取所述阶段预测模型分支中预测阶段的初始阶段数量,以及每个预测阶段中年龄范围的初始范围数量;

分别将所述人脸图像输入至所述阶段预测模型分支和所述年龄范围个数预测模型分支中,得到所述预测阶段的数量调整值,以及所述每个预测阶段中年龄范围个数的分类调整值;

根据所述初始阶段数量和所述数量调整值,确定所述年龄预测模型中预测阶段的数量;以及,

根据所述初始范围数量和所述分类调整值,分别计算所述每个预测阶段中包含的年龄范围个数。

在一实施例中,所述根据所述目标年龄范围和下一预测阶段的年龄范围个数,确定所述下一预测阶段中的多个年龄范围,包括:

确定所述目标年龄范围中的年龄最大值以及年龄最小值;

计算所述年龄最大值与所述年龄最小值之间的年龄差值;

根据所述下一预测阶段的年龄范围个数和所述年龄差值,对所述目标年龄范围进行划分,得到所述下一预测阶段的多个年龄范围。

在一实施例中,所述根据所述下一预测阶段的年龄范围个数和所述年龄差值,对所述目标年龄范围进行划分,得到所述下一预测阶段的多个年龄范围,包括:

根据所述下一预测阶段的年龄范围个数,确定所述年龄差值的目标值;

根据所述目标值和所述年龄范围个数,对所述目标年龄范围进行划分,得到所述下一预测阶段的多个年龄范围,其中,每个年龄范围一一对应的年龄最大值与年龄最小值之间的年龄差值与所述目标值相等。

在一实施例中,所述根据所述每个预测阶段中的所述预测年龄范围,以及所述每个预测阶段中与所述每个年龄范围分别对应的概率,计算所述人脸图像的人脸年龄,包括:

在待预测阶段中,确定所述预测年龄范围的年龄最大值,以及所述待预测阶段中的每个年龄范围分别对应的概率,所述待预测阶段为多个预测阶段中的任意一个阶段;

将所述预测年龄范围的年龄最大值,分别与所述待预测阶段中每个年龄范围对应的概率进行乘积加和,得到所述待预测阶段中的预测年龄;

将所述每个预测阶段对应的预测年龄相加,得到所述人脸图像的人脸年龄。

在一实施例中,所述年龄预测模型还包括计算参数预测模型分支;

所述将所述预测年龄范围的年龄最大值,分别与所述待预测阶段中每个年龄范围对应的概率进行乘积加和,得到所述待预测阶段中的预测年龄,包括:

将所述人脸图像输入至所述计算参数预测模型分支进行预测,得到所述每个预测阶段的计算参数调整值;

获取所述每个预测阶段中所述预测年龄范围的预设计算参数;

根据所述计算参数调整值对所述预设计算参数进行调整,获得所述每个预测阶段中所述预测年龄范围的计算参数,所述计算参数的个数与所述每个预测阶段中年龄范围的个数一致;

将所述每个预测阶段中所述预测年龄范围的计算参数,分别一一与所述每个年龄范围对应的概率进行分组匹配,得到多组数值组合,每组数值组合均包含一个计算参数和一个年龄范围对应的概率;

在所述待预测阶段中,分别将所述预测年龄范围的年龄最大值,与所述多组数值组合进行乘积加和,得到所述待预测阶段的预测年龄。

在一实施例中,所述在所述待预测阶段中,分别将所述预测年龄范围的年龄最大值,与所述待预测阶段中的每个年龄范围对应的概率,以及所述计算参数进行乘积加和,得到所述待预测阶段的预测年龄,包括:

根据每个计算参数的数值,将所述每个计算参数从小到大进行排列;以及,将所述待预测阶段中的每个年龄范围分别对应的概率从大到小进行排列;

基于所述每个计算参数的排列顺序,以及与所述每个年龄范围分别对应的概率的排列顺序,分别将处于相同排列顺序的计算参数和年龄范围分别对应的概率确定为一组数值组合,得到所述多组数值组合。

第二方面,本申请实施例提供了一种人脸年龄识别装置,包括:

第一判定模块,用于若判定年龄预测模型中的当前预测阶段为初始预测阶段,则根据所述初始预测阶段中的年龄范围个数和年龄总范围,确定所述当前预测阶段中的多个年龄范围;

第二判定模块,用于若判定所述年龄预测模型中的当前预测阶段不为初始预测阶段,则根据所述当前预测阶段中的年龄范围个数和目标年龄范围,确定所述当前预测阶段中的多个年龄范围;

预测模块,用于将人脸图像输入至所述年龄预测模型,分别得到所述当前预测阶段中每个年龄范围对应的概率;

第一确定模块,用于确定所述概率的最大值对应的预测年龄范围,并将所述预测年龄范围作为下一预测阶段的目标年龄范围;

第二确定模块,用于根据所述目标年龄范围和下一预测阶段的年龄范围个数,确定所述下一预测阶段中的多个年龄范围;

处理模块,用于在确定所述下一预测阶段中的多个年龄范围后,将所述下一预测阶段确定为所述年龄预测模型中的当前预测阶段,并重复执行所述将人脸图像输入至所述年龄预测模型,分别得到所述当前预测阶段中每个年龄范围对应的概率,直到分别得到每个预测阶段中每个年龄范围对应的概率;

计算模块,用于根据所述每个预测阶段中的所述预测年龄范围,以及所述每个预测阶段中与所述每个年龄范围分别对应的概率,计算所述人脸图像的人脸年龄。

第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述第一方面任一项所述的方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述第一方面任一项所述的方法。

第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的方法。

本申请实施例与现有技术相比存在的有益效果是:通过在年龄预测模型中设定多个预测阶段,以及每个预测阶段中包含的年龄范围个数,使得年龄预测模型在依次根据预测阶段预测人脸年龄在每个年龄范围的概率值时,能够在一定程度上实现对年龄范围进行由粗到精的划分,使年龄预测模型可在下一预测阶段的多个更为精细的年龄范围中,对人脸年龄进行分类预测,提高年龄预测模型对人脸年龄进行识别分类的准确率。同时,在年龄预测模型中采用年龄范围的预测方式,可以减少年龄预测模型中全连接层的模型参数,从而达到缩小年龄预测模型规模的目的。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请一实施例提供的一种人脸年龄识别方法的实现流程图;

图2是本申请另一实施例提供的一种人脸年龄识别方法的实现流程图;

图3是本申请一实施例提供的一种人脸年龄识别方法的S104的一种实现方式示意图;

图4是本申请一实施例提供的一种人脸年龄识别方法的S1043的一种实现方式示意图;

图5是本申请一实施例提供的一种人脸年龄识别方法的S106的一种实现方式示意图;

图6是本申请一实施例提供的一种人脸年龄识别方法的S1062的一种实现方式示意图;

图7是本申请一实施例提供的一种人脸年龄识别装置的结构框图;

图8是本申请一实施例提供的一种终端设备的结构框图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

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

另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

本申请实施例提供的人脸年龄识别方法可以应用于平板电脑、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)等终端设备上,本申请实施例对终端设备的具体类型不作任何限制。

请参阅图1,图1示出了本申请实施例提供的一种人脸年龄识别方法的实现流程图,该方法包括如下步骤:

S101、若判定年龄预测模型中的当前预测阶段为初始预测阶段,则根据所述初始预测阶段中的年龄范围个数和年龄总范围,确定所述当前预测阶段中的多个年龄范围。

S102、若判定所述年龄预测模型中的当前预测阶段不为初始预测阶段,则根据所述当前预测阶段中的年龄范围个数和上一预测阶段中的预测年龄范围,确定所述当前预测阶段中的多个年龄范围。

在应用中,上述年龄预测模型为用于根据人脸图像预测人脸年龄的模型。其中,上述预测阶段为年龄预测模型对人脸图像进行预测,输出人脸年龄分别属于每个年龄范围的概率的阶段。其中,上述年龄总范围、预测阶段和每个预测阶段中年龄范围个数均可由用户根据实际情况进行设定。另外,每个预测阶段的年龄范围也可由用户预先根据实际情况进行设置。也可以为年龄预测模型基于当前预测阶段年龄范围个数和目标年龄范围或年龄总范围,确定当前预测阶段的多个年龄范围。

示例性的,年龄预测模型包括多个预测阶段,在当前预测阶段为初始预测阶段时,其不具有上一预测阶段。基于此,终端设备可直接根据用户预设的年龄总范围和初始预测阶段中的年龄范围个数,确定当前预测阶段中的多个年龄范围。具体的,年龄总范围0-100,若初始预测阶段中的年龄范围个数为3,则当前预测阶段中的多个年龄范围[0,33.33],[33.33,66.66],[66.66,100]。

然而,在当前预测阶段不为初始预测阶段时,则代表当前预测阶段具有上一预测阶段。基于此,若确定当前预测阶段的目标年龄范围为0-33.33,以及当前预测阶段中年龄范围的数量为3,则当前预测阶段的多个年龄范围可以为:[0,11.11],[11.11,22.22],[22.22,33.33],对此不做限定。示例性的,上述预测阶段的数量以及每个预测阶段中年龄范围个数均可为3。其中,目标年龄范围可以为从上一预测阶段的多个年龄范围中确定的年龄范围。

S103、将人脸图像输入至所述年龄预测模型,分别得到所述当前预测阶段中每个年龄范围对应的概率

在应用中,对于当前预测阶段的多个年龄范围,年龄预测模型可提取人脸图像的图像特征,并基于图像特征预测该人脸年龄分别属于每个年龄范围的概率值。

示例性的,当前预测阶段中年龄范围为:[0,33.33],[33.33,66.66],[66.66,100]。其中,年龄预测模型根据人脸图像的图像特征,预测该人脸年龄分别属于每个年龄范围的概率值可以为:预测人脸年龄属于[0,33.33]的概率为80%,预测人脸年龄属于[33.33,66,66]的概率为15%,预测人脸年龄属于[66.66,100]的概率为5%。

可以理解的是,与现有的年龄预测模型的预测方式不同,本实施例中的年龄预测模型是预测人脸年龄分别属于某一个年龄范围的分类概率,而不是由年龄预测模型直接输出预测的人脸年龄。即现有大部分系统采用的年龄识别方法可以分为两大类,一是使用回归方程进行年龄识别的方法,即年龄预测模型直接输出预测出的年龄数字;二是使用模型分类的方法,例如,将待识别的年龄从1到100岁分为100类,即每一岁为一个类别。年龄预测模型根据人脸图像的特征进行预测,输出人脸年龄为每一类的概率(即100个概率),并将多个概率中,概率值最大对应的类别作为预测的人脸年龄。第一个方法预测的人脸年龄准确率低;而使用第二个方法预测人脸年龄,则将造成年龄预测模型中最后一层全连接层的参数量非常大。具体的,年龄预测模型最后全连接层的参数量等于最后一层的特征向量的维度乘以类别数。即对于100类的分类模型,其全连接层的参数量=特征向量N的维度*类别数(100)。

然而,在本方案中,年龄预测阶段均采用预测人脸年龄属于年龄范围的方式,且每个预测阶段中年龄范围的数量为3。即在特征向量N的维度一致的情况下,本方案中的年龄预测模型中全连接层的参数量=特征向量N*类别数(3)。与现有技术方案相比,采用预测人脸年龄属于某一年龄范围的方式,可以使整个年龄预测模型的参数量缩小十多倍,有利于减小年龄预测模型在终端设备中的占用空间。

S104、确定所述概率的最大值对应的预测年龄范围,并将所述预测年龄范围作为下一预测阶段的目标年龄范围。

在应用中,根据上述S103中得到的当前预测阶段中各个年龄范围的概率,将概率的最大值对应的预测年龄范围,作为下一预测阶段的目标年龄范围。即对于上述S103中的示例,可认为目标年龄范围为[0,33.33]。对于年龄预测模型中的多个预测阶段(第一预测阶段,第二预测阶段,...,第N预测阶段),可认为在实际预测过程中,第一预测阶段为年龄预测模型在第一次对人脸图像进行预测的当前预测阶段,并依次执行其余预测阶段。即可以理解的是,当前预测阶段与下一预测阶段具有相对性。年龄预测模型中正在执行的预测阶段即为当前预测阶段。

S105、根据所述目标年龄范围和下一预测阶段的年龄范围个数,确定所述下一预测阶段中的多个年龄范围。

在应用中,上述S104中已对目标年龄范围进行解释,对此不再进行说明。对于下一预测阶段中年龄范围个数已在S101中进行解释,对此不再进行说明。在确定年龄范围个数和目标年龄范围后,可计算目标年龄范围中年龄最大值和年龄最小值之间的差值,并除以年龄范围个数得到目标值。而后,对于下一预测阶段中的第一个年龄范围,可以为年龄最小值至年龄最小值与目标值之和的范围。第二个年龄范围为年龄最小值与目标值之和至年龄最小值与两个目标值之和的范围,以此类推,直至得到最后一个年龄范围。具体的,对于下一预测阶段的年龄范围个数为3,目标年龄范围为[0,33.33],其下一预测阶段中的多个年龄范围可依次为:[0,11.11],[11.11,22.22],[22.22,33.33]。

S106、在确定所述下一预测阶段中的多个年龄范围后,将所述下一预测阶段确定为所述年龄预测模型中的当前预测阶段,并重复执行所述将人脸图像输入至所述年龄预测模型,分别得到所述当前预测阶段中每个年龄范围对应的概率,直到分别得到每个预测阶段中每个年龄范围对应的概率。

在应用中,在确定下一预测阶段的多个年龄范围后,可认为下一预测阶段即为年龄预测模型中的当前预测阶段。即可认为步骤S105确定的下一预测阶段中的多个年龄范围基,即变为当前预测阶段中的多个年龄范围。于此,年龄预测模型可再次执行上述S103至上述S105的过程。以此,可得到年龄预测模型中每个预测阶段中的所有年龄范围分别对应的概率值。

S107、根据所述每个预测阶段中的所述预测年龄范围,以及所述每个预测阶段中与所述每个年龄范围分别对应的概率,计算所述人脸图像的人脸年龄。

在应用中,对于上述任一预测阶段,经过上述处理后可确定该预测阶段中的多个年龄范围,以及每个年龄范围分别对应的概率。基于此,可将每个年龄范围的最大值与对应的概率进行乘积,并将该预测阶段中的多个乘积相加作为该预测阶段的预测年龄。之后,将各个预测阶段的预测年龄进行加和,得到人脸图像的人脸年龄。或者,确定该预测阶段中概率的最大值对应的预测年龄范围,将该预测年龄范围的最大值分别与概率值以及预设的修正参数进行乘积,而后将乘积后的值进行加和,作为该预测阶段中的预测年龄,对此不作限定。

在本实施例中,通过在年龄预测模型中设定多个预测阶段,以及每个预测阶段中包含的年龄范围个数,使得年龄预测模型在依次根据预测阶段预测人脸年龄在每个年龄范围的概率值时,能够在一定程度上实现对年龄范围进行由粗到精的划分,使年龄预测模型可在下一预测阶段的多个更为精细的年龄范围中,对人脸年龄进行分类预测,提高年龄预测模型对人脸年龄进行识别分类的准确率。同时,在年龄预测模型中采用年龄范围的预测方式,可以减少年龄预测模型中全连接层的模型参数,从而达到缩小年龄预测模型规模的目的。

参照图2,在一实施例中,所述年龄预测模型包括阶段预测模型分支和年龄范围个数预测模型分支;在S101若判定年龄预测模型中的当前预测阶段为初始预测阶段,则根据所述初始预测阶段中的年龄范围个数和年龄总范围,确定所述当前预测阶段中的多个年龄范围之前,还包括如下步骤S101A-S101D,详述如下:

S101A、获取所述阶段预测模型分支中预测阶段的初始阶段数量,以及每个预测阶段中年龄范围的初始范围数量。

S101B、分别将所述人脸图像输入至所述阶段预测模型分支和所述年龄范围个数预测模型分支中,得到所述预测阶段的数量调整值,以及所述每个预测阶段中年龄范围个数的分类调整值。

在应用中,上述阶段预测模型分支用于对于当前人脸图像,预测出应当执行多少预测阶段进行年龄预测。需要说明的是,年龄预测模型中输入的为人脸图像,年龄预测模型提取人脸图像中的人脸图像特征。然而,对于提取到的人脸图像特征,年龄预测模型内部具有多种对人脸图像特征进行特征处理并进行预测的模型分支。其中,该模型分支包括但不限于用于根据人脸图像特征预测最终每个预测阶段的数量调整值的模型分支,预测每个预测阶段中年龄范围个数的分类调整值的模型分支,以及用于预测人脸年龄在每个预测阶段中属于每个年龄范围的概率值的模型分支。

在应用中,上述初始阶段数量以及年龄范围的初始范围数量均可认为是由用户预先设定数量,对此不作限定。

S101C、根据所述初始阶段数量和所述数量调整值,确定所述年龄预测模型中预测阶段的数量。以及,

S101D、根据所述初始范围数量和所述分类调整值,分别计算所述每个预测阶段中包含的年龄范围个数。

在应用中,在根据人脸图像以及相应的模型分支,得到每个预测阶段的数量调整值,以及得到每个预测阶段中年龄范围个数的分类调整值后,可将数量调整值与初始阶段数量相加得到年龄预测模型中预测阶段的数量。以及初始范围数量和分类调整值进行相加,得到每个预测阶段中的年龄范围个数。

示例性的,对于每个预测阶段中年龄范围的初始范围数量,可认为用户预先设定了年龄预测模型中每个预测阶段中年龄范围的初始范围数量为Sj。而后,年龄预测模型在获取到待识别的人脸图像后,根据人脸图像特征对初始范围数量Sj进行调整,输出每个预测阶段中初始范围数量的分类调整值Δj。基于此,最后可得到每个预测阶段中年龄范围个数。可参照如下公式进行计算,

具体的,在训练年龄预测模型中年龄范围个数预测模型分支时,可预先标记训练数据中人脸图像的人脸真实年龄。而后将训练数据输入至年龄预测模型中,阶段预测模型分支输出当前人脸图像下,所应执行的预测阶段的数量调整值,以及年龄范围个数预测模型分支输出当前人脸图像下,每个预测阶段中年龄范围个数的分类调整值。基于此,得到人脸图像所应执行的各个预测阶段,以及每个预测阶段中年龄范围个数。而后基于上述S101至S107中的各个步骤,由年龄预测模型输出预测人脸年龄。最后,根据预测人脸年龄以及真实年龄计算误差值,并根据误差值反向迭代更新预测模型分支中各个学习参数的数值以及权重值,得到最终包含上述各个模型分支的年龄预测模型。

在应用中,确定年龄预测模型中预测阶段的数量的方式,与确定年龄范围个数的方式类似,具体可参照上述内容,对此不再进行描述。

可以理解的是,因人的年龄是一个连续体,人脸随着年龄的增长而产生的变化也是一个渐进的过程。因此,为了避免年龄范围过大,导致年龄预测模型对人脸年龄进行年龄范围预测,造成邻近年龄范围的预测错误的情况。此时,年龄预测模型则需要在设定每个预测阶段的年龄范围个数的基础上,结合上述S101A-S101D中的方法,动态调整当前预测阶段中年龄范围个数。最后,根据该年龄范围个数对目标年龄范围进行划分,得到下一预测阶段中更为精细的多个年龄范围,提高年龄预测模型对人脸年龄进行年龄范围预测的准确率。

参照图3,在一实施例中,S105根据所述目标年龄范围和下一预测阶段的年龄范围个数,确定所述下一预测阶段中的多个年龄范围,还包括如下子步骤S1051-S1053,详述如下:

S1051、确定所述目标年龄范围中的年龄最大值以及年龄最小值。

S1052、计算所述年龄最大值与所述年龄最小值之间的年龄差值。

在应用中,在确定目标年龄范围后,目标年龄范围的两个端值即分别为年龄最大值以及年龄最小值。具体的,对于目标年龄范围为[0,33.33],可确定两个端值分别为0以及33.33。基于此,可认为年龄最大值为33.33,以及年龄最小值为0,且其之间的年龄差值为33.33.

S1053、根据所述下一预测阶段的年龄范围个数和所述年龄差值,对所述目标年龄范围进行划分,得到所述下一预测阶段的多个年龄范围。

在应用,在确定年龄范围个数和年龄差值后,可具体参照如下步骤对目标年龄范围进行划分。具体的。参照图4,在一实施例中,S1053根据所述下一预测阶段的年龄范围个数和所述年龄差值,对所述目标年龄范围进行划分,得到所述下一预测阶段的多个年龄范围,还包括如下子步骤S10531-S10532,详述如下:

S10531、根据所述下一预测阶段的年龄范围个数,确定所述年龄差值的目标值。

S10532、根据所述目标值和所述年龄范围个数,对所述目标年龄范围进行划分,得到所述下一预测阶段的多个年龄范围,其中,每个年龄范围一一对应的年龄最大值与年龄最小值之间的年龄差值与所述目标值相等。

在应用中,上述目标值可认为将年龄差值除以年龄范围个数得到数值。即对上述S1052中的示例,在年龄差值为33.33,年龄范围个数为3时,其目标数值即为11.11。基于此,可将下一预测阶段的年龄范围依次划分为:[0,11.11],[11.11,22.22],[22.22,33.33]。其中,下一预测阶段的每个年龄范围之间的年龄最大值与年龄最小值之间的年龄差值,均与目标值11.11相等。

参照图5,在一实施例中,S107根据所述每个预测阶段中的所述预测年龄范围,以及所述每个预测阶段中与所述每个年龄范围分别对应的概率,计算所述人脸图像的人脸年龄,还包括如下子步骤S1071-S1073,详述如下:

S1071、在待预测阶段中,确定所述预测年龄范围的年龄最大值,以及所述待预测阶段中的每个年龄范围分别对应的概率,所述待预测阶段为多个预测阶段中的任意一个阶段。

S1072、将所述预测年龄范围的年龄最大值,分别与所述待预测阶段中每个年龄范围对应的概率进行乘积加和,得到所述待预测阶段中的预测年龄。

S1073、将所述每个预测阶段对应的预测年龄相加,得到所述人脸图像的人脸年龄。

在应用中,上述预测年龄范围已在S104中进行解释,对此不再进行说明。因年龄预测模型分为多个预测阶段,基于此,可在确定当前预测阶段中的预测年龄范围、以及当前预测阶段中各个年龄范围的概率后,即可计算当前预测阶段中的预测年龄。

在应用中,对于一个预测阶段包含多个年龄范围,其预测年龄范围只有一个。因此,预测年龄范围的最大值仅为一个,可将预测年龄范围的最大值分别与每个年龄范围对应的概率进行乘积加和,得到待预测阶段中的预测年龄。可以理解的是,通常对于预测阶段中各年龄范围的概率之和为1,因此,最终计算的数值即为预测年龄范围的最大值。然而,在实际情况中,年龄预测模型可获取每个预测阶段中预先设置的多个修正参数,并将该预测年龄范围的最大值分别与概率值以及预设的修正参数进行乘积,而后将乘积后的值进行加和,作为该预测阶段中的预测年龄。以使得最终计算得到的预测年龄更接近与人脸图像中人脸的实际年龄。

参照图6,在一实施例中,所述年龄预测模型还包括计算参数预测模型分支;S1072将所述预测年龄范围的年龄最大值,分别与所述待预测阶段中每个年龄范围对应的概率进行乘积加和,得到所述待预测阶段中的预测年龄,还包括如下子步骤S10721-S10725,详述如下:

S10721、将所述人脸图像输入至所述计算参数预测模型分支进行预测,得到所述每个预测阶段的计算参数调整值。

S10722、获取所述每个预测阶段中所述预测年龄范围的预设计算参数。

S10723、根据所述计算参数调整值对所述预设计算参数进行调整,获得所述每个预测阶段中所述预测年龄范围的计算参数,所述计算参数的个数与所述每个预测阶段中年龄范围的个数一致。

在应用中,上述计算参数预测模型分支用于根据人脸图像的图像特征预测每个预测阶段中的,计算参数调整值。可以理解的是,对于计算参数模型分支的训练过程,具体可参照S101D中对年龄范围个数预测模型分支进行训练的论述,对此不再进行说明。

在具体应用中,可参照如下公式进行计算得到计算参数,

需要说明的是,上述每个预测阶段中预测年龄范围的预设计算参数具体可为用户预先设置的计算参数,其可根据实际情况进行设置。

S10724、将所述每个预测阶段中所述预测年龄范围的计算参数,分别一一与所述每个年龄范围对应的概率进行分组匹配,得到多组数值组合,每组数值组合均包含一个计算参数和一个年龄范围对应的概率。

S10725、在所述待预测阶段中,分别将所述预测年龄范围的年龄最大值,与所述多组数值组合进行乘积加和,得到所述待预测阶段的预测年龄。

在应用中,对于当前待预测阶段,因年龄范围个数和计算参数的数量一致,可确定年龄范围对应概率的数量,也与计算参数的数量一致。因此,可将计算参数和概率两两对应设置为一组,而后分别与预测年龄范围的年龄最大值进行乘积加和,得到预测年龄。

具体的,S10724将所述每个预测阶段中所述预测年龄范围的计算参数,分别一一与所述每个年龄范围对应的概率进行分组匹配,得到多组数值组合,具体包括如下子步骤,详述如下:

根据每个计算参数的数值,将所述每个计算参数从小到大进行排列;以及,将所述待预测阶段中的每个年龄范围分别对应的概率从大到小进行排列。

分别将所述处于相同排列顺序的计算参数和年龄范围分别对应的概率确定为一组数值组合,得到所述多组数值组合。

分别将所述预测年龄范围的年龄最大值,与所述处于相同排列顺序的计算参数和年龄范围分别对应的概率进行乘积加和,得到所述待预测阶段的预测年龄。

具体的,对于从小到大排列的计算参数,以及从大到小排列的概率,可将处于相同排列顺序的计算参数和年龄范围对应的概率作为一组计算数值。例如,对于第一个预测阶段中,预测人脸年龄属于[0,33.33]的概率为80%,预测人脸年龄属于[33.33,66.66]的概率为15%,预测人脸年龄属于[66.66,100]的概率为5%,以及数值为0,1,2的计算参数。可确定当前预测阶段中概率0.8对应的计算参数应为0,概率0.15对应的计算参数应为1,以及概率为0.05对应的计算参数应为2。基于此,根据预测年龄范围最大值(33.33),以及上述每个概率分别对应的计算参数,可确定该待预测阶段中的预测年龄为:0*0.8*33.33+1*0.15*33.33+2*0.05*33.33≈8.33,该数值处于[0,33.33]。之后,若年龄预测模型中的预测阶段共有3个,每个预测阶段中年龄范围个数也为3,则对于第二个预测阶段,其目标年龄范围为[0,33.33]。基于此,在该预测阶段中年龄范围个数为3时,确定的多个年龄范围依次为:[0,11.11],[11.11,22.22],[22.22,33.33]。之后,若确定预测人脸年龄属于[0,11.11]的概率为90%,预测人脸年龄属于[11.11,22.22]的概率为5%,预测人脸年龄属于[22.22,33.33]的概率为5%,则第二个预测阶段中的预测年龄则为:0*0.9*11.11+1*0.05*11.11+2*0.05*11.11≈1.67。其中,0,1,2表示第二预测阶段中年龄范围依次对应的计算参数。此外对于第三个预测阶段,其目标年龄范围为[0,11.11],该待预测阶段对应的年龄范围分别为[0,3.70],[3.70,7.41],[7.41,11.11]。之后,若预测人脸年龄属于[0,3.70]的概率为80%,预测人脸年龄属于[3.70,7.41]的概率为10%,预测人脸年龄属于[7.41,11.11]的概率为10%。则第三个预测阶段中预存年龄为:0*0.8*3.70+1*0.1*3.70+2*0.1*3.70=1.11。最后,最终人脸年龄预测结果即为:8.33+1.67+1.11=11.11,且该数值处于第一预存阶段中概率为80%的[0,33.33]的年龄范围中。

具体的,人脸年龄的计算公式可以为:

请参阅图7,图7是本申请实施例提供的一种人脸年龄识别装置的结构框图。本实施例中人脸年龄识别装置包括的各模块用于执行图1至图6对应的实施例中的各步骤。具体请参阅图1至图6以及图1至图6所对应的实施例中的相关描述。为了便于说明,仅示出了与本实施例相关的部分。参见图7,人脸年龄识别装置700包括:第一判定模块710、第二判定模块720、预测模块730、第一确定模块740、第二确定模块750、处理模块760以及计算模块770,其中:

第一判定模块710,用于若判定年龄预测模型中的当前预测阶段为初始预测阶段,则根据所述初始预测阶段中的年龄范围个数和年龄总范围,确定所述当前预测阶段中的多个年龄范围。

第二判定模块720,用于若判定所述年龄预测模型中的当前预测阶段不为初始预测阶段,则根据所述当前预测阶段中的年龄范围个数和目标年龄范围,确定所述当前预测阶段中的多个年龄范围。

预测模块块730,用于将人脸图像输入至所述年龄预测模型,分别得到所述当前预测阶段中每个年龄范围对应的概率。

第一确定模块块740,用于确定所述概率的最大值对应的预测年龄范围,并将所述预测年龄范围作为下一预测阶段的目标年龄范围。

第二确定模块块750,用于根据所述目标年龄范围和下一预测阶段的年龄范围个数,确定所述下一预测阶段中的多个年龄范围。

处理模块块760,用于在确定所述下一预测阶段中的多个年龄范围后,将所述下一预测阶段确定为所述年龄预测模型中的当前预测阶段,并重复执行所述将人脸图像输入至所述年龄预测模型,分别得到所述当前预测阶段中每个年龄范围对应的概率,直到分别得到每个预测阶段中每个年龄范围对应的概率。

计算模块块770,用于根据所述每个预测阶段中的所述预测年龄范围,以及所述每个预测阶段中与所述每个年龄范围分别对应的概率,计算所述人脸图像的人脸年龄。

在一实施例中,所述年龄预测模型包括阶段预测模型分支和年龄范围个数预测模型分支;人脸年龄识别装置700还包括:

获取模块,用于获取所述阶段预测模型分支中预测阶段的初始阶段数量,以及每个预测阶段中年龄范围的初始范围数量。

输入模块,用于分别将所述人脸图像输入至所述阶段预测模型分支和所述年龄范围个数预测模型分支中,得到所述预测阶段的数量调整值,以及所述每个预测阶段中年龄范围个数的分类调整值。

第三确定模块,用于根据所述初始阶段数量和所述数量调整值,确定所述年龄预测模型中预测阶段的数量。以及,

第四确定模块,用于根据所述初始范围数量和所述分类调整值,分别计算所述每个预测阶段中包含的年龄范围个数。

在一实施例中,第一确定模块740还用于:

确定所述目标年龄范围中的年龄最大值以及年龄最小值;

计算所述年龄最大值与所述年龄最小值之间的年龄差值;

根据所述下一预测阶段的年龄范围个数和所述年龄差值,对所述目标年龄范围进行划分,得到所述下一预测阶段的多个年龄范围。

在一实施例中,第一确定模块740还用于:

根据所述下一预测阶段的年龄范围个数,确定所述年龄差值的目标值;

根据所述目标值和所述年龄范围个数,对所述目标年龄范围进行划分,得到所述下一预测阶段的多个年龄范围,其中,每个年龄范围一一对应的年龄最大值与年龄最小值之间的年龄差值与所述目标值相等。

在一实施例中,计算模块块770还用于:

在待预测阶段中,确定所述预测年龄范围的年龄最大值,以及所述待预测阶段中的每个年龄范围分别对应的概率,所述待预测阶段为多个预测阶段中的任意一个阶段;

将所述预测年龄范围的年龄最大值,分别与所述待预测阶段中每个年龄范围对应的概率进行乘积加和,得到所述待预测阶段中的预测年龄;

将所述每个预测阶段对应的预测年龄相加,得到所述人脸图像的人脸年龄。

在一实施例中,所述年龄预测模型还包括计算参数预测模型分支;计算模块块770还用于:

将所述人脸图像输入至所述计算参数预测模型分支进行预测,得到所述每个预测阶段的计算参数调整值;

获取所述每个预测阶段中所述预测年龄范围的预设计算参数;

根据所述计算参数调整值对所述预设计算参数进行调整,获得所述每个预测阶段中所述预测年龄范围的计算参数,所述计算参数的个数与所述每个预测阶段中年龄范围的个数一致;

将所述每个预测阶段中所述预测年龄范围的计算参数,分别一一与所述每个年龄范围对应的概率进行分组匹配,得到多组数值组合,每组数值组合均包含一个计算参数和一个年龄范围对应的概率;

在所述待预测阶段中,分别将所述预测年龄范围的年龄最大值,与所述多组数值组合进行乘积加和,得到所述待预测阶段的预测年龄。

在一实施例中,计算模块块770还用于:

根据每个计算参数的数值,将所述每个计算参数从小到大进行排列;以及,将所述待预测阶段中的每个年龄范围分别对应的概率从大到小进行排列;

基于所述每个计算参数的排列顺序,以及与所述每个年龄范围分别对应的概率的排列顺序,确定处于相同排列顺序的计算参数和年龄范围分别对应的概率;

分别将所述处于相同排列顺序的计算参数和年龄范围分别对应的概率确定为一组数值组合,得到所述多组数值组合。

当理解的是,图7示出的人脸年龄识别装置的结构框图中,各单元/模块用于执行图1至图6对应的实施例中的各步骤,而对于图1至图6对应的实施例中的各步骤已在上述实施例中进行详细解释,具体请参阅图1至图6以及图1至图6所对应的实施例中的相关描述,此处不再赘述。

图8是本申请另一实施例提供的一种终端设备的结构框图。如图8所示,该实施例的终端设备800包括:处理器810、存储器820以及存储在存储器820中并可在处理器810运行的计算机程序830,例如人脸年龄识别方法的程序。处理器810执行计算机程序830时实现上述各个人脸年龄识别方法各实施例中的步骤,例如图1所示的S101至S107。或者,处理器810执行计算机程序830时实现上述图7对应的实施例中各模块的功能,例如,图7所示的模块710至770的功能,具体请参阅图7对应的实施例中的相关描述。

示例性的,计算机程序830可以被分割成一个或多个单元,一个或者多个单元被存储在存储器820中,并由处理器810执行,以完成本申请。一个或多个单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序830在终端设备800中的执行过程。

终端设备可包括,但不仅限于,处理器810、存储器820。本领域技术人员可以理解,图8仅仅是终端设备800的示例,并不构成对终端设备800的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如终端设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器810可以是中央处理单元,还可以是其他通用处理器、数字信号处理器、专用集成电路、现成可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器820可以是终端设备800的内部存储单元,例如终端设备800的硬盘或内存。存储器820也可以是终端设备800的外部存储设备,例如终端设备800上配备的插接式硬盘,智能存储卡,闪存卡等。进一步地,存储器820还可以既包括终端设备800的内部存储单元也包括外部存储设备。

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

相关技术
  • 人脸年龄识别方法、装置、终端设备及存储介质
  • 人脸年龄段识别方法及装置、计算机装置及可读存储介质
技术分类

06120112623144