一种基于轻量型网络的多标签排序方法的人脸年龄估计方法

文档序号:36627653发布日期:2024-01-06 23:19阅读:29来源:国知局
一种基于轻量型网络的多标签排序方法的人脸年龄估计方法

本发明属于计算机视觉领域,主要涉及一种轻量型神经网络和集成学习的人脸图像的年龄估计方法。


背景技术:

1、年龄估计是一个具有挑战性和热点的研究课题,它是根据一个人的面部图像来预测他/她的年龄。由于人脸图像受到多种因素的影响,如光照、表情、姿态、化妆、遮挡等,使得年龄估计问题十分困难。同时受限于运算能力的影响,年龄估计模型在移动端等低算力平台上的应用较少。

2、目前排序方法使用多二分类的方法,虽考虑到了年龄标签有序性这一特点,但受限于本质还是分类任务,分类器必然会出现分类错误的情况,导致排序不一致的发生。多标签分类方法是指将年龄分为多个离散的标签,将年龄估计任务转化为多个分类任务。但是大多忽略年龄的序数性关系,并未充分利用这一特点。二值排序方法没有充分考虑年龄类别之间的差异与联系,在网络训练过程中会隐式建立不同年龄分类器的关系,而回归方法没有考虑面部年龄的细微差距,简单映射为通用回归函数,这不符合人脸面部老化过程。

3、对于上述问题,如果可以将两种方法进行融合,就可以在利用到人脸年龄标签序数性属性的同时,在一定程度上抑制排序不一致问题,同时提高年龄预测精度,改善年龄估计模型的性能。


技术实现思路

1、本发明所要解决的技术问题是提供一种轻量型神经网络融合排序方法和多标签分类方法,将年龄估计广泛应用于低算力平台,同时弥补排序方法造成的排序不一致问题影响,并提高人脸年龄预测精度。为解决上述技术问题,本发明提出的技术方案为一种基于轻量型网络多标签排序方法的人脸年龄估计方法,该方法通过设计轻量型神经网络,减少参数量,使其可以部署在低算力平台,并提出一种融合多标签与排序方法的年龄编码方法。首先基于经典cnn架构设计了一种轻量型特征提取网络,以及排序学习器;然后通过融合多标签分类与排序方法对年龄标签进行重编码;接着使用交叉熵损失和中心损失对网路进行参数训练;最后通过排序解码器对网络预测结果进行解码,得到图像对应的预测年龄值。具体步骤如下:

2、步骤1:对数据集进行预处理:

3、通过对输入的人脸图像使用mtcnn人脸对齐网络进行裁剪对齐,并将其归一化处理,然后使用8:2的比例划分训练集和测试集,训练集中的图像进行随机裁剪、擦除、旋转,将训练集和测试集的图像尺寸调整到一致大小。

4、步骤2:构建多标签年龄编码:

5、将图像真实年龄通过年龄编码方法,编码成基于多标签分类方法的形式,用于进行年龄排序预测,根据年龄范围划分类别,对于k个年龄范围,使用k-1个k维向量进行年龄编码,将真实年龄映射到k-1个向量中,构成全新的年龄编码结果。

6、每个学习器的标签会产生两种投票结果,分别使用来表示,分别表示真实年龄大于k或相反情况,表示为:

7、

8、为的相反情况,表示为:

9、

10、因此标签向量可表示为:

11、

12、步骤3:构建多标签排序年龄估计网络:

13、1)构建轻量型特征提取网络

14、轻量型特征提取网络主要由3个卷积模块构成,每个卷积模块由2个卷积层,2个batch normal以及1个relu非线性激活层构成,并且不使用偏置,从而减少参数量。

15、2)构建排序编码学习器模块

16、编码排序学习器模块通过使用一层batch normal,一层relu激活层进行非线性激活,一层全连接层,最后使用sigmoid非线性激活层输出。

17、步骤4:构建损失函数:

18、1)特征提取网络部分使用center loss损失函数聚合同类特征,并分散类间特征,所述损失函数为:

19、

20、m表示mini-batch大小xi表示提取到的特征,代表类别为yi的所有特征的中心,具体来说即在训练过程中对每个类别在mini-batch尺度上统计出来的类别特征的中心,希望所有的特征离中心的距离尽量小。

21、lc的梯度和的更新公式如下:

22、

23、

24、2)排序编码学习器部分的损失使用kl散度损失函数进行计算,其公式为:

25、

