掌桥专利:专业的专利平台
掌桥专利
首页

一种模型训练方法、人脸属性分析方法、装置及介质

文献发布时间:2023-06-19 12:18:04


一种模型训练方法、人脸属性分析方法、装置及介质

技术领域

本申请涉及深度学习、图像处理和属性分析的技术领域,具体而言,涉及一种模型训练方法、人脸属性分析方法、装置及介质。

背景技术

人脸属性分析,是指对人脸图像中的多个标签或属性进行分类,具体例如:多分类任务的输入是仅包括人脸的区域图像,而要分析的却是一些与人脸相关的属性,这些属性例如:人脸图像中的人是否戴眼镜或者口罩等等物品,或者,人脸是否化妆、留长发或者胎记等等特征属性。

目前的人脸属性分析方法通常是使用深度神经网络进行的,然而在具体的实践过程中发现,在真实的应用场景中使用深度神经网络进行人脸属性分析的准确率较低,真实的应用场景例如:在监控视频中的同一个人在不同头部姿态下的人脸区域进行属性分析,或者,在监控视频中均戴口罩的不同肤色的人群。

发明内容

本申请实施例的目的在于提供一种模型训练方法、人脸属性分析方法、装置及介质,用于改善使用深度神经网络进行人脸属性分析的准确率较低的问题。

本申请实施例提供了一种模型训练方法,包括:获取二元组数据集和人脸图片数据集;根据人脸图片数据集获取孪生改造网络模型;使用二元组数据集和人脸图片数据集对孪生改造网络模型进行交替训练,获得属性分析网络模型,属性分析网络模型用于对图像进行属性预测。在上述的实现过程中,通过事先使用二元组数据集和人脸图片数据集交替训练的方式,使得属性分析网络模型能够有效地学习到二元组数据集中不同人脸的相同属性特征,以及二元组数据集中的相同人脸的不同属性特征,从而提高使用属性分析网络模型在真实的应用场景中对人脸区域图像进行属性预测的准确率。

可选地,在本申请实施例中,二元组数据集包括:多个第一图像和多个第二图像,第一图像和第二图像均包括相同人脸的不同属性或者不同人脸的相同属性,人脸图片数据集包括:人脸图像和人脸图像对应的属性标签;使用二元组数据集和人脸图片数据集对孪生改造网络模型进行交替训练,包括:使用孪生改造网络模型对人脸图像进行属性预测,获得属性预测值,并计算属性预测值与人脸图像对应的属性标签之间的属性分类损失值;使用孪生改造网络模型预测第一图像的多个属性值和第二图像的多个属性值,并计算第一图像的多个属性值和第二图像的多个属性值之间的一致性损失值;根据属性分类损失值和一致性损失值对孪生改造网络模型进行交替训练。在上述的实现过程中,通过根据属性分类损失值和一致性损失值对孪生改造网络模型进行交替常规训练与孪生对比训练,使得属性分析网络模型既能够有效地学习到常规人脸图片数据集的属性特征,又能够学习到二元组数据集中不同人脸的相同属性特征,或者,相同人脸的不同属性特征,从而提高使用属性分析网络模型在真实的应用场景中对人脸区域图像进行属性预测的准确率。

可选地,在本申请实施例中,获取二元组数据集和人脸图片数据集,包括:获取人脸图片数据集,并从人脸图片数据集中筛选出第一图像、第一图像对应的属性标签、第二图像和第二图像对应的属性标签,然后将第一图像、第一图像对应的属性标签、第二图像和第二图像对应的属性标签加入二元组数据集;和/或获取监控视频,对监控视频进行人脸检测和人脸区域截图,获得第一图像和第二图像,并将第一图像和第二图像加入二元组数据集,然后将第一图像、第一图像对应的属性标签、第二图像和第二图像对应的属性标签加入人脸图片数据集。在上述的实现过程中,通过从真实的应用场景中和原始的人脸图片数据集中获取的训练数据来对属性分析网络模型进行训练,从而使得属性分析网络模型既能够有效地学习到常规人脸图片数据集的属性特征,又能够学习到二元组数据集中的属性特征,有效地提高使用属性分析网络模型在真实的应用场景中对人脸区域图像进行属性预测的准确率。

