一种年龄识别的神经网络结构及其训练方法与流程

未命名 08-26 阅读:119 评论:0


1.本发明涉及年龄预测技术领域,尤其涉及一种年龄识别的神经网络结构及其训练方法。


背景技术:

2.人脸年龄检测算法是一种基于人脸图像的算法,旨在通过对人脸图像进行分析和处理,预测人脸主人的年龄。年龄是对于人脸进行分类的重要属性,准确与否对下游算法至关重要。主要可以分为基于传统机器学习方法和深度学习方法两种。传统算法由于手工提取的特征不一定能够很好地表达人脸图像的特征,因此预测准确率较低,不如深度学习。现有深度学习算法的问题主要是算法的复杂度高,速度较慢,过拟合较为严重以及预测偏差较大。
3.请参阅图1,常规的人脸年龄预测模型主要有主干和预测头组成,如图1所示。对于常规的模型,主干网络提取特征后直接预测年龄回归值,然后离散化为最后结果,这样做没有考虑到不同年龄段的脸部特征变化的不同,也导致回归误差较大。进一步的,传统的方法也有采用先进行粗糙分类在预测年龄的技术手段,但是传统的方法都是将最后的精细回归接在模型结构的最后端,这样做没有很好的利用主干的特征提取能力。进一步的,传统的回归方案将年龄视为一个连续、每个年龄差都同差异的任务,但是众所周知不同年龄段的相差一岁,脸部的变化大不相同,进一步导致模型的预测误差增大。


技术实现要素:

4.有鉴于此,本发明的目的在于提出一种年龄识别的神经网络结构及其训练方法,能够有效的保证人脸年龄预测的精度,较强的泛化能力,可以应用于各种场景的人脸,并且模型轻量且速度快。
5.根据本发明的一个方面,提供一种年龄识别的神经网络结构,包括:主干网络,该主干网络用于提取图片中的年龄特征信息;分类预测头,该分类预测头与主干网络相连,用于通过年龄特征信息判别年龄段;排序预测头,该排序预测头与主干网络相连,用于根据年龄段预测每个年龄的概率累积和,并根据概率累积和进行排序。
6.在上述技术方案中,提出一个先分年龄段分类,后进行年龄等级排序的预测模型,以提高模型的回归精度,网络分为基础主干网络、分类预测头和排序预测头组成。先由主干网络提取特征,然后进行分类。分类预测头能够很精确的区分不同年龄段并且有助于后续精细分类。传统的方法也有类似的先进行粗糙分类,但是传统的方法都是将最后的精细回归接在分类预测的后面,这样做其实没有很好的利用主干的特征提取能力。本技术方案是把分类预测头当成辅助特征提取的有效工具,并且前期训练更加稳定,不会增加精细预测的负担,最后再排序分类出精确的年龄。传统的回归方案将年龄视为一个连续、每个年龄差都同差异的任务,但是众所周知不同年龄段的相差一岁,脸部的变化大不相同。本技术方案中的排序分类方案,将年龄离散化,每个年龄差独立分类,这样可以考虑到年龄之间的非线
性变化。年龄输出为预测的概率累积和。在上述技术方案中能够充分利用模型特征提取的能力,使得人脸年龄检测模型由粗糙预测到精细预测。进一步的,能够利用排序回归解决线性回归没法度量的年龄间非线性变化差距的问题。在上述技术方案中将年龄预测误差控制在很小的范围,且在一些真实场景中有很好的泛化表现。
7.在一些实施例中,所述分类预测头至少包括一个年龄段分类预测头。
8.在上述技术方案中,分类预测头能够很精确的区分不同年龄段并且有助于后续精细分类。
9.在一些实施例中,所述排序预测头具体用于预测n个二分类,n为年龄总数,每个位置的概率值代表预测年龄是否超过该位置代表的年龄值。
10.在上述技术方案中,排序是预测n个二分类,n为年龄总数,每个位置的概率值代表预测年龄是否超过该位置代表的年龄值。本网络n为81,即0-80岁,排序预测的分类器也是按0到80有序的分类,每个二分类的概率结果代表预测年龄是否超过该位置代表的年龄值。例如,81个分类器的结果前20个预测超过阈值,从第21个开始预测年龄没有超过,最终根据将预测结果二值化后累加和计算年龄为19。训练时的年龄标签是有序的序列,序列长度为81,年龄多少岁就将序列前多少置为一,剩下为零。所以网络收敛后会形成排序的分类结果。传统的回归方案将年龄视为一个连续、每个年龄差都同差异的任务,但是众所周知不同年龄段的相差一岁,脸部的变化大不相同。本技术方案中的排序分类方案,将年龄离散化,每个年龄差独立分类,这样可以考虑到年龄之间的非线性变化。年龄输出为预测的概率累积和。在上述技术方案中能够利用排序回归解决线性回归没法度量的年龄间非线性变化差距的问题。
11.在一些实施例中,所述排序预测头还连接有输出模块,用于输出年龄预测结果。
12.在上述技术方案中,设置输出模块能够根据需要来设定输出方式,如可视化方法等,能够更好的展示预测的结果。
13.根据本发明的另一个方面,提供一种年龄识别的神经网络训练方法,用于训练上述的一种年龄识别的神经网络结构,
14.获取不同年龄的人脸图像数据;
15.基于人脸图像数据训练神经网络结构中的主干网络以及分类预测头;
16.主干网络以及分类预测头训练完成后连入排序预测分支进行联合训练;
17.联合训练后移除神经网络结构中的分类预测头,并对排序预测头进行微调得到年龄识别神经网络模型。
18.在上述技术方案中,为了让网络学得精细的人脸特征,需要分步进行训练。首先,训练主干和分类预测头。该步训练是基础,旨在学习人脸图像的特征表示,和大致年龄段的区别。然后,加入排序预测分支,联合训练。其中排序分支监督权重占比更大。最后,移除分类预测头,对排序预测头进行微调,使得网络取得最佳的效果。通过本方法可以训练上述的一种年龄识别的神经网络结构获得最佳的年龄识别神经网络模型。
19.在一些实施例中,所述联合训练过程中,排序预测头的监督权重为百分之八十,分类预测头为百分之二十。
20.在上述技术方案中,这样设置的目的是因为最终模型将抛弃分类预测头,只使用排序预测头。所以在联合训练过程中,排序预测头的占比较大,并且最后微调的过程中只训
练预测头。
21.在一些实施例中,对排序预测头进行微调,具体包括如下步骤:
22.将分类预测头参数冻结,只训练排序预测头;
23.学习率设置为联合训练阶段的十分之一,进行十个epoch的迭代,结束后为最终模型。
24.在上述技术方案中,这样设置的目的是因为最终只使用排序预测头。在训练的尾段把分类预测头的参数剔除并不进行监督,慢慢的使得网络只关注排序预测头,同时也会提升排序预测头的预测能力(因为只监督排序预测头),从而达到最后的效果。
25.根据本发明的另一个方面,提供一种年龄识别的神经网络训练装置,所述装置包括依次电连接的获取模块、第一训练模块、第二训练模块以及微调模块;
26.所述获取模块用于获取不同年龄的人脸图像数据;
27.所述第一训练模块用于基于人脸图像数据训练神经网络结构中的主干网络以及分类预测头;
28.所述第二训练模块用于主干网络以及分类预测头训练完成后连入排序预测分支进行联合训练;
29.所述微调模块联合训练后移除神经网络结构中的分类预测头,并对排序预测头进行微调得到年龄识别神经网络模型。
30.在上述技术方案中,为了更好的训练模型,进一步提供一种训练装置并设置多个模块,用于提高模型的训练效率。首先,利用获取模块获取多个年龄的图像信息,其次利用第一训练模块训练主干和分类预测头。该步训练是基础,旨在学习人脸图像的特征表示,和大致年龄段的区别。然后,利用第二训练模块加入排序预测分支,联合训练。其中排序分支监督权重占比更大。最后,利用微调模块移除分类预测头,对排序预测头进行微调,使得网络取得最佳的效果。通过本装置可以训练上述的一种年龄识别的神经网络结构获得最佳的年龄识别神经网络模型。
31.根据本发明的又一个方面,提供一种年龄识别的神经网络训练设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述一种年龄识别的神经网络训练方法。
32.根据本发明的再一个方面,提供一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述的一种年龄识别的神经网络训练方法。
附图说明
33.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
34.图1是现有的年龄识别的神经网络结构图;
35.图2是本发明年龄识别的神经网络结构一实施例的网络结构图;
36.图3是本发明年龄识别的神经网络训练方法一实施例的流程示意图。
具体实施方式
37.下面结合附图和实施例,对本发明作进一步的详细描述。特别指出的是,以下实施例仅用于说明本发明,但不对本发明的范围进行限定。同样的,以下实施例仅为本发明的部分实施例而非全部实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
38.本发明提供一种年龄识别的神经网络结构及其训练方法,能够有效的保证人脸年龄预测的精度,较强的泛化能力,可以应用于各种场景的人脸,并且模型轻量且速度快,具体实施例如下:
39.实施例之一
40.请参阅图2,包括:主干网络,该主干网络用于提取图片中的年龄特征信息;分类预测头,该分类预测头与主干网络相连,用于通过年龄特征信息判别年龄段;排序预测头,该排序预测头与主干网络相连,用于根据年龄段预测每个年龄的概率累积和,并根据概率累积和进行排序。
41.在本实施例中,提出一个先分年龄段分类,后进行年龄等级排序的预测模型,以提高模型的回归精度,网络分为基础主干网络、分类预测头和排序预测头组成。先由主干网络提取特征,然后进行分类。分类预测头能够很精确的区分不同年龄段并且有助于后续精细分类。传统的方法也有类似的先进行粗糙分类,但是传统的方法都是将最后的精细回归接在这后面,这样做其实没有很好的利用主干的特征提取能力。本技术方案是把分类预测头当成辅助特征提取的有效工具,并且前期训练更加稳定(因为先预训练三分类),不会增加精细预测的负担,最后再排序分类出精确的年龄。传统的回归方案将年龄视为一个连续、每个年龄差都同差异的任务,但是众所周知不同年龄段的相差一岁,脸部的变化大不相同。本技术方案中的排序分类方案,将年龄离散化,每个年龄差独立分类,这样可以考虑到年龄之间的非线性变化。年龄输出为预测的概率累积和。在上述技术方案中能够充分利用模型特征提取的能力,使得人脸年龄检测模型由粗糙预测到精细预测。进一步的,能够利用排序回归解决线性回归没法度量的年龄间非线性变化差距的问题。在上述技术方案中将年龄预测误差控制在很小的范围,且在一些真实场景中有很好的泛化表现。
42.在本实施例中,分类预测头包括三个年龄段分类预测头。分别为儿童段(年龄<12)、成人段(11<年龄<60)以及老人段(60≤年龄)。
43.在本实施例中,分类预测头能够很精确的区分不同年龄段并且有助于后续精细分类。
44.在本实施例中,排序预测头具体用于预测n个二分类,n为年龄总数,每个位置的概率值代表预测年龄是否超过该位置代表的年龄值。排序是预测n个二分类,n为年龄总数,每个位置的概率值代表预测年龄是否超过该位置代表的年龄值。所述排序预测头具体用于预测n个二分类,n为年龄总数,本网络n为81,即0-80岁,排序预测的分类器也是按0到80有序的分类,每个二分类的概率结果代表预测年龄是否超过该位置代表的年龄值。例如,81个分类器的结果前20个预测超过阈值,从第21个开始预测年龄没有超过,最终根据将预测结果二值化后累加和计算年龄为19。训练时的年龄标签是有序的序列,序列长度为81,年龄多少
岁就将序列前多少置为一,剩下为零。所以网络收敛后会形成排序的分类结果。传统的回归方案将年龄视为一个连续、每个年龄差都同差异的任务,但是众所周知不同年龄段的相差一岁,脸部的变化大不相同。本技术方案中的排序分类方案,将年龄离散化,每个年龄差独立分类,这样可以考虑到年龄之间的非线性变化。年龄输出为预测的概率累积和。在上述技术方案中能够利用排序回归解决线性回归没法度量的年龄间非线性变化差距的问题。
45.进一步地,作为一种可选地方案,排序预测头还连接有输出模块,用于输出年龄预测结果。设置输出模块能够根据需要来设定输出方式,如可视化方法等,能够更好的展示预测的结果。
46.在本实施例中,对于常规的模型,主干网络提取特征后直接预测年龄回归值,然后离散化为最后结果,这样做没有考虑到不同年龄段的脸部特征变化的不同,也导致回归误差较大。因此本实施例提出一个先分年龄段分类,后进行年龄等级排序的预测模型,以提高模型的回归精度。
47.在本实施例中,网络分为基础主干、分类分支和排序预测头组成。先由主干网络提取特征,然后进行三分类(儿童,成人,老人)。三分类网络能够很精确的区分三大年龄段并且有助于后续精细分类。传统的方法也有类似的先进行粗糙分类,但是传统的方法都是将最后的精细回归接在这后面,这样做其实没有很好的利用主干的特征提取能力。本专利是把三分类当成辅助特征提取的有效工具,并且前期训练更加稳定(因为先预训练三分类),不会增加精细预测的负担。最后再排序分类出精确的年龄。排序是预测n个二分类,n为年龄总数,每个位置的概率值代表预测年龄是否超过该位置代表的年龄值。传统的回归方案将年龄视为一个连续、每个年龄差都同差异的任务,但是总所周知不同年龄段的相差一岁,脸部的变化大不相同。本专利排序分类的方案,将年龄离散化,每个年龄差独立分类,这样可以考虑到年龄之间的非线性变化。年龄输出为预测的概率累积和。
48.实施例之二
49.请参阅图3,图3是本发明年龄识别的神经网络训练方法一实施例的流程示意图。需注意的是,若有实质上相同的结果,本发明的方法并不以图3所示的流程顺序为限。如图3所示,该方法包括如下步骤:
50.s100、获取不同年龄的人脸图像数据;
51.s200、基于人脸图像数据训练神经网络结构中的主干网络以及分类预测头;
52.s300、主干网络以及分类预测头训练完成后连入排序预测分支进行联合训练;
53.s400、联合训练后移除神经网络结构中的分类预测头,并对排序预测头进行微调得到年龄识别神经网络模型。
54.在本实施例中,为了让网络学得精细的人脸特征,需要分步进行训练。首先,训练主干和三分类预测分支。该步训练是基础,旨在学习人脸图像的特征表示,和大致年龄段的区别。然后,加入排序预测分支,联合训练。其中排序分支监督权重占比更大。最后,移除三分类分支,对排序预测头进行微调,使得网络取得最佳的效果。通过本方法可以训练上述的一种年龄识别的神经网络结构获得最佳的年龄识别神经网络模型。
55.在本实施例中,联合训练过程中,排序预测头的监督权重为百分之八十,分类预测头为百分之二十。
56.在上述技术方案中,这样设置的目的是因为最终模型将抛弃分类预测头,只使用
排序预测头。所以在联合训练过程中,排序预测头的占比较大,并且最后微调的过程中只训练预测头。
57.在本实施例中,对排序预测头进行微调,具体包括如下步骤:
58.将分类预测头参数冻结,只训练排序预测头;
59.学习率设置为联合训练阶段的十分之一,进行十个epoch的迭代,结束后为最终模型。
60.在上述技术方案中,这样设置的目的是因为最终只使用排序预测头。在训练的尾段把分类预测头的参数剔除并不进行监督,慢慢的使得网络只关注排序预测头,同时也会提升排序预测头的预测能力(因为只监督排序预测头),从而达到最后的效果。
61.实施例之三
62.一种年龄识别的神经网络训练装置,所述装置包括依次电连接的获取模块、第一训练模块、第二训练模块以及微调模块;
63.所述获取模块用于获取不同年龄的人脸图像数据;
64.所述第一训练模块用于基于人脸图像数据训练神经网络结构中的主干网络以及分类预测头;
65.所述第二训练模块用于主干网络以及分类预测头训练完成后连入排序预测分支进行联合训练;
66.所述微调模块联合训练后移除神经网络结构中的分类预测头,并对排序预测头进行微调得到年龄识别神经网络模型。
67.在本实施例中,为了更好的训练模型,进一步提供一种训练装置并设置多个模块,用于提高模型的训练效率。首先,利用获取模块获取多个年龄的图像信息,其次利用第一训练模块训练主干和三分类预测分支。该步训练是基础,旨在学习人脸图像的特征表示,和大致年龄段的区别。然后,利用第二训练模块加入排序预测分支,联合训练。其中排序分支监督权重占比更大。最后,利用微调模块移除三分类分支,对排序预测头进行微调,使得网络取得最佳的效果。通过本装置可以训练上述的一种年龄识别的神经网络结构获得最佳的年龄识别神经网络模型。
68.需要注意的是,各个模块与实施例之三中地步骤一一对应,因此此处不再对各模块地具体作用以及原理进一步展开说明。
69.实施例之四
70.一种年龄识别的神经网络训练设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述一种年龄识别的神经网络训练方法。
71.需要说明的是,一种年龄识别的神经网络训练方法在实施例之三中已详细说明,此处不再赘述。
72.实施例之五
73.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述的一种年龄识别的神经网络训练方法。
74.需要说明的是,一种年龄识别的神经网络训练方法在实施例之三中已详细说明,
此处不再赘述。
75.以上所述仅为本发明的部分实施例,并非因此限制本发明的保护范围,凡是利用本发明说明书及附图内容所作的等效装置或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

