基于人脸图像进行年龄和性别预测的方法、系统和设备与流程

文档序号:20601541发布日期:2020-05-01 21:41阅读:556来源:国知局
基于人脸图像进行年龄和性别预测的方法、系统和设备与流程

本发明涉及计算机技术领域,特别涉及一种基于人脸图像进行年龄和性别预测的方法、系统和设备。



背景技术:

随着人工智能技术的快速发展和计算机硬件水平的不断提高,深度学习在计算机视觉领域的应用越来越多。通过对普通摄像头采集到的图片中的人脸进行年龄和性别的预测,可以在安防、线下零售、终端娱乐等场景下将数据进行充分的利用,为人们的生活带来诸多便利。

目前常用的方法多是年龄和性别分别进行预测,这种方式时间消耗较多,内存消耗大,同一张人脸图片要分别进行两次预测,效率较低,即使有采用单模型进行年龄性别预测的方法,也是对年龄和性别特征进行分开提取,同样存在效率低、操作重复等缺点。目前对年龄的预测大多是进行年龄段预测,是分类预测,这种方法预测得到的年龄准确度较低。



技术实现要素:

本发明要解决的技术问题,在于提供一种基于人脸图像进行年龄和性别预测的方法、系统和设备,将矫正和裁剪好的人脸图像输入到训练好的年龄性别多任务模型,模型经前向传播后直接输出年龄和性别的预测结果,提高了年龄以及性别的预测速度和准确度。

第一方面,本发明提供了一种方法,包括:

获取一图片;

使用人脸检测算法检测图片中的人脸位置和特征点位置,根据预设的参数对人脸进行矫正和截取,得到标准的人脸图片;

使用预训练的神经网络模型对标准的人脸图片进行预测,输出人脸年龄和性别。

进一步地,所述使用人脸检测算法检测图片中的人脸位置和特征点位置,根据预设的参数对人脸进行矫正和截取,得到标准的人脸图片,进一步具体包括:

步骤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、获取包含人脸的训练样本集,每个所述训练样本集包括年龄以及性别的标注信息;

步骤b2、对包含人脸的训练样本进行数据增强和预处理:使用人脸检测算法检测图片中的人脸框的位置和特征点位置,根据检测结果和预设的参数对图片中人脸进行矫正和裁剪;将矫正后的图片随机旋转-10°到10°之间的某个角度值;使用随机线性核对图像进行滤波;使用随机高斯核对图像进行滤波;对图像进行随机像素压缩;对图像色彩、亮度、饱和度以及对比度随机进行增强;对图像进行随机水平翻转;将图像缩放到144*144像素,并随机截取128*128区域作为预处理后的人脸图像;

步骤b3、将年龄性别标注信息转换为神经网络训练标签数据:所述年龄性别标注信息直接标明性别和年龄,所述神经网络模型训练过程中需要计算三组损失;第一组损失衡量性别预测效果,对应的标签为0或1,0代表图像中人脸为女性,1代表图像中人脸为男性;第二组损失衡量年龄分布预测效果,将年龄分为18段,从0岁开始,每五岁为一段,用长度为19的年龄端点权值向量来表示一个年龄值,将每个样本的年龄用其所属年龄段的左右端点与权重乘积进行表示:

其中为实际年龄xab,a为xab所属年龄段的左端点,b为xab所属年龄段的右端点;第三组损失衡量年龄值回归效果,对应的标签即为实际年龄值,对于大于设定年龄值则将其置为设定年龄值;

步骤b4、使用预处理后的人脸图像训练神经网络模型:网络的第一分支输出用于计算一个性别预测损失,采用均方误差损失函数;网络的第二分支输出用于计算年龄损失,对最后两层神经元输出均计算损失,其中倒数第二层的输出用于计算年龄端点权值向量的损失,采用kl散度损失函数,最后一层的输出用于计算年龄回归的损失,采用均方误差损失函数;两个分支的三个损失值相加后求导进行反向传播,更新神经网络模型参数。

第三方面,本发明提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。

本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:

本发明基于人脸图像进行年龄和性别预测,能够通过摄像头采集的人脸图像快速准确的预测年龄和性别,非常适合用于安防视频人脸分析、新零售客群属性分析等实际场景,有效增强计算机智能化,减轻人力消耗。