可选地,在本申请实施例中,根据人脸图片数据集获取孪生改造网络模型,包括:获取神经网络,并使用人脸图片数据集对神经网络进行预训练,获得训练后的神经网络模型;对训练后的神经网络模型进行孪生改造,获得孪生改造网络模型。在上述的实现过程中,通过对训练后的神经网络模型进行孪生改造,获得孪生改造网络模型,从而使得孪生改造后的孪生改造网络模型可以输入两个相互关联的样本数据,该孪生改造网络模型可以同时学习到两个相互关联的样本数据属性特征,有效地提高了对孪生改造网络模型进行训练的效率。

可选地,在本申请实施例中,人脸图片数据集包括:多个人脸图像和多个属性标签;使用人脸图片数据集对神经网络进行预训练,包括:获得多个人脸图像和多个属性标签,属性标签是对人脸图像进行属性标注获得的;以多个人脸图像为训练数据,以多个属性标签为训练标签,对神经网络进行预训练。在上述的实现过程中,通过以多个人脸图像为训练数据,以多个属性标签为训练标签,对神经网络进行预训练,从而避免了直接使用没有训练的神经网络模型进行孪生改造,有效地提高了对孪生改造后的孪生改造网络模型进行训练的效率。

本申请实施例还提供了一种人脸属性分析方法,包括:获取待分析图像;使用人脸检测器对待分析图像进行人脸检测,获得人脸区域图像;使用如上面描述的模型训练方法训练获得的属性分析网络模型,对人脸区域图像进行属性预测,获得待分析图像对应的人脸属性值。在上述的实现过程中,通过使用如上面描述的模型训练方法训练获得的属性分析网络模型,对人脸区域图像进行属性预测,通过事先使用二元组数据集和人脸图片数据集交替训练的方式,使得属性分析网络模型能够有效地学习到二元组数据集中不同人脸的相同属性特征,以及二元组数据集中的相同人脸的不同属性特征,从而提高使用属性分析网络模型在真实的应用场景中对人脸区域图像进行属性预测的准确率。

可选地,在本申请实施例中,属性分析网络模型包括:特征提取网络和属性预测分支;对人脸区域图像进行属性预测,包括:使用特征提取网络对人脸区域图像进行特征提取,获得属性特征;使用属性预测分支分别对属性特征进行属性预测。在上述的实现过程中,通过使用特征提取网络对人脸区域图像进行特征提取,获得属性特征,并使用属性预测分支分别对属性特征进行属性预测,由于该特征提取网络能够提取出不同人脸的相同属性特征以及相同人脸的不同属性特征,且属性预测分支能够根据不同人脸的相同属性特征以及相同人脸的不同属性特征,有效地提高了使用属性分析网络模型在真实的应用场景中对人脸区域图像进行属性预测的准确率。

本申请实施例还提供了一种模型训练装置,包括:训练数据获取模块,用于获取二元组数据集和人脸图片数据集;网络模型获取模块,用于根据人脸图片数据集获取孪生改造网络模型;网络模型训练模块,用于使用二元组数据集和人脸图片数据集对孪生改造网络模型进行交替训练,获得属性分析网络模型,属性分析网络模型用于对图像进行属性预测。

可选地,在本申请实施例中,二元组数据集包括:多个第一图像和多个第二图像,第一图像和第二图像均包括相同人脸的不同属性或者不同人脸的相同属性,人脸图片数据集包括:人脸图像和人脸图像对应的属性标签;网络模型训练模块,包括:分类损失计算模块,用于使用孪生改造网络模型对人脸图像进行属性预测,获得属性预测值,并计算属性预测值与人脸图像对应的属性标签之间的属性分类损失值;一致损失计算模块,用于使用孪生改造网络模型预测第一图像的多个属性值和第二图像的多个属性值,并计算第一图像的多个属性值和第二图像的多个属性值之间的一致性损失值;模型交替训练模块,用于根据属性分类损失值和一致性损失值对孪生改造网络模型进行交替训练。

