基于人脸图像进行年龄和性别预测的方法、系统和设备技术方案

技术编号:24011459 阅读:98 留言:0更新日期:2020-05-02 01:53
本发明专利技术提供一种基于人脸图像进行年龄和性别预测的方法、系统和设备,方法包括:获取一图片;使用人脸检测算法检测图片中的人脸位置和特征点位置,根据预设的参数对人脸进行矫正和截取,得到标准的人脸图片;使用预训练的神经网络模型对标准的人脸图片进行预测,输出人脸年龄和性别;神经网络模型采用了特征金字塔结构,能够提取从高到低的更丰富的多层次人脸特征,同时将年龄值表示为端点权值向量,在模型训练阶段作为中间层监督信息与年龄值回归一起训练模型,而在预测阶段直接输出年龄回归值,在速度和精度上均优于现有方法;本发明专利技术使用单阶段单模型的方法,快速准确地对视频或图片中的人脸进行年龄和性别的预测,预测结果可用于多种场景。

Methods, systems and devices for age and gender prediction based on face images

【技术实现步骤摘要】
基于人脸图像进行年龄和性别预测的方法、系统和设备
本专利技术涉及计算机
,特别涉及一种基于人脸图像进行年龄和性别预测的方法、系统和设备。
技术介绍
随着人工智能技术的快速发展和计算机硬件水平的不断提高,深度学习在计算机视觉领域的应用越来越多。通过对普通摄像头采集到的图片中的人脸进行年龄和性别的预测,可以在安防、线下零售、终端娱乐等场景下将数据进行充分的利用,为人们的生活带来诸多便利。目前常用的方法多是年龄和性别分别进行预测,这种方式时间消耗较多,内存消耗大,同一张人脸图片要分别进行两次预测,效率较低,即使有采用单模型进行年龄性别预测的方法,也是对年龄和性别特征进行分开提取,同样存在效率低、操作重复等缺点。目前对年龄的预测大多是进行年龄段预测,是分类预测,这种方法预测得到的年龄准确度较低。
技术实现思路
本专利技术要解决的技术问题,在于提供一种基于人脸图像进行年龄和性别预测的方法、系统和设备,将矫正和裁剪好的人脸图像输入到训练好的年龄性别多任务模型,模型经前向传播后直接输出年龄和性别的预测结果,提高了年龄以及性别的预测速度和准确度。第一方面,本专利技术提供了一种方法,包括:获取一图片;使用人脸检测算法检测图片中的人脸位置和特征点位置,根据预设的参数对人脸进行矫正和截取,得到标准的人脸图片;使用预训练的神经网络模型对标准的人脸图片进行预测,输出人脸年龄和性别。进一步地,所述使用人脸检测算法检测图片中的人脸位置和特征点位置,根据预设的参数对人脸进行矫正和截取,得到标准的人脸图片,进一步具体包括:步骤a1,对所述图片进行图像归一化处理;步骤a2,使用人脸检测算法检测图片中存在的人脸,输出人脸框的位置和特征点位置;输出的人脸框位置包括图像中人脸框的左上角坐标和右下角坐标;特征点包括左眼瞳孔的坐标、右眼瞳孔的坐标、鼻尖的坐标、左侧嘴角的坐标以及右侧嘴角的坐标;步骤a3,将左右瞳孔的中点与左右嘴角的中点相连,将该线段中点作为人脸中心点;以人脸中心点为旋转中心,将图片进行旋转,使得左右瞳孔位置在一条水平线上,得到矫正后的人脸正脸图像;步骤a4,根据人脸框左上角坐标和右下角坐标计算得到人脸框的宽和高;通过步骤a3中的人脸中心点和人脸框的宽高确定矫正图像中人脸框的位置;按照预设的人脸框倍数截取,得到标准的人脸图片。进一步地,所述神经网络模型进一步具体为:神经网络模型主干网络为LightCNN+特征金字塔架构,抽取三个不同深度不同尺寸的Featuremaps,使用池化层将三层Featuremaps尺寸统一,将尺寸统一后的三层Featuremaps按通道维度进行拼接;拼接之后网络连接两个分支,第一分支接两层全连接层后接Sigmoid层,输出一个0到1之间的概率值,若该值小于0.5则表示性别预测结果为女性,若该值大于或等于0.5则表示性别预测结果为男性;第二分支首先接一层256个神经元的全连接层,再连接一层19个神经元的全连接层,最后经过1个神经元的全连接层后直接输出回归值,表示预测的年龄值。进一步地,所述预训练的神经网络模型训练方法为:步骤b1、获取包含人脸的训练样本集,每个所述训练样本集包括年龄以及性别的标注信息;步骤b2、对包含人脸的训练样本进行数据增强和预处理:使用人脸检测算法检测图片中的人脸框的位置和特征点位置,根据检测结果和预设的参数对图片中人脸进行矫正和裁剪;将矫正后的图片随机旋转-10°到10°之间的某个角度值;使用随机线性核对图像进行滤波;使用随机高斯核对图像进行滤波;对图像进行随机像素压缩;对图像色彩、亮度、饱和度以及对比度随机进行增强;对图像进行随机水平翻转;将图像缩放到144*144像素,并随机截取128*128区域作为预处理后的人脸图像;步骤b3、将年龄性别标注信息转换为神经网络训练标签数据:所述年龄性别标注信息直接标明性别和年龄,所述神经网络模型训练过程中需要计算三组损失;第一组损失衡量性别预测效果,对应的标签为0或1,0代表图像中人脸为女性,1代表图像中人脸为男性;第二组损失衡量年龄分布预测效果,将年龄分为18段,从0岁开始,每五岁为一段,用长度为19的年龄端点权值向量来表示一个年龄值,将每个样本的年龄用其所属年龄段的左右端点与权重乘积进行表示:其中为实际年龄xab,a为xab所属年龄段的左端点,b为xab所属年龄段的右端点;第三组损失衡量年龄值回归效果,对应的标签即为实际年龄值,对于大于设定年龄值则将其置为设定年龄值;步骤b4、使用预处理后的人脸图像训练神经网络模型:网络的第一分支输出用于计算一个性别预测损失,采用均方误差损失函数;网络的第二分支输出用于计算年龄损失,对最后两层神经元输出均计算损失,其中倒数第二层的输出用于计算年龄端点权值向量的损失,采用KL散度损失函数,最后一层的输出用于计算年龄回归的损失,采用均方误差损失函数;两个分支的三个损失值相加后求导进行反向传播,更新神经网络模型参数。第二方面,本专利技术提供了一系统,包括:图片获取模块,用于获取一图片;人脸提取和矫正模块,用于使用人脸检测算法检测图片中的人脸位置和特征点位置,根据预设的参数对人脸进行矫正和截取,得到标准的人脸图片;人脸年龄和性别预测模块,用于使用预训练的神经网络模型对标准的人脸图片进行预测,输出人脸年龄和性别。进一步地,所述人脸提取和矫正模块进一步具体包括:步骤a1,对所述图片进行图像归一化处理;步骤a2,使用人脸检测算法检测图片中存在的人脸,输出人脸框的位置和特征点位置;输出的人脸框位置包括图像中人脸框的左上角坐标和右下角坐标;特征点包括左眼瞳孔的坐标、右眼瞳孔的坐标、鼻尖的坐标、左侧嘴角的坐标以及右侧嘴角的坐标;步骤a3,将左右瞳孔的中点与左右嘴角的中点相连,将该线段中点作为人脸中心点;以人脸中心点为旋转中心,将图片进行旋转,使得左右瞳孔位置在一条水平线上,得到矫正后的人脸正脸图像;步骤a4,根据人脸框左上角坐标和右下角坐标计算得到人脸框的宽和高;通过步骤a3中的人脸中心点和人脸框的宽高确定矫正图像中人脸框的位置;按照预设的人脸框倍数截取,得到标准的人脸图片。进一步地,所述神经网络模型进一步具体为:神经网络模型主干网络为LightCNN+特征金字塔架构,抽取三个不同深度不同尺寸的Featuremaps,使用池化层将三层Featuremaps尺寸统一,将尺寸统一后的三层Featuremaps按通道维度进行拼接;拼接之后网络连接两个分支,第一分支接两层全连接层后接Sigmoid层,输出一个0到1之间的概率值,若该值小于0.5则表示性别预测结果为女性,若该值大于或等于0.5则表示性别预测结果为男性;第二分支首先接一层256个神经元的全连接层,再连接一层19个神经元的全连接层,最后经过1个神经元的全连接层后直接输出回归值,表示预测的年龄值。进一步地,所述预训练的神经网络模型训练方法为:步骤b1、获取包含人脸的训练样本本文档来自技高网...