本发明所述预训练年龄性别神经网络模型采用了特征金字塔结构,能够提取从高到低的更丰富的多层次人脸特征,从而有效提升年龄和性别预测的准确度;同时将年龄值表示为端点权值向量,在模型训练阶段作为中间层监督信息与年龄值回归一起训练模型,而在预测阶段直接输出年龄回归值,在不增加计算量的情况下使得年龄准确度大幅提升;目前常用的年龄预测方法大多基于年龄段分类进行预测,年龄准确度受限于年龄段分类准确度,同时容易导致预测年龄值在段内分布不均匀的现象,本发明所述的年龄性别神经网络模型直接对年龄值进行预测,结果分布更加均匀,准确度更高。

本发明使用单阶段、单模型对年龄性别进行预测,有效的缩短了年龄性别预测所消耗的时间,速度上更能满足实时的需求,预测结果可用于多种场景,如安防监控中对可疑人物的分析、商场广告机根据不同的年龄和性别推送不同的广告等。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

下面参照附图结合实施例对本发明作进一步的说明。

图1为本发明实施例一中方法中的流程图;

图2为本发明实施例二中系统的结构示意图;

图3为本发明实施例四的执行流程图一。

图4为本发明实施例四中神经网络模型结构图。

图5为本发明实施例四的执行流程图二。

具体实施方式

实施例一

本实施例提供一种方法,如图1所示,包括;

获取一图片;

对所述图片进行图像归一化处理;

使用人脸检测算法检测图片中存在的人脸,输出人脸框的位置和特征点位置;输出的人脸框位置包括图像中人脸框的左上角坐标和右下角坐标;特征点包括左眼瞳孔的坐标、右眼瞳孔的坐标、鼻尖的坐标、左侧嘴角的坐标以及右侧嘴角的坐标;

将左右瞳孔的中点与左右嘴角的中点相连,将该线段中点作为人脸中心点;以人脸中心点为旋转中心,将图片进行旋转,使得左右瞳孔位置在一条水平线上,得到矫正后的人脸正脸图像;

根据人脸框左上角坐标和右下角坐标计算得到人脸框的宽和高;通过上述中的人脸中心点和人脸框的宽高确定矫正图像中人脸框的位置;按照预设的人脸框倍数截取,得到标准的人脸图片;

使用预训练的神经网络模型对标准的人脸图片进行预测,输出人脸年龄和性别。

优选的,所述神经网络模型进一步具体为:

神经网络模型主干网络为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散度损失函数,最后一层的输出用于计算年龄回归的损失,采用均方误差损失函数;两个分支的三个损失值相加后求导进行反向传播,更新神经网络模型参数。

基于同一发明构思,本申请还提供了与实施例一中的方法对应的系统,详见实施例二。

实施例二

在本实施例中提供了一种系统,如图2所示,包括:

图片获取模块,用于获取一图片;

人脸提取和矫正模块,对所述图片进行图像归一化处理;

使用人脸检测算法检测图片中存在的人脸,输出人脸框的位置和特征点位置;输出的人脸框位置包括图像中人脸框的左上角坐标和右下角坐标;特征点包括左眼瞳孔的坐标、右眼瞳孔的坐标、鼻尖的坐标、左侧嘴角的坐标以及右侧嘴角的坐标;

将左右瞳孔的中点与左右嘴角的中点相连,将该线段中点作为人脸中心点;以人脸中心点为旋转中心,将图片进行旋转,使得左右瞳孔位置在一条水平线上,得到矫正后的人脸正脸图像;

根据人脸框左上角坐标和右下角坐标计算得到人脸框的宽和高;通过上述中的人脸中心点和人脸框的宽高确定矫正图像中人脸框的位置;按照预设的人脸框倍数截取,得到标准的人脸图片;

人脸年龄和性别预测模块,用于使用预训练的神经网络模型对标准的人脸图片进行预测,输出人脸年龄和性别。

优选的,所述神经网络模型进一步具体为:

神经网络模型主干网络为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散度损失函数,最后一层的输出用于计算年龄回归的损失,采用均方误差损失函数;两个分支的三个损失值相加后求导进行反向传播,更新神经网络模型参数。

由于本发明实施例二所介绍的系统,为实施本发明实施例一的方法所采用的系统,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该系统的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的系统都属于本发明所欲保护的范围。

基于同一发明构思,本申请提供了实施例一对应的电子设备实施例,详见实施例三。

实施例三

本实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,可以实现实施例一中任一实施方式。