可选地,在本申请实施例中,训练数据获取模块,包括:获取人脸图片数据集,并从人脸图片数据集中筛选出第一图像、第一图像对应的属性标签、第二图像和第二图像对应的属性标签,然后将第一图像、第一图像对应的属性标签、第二图像和第二图像对应的属性标签加入二元组数据集;和/或获取监控视频,对监控视频进行人脸检测和人脸区域截图,获得第一图像和第二图像,并将第一图像和第二图像加入二元组数据集,然后将第一图像、第一图像对应的属性标签、第二图像和第二图像对应的属性标签加入人脸图片数据集。

可选地,在本申请实施例中,网络模型获取模块,包括:模型预先训练模块,用于获取神经网络,并使用人脸图片数据集对神经网络进行预训练,获得训练后的神经网络模型;网络孪生改造模块,用于对训练后的神经网络模型进行孪生改造,获得孪生改造网络模型。

可选地,在本申请实施例中,人脸图片数据集包括:多个人脸图像和多个属性标签;模型预先训练模块,包括:图像标签获得模块,用于获得多个人脸图像和多个属性标签,属性标签是对人脸图像进行属性标注获得的;网络预先训练模块,用于以多个人脸图像为训练数据,以多个属性标签为训练标签,对神经网络进行预训练。

本申请实施例还提供了一种人脸属性分析装置,包括:分析图像获取模块,用于获取待分析图像;区域图像获得模块,用于使用人脸检测器对待分析图像进行人脸检测,获得人脸区域图像;图像属性预测模块,用于使用如上面描述的模型训练装置训练获得的属性分析网络模型,对人脸区域图像进行属性预测,获得待分析图像对应的人脸属性值。

可选地,在本申请实施例中,属性分析网络模型包括:特征提取网络和属性预测分支;图像属性预测模块,包括:属性特征提取模块,用于使用特征提取网络对人脸区域图像进行特征提取,获得属性特征;特征属性预测模块,用于使用属性预测分支分别对属性特征进行属性预测。

本申请实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上面描述的方法。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出的本申请实施例提供的模型训练方法的流程示意图;

图2示出的本申请实施例提供的网络孪生改造的过程示意图;

图3示出的本申请实施例提供的人脸属性分析方法的流程示意图;

图4示出的本申请实施例提供的对图像进行人脸属性分析的过程示意图;

图5示出的本申请实施例提供的属性分析网络模型的结构示意图;

图6示出的本申请实施例提供的模型训练装置的结构示意图;

图7示出的本申请实施例提供的人脸属性分析装置的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整的描述。

在介绍本申请实施例提供的人脸属性分析方法之前,先介绍本申请实施例中所涉及的一些概念:

孪生网络(Siamese network),又称孪生神经网络,是一种两个共享权重的结构相同的神经网络,也可以理解为共享权重或共享权值的网络,即两个神经网络结构一模一样,且权重值也是一样的;这两个神经网络分别将输入映射到新的空间,形成输入在新的空间中的表示。

随机梯度下降(Stochastic Gradient Descent,SGD),是指在机器学习算法中,有时候需要对原始的模型构建损失函数,然后通过优化算法对损失函数进行优化,以便寻找到最优的参数,使得损失函数的值最小;而在求解机器学习参数的优化算法中,使用较多的就是基于梯度下降的优化算法。

人脸检测(face detection),是一种在任意数字图像中找到人脸的位置和大小的计算机技术;人脸检测可以检测出面部特征,例如是人脸的位置和大小,并忽略诸如建筑物、树木和身体等其他任何东西。

需要说明的是,本申请实施例提供的模型训练方法和人脸属性分析方法可以被电子设备执行,这里的电子设备是指具有执行计算机程序功能的设备终端或者上述的服务器,设备终端例如:智能手机、个人电脑(personal computer,PC)、平板电脑、个人数字助理(personal digital assistant,PDA)或者移动上网设备(mobile Internet device,MID)等;服务器例如:x86服务器以及非x86服务器,非x86服务器包括:大型机、小型机和UNIX服务器。