【技术保护点】
1.一种基于人脸图像进行年龄和性别预测的方法,其特征在于:包括:/n获取一图片;/n使用人脸检测算法检测图片中的人脸位置和特征点位置,根据预设的参数对人脸进行矫正和截取,得到标准的人脸图片;/n使用预训练的神经网络模型对标准的人脸图片进行预测,输出人脸年龄和性别。/n

【技术特征摘要】
1.一种基于人脸图像进行年龄和性别预测的方法,其特征在于:包括:
获取一图片;
使用人脸检测算法检测图片中的人脸位置和特征点位置,根据预设的参数对人脸进行矫正和截取,得到标准的人脸图片;
使用预训练的神经网络模型对标准的人脸图片进行预测,输出人脸年龄和性别。


2.根据权利要求1所述的一种基于人脸图像进行年龄和性别预测的方法,其特征在于:所述使用人脸检测算法检测图片中的人脸位置和特征点位置,根据预设的参数对人脸进行矫正和截取,得到标准的人脸图片,进一步具体包括:
步骤a1,对所述图片进行图像归一化处理;
步骤a2,使用人脸检测算法检测图片中存在的人脸,输出人脸框的位置和特征点位置;输出的人脸框位置包括图像中人脸框的左上角坐标和右下角坐标;特征点包括左眼瞳孔的坐标、右眼瞳孔的坐标、鼻尖的坐标、左侧嘴角的坐标以及右侧嘴角的坐标;
步骤a3,将左右瞳孔的中点与左右嘴角的中点相连,将该线段中点作为人脸中心点;以人脸中心点为旋转中心,将图片进行旋转,使得左右瞳孔位置在一条水平线上,得到矫正后的人脸正脸图像;
步骤a4,根据人脸框左上角坐标和右下角坐标计算得到人脸框的宽和高;通过步骤a3中的人脸中心点和人脸框的宽高确定矫正图像中人脸框的位置;按照预设的人脸框倍数截取,得到标准的人脸图片。