由于本实施例所介绍的电子设备为实施本申请实施例一中方法所采用的设备,故而基于本申请实施例一中所介绍的方法,本领域所属技术人员能够了解本实施例的电子设备的具体实施方式以及其各种变化形式,所以在此对于该电子设备如何实现本申请实施例中的方法不再详细介绍。只要本领域所属技术人员实施本申请实施例中的方法所采用的设备,都属于本申请所欲保护的范围。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

实施例四

本发明公开了一种能快速基于人脸预测年龄和性别的方法,其通过使用基于深度学习的年龄性别预测算法对图片中人脸的年龄和性别进行判断,能够满足安防、线下零售、终端娱乐等场景下的视频和图片人脸分析需求。

图3为基于人脸图像进行年龄性别预测的实施例流程图,其包括以下步骤:

步骤1,从摄像头数据提取单帧图片。

步骤2,使用人脸检测算法检测图片中人脸框和人脸特征点位置:

步骤2-1,将提取的图片进行归一化,一般的归一化过程可用如下公式表示:

其中,min为图像中像素最小值,max为图像中像素最大值,xi表示归一化之前图像中某点的值,x′i表示归一化之后对应点的值;在本发明实施例中min值取0,max值取255;

步骤2-2,使用人脸检测算法对归一化的图片进行人脸检测和特征点检测,本实施例中采用mtcnn人脸检测算法,是一种基于深度学习的神经网络人脸检测模型;mtcnn模型包含3阶段网络模型,分别为p-net网络,r-net网络和o-net网络,图片依次经过三段网络,最后o-net网络输出mtcnn算法在图像中检测到的人脸框的坐标和人脸关键点坐标。

步骤3,判断图片中是否检测到了人脸,若未检测到人脸,则返回步骤1执行。

步骤4,根据检测到的人脸框坐标进行人脸矫正和裁剪:将左右瞳孔的中点与左右嘴角的中点相连,将该线段中点作为人脸中心点;以人脸中心点为旋转中心,将图片旋转一定角度,使得左右瞳孔位置在一条水平线上,得到矫正后的人脸正脸图像;根据人脸框左上角坐标和右下角坐标计算得到人脸框的宽和高;通过人脸中心点和人脸框的宽高确定矫正图像中人脸框的位置;按照预设的人脸框倍数截取人脸图像。

步骤5,将截取的人脸图像输入到预训练的用于年龄性别预测的神经网络模型;网络模型结构如图4所示,其中,128*128的3通道彩色图像通过卷积层1、激活层1以及池化层1处理,之后进入卷积层2、激活层2、卷积层3、激活层3以及池化层3处理抽取featuremaps,之后进入卷积层4、激活层4、卷积层5、激活层5以及池化层5处理,在抽取featuremaps,最后进入卷积层6、激活层6、卷积层7、激活层7处理;神经网络模型主干网络分别在池化层3、池化层5、激活层7之后抽取三个不同深度不同尺寸的featuremaps,经过池化层8将三层featuremaps尺寸统一,将尺寸统一后的三层featuremaps通过拼接层8按通道维度进行拼接,之后进入卷积层9、激活层9、卷积层10、激活层10、池化层10、全连接层11、激活层11处理;全连接层12连接两个分支,第一分支接全连接层13以及全连接层14后接sigmoid激活层,输出一个0到1之间的概率值,若该值小于0.5则表示预测结果为女性,若该值大于或等于0.5则表示预测结果为男性;第二分支首先接一层256个神经元的全连接层16,再连接一层19个神经元的全连接层17,最后经过1个神经元的全连接层18后直接输出回归值,表示预测的年龄值。

如图5所示,基于人脸图像的年龄性别预测神经网络模型的训练过程,其包括以下步骤:

步骤1,获取训练数据和标注信息:收集人脸数据集,包括图片数据和标注信息;对数据进行清洗,去掉低质量、非人脸、标注错误的数据。

步骤2,为得到可用于训练基于人脸图像进行年龄性别预测的神经网络模型的训练样本,需对图片进行数据增强和预处理:

步骤2-1,将提取的图片进行归一化,一般的归一化过程可用如下公式表示:

其中,min为图像中像素最小值,max为图像中像素最大值,xi表示归一化之前图像中某点的值,x′i表示归一化之后对应点的值;在本发明实施例中min值取0,max值取255;