在介绍本申请实施例提供的模型训练方法和人脸属性分析方法之前,先介绍该模型训练方法和人脸属性分析方法适用的应用场景,这里的应用场景包括但不限于:使用该模型训练方法训练出属性分析网络模型,然后使用该属性分类模型对人脸图像进行属性分析,获得人脸图像中的人脸特征的分类标签,此处的人脸特征的分类标签可以是单一属性的分类标签,也可以是多个属性的分类标签;此处以多个属性的分类标签为例进行说明,具体例如:第一个标签为图像中的人戴是否戴眼镜,图像中的人戴眼镜的概率为0.7;第二个标签为图像中的人是否戴口罩,图像中的人戴口罩的概率为0.9,更多的年龄、性别、戴帽子、发际线和单双眼皮等等标签分类概率依此类推。

请参见图1示出的本申请实施例提供的模型训练方法的流程示意图;该模型训练方法的主要思路是,通过事先使用二元组数据集和人脸图片数据集交替训练的方式,使得属性分析网络模型能够有效地学习到二元组数据集中不同人脸的相同属性特征,以及二元组数据集中的相同人脸的不同属性特征,从而提高使用属性分析网络模型在真实的应用场景中对人脸区域图像进行属性预测的准确率;上述模型训练方法的实施方式可以包括:

步骤S110:获取二元组数据集和人脸图片数据集。

二元组数据集,又被称为孪生对比二元数据集,是指用于存放相同人脸且该人脸对应不同属性的数据集,上述的二元组数据集可以包括:多个第一图像和多个第二图像,第一图像和第二图像均包括相同人脸的不同属性或者不同人脸的相同属性。

上述的人脸图片数据集可以包括:多个人脸图像和多个人脸图像对应的属性标签。

上述步骤S110中的二元组数据集和人脸图片数据集的获取方式有很多种,下面两种方式可以任选其一,也可以两种方式都进行,这两种方式包括:

第一种获取方式,先获取原始的人脸图片数据集,然后从人脸图片数据集中筛选并加入二元组数据集,该获取方式可以包括:

步骤S111:获取人脸图片数据集。

上述步骤S111中的人脸图片数据集的获取方式有很多种,包括但不限于:第一种获得方式,使用摄像机、录像机或彩色照相机等终端设备对目标对象进行拍摄,获得人脸图片;然后,将人脸图片加入人脸图片数据集,即可获取到上面的人脸图片数据集,当然还可以将人脸图片存储至文件系统、数据库或移动存储设备中;第二种获得方式,获取预先存储的人脸图片,具体例如:从文件系统中获取人脸图片,或者从数据库中获取人脸图片,或者从移动存储设备中获取人脸图片;第三种获得方式,使用浏览器等软件获取互联网上的人脸图片,或者使用其它应用程序访问互联网获得人脸图片。

步骤S112:从人脸图片数据集中筛选出第一图像、第一图像对应的属性标签、第二图像和第二图像对应的属性标签。

上面的S112的实施方式例如:可以从人脸图片数据集中筛选出不同人脸的相同属性的第一图像和第二图像及其对应的属性标签,具体地,假设人脸图片数据集中有戴着口罩的张三人脸图像和戴着口罩的李四人脸图像,那么可以从人脸图片数据集中筛选出有戴着口罩的张三人脸图像和戴着口罩的李四人脸图像及其属性标签;然后,将张三的人脸图像作为第一图像,且戴着口罩作为第一图像对应的属性标签,并将李四的人脸图像作为第二图像,且戴着口罩作为第二图像对应的属性标签。

步骤S113:将第一图像、第一图像对应的属性标签、第二图像和第二图像对应的属性标签加入二元组数据集。

上述步骤S113的实施方式例如:假设二元组数据集分为A组和B组,那么具体可以将第一图像及第一图像对应的属性标签加入二元组数据集的A组,且将第二图像和第二图像对应的属性标签加入二元组数据集的B组。

第二种获取方式,从真实应用场景的监控视频中获取二元组数据集和人脸图片数据集,该获取方式可以包括:

步骤S114:获取监控视频,对监控视频进行人脸检测和人脸区域截图,获得第一图像和第二图像。

