一种基于混合特征的年龄估算方法、电子设备及存储介质与流程

文档序号:30922524发布日期:2022-07-29 23:13阅读:70来源:国知局
一种基于混合特征的年龄估算方法、电子设备及存储介质与流程

1.本发明涉及图像处理技术领域,具体涉及一种基于混合特征的年龄估算方法、电子设备及存储介质。


背景技术:

2.近年来,推荐系统伴随人们生活左右,利用采集到的各项信息来构建用户画像,从而进行更精准和定制化的推荐服务。这其中,用于的年龄信息尤为重要,同时可用于行为监控、未成年游戏防沉迷等领域中。很多实际场景下,无法对用户的身份信息进行采集,难以获取到用户的年龄,而通过利用摄像头采集用户的人脸信息,对年龄进行估计便成为了一种可行的替代方案。
3.目前,现有的人脸年龄估计模型均采用人脸图像作为输入,经过分类或者回归模型输出年龄的类别信息或者回归数值,作为年龄估计算法的结果。人脸年龄估计任务对人脸图像信息的局部细节特征较为依赖,现有的方法直接将人脸图像输入卷积神经网络中,由于池化层的存在,在模型的特征提取过程中会损失部分局部细粒度特征。
4.针对模型的输出采用基于回归或者分类的方式来进行编码和监督。基于回归任务的年龄估计方法通过直接回归相应数值的方式,降低了模型对空间的泛化能力,造成模型在收敛过程中更加不稳定;基于分类任务的年龄估计方法,将每个年龄当做独立互斥的类别进行编码,这种方式无法考虑到相邻类别之间存在的关联性,收敛速度缓慢且精度难以保证。


技术实现要素:

5.为解决上述问题,本发明提供的技术方案为:一种基于混合特征的年龄估算方法,包括:获取目标人脸图像;对目标人脸图像进行人脸关键点定位,保留部分人脸关键点,获得目标人脸图像对应的人脸关键点信息;并根据所保留的人脸关键点进行人脸对齐,获取对齐后的目标人脸图像;根据人脸关键点信息对对齐后的目标人脸图像进行裁剪,按预设裁剪分辨率裁剪得到以每个人脸关键点为中心的人脸局部图像,将每个人脸局部图像进行顺序拼接,得到第一输入图像;根据人脸关键点信息对对齐后的目标人脸图像进行裁剪,得到包含所有保留的人脸关键点的最小外接矩形作为人脸全局图像,并对人脸全局图像进行统一缩放,得到第二输入图像;将第一输入图像和第二输入图像输入到预先训练的年龄预测模型的不同分支分别进行特征提取,将不同分支所提取的特征进行叠加合并组成融合特征,对融合特征进行特征解码,输出表示年龄信息的一维高斯热图,对一维高斯热图进行解码得到年龄估计的
结果。
6.本发明进一步设置为对目标人脸图像进行人脸关键点定位是采用dlib库进行人脸68个关键点位置信息的提取,保留序号前1~64号人脸关键点。
7.本发明进一步设置为按预设裁剪分辨率裁剪得到分别以序号前1~64号人脸关键点为中心的32
×
32像素的人脸局部图像,将序号前1~64号人脸关键点对应的人脸局部图像按序号顺序以8
×
8的方式排列进行拼接,得到256
×
256像素的第一输入图像。
8.本发明进一步设置为根据序号前1~64号人脸关键点对目标人脸图像进行裁剪,得到包含序号前1~64号人脸关键点的最小外接矩形作为人脸全局图像,将人脸全局图像统一缩放到512
×
512像素作为第二输入图像。
9.本发明进一步设置为所述年龄预测模型包括提取第一输入图像特征的分支一和提取第二输入图像特征的分支二,分支一包括依次连接的卷积模块,分支二包括依次连接的卷积模块和下采样模块,分支二中的卷积模块及下采样模块的数量多于分支一中的卷积模块的数量。
10.本发明进一步设置为分支一提取的特征图feature-map和分支二提取的特征图feature-map在通道维度上进行叠加合并组成融合特征,融合特征进行全局平均池化操作,将融合特征进行压缩并输入到全连接层,根据全连接层的输出对年龄信息进行编码,得到一维高斯热图,将一维高斯热图通过argmax算法进行解码,得到年龄估计的结果。
11.本发明进一步设置为全连接层的输出节点设置有n个,用于表示0-100之间的年龄信息,n为100的倍数,年龄间隔为100/n。
12.本发明进一步设置为所述目标人脸图像的大小不小于128
×
128像素,在对目标人脸图像进行人脸关键点定位之前对目标人脸图像的像素数值进行归一化预处理。
13.一种电子设备,包括:一处理器;一存储器,所述存储器中存储有可执行指令;其中,所述可执行指令被所述处理器执行时,实现上述的基于混合特征的年龄估算方法。
14.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现上述的基于混合特征的年龄估算方法。
15.采用本发明提供的技术方案,与现有技术相比,具有如下有益效果:1.本发明通过定位面部的关键点位置,一方面方便计算人脸所在的区域,对图像数据进行裁剪,减少背景信息的干扰;另一方面,通过提取关键点位的所在的区域,经过拼接后得到人脸局部图像的拼图和人脸全局图像分别传入分支一和分支二进行计算;模型通过多分支的结构,分别单独对关键点局部特征和人脸全局特征进行处理,关键点局部特征和人脸全局特征再组成混合特征,同时满足了两种不同特征的感受野需求,避免了关键点局部特征由于下采样而导致的细粒度特征丢失的问题。本发明根据不同的感受野需求,设计了双分支的模型结构,混合特征兼顾了全局的高维语义特征和局部的低纬细粒度特征,使得模型的特征信息更加丰富,模型鲁棒性更强。
16.2.传统的基于回归的监督方式由于直接对预测结果进行监督,会造成监督约束过强,加重了过拟合现象,影响模型的泛化与迁移能力,当数据的分布和采集场景发生较大变
化时,模型精度下降严重。本发明使用高斯分布对年龄信息进行编码后,模型在训练过程中只对编码后的概率分布进行监督优化,在保留了空间信息的同时,降低了对模型结果的约束强度;降低约束强度,一方面可以避免由于部分异常数据或者标记错误数据引入的模型偏差;另一方面可以降低模型对标记信息的置信度,避免模型过度拟合训练数据集,减少过拟合的风险,增强模型的泛化性。
17.3.传统的基于分类方法的年龄估计方案,将年龄信息转换为多个独立互斥的类别来进行分类判定,这种方式在训练阶段时,由于标签是one-hot的方式,无法根据预测误差的大小去调整损失的大小,使用分类方式进行监督,舍弃了年龄信息的归回特性,完全当做彼此不关联的离散值来进行计算。而本发明的一维高斯热图编码方式,可以在预测结果接近gt时提供较小的损失,结果偏离大时提供更大的损失,监督的方式更加的平滑,在训练阶段收敛更加迅速和稳定。
附图说明
18.图1为本发明实施例方法流程图。
19.图2为本发明实施例流程示意图。
20.图3为本发明实施例人脸关键点定位示意图。
21.图4为本发明实施例表示年龄信息的一维高斯热图。
22.图5为本发明实施例电子设备结构示意图。
具体实施方式
23.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
24.需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。实施例1结合附图1至附图4,本发明技术方案是一种基于混合特征的年龄估算方法,包括:获取目标人脸图像;对目标人脸图像进行人脸关键点定位,保留部分人脸关键点,获得目标人脸图像对应的人脸关键点信息;并根据所保留的人脸关键点进行人脸对齐,获取对齐后的目标人脸图像;根据人脸关键点信息对对齐后的目标人脸图像进行裁剪,按预设裁剪分辨率裁剪得到以每个人脸关键点为中心的人脸局部图像,将每个人脸局部图像进行顺序拼接,得到
第一输入图像;根据人脸关键点信息对对齐后的目标人脸图像进行裁剪,得到包含所有保留的人脸关键点的最小外接矩形作为人脸全局图像,并对人脸全局图像进行统一缩放,得到第二输入图像;将第一输入图像和第二输入图像输入到预先训练的年龄预测模型的不同分支分别进行特征提取,将不同分支所提取的特征进行叠加合并组成融合特征,对融合特征进行特征解码,输出表示年龄信息的一维高斯热图,对一维高斯热图进行解码得到年龄估计的结果。
25.需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
26.例如,第一输入图像和第二输入图像的获取顺序,可以是先获得第一输入图像再获得第二输入图像;也可以是先获得第二输入图像再获得第一输入图像;也可以是同时获得第一输入图像和第二输入图像。
27.在本实施例中,对目标人脸图像进行人脸关键点定位是采用dlib库进行人脸68个关键点位置信息的提取,保留序号前1~64号人脸关键点。
28.在上述实施例中,保留68个人脸关键点中的64个,是为了尽可能地保留更多的人脸关键点,对人脸关键点的局部特征进行更全面的提取;同时64个人脸关键点便于后续按8
×
8排列方式进行第一输入图像的裁剪拼接。
29.在另外的实施例中,可以保留其他序号的人脸关键点,例如序号为后64号人脸关键点;或者其他64号人脸关键点。具体人脸关键点的选择和预先训练的年龄预测模型相对应,即预先训练的年龄预测模型采用的是哪些序号的人脸关键点,在目标人脸图像上的人脸关键点保留时就保留相对应的人脸关键点。
30.在本实施例中,按预设裁剪分辨率裁剪得到分别以序号前1~64号人脸关键点为中心的32
×
32像素的人脸局部图像,将序号前1~64号人脸关键点对应的人脸局部图像按序号顺序以8
×
8的方式排列进行拼接,得到256
×
256像素的第一输入图像。
31.在上述实施例中,序号前1~64号人脸关键点以8
×
8的方式按从上到下从左到右的顺序进行排列拼接,由于人脸关键点的序号是一一对应的,因此按从上到下从左到右的顺序进行排列生成的第一输入图像是固定的。预先训练的年龄预测模型同样以8
×
8的方式按从上到下从左到右的顺序进行排列拼接。
32.在另外的实施例中,人脸全局图像可以是以其他顺序进行排列拼接,例如从下到上、从右到左;预先训练的年龄预测模型同样以该顺序进行排列拼接。
33.在本实施例中,根据序号前1~64号人脸关键点对目标人脸图像进行裁剪,得到包含序号前1~64号人脸关键点的最小外接矩形作为人脸全局图像,将人脸全局图像统一缩放到512
×
512像素作为第二输入图像。
34.在上述实施例中,最小外接矩形在对齐后的目标人脸图像基础上建立直角坐标系,找到横坐标最小值对应的人脸关键点,以横坐标最小值对应的人脸关键点作平行于y轴
的直线,该直线作为外接矩形的左边界;横坐标最大值对应的人脸关键点,以横坐标最大值对应的人脸关键点作平行于y轴的直线,该直线作为外接矩形的右边界;纵坐标最小值对应的人脸关键点,以纵坐标最小值对应的人脸关键点作平行于x轴的直线,该直线作为外接矩形的下边界;纵坐标最大值对应的人脸关键点,以纵坐标最大值对应的人脸关键点作平行于x轴的直线,该直线作为外接矩形的上边界;根据左边界、右边界、下边界和上边界确定外接矩形,从而确定人脸全局图像,将外接矩形之外的部分作为背景裁剪后舍弃,减少多余的背景干扰。
35.在本实施例中,所述年龄预测模型包括提取第一输入图像特征的分支一和提取第二输入图像特征的分支二,分支一包括依次连接的卷积模块,分支二包括依次连接的卷积模块和下采样模块,分支二中的卷积模块及下采样模块的数量多于分支一中的卷积模块的数量。
36.在上述实施例中,分支一中卷积模块的数量、分支二中卷积模块和下采样模块的数量可根据所需要的检测速度进行调整;若需要检测速度更快,可以适当的减少卷积模块的数量,代价是降低了精度。
37.在本实施例中,分支一提取的特征图feature-map和分支二提取的特征图feature-map在通道维度上进行叠加合并组成融合特征,融合特征进行全局平均池化操作,将融合特征进行压缩并输入到全连接层,根据全连接层的输出对年龄信息进行编码,得到一维高斯热图,将一维高斯热图通过argmax算法进行解码,得到年龄估计的结果。
38.在上述实施例中,融合特征经过全局平均池化操作后输入到全连接层,根据全连接层的输出用来对年龄信息进行编码,得到表示年龄信息的一维高斯热图,再通过argmax算法对一维高斯热图进行解码,得到峰值对应的年龄估计结果。
39.在本实施例中,全连接层的输出节点设置有n个,用于表示0-100之间的年龄信息,n为100的倍数,年龄间隔为100/n。
40.在上述实施例中,全连接层的输出节点设置有1000个,用于表示0-100之间的年龄信息,年龄间隔为0.1岁。
41.在本实施例中,所述目标人脸图像的大小不小于128
×
128像素,在对目标人脸图像进行人脸关键点定位之前对目标人脸图像的像素数值进行归一化预处理。
42.基于混合特征的年龄估算方法的流程具体参见附图2:获取目标人脸图像1;对目标人脸图像1进行人脸关键点定位,保留部分人脸关键点,获得目标人脸图像对应的人脸关键点信息;并根据所保留的人脸关键点进行人脸对齐,获取对齐后的目标人脸图像2;根据人脸关键点信息对对齐后的目标人脸图像2进行裁剪,按预设裁剪分辨率裁剪得到以每个人脸关键点为中心的人脸局部图像,将每个人脸局部图像进行顺序拼接,得到第一输入图像3;根据人脸关键点信息对对齐后的目标人脸图像2进行裁剪,得到包含所有保留的人脸关键点的最小外接矩形作为人脸全局图像,并对人脸全局图像进行统一缩放,得到第二输入图像4;将第一输入图像3和第二输入图像4输入到预先训练的年龄预测模型的分支一5和
分支二6分别中分别进行特征提取,将分支一5和分支二6所提取的特征进行叠加合并组成融合特征7,将融合特征7输入到全连接层8进行特征解码,输出表示年龄信息的一维高斯热图9,对一维高斯热图9进行解码得到年龄估计的结果。
43.在上述实施例中,预先训练的年龄预测模型的训练方式为:设计年龄估计模型,设计由多个卷积层堆叠而成的特征提取部分以及设有不同感受野的特征解码部分,其中特征提取部分包括分支一和分支二,特征解码部分包括特征融合、全局平均池化层和权连接层;训练数据获取,通过购买和搜集的方式,获取了20000例样本数据;数据采集自2000位年龄分布在1~100岁的人群,且性别比例为1:1,数据集包含了采集对象从多个拍摄角度和光照条件下拍摄的数据;训练过程中采用了随机水平翻转、随机旋转、随机裁剪、随机加入高斯噪声的数据增强方式;训练的优化器选择的adam,学习率为1e-3,每30个epoch学习率降低为之前的0.1倍,共训练200epoch;模型训练时,分支一和分之二的输入分别为人脸关键点裁剪后的拼接数据和人脸区域数据,即上述的第一输入图像和第二输入图像;模型的输出为年龄在0~100分布上的一维高斯热图,将标签数据转换为同样的高斯分布后,利用均方差函数来计算损失。
44.在上述实施例中,训练年龄预测模型时,对训练数据随机加入训练数据的镜像翻转操作。
45.在上述实施例中,分别执行随机镜像翻转操作分别进行预测,将预测的结果进行融合,对预测得到的一维高斯分布进行叠加,然后按照峰值所在位置,解码成年龄数值。
46.本发明技术方案本发明通过定位面部的关键点位置,一方面方便计算人脸所在的区域,对图像数据进行裁剪,减少背景信息的干扰;另一方面,通过提取关键点位的所在的区域,经过拼接后得到人脸局部图像的拼图和人脸全局图像分别传入分支一和分支二进行计算;模型通过多分支的结构,分别单独对关键点局部特征和人脸全局特征进行处理,关键点局部特征和人脸全局特征再组成混合特征,同时满足了两种不同特征的感受野需求,避免了关键点局部特征由于下采样而导致的细粒度特征丢失的问题。本发明根据不同的感受野需求,设计了双分支的模型结构,混合特征兼顾了全局的高维语义特征和局部的低纬细粒度特征,使得模型的特征信息更加丰富,模型鲁棒性更强。
47.本发明使用高斯分布对年龄信息进行编码后,模型在训练过程中只对编码后的概率分布进行监督优化,在保留了空间信息的同时,降低了对模型结果的约束强度;降低约束强度,一方面可以避免由于部分异常数据或者标记错误数据引入的模型偏差;另一方面可以降低模型对标记信息的置信度,避免模型过度拟合训练数据集,减少过拟合的风险,增强模型的泛化性;本发明的一维高斯热图编码方式,可以在预测结果接近gt时提供较小的损失,结果偏离大时提供更大的损失,监督的方式更加的平滑,在训练阶段收敛更加迅速和稳定。
48.实施例2结合附图5,本发明技术方案是一种电子设备,包括:一处理器100;
一存储器200,所述存储器200中存储有可执行指令;所述处理器100通过总线300与存储器200相连;其中,所述可执行指令被所述处理器100执行时,实现实施例1所述的基于混合特征的年龄估算方法。
49.实施例3一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现实施例1所述的基于混合特征的年龄估算方法。
50.需要说明的是:上述本技术实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
51.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
52.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
53.以上所述仅为本技术的较佳实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1