26、其中为第n个样本的第k个排序编码的标签向量,为第n个样本的第k个排序学习器预测的向量,k为年龄类别,n为每次处理的图像数。

27、3)最终所述方法的总损失函数为:

28、l=lkl+λlc

29、其中λ为权重系数。

30、步骤5:训练网络参数:

31、利用步骤5中构建的总损失函数进行网络训练,对特征提取网络的特征使用centerloss损失函数进行损失计算,对k-1个排序编码学习器使用kl损失函数进行损失计算,同时更新特征提取网络、排序编码学习网络的参数。

32、步骤6:构建解码方法与年龄预测函数:

33、对网络输出的预测结果进行以下操作解码:

34、

35、

36、其中{条件表达式?表达式1:表达式2}为三元运算符,表示如果条件表达式为真时使用表达式1否则取表达式2。得到了每个学习器对图像的预测年龄与排序值k之间的大小关系后,再对其结果进行求和,即可得出预测年龄。年龄预测函数表示为:

37、

38、步骤7:测试阶段,使用步骤5中训练好的网络参数,将给定图片输入年龄估计网络,进行特征提取,与排序编码,输出预测结果。然后使用步骤6的解码函数对结果进行解码,最后使用年龄预测函数得到预测年龄结果。

39、本发明的有益效果在于:

40、1)将多标签分类方法和排序方法结合,对年龄标签重新编码成一个(k-1)×k维的二进制编码,以获得类间差异标签,提高排序问题存在的排序结果稳定性。

41、2)使用center loss损失函数约束类内特征相似度,及类间差异,在特征方面对排序特征进行约束,保证预测模型的方差稳定。



技术特征:

1.一种基于轻量型网络的多标签排序方法的人脸年龄估计方法,其特征在于,包括:

2.根据权利要求1所述的一种基于轻量型网络的多标签排序方法的人脸年龄估计方法,其特征在于,步骤1中预处理将大小不一致的rgb三通道彩色原图通过调整为224×224像素大小,然后进行随机反转、旋转和擦除操作,最后进行归一划处理。

3.根据权利要求1所述的一种基于轻量型网络的多标签排序方法的人脸年龄估计方法,其特征在于,步骤2中的年龄编码方法,将真实年龄l通过本发明提出的年龄编码方法进行编码,每张图像得到一个(k-1)个k维的标签向量

4.根据权利要求1所述的一种基于轻量型网络的多标签排序方法的人脸年龄估计方法,其特征在于,步骤3中的轻量型特征提取网络,由7层卷积层,其中7层卷积层分布在初始卷积层和3个基础卷积层中,基础卷积层结构为:卷积层,batchnormal,relu非线性激活层,卷积层构成。

5.根据权利要求1所述的一种基于轻量型网络的多标签排序方法的人脸年龄估计方法,其特征在于,步骤4中的排序编码学习器模块结构为一层batchnormal、全连接层、最后使用sigmoid非线性激活层输出。

6.根据权利要求1所述的一种基于轻量型网络的多标签排序方法的人脸年龄估计方法,其特征在于,步骤5中损失函数计算如下:l=lkl+λlc,其中m表示mini-batch大小xi表示提取到的特征,代表类别为yi的所有特征的中心,具体来说即在训练过程中对每个类别在mini-batch尺度上统计出来的类别特征的中心,希望所有的特征离中心的距离尽量小,为第n个样本的第k个学习器的预测向量,n为总样本数。

7.根据权利要求1所述的一种基于轻量型网络的多标签排序方法的人脸年龄估计方法,其特征在于,步骤7中解码函数为:其中k为年龄类别,n为每次处理的图像数,最后通过年龄预测函数得到预测年龄:


技术总结
本发明公开了一种基于轻量型网络多标签排序方法的人脸年龄估计方法,本专利通过设计轻量型神经网络,减少参数量,使其可以部署在低算力平台,并提出一种融合多标签与排序方法的年龄编码方法。首先基于经典CNN架构设计了一种轻量型特征提取网络,以及排序学习器;然后通过融合多标签分类与排序方法对年龄标签进行重编码;接着使用交叉熵损失和中心损失对网路进行参数训练;最后通过排序解码器对网络预测结果进行解码,得到图像对应的预测年龄值。本发明在一定程度上抑制排序不一致问题,同时提高年龄预测精度,改善年龄估计模型的性能。

技术研发人员:孙淳,胡春龙
受保护的技术使用者:江苏科技大学
技术研发日:
技术公布日:2024/1/5
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1