3.根据权利要求1所述的一种基于人脸图像进行年龄和性别预测的方法,其特征在于:所述神经网络模型进一步具体为:
神经网络模型主干网络为LightCNN+特征金字塔架构,抽取三个不同深度不同尺寸的Featuremaps,使用池化层将三层Featuremaps尺寸统一,将尺寸统一后的三层Featuremaps按通道维度进行拼接;拼接之后网络连接两个分支,第一分支接两层全连接层后接Sigmoid层,输出一个0到1之间的概率值,若该值小于0.5则表示性别预测结果为女性,若该值大于或等于0.5则表示性别预测结果为男性;第二分支首先接一层256个神经元的全连接层,再连接一层19个神经元的全连接层,最后经过1个神经元的全连接层后直接输出回归值,表示预测的年龄值。


4.根据权利要求1所述的一种基于人脸图像进行年龄和性别预测的方法,其特征在于:所述预训练的神经网络模型训练方法为:
步骤b1、获取包含人脸的训练样本集,每个所述训练样本集包括年龄以及性别的标注信息;
步骤b2、对包含人脸的训练样本进行数据增强和预处理:使用人脸检测算法检测图片中的人脸框的位置和特征点位置,根据检测结果和预设的参数对图片中人脸进行矫正和裁剪;将矫正后的图片随机旋转-10°到10°之间的某个角度值;使用随机线性核对图像进行滤波;使用随机高斯核对图像进行滤波;对图像进行随机像素压缩;对图像色彩、亮度、饱和度以及对比度随机进行增强;对图像进行随机水平翻转;将图像缩放到144*144像素,并随机截取128*128区域作为预处理后的人脸图像;
步骤b3、将年龄性别标注信息转换为神经网络训练标签数据:所述年龄性别标注信息直接标明性别和年龄,所述神经网络模型训练过程中需要计算三组损失;第一组损失衡量性别预测效果,对应的标签为0或1,0代表图像中人脸为女性,1代表图像中人脸为男性;第二组损失衡量年龄分布预测效果,将年龄分为18段,从0岁开始,每五岁为一段,用长度为19的年龄端点权值向量来表示一个年龄值,将每个样本的年龄用其所属年龄段的左右端点与权重乘积进行表示:
其中为实际年龄xab,a为xab所属年龄段的左端点,b为xab所属年龄段的右端点;第三组损失衡量年龄值回归效果,对应的标签即为实际年龄值,对于大于设定年龄值则将其置为设定年龄值;
步骤b4、使用预处理后的人脸图像训练神经网络模型:网络的第一分支输出用于计算一个性别预测损失,采用均方误差损失函数;网络的第二分支输出用于计算年龄损失,对最后两层神经元输出均计算损失,其中倒数第二层的输出用于计算年龄端点权值向量的损失,采用KL散度损失函数,最后一层的输出用于计算年龄回归的损失,采用均方误差损失函数;两个分支的三个损失值相加后求导进行反向传播,更新神经网络模型参数。


5.一种基于人脸图像进行年龄和性别预测的系统,其特征在于:包括:

【专利技术属性】
技术研发人员:徐邵凯贾宝芝
申请(专利权)人:厦门瑞为信息技术有限公司
类型:发明
国别省市:福建;35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1