上述步骤S114的实施方式例如:获取真实应用场景的监控视频,并使用预先训练好的单阶段人脸检测器或者两阶段人脸检测器对监控视频每帧图像进行人脸检测,获得监控视频每帧图像中的人脸区域;然后,针对同一个人不同头部姿态下,对每帧图像中的人脸区域进行截图,获得同一个人不同头部姿态下的第一图像和第二图像,第一图像和第二图像可以不设置任何属性标签(同一个的不同头部姿态图像属性肯定相同);其中,可以使用的单阶段人脸检测器具体例如:特征融合单点多盒检测器(Feature Fusion Single ShotMultibox Detector,FSSD)和YOLO等网络;可以使用的两阶段人脸检测器具体例如:区域卷积神经网络(Region Convolutional Neural Network,RCNN)、fast RCNN和faster RCNN系列的网络。

步骤S115:将第一图像和第二图像加入二元组数据集,然后将第一图像、第一图像对应的属性标签、第二图像和第二图像对应的属性标签加入人脸图片数据集。

其中,该步骤S115的实施原理和实施方式与步骤S113的实施原理和实施方式是类似的,因此,这里不再说明其实施原理和实施方式,如有不清楚的地方,可以参考对步骤S113的描述。

在步骤S110之后,执行步骤S120:根据人脸图片数据集获取孪生改造网络模型。

请参见图2示出的本申请实施例提供的网络孪生改造的过程示意图;孪生改造网络模型,是指对神经网络模型进行孪生改造后的孪生网络模型,该孪生改造网络模型包括:第一输入层、第二输入层、共享权重层、第一决策层和第二决策层。此处的孪生网络模型通常是预先训练后获得的模型,此处的孪生改造是指将网络模型的输入层更改为孪生输入层,即将网络模型的输入层更改为可以同时输入两个相互关联的样本数据的第一输入层和第二输入层,第一输入层和第二输入层可以分别输入相似的两张图像或者不相似的两张图像。

上述步骤S120的实施方式可以包括:

步骤S121:获取神经网络,并使用人脸图片数据集对神经网络进行预训练,获得训练后的神经网络模型。

上述步骤S121的实施方式例如:获取神经网络,并获得多个人脸图像和多个属性标签,属性标签是对人脸图像进行属性标注获得的。以多个人脸图像为训练数据,以多个属性标签为训练标签,使用监督式学习(Supervised Learning)的方式对神经网络进行预训练,获得训练后的神经网络模型。在具体实践过程中,可以将训练后的神经网络模型中的网络权重参数提取出来,并将网络权重参数存储至存储介质中,以便于下面的步骤S131使用。

步骤S122:对训练后的神经网络模型进行孪生改造,获得孪生改造网络模型。

上述步骤S122的实施方式例如:在训练阶段的过程中,将训练后的神经网络模型的输入层更改为可以同时输入两个相互关联的数据样本的输入层,即修改该神经网络模型在训练阶段的数据输入口,使该神经网络模型变为孪生网络结构,从而获得孪生改造网络模型。换句话说,该神经网络模型在被孪生改造后,可以同时输入两个相互关联的样本数据的第一输入层和第二输入层,第一输入层和第二输入层可以分别输入相似的两张图像或者不相似的两张图像。具体例如:同时输入相似的第一样本数据和第二样本数据,此处的第一样本数据和第二样本数据可以都是戴眼镜的人脸图像,或者,第一样本数据是相反的正样本数据(例如一张戴了眼镜的人脸图像),且第二样本数据是负样本数据(例如一张没有戴眼镜的人脸图像)。上述第一样本数据和第二样本数据可以被用来进行孪生对比的标签学习,即在设置相应的孪生对比损失函数之后,使用该孪生对比损失函数计算正样本和负样本之间的对比损失值,并根据该对比损失值更新该孪生网络的权重参数,直到损失值小于预设比例或者迭代次数(epoch)数量大于预设阈值时,即可获得训练后的孪生改造网络模型。其中,上述的预设比例可以根据具体情况设置,例如设置为5%或者10%等;上述的预设阈值也可以根据具体情况进行设置,例如设置为100或者1000等等。

在步骤S120之后,执行步骤S130:使用二元组数据集和人脸图片数据集对孪生改造网络模型进行交替训练,获得属性分析网络模型。

属性分析网络模型,是指用于对输入图像(例如人脸区域图像)进行属性分析预测的多任务学习神经网络模型;上述的属性分析网络模型可以用于对图像进行属性预测。其中,属性分析网络模型可以包括:特征提取网络和多个属性预测分支,该属性分析网络模型的具体网络结构将在下面详细地描述。