步骤2-2,使用人脸检测算法检测图片中的人脸框位置和人脸关键点位置,根据检测到的人脸框坐标进行人脸矫正和裁剪:将左右瞳孔的中点与左右嘴角的中点相连,将该线段中点作为人脸中心点;以人脸中心点为旋转中心,将图片旋转一定角度,使得左右瞳孔位置在一条水平线上,得到矫正后的人脸正脸图像;根据人脸框左上角坐标和右下角坐标计算得到人脸框的宽和高;通过人脸中心点和人脸框的宽高确定矫正图像中人脸框的位置,根据预设的人脸尺度参数对图片中矫正后的人脸进行裁剪;

步骤2-3,为提高年龄性别预测神经网络模型的角度鲁棒性,使其能够适应轻微的人脸角度旋转,将矫正后的图片随机旋转-10°到10°之间的某个角度值;

步骤2-4,为提高年龄性别预测神经网络模型的运动模糊成像鲁棒性,使其能够对一定程度的运动导致模糊的人脸成像正确预测,使用随机线性核对图像进行滤波;

步骤2-5,为提高年龄性别预测神经网络模型的高斯模糊成像鲁棒性,使其能够对高斯模糊成像的人脸正确预测,使用随机高斯核对图像进行滤波;

步骤2-6,为提高年龄性别预测神经网络模型的像素鲁棒性,使其能够适应不同像素大小的人脸图像,对图像像素进行随机压缩;

步骤2-7,为提高年龄性别预测神经网络模型的颜色空间鲁棒性,使其能够适应不同光照、不同场景、不同摄像头造成的成像差异,对图像色彩、亮度、饱和度、对比度等随机进行增强;

步骤2-8,为提高年龄性别预测神经网络模型的鲁棒性,对图像进行随机水平翻转,将图像缩放到144*144像素,并随机截取128*128区域作为预处理后的人脸图像。

步骤3,将年龄性别标注信息转换为神经网络训练标签数据,原始的年龄性别标注信息直接标明了性别和年龄,所述神经网络模型训练过程中需要计算三组损失,需要将原始的年龄性别标注信息转换为计算损失所需要的标签数据:

步骤3-1,第一组损失用于衡量性别训练效果,若图片性别标注为男性,则返回的性别训练标签为1,若图片性别标注为女性,则返回的性别训练标签为0;

步骤3-2,第二组损失用于衡量年龄分布训练效果,将年龄分为18段,从0岁开始,每五岁为一段,用长度为19的年龄端点权值向量来表示一个年龄值,将每个样本的年龄用其所属年龄段的左右端点与权重乘积进行表示:

其中为实际年龄xab,a为xab所属年龄段的左端点,b为xab所属年龄段的右端点,以26岁为例,其所属年龄段为25到30岁,则可表示为:26=25*0.8+30*0.2,对应的年龄端点权值向量标签为:[0,0,0,0,0,0.8,0.2,0,0,0,0,0,0,0,0,0,0,0,0];

步骤3-3;第三组损失衡量年龄值回归效果,返回的年龄回归标签即为实际年龄值,对于大于90的年龄值将其置为90。

步骤4,随机初始化神经网络模型参数,将预处理后的人脸图像输入神经网络模型进行前向传播。

步骤5,计算网络预测结果的损失值,与训练停止阈值进行比较:

步骤5-1,从第一分支sigmoid激活层输出结果获取性别预测结果,与性别标签一起计算性别预测损失,使用的损失函数为均方误差损失函数,设y′i为预测结果,yi为训练标签,loss(y′i,yi)为预测损失,i表示第i个样本,则损失函数表示为:

loss(y′i,yi)=(y′i-yi)2

步骤5-2,从第二分支全连接层17输出结果获取年龄端点权值向量预测结果,与年龄端点权值向量标签一起计算年龄分布预测损失,使用的损失函数为kl散度,设y′表示年龄端点权值向量预测结果,y表示年龄端点权值向量训练标签,n表示向量长度,loss(y′,y)表示年龄端点权值向量预测损失,则kl散度损失函数表示为:

步骤5-3,从第二分支全连接层18输出结果获取年龄值回归结果,与年龄值标签一起计算年龄回归损失,使用的损失函数为均方误差损失函数,公式同步骤5-1;

步骤5-4,将三组损失值进行加权求和得到网络模型的前向传播预测损失值,并与网络训练停止阈值进行比较,权重由本专业技术人员在训练网络模型时设定。

步骤6,若网络模型的前向传播预测损失值满足停止阈值,则结束训练,保存网络模型参数;若不满足,则对网络模型参数梯度进行反向传播,更新模型参数值,返回到步骤5。

虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1