技术特征:
1.一种年龄识别的神经网络结构,其特征在于,包括:主干网络,该主干网络用于提取图片中的年龄特征信息;分类预测头,该分类预测头与主干网络相连,用于通过年龄特征信息判别年龄段;排序预测头,该排序预测头与主干网络相连,用于根据年龄段预测每个年龄的概率累积和,并根据概率累积和进行排序。2.如权利要求1所述的一种年龄识别的神经网络结构,其特征在于,所述分类预测头至少包括一个年龄段分类预测头。3.如权利要求1所述的一种年龄识别的神经网络结构,其特征在于,所述排序预测头具体用于预测n个二分类,n为年龄总数,每个位置的概率值代表预测年龄是否超过该位置代表的年龄值。4.如权利要求1所述的一种年龄识别的神经网络结构,其特征在于,所述排序预测头还连接有输出模块,用于输出年龄预测结果。5.一种年龄识别的神经网络训练方法,其特征在于,用于训练如权利要求1-4任一项所述的一种年龄识别的神经网络结构,获取不同年龄的人脸图像数据;基于人脸图像数据训练神经网络结构中的主干网络以及分类预测头;主干网络以及分类预测头训练完成后连入排序预测分支进行联合训练;联合训练后移除神经网络结构中的分类预测头,并对排序预测头进行微调得到年龄识别神经网络模型。6.如权利要求5所述的一种年龄识别的神经网络训练方法,其特征在于,所述联合训练过程中,排序预测头的监督权重为百分之八十,分类预测头为百分之二十。7.如权利要求5所述的一种年龄识别的神经网络训练方法,其特征在于,对排序预测头进行微调,具体包括如下步骤:将分类预测头参数冻结,只训练排序预测头;学习率设置为联合训练阶段的十分之一,进行十个epoch的迭代,结束后为最终模型。8.一种年龄识别的神经网络训练装置,其特征在于,所述装置包括依次电连接的获取模块、第一训练模块、第二训练模块以及微调模块;所述获取模块用于获取不同年龄的人脸图像数据;所述第一训练模块用于基于人脸图像数据训练神经网络结构中的主干网络以及分类预测头;所述第二训练模块用于主干网络以及分类预测头训练完成后连入排序预测分支进行联合训练;所述微调模块联合训练后移除神经网络结构中的分类预测头,并对排序预测头进行微调得到年龄识别神经网络模型。9.一种年龄识别的神经网络训练设备,其特征在于,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处
理器执行,以使所述至少一个处理器能够执行如权利要求5至7中任一项所述的一种年龄识别的神经网络训练方法。10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求5至7中任一项所述的一种年龄识别的神经网络训练方法。

技术总结
本发明公开了一种年龄识别的神经网络结构及其训练方法。所述结构包括:主干网络,该主干网络用于提取图片中的年龄特征信息;分类预测头,该分类预测头与主干网络相连,用于通过年龄特征信息判别年龄段;排序预测头,该排序预测头与主干网络相连,用于根据年龄段预测每个年龄的概率累积和,并根据概率累积和进行排序。本发明提出一个先分年龄段分类,后进行年龄等级排序的预测模型,以提高模型的回归精度,网络分为基础主干网络、分类预测头和排序预测头组成。分类预测头能够很精确的区分不同年龄段并且有助于后续精细分类。本发明能够有效的保证人脸年龄预测的精度,较强的泛化能力,可以应用于各种场景的人脸,并且模型轻量且速度快。且速度快。且速度快。


技术研发人员:柯凌捷 施荣晓
受保护的技术使用者:厦门真景科技有限公司
技术研发日:2023.06.02
技术公布日:2023/8/24
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