需要说明的是,由于是交替训练,下面先介绍使用人脸图片数据集对孪生改造网络模型进行常规训练的步骤S132,然后再介绍使用二元组数据集对孪生改造网络模型进行孪生对比训练的步骤S133,但实际上步骤S132和步骤S133可以交替进行,不作任何顺序上的限制。为了便于说明,下面以常规训练和孪生对比训练的顺序进行说明,上述步骤S130的实施方式包括:

步骤S131:设置该孪生改造网络模型的网络超参数,并将预先训练好的权重参数加载至该孪生改造网络模型中。

上述步骤S131的实施方式例如:假设该孪生改造网络模型的输入数据是224×224尺寸的三通道彩色图像,在网络训练时,可以将批量(batch size)设置为32,网络优化器可以采用随机梯度下降(SGD)来对该孪生改造网络模型的训练过程进行优化。可以将该孪生改造网络模型的初始学习率(learning rate,LR)设置为0.01,将动量(momentum)参数设置为0.5,并将训练过程中每隔一定的迭代此时学习率下降到原来的10%。当然,在具体的实施过程中,上述网络超参数的设置也可以根据具体情况进行调整,以上网络超参数的数值仅以示例性说明,不作为本申请实施例的限制。然后,将上面步骤S121中训练好的网络权重参数加载至该孪生改造网络模型中。

在步骤S131之后,执行步骤S132:使用孪生改造网络模型对人脸图像进行属性预测,获得属性预测值,并计算属性预测值与人脸图像对应的属性标签之间的属性分类损失值。

上述步骤S132的实施方式例如:假设一共有五个种脸属性需要分析和预测,这五个种脸属性分别是:年龄、性别、发际线、戴帽子和戴眼镜,且年龄属性分析、性别属性分析、发际线属性分析、戴帽子属性分析和戴眼镜属性分析的损失函数分别可以使用L

在具体实施过程中,可以采用回归损失函数Smooth_L1_Loss来计算上述年龄属性分析的分类损失值,该回归损失函数Smooth_L1_Loss例如:

在具体实施过程中,可以采用二分类交叉熵损失函数来计算上述的L

在步骤S131之后,执行步骤S133:使用孪生改造网络模型预测第一图像的多个属性值和第二图像的多个属性值,并计算第一图像的多个属性值和第二图像的多个属性值之间的一致性损失值。

上述步骤S133的实施方式例如:假设二元组数据集中包括多个第一图像的A组和包括多个第二图像的B组,那么该孪生改造网络模型可以同时提取A组中的第一图像的属性特征和B组中第二图像的属性特征,使用孪生改造网络模型预测第一图像的多个属性值和第二图像的多个属性值,并使用公式

步骤S134:根据属性分类损失值和一致性损失值对孪生改造网络模型进行交替训练,获得训练后的属性分析网络模型。

其中,由于是根据属性分类损失值和一致性损失值对孪生改造网络模型进行交替训练,那么上述的步骤S132和步骤S133的执行顺序可以不作限制,可以步骤S132先执行且步骤S133后执行,也可以步骤S133先执行且步骤S133后执行,当然也可以步骤S132和步骤S133交替执行。

上述步骤S134的实施方式例如:根据属性分类损失值和一致性损失值更新神经网络的网络权重参数,直到损失值小于预设数值(预设数值是指总损失值收敛时的比例数值),或者,直到迭代次数(epoch)数量大于预设阈值时,那么对孪生改造网络模型进行交替训练就完成了,从而获得训练后的属性分析网络模型,具体保存属性分析网络模型的网络结构,以及将属性分析网络模型中的网络权重参数提取出来,并将网络权重参数存储至存储介质中;其中,上述的预设数值可以根据具体情况设置,例如设置为5%或者10%等,可以将网络模型训练的最大迭代次数(即Epoch)确定为50,对于大部分公开数据集,完整训练50个Epoch,根据上述的属性分类损失值和一致性损失值更新神经网络的网络权重参数都能完成收敛。

