本技术实施例涉及数据处理的,具体而言,涉及一种分类模型训练方法、模型、分类方法以及产品。
背景技术:
1、计算机视觉包括图像识别、目标检测、对抗攻击、语义分割等,人脸检测与识别也是当前计算机视觉领域内的一个热门研究课题。
2、人脸检测属于目标检测的延伸任务,主要是对各种尺寸的人脸均进行像素级别的定位,示例地,人脸检测模型获取不同尺寸的人脸图像,输出对应的人脸检测框坐标、人脸关键点坐标、人脸分类预测等人脸检测特征;人脸识别是通过对人脸检测后的图像进行人脸对齐和特征提取,实现不同人脸比对。
3、而随着多媒体、社交网络的快速发展,催生出更加细节且多维度的人脸属性分类需求,如人脸属性不仅包括面部生物特征、如性别、年龄、种族、脸型以及肤色等,甚至还需要确定人物的服装化妆等外部属性,如是否化妆、服饰发型、戴眼镜、戴口罩以及戴美瞳等,甚至包含人脸不同表情,这些人脸属性不仅可以作为人脸特征辅助人脸识别,而且可以直接用于各种多媒体场景中,比如购物网站、社交网络推荐等。
4、现有人脸属性分类方法中包括多任务学习人脸属性分类的方法,具体地一个模型同时学习多个人脸属性的预测任务,多任务学习人脸属性分类的方法可以占用更少的计算资源,同时多任务学习可以考虑到任务之间的关联和约束,共享信息与相互补充,可以提升预测精度。
5、但是目前的多任务人脸属性分类模型中,虽然在模型的底层共享参数,但是在模型的顶层各个人脸属性任务在分裂后时独立的,忽视了人脸属性之间的相关性,从而导致多任务人脸属性分类模型的预测精度仍较低。
技术实现思路
1、本技术实施例提供一种分类模型训练方法、模型、分类方法以及产品,旨在提高人脸属性分类的预测精度。
2、第一方面本技术实施例提供一种人脸属性分类模型训练方法,所述方法包括:
3、获取多个人脸属性,根据语义相关程度将所述多个人脸属性划分为多组人脸属性;
4、构建所述多个人脸属性对应的学习模型,所述学习模型包括所述多组人脸属性的学习任务共享的网络部分以及每组人脸属性各自对应的特征属性子网络部分,其中,所述多组人脸属性的学习任务通过所述共享的网络部分共享学习参数,所述每组人脸属性的学习任务通过各自对应的特征属性子网络部分对共享的学习参数进行调整;
5、获取含有多个人脸图像的人脸数据集,所述人脸数据集中每个人脸图像均携带有人脸属性类别标签;
6、基于所述人脸数据集对所述学习模型进行迭代训练,当所述学习模型的迭代次数等于预设迭代次数时,输出训练好的人脸属性分类模型。
7、可选地,根据语义相关程度将所述多个人脸属性划分为多组人脸属性,包括:
8、获取多组人脸属性各自对应的分组基准信息,分组基准信息用于包括人脸属性的描述信息或者人脸属性的位置信息;
9、根据每个人脸属性与所述多组人脸属性的分组基准信息之间的语义相关程度,将所述多个人脸属性划分为多组人脸属性。
10、可选地,构建所述多个人脸属性对应的学习模型包括:
11、构建所述学习模型的共享的网络部分,所述共享的网络部分包括依次连接的主干网与共享网络;
12、构建所述每组人脸属性各自对应的特征属性子网络部分,每个特征属性自网络部分均连接所述共享网络。
13、可选地,构建所述多个人脸属性对应的学习模型还包括:
14、构建加权损失层,所述加权损失层连接多组特征属性子网络部分的输出端,所述加权损失层用于调节所述多个人脸属性的在训练过程中的损失权重。
15、可选地,构建所述多个人脸属性对应的学习模型还包括:
16、定义所述每组人脸属性的学习任务各自对应的单任务属性目标函数;
17、定义所述多组人脸属性的学习任务对应的多任务属性目标函数。
18、可选地,获取含有多个人脸图像的人脸数据集之后,包括:
19、对所述人脸数据集中每个人脸图像标记该人脸图像中包含的所有人脸属性。
20、可选地,基于所述人脸数据集对所述学习模型进行迭代训练,当所述学习模型的迭代次数等于预设迭代次数时,输出训练好的人脸属性分类模型,包括:
21、将所述人脸数据集分为人脸训练数据集和人脸验证数据集;
22、基于所述人脸训练数据集对所述学习模型进行迭代训练,并在迭代过程中根据所述学习模型对于所述人脸验证数据集的验证损失,调节所述学习模型对每个人脸属性的损失权重,基于调整后的损失权重更新所述学习模型的网络参数。
23、可选地,所述方法还包括:
24、将所述学习模型对所述每个人脸属性的损失权重的初始值设置为1。
25、可选地,将所述人脸数据集分为人脸训练数据集和人脸验证数据集,包括:
26、将所述人脸数据集中60%的人脸图像作为人脸训练数据集;
27、将所述人脸数据集中20%的人脸图像作为人脸验证数据集;
28、其中,所述人脸验证数据集中每个人脸属性对应的类别标签数量不低于所述人脸训练数据集中该人脸属性的类别标签数量的三分之一。
29、可选地,基于所述人脸训练数据集对所述学习模型进行迭代训练,并在迭代过程中根据所述学习模型对于所述人脸验证数据集的验证损失,调节所述学习模型对每个人脸属性的损失权重,包括:
30、每基于所述人脸训练数据集中的一批次人脸图像对所述学习模型进行一次训练后,将所述人脸验证数据集中一批次人脸图像输入当前所述学习模型中,得到并记录当前所述学习模型对于所述每个人脸属性的验证损失;
31、当所述学习模型迭代次数满足预设的权重更新周期时,根据所述学习模型在所述权重更新周期内每次对所述每个人脸属性的验证损失,确定所述每个人脸属性对应的泛化系数与学习速度;
32、根据所述每个人脸属性对应的泛化系数与学习速度,确定所述每个人脸属性对应的损失权重。
33、可选地,根据所述每个人脸属性对应的泛化系数与学习速度,确定所述每个人脸属性对应的损失权重,包括:
34、将所述泛化系数与所述学习速度的商作为所述每个人脸属性对应的损失权重。
35、可选地,基于所述人脸训练数据集对所述学习模型进行迭代训练,并在迭代过程中根据所述学习模型对于所述人脸验证数据集的验证损失,调节所述学习模型对每个人脸属性的损失权重,包括:
36、将所述人脸训练数据集中的一批次人脸图像和所述人脸验证数据集中一批次人脸图像均输入所述学习模型中;
37、基于所述人脸训练数据集中的一批次人脸图像对学习模型进行一次训练,得到并记录当前所述学习模型对所述人脸验证数据集中一批次人脸图像中每个人脸属性的验证损失;
38、当所述学习模型的迭代次数c为预设的权重更新周期t的整数倍且c>2*t时,对于任一人脸属性的验证损失,计算第c-t次到第c次区间内所有验证损失的第一验证损失均值,计算第c-2t次到第c-t次区间内所有验证损失的第二验证损失均值;
39、基于所述第一验证损失均值和所述第二验证损失均值,确定该人脸属性对应的损失变化率,对所述损失变化率进行归一化后得到该人脸属性对应的泛化系数;
40、根据第c次对应的验证损失和第1次训练过程得到的验证损失,确定该人脸属性对应的学习速度;
41、将所述泛化系数与所述学习速度的商作为该人脸属性对应的损失权重。
42、第二方面,本技术实施例提供一种人脸属性分类模型,所述人脸属性分类模型是基于实施例第一方面所述的训练方法训练得到的,所述分类模型包括:
43、多组人脸属性的学习任务共享的网络部分以及每组人脸属性各自对应的特征属性子网络部分,所述多组人脸属性的学习任务通过所述共享的网络部分共享学习参数,所述每组人脸属性的学习任务通过各自对应的特征属性子网络部分对共享的学习参数进行调整。
44、可选地,所述共享的网络部分包括主干网和共享网络,所述主干网的输出端连接所述共享网络,所述共享网络的输出端连接每组人脸属性各自对应的特征属性子网络部分。
45、可选地,所述主干网采用resnet50结构。
46、可选地,所述共享网络和每个特征属性子网络均包括2个全连接层。
47、第三方面,本技术实施例提供一种人脸属性分类方法,所述方法包括:
48、获取待分类的人脸图像;将所述待分类的人脸图像输入如实施例第二方面所述的人脸属性分类模型中,所述人脸属性分类模型输出所述待分类的人脸图像中包含的所有人脸属性。
49、第四方面,本技术实施例提供一种计算机设备,包括:至少一个处理器,以及存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其中,所述处理器执行所述计算机程序时执行如实施例第一方面所述的人脸属性分类模型训练方法。
50、第五方面,本技术实施例提供一种非易失性可读存储介质,所述非易失性可读存储介质存储有计算机程序,其中,所述计算机程序被处理器执行时执行如实施例第一方面所述的人脸属性分类模型训练方法。
51、第六方面,本技术实施例提供一种计算处理设备,包括:
52、存储器,其中存储有计算机可读代码;一个或多个处理器,当所述计算机可读代码被所述一个或多个处理器执行时,所述计算处理设备执行实施例第一方面所述的人脸属性分类模型训练方法。
53、有益效果:
54、本实施例提供的训练方法中,首先获取多个人脸属性,根据语义相关程度将所述多个人脸属性划分为多组人脸属性,所述多组人脸属性中每组人脸属性对应一个学习任务;然后构建所述多个人脸属性对应的学习模型,所述学习模型包括所述多组人脸属性的学习任务共享的网络部分以及每组人脸属性各自对应的特征属性子网络部分,所述多组人脸属性的学习任务通过所述共享的网络部分共享学习参数,所述每组人脸属性的学习任务通过各自对应的特征属性子网络部分对共享的学习参数进行调整。
55、然后获取含有多个人脸图像的人脸数据集,所述人脸数据集中每个人脸图像均携带有人脸属性类别标签;基于所述人脸数据集对所述学习模型进行迭代训练,当所述学习模型的迭代次数等于预设迭代次数时,输出训练好的人脸属性分类模型。
56、本实施例在训练人脸属性分类模型时,将不同的人脸属性根据语义相关程度进行分组,然后学习模型的共享的网络部分对所有人脸属性先共享所有特征进行学习,然后在由每组人脸属性对应的特征属性子网络部分,对语义相关的人脸属性的特定特征进行学习,对在共享的网络部分得到的共享的学习参数进行调整,实现对组内每个人脸属性预测任务的细化,可以提高得到的人脸分类模型的预测精度。