请参见图3示出的本申请实施例提供的人脸属性分析方法的流程示意图;可选地,在使用上面的模型训练方法对神经网络进行训练获得神经网络模型之后,还使用该神经网络模型进行人脸属性分析,该人脸属性分析方法可以包括:

步骤S210:获取待分析图像。

上述步骤S210中待分析图像的获得方式包括:第一种获得方式,使用摄像机、录像机或彩色照相机等终端设备对目标对象进行拍摄,获得待分析图像;然后该终端设备向电子设备发送待分析图像,然后电子设备接收终端设备发送的待分析图像,电子设备可以将待分析图像存储至文件系统、数据库或移动存储设备中;第二种获得方式,获取预先存储的待分析图像,具体例如:从文件系统中获取待分析图像,或者从数据库中获取待分析图像,或者从移动存储设备中获取待分析图像;第三种获得方式,使用浏览器等软件获取互联网上的待分析图像,或者使用其它应用程序访问互联网获得待分析图像。

在步骤S210之后,执行步骤S220:使用人脸检测器对待分析图像进行人脸区域检测,获得人脸区域图像。

请参见图4示出的本申请实施例提供的对图像进行人脸属性分析的过程示意图;上述步骤S220的实施方式例如:使用预先训练好的单阶段人脸检测器或者两阶段人脸检测器对待分析图像进行人脸检测,获得待分析图像中的人脸区域,并根据人脸区域对待分析图像进行截图,获得人脸区域图像;其中,可以使用的单阶段人脸检测器具体例如:FSSD和YOLO等网络;可以使用的两阶段人脸检测器具体例如:RCNN、fast RCNN和faster RCNN系列的网络。

在步骤S220之后,执行步骤S230:使用模型训练方法训练获得的属性分析网络模型,对人脸区域图像进行属性预测,获得待分析图像对应的人脸属性值。

请参见图5示出本申请实施例提供的属性分析网络模型的结构示意图;上述步骤S230的实施方式例如:使用如上面步骤S110至步骤S130描述的模型训练方法训练获得的属性分析网络模型,然后将ResNet18、ResNet22、ResNet38、ResNet50、ResNet101和ResNet152等等残差神经网络作为特征提取网络,并使用上述属性分析网络模型中的特征提取网络对人脸区域图像进行特征提取,获得属性特征;并使用属性分析网络模型中的多个属性预测分支分别对属性特征进行属性预测;其中,多个属性预测分支包括:年龄属性预测分支、性别属性预测分支、发际线属性预测分支、戴帽子属性预测分支和戴眼镜属性预测分支,一共五个属性预测分支,这五个属性预测分支的每个均可以是由多个卷积层和至少一个全连接层构成的神经网络分支。

需要说的是,上述的发际线(hair)属性预测分支包括:第一分支第一卷积层(conv1_1)、第一分支第二卷积层(conv1_2)和第一全连接层(fc1)。上述的戴帽子(hair)属性预测分支包括:第二分支第一卷积层(conv2_1)、第二分支第二卷积层(conv2_2)和第二全连接层(fc2)。上述的戴眼镜(eyeglasses)属性预测分支包括:第三分支第一卷积层(conv3_1)、第三分支第二卷积层(conv3_2)和第三全连接层(fc3)。上述的年龄(age)属性预测分支包括:分支卷积层、第四分支第一卷积层(表示为conv4_1)、第四分支第二卷积层(conv4_2)、第四分支第一全连接层(fc4_1)和第二全连接层(fc4_2)。上述的性别(gender)属性预测分支包括:分支卷积层、第五分支卷积层(conv5)和第五全连接层(fc5)。

在上述的实现过程中,首先,获取待分析图像,然后,使用人脸检测器对待分析图像进行人脸检测,获得人脸区域图像,最后,使用二元组数据集和人脸图片数据集交替训练获得的属性分析网络模型,对人脸区域图像进行属性预测,获得待分析图像对应的人脸属性值。也就是说,通过事先使用二元组数据集和人脸图片数据集交替训练的方式,使得属性分析网络模型能够有效地学习到二元组数据集中不同人脸的相同属性特征(如上面步骤S111至步骤S113描述的二元组数据集中的有标签数据),以及二元组数据集中的相同人脸的不同属性特征(如上面步骤S114至步骤S115描述的二元组数据集中的无标签数据),从而提高使用属性分析网络模型在真实的应用场景中对人脸区域图像进行属性预测的准确率。

请参见图6示出的本申请实施例提供的模型训练装置的结构示意图;本申请实施例提供了一种模型训练装置300,包括:

训练数据获取模块310,用于获取二元组数据集和人脸图片数据集。

网络模型获取模块320,用于根据人脸图片数据集获取孪生改造网络模型。

网络模型训练模块330,用于使用二元组数据集和人脸图片数据集对孪生改造网络模型进行交替训练,获得属性分析网络模型,属性分析网络模型用于对图像进行属性预测。

可选地,在本申请实施例中,二元组数据集包括:多个第一图像和多个第二图像,第一图像和第二图像均包括相同人脸的不同属性或者不同人脸的相同属性,人脸图片数据集包括:人脸图像和人脸图像对应的属性标签;网络模型训练模块,包括:

分类损失计算模块,用于使用孪生改造网络模型对人脸图像进行属性预测,获得属性预测值,并计算属性预测值与人脸图像对应的属性标签之间的属性分类损失值。

一致损失计算模块,用于使用孪生改造网络模型预测第一图像的多个属性值和第二图像的多个属性值,并计算第一图像的多个属性值和第二图像的多个属性值之间的一致性损失值。

模型交替训练模块,用于根据属性分类损失值和一致性损失值对孪生改造网络模型进行交替训练。

可选地,在本申请实施例中,训练数据获取模块,包括:

获取人脸图片数据集,并从人脸图片数据集中筛选出第一图像、第一图像对应的属性标签、第二图像和第二图像对应的属性标签,然后将第一图像、第一图像对应的属性标签、第二图像和第二图像对应的属性标签加入二元组数据集。

或者

获取监控视频,对监控视频进行人脸检测和人脸区域截图,获得第一图像和第二图像,并将第一图像和第二图像加入二元组数据集,然后将第一图像、第一图像对应的属性标签、第二图像和第二图像对应的属性标签加入人脸图片数据集。

可选地,在本申请实施例中,网络模型获取模块,包括:

模型预先训练模块,用于获取神经网络,并使用人脸图片数据集对神经网络进行预训练,获得训练后的神经网络模型。

网络孪生改造模块,用于对训练后的神经网络模型进行孪生改造,获得孪生改造网络模型。

可选地,在本申请实施例中,人脸图片数据集包括:多个人脸图像和多个属性标签;模型预先训练模块,包括:

图像标签获得模块,用于获得多个人脸图像和多个属性标签,属性标签是对人脸图像进行属性标注获得的。

网络预先训练模块,用于以多个人脸图像为训练数据,以多个属性标签为训练标签,对神经网络进行预训练。

请参见图7示出的本申请实施例提供的人脸属性分析装置的结构示意图。本申请实施例还提供了一种人脸属性分析装置400,包括:

分析图像获取模块410,用于获取待分析图像。

区域图像获得模块420,用于使用人脸检测器对待分析图像进行人脸检测,获得人脸区域图像。

图像属性预测模块430,用于使用如上面描述的模型训练装置训练获得的属性分析网络模型,对人脸区域图像进行属性预测,获得待分析图像对应的人脸属性值。

可选地,在本申请实施例中,属性分析网络模型包括:特征提取网络和属性预测分支;图像属性预测模块,包括:

属性特征提取模块,用于使用特征提取网络对人脸区域图像进行特征提取,获得属性特征。

特征属性预测模块,用于使用属性预测分支分别对属性特征进行属性预测。

应理解的是,该装置与上述的人脸属性分析方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,OS)中的软件功能模块。

本申请实施例提供的一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上的方法。

本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上的方法。其中,计算机可读存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。

本申请实施例提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以和附图中所标注的发生顺序不同。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这主要根据所涉及的功能而定。

另外,在本申请实施例中的各个实施例的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上的描述,仅为本申请实施例的可选实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。

相关技术
  • 一种模型训练方法、人脸属性分析方法、装置及介质
  • 一种人脸识别模型训练方法、装置、电子设备及存储介质
技术分类

06120113239913