本发明涉及视频图像信号处理领域,特别涉及一种轻量化多任务人脸属性训练方法。
背景技术:
1、人脸属性分析用于对给定的人脸图像预测性别、年龄、表情、是否戴眼镜、是否戴口罩等信息。
2、人脸属性分析可以应用在图像检索、图像生成和推荐系统中。随着互联网技术的不断发展,安防与ai技术的结合日益紧密,人脸属性识别还应用于门禁系统,以辅助人脸识别,以及其他场景的人员识别,例如,在智慧社区中,依据人脸图像,识别性别、眼镜、口罩和帽子等属性,用来监控小区外来人员并进行追踪等,以提高安防工作的应对能力。虽然人脸属性识别的任务只是图像级别的分类任务,目前还存在很多的挑战。
3、现有基于深度学习的人脸属性识别方法主要有两种,一种是采用多个属性识别模型来综合识别,但多个模型存在运行占用资源大且速度慢的问题;另一种是使用多分支识别模型对人脸所有属性同时进行识别,由于这种模型需要对图像的各个属性均进行标注,如此需要大量的标注工作,而且各个属性的数据多不平衡,因此很难使得模型同时在多个分支上达到较高识别精度。另外,人脸角度、光照等变化引起的面部表情变化等也会对人脸属性识别带来不少挑战。
技术实现思路
1、本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的一个目的在于提供一种轻量化多任务人脸属性训练方法,该方法能够充分运用开源数据集,无需复杂模型和大量的标注工作即可快速获取较为准确的人脸属性识别结果。
2、第一方面,为解决上述技术问题,本发明提供了一种轻量化多任务人脸属性训练方法,该方法可以包括如下步骤:
3、获取人脸属性数据集,并对所述人脸属性数据集进行预处理;
4、建立人脸属性识别主干网络,并通过所述人脸属性识别主干网络对预处理后的人脸属性数据集进行处理,以提取各个人脸属性特征;
5、根据各个所述人脸属性特征建立对应的人脸属性分支模型和对应的loss函数;
6、训练各人脸属性分支模型,并根据各loss函数输出结果监控各人脸属性分支模型的学习情况。
7、进一步的,所述人脸属性数据集中至少包括:性别属性、年龄属性、表情属性、是否佩戴口罩属性和是否佩戴眼镜属性。
8、进一步的,对所述人脸属性数据集进行预处理的步骤,包括:
9、对所述人脸属性数据集中的每一张人脸图像进行人脸属性标签提取,并统一所述人脸属性标签;
10、对所述人脸属性数据集中的数据进行人脸关键点检测,以获取与人脸图像相对应的关键点位置,并根据所述关键点位置对所述人脸图像进行对齐矫正处理;
11、将对齐矫正处理后的人脸属性数据集中的每一张人脸图像归一化到预设尺寸。
12、进一步的,统一所述人脸属性标签时,根据人脸属性的类别,将所述人脸属性设置为对应的标签,所述类别包括二分类属性、多分类属性和年龄属性。
13、进一步的,所述关键点位置至少包括:左眼中心、右眼中心、鼻尖、左嘴角点和右嘴角点。
14、进一步的,根据所述关键点位置对所述人脸图像进行对齐矫正处理的步骤包括:
15、获取模板点位置,计算所述关键点位置到所述模板点位置的仿射变换矩阵,并根据所述仿射变换矩阵对所述人脸图像进行对齐矫正处理。
16、进一步的,建立人脸属性识别主干网络的步骤,包括:获取densenet模型,并将所述densenet模型中dense_block结构的若干密接层替换为concat连接,以得到所述人脸属性识别主干网络。
17、进一步的,在建立所述人脸属性分支模型之前,所述方法还包括:确定所述人脸属性分支模型的长度和输出维度。
18、进一步的,对于不同的人脸属性,建立不同的loss函数,其中,当所述人脸属性属于分类问题时,则所述loss函数为softmaxloss函数、logisticloss函数、hingeloss函数或者0-1损失函数中的任意一种;当所述人脸属性属于回归问题时,则所述loss函数为平方损失函数、欧氏距离损失函数、绝对值损失函数或者huber损失函数中的任意一种;当所述人脸属性为年龄属性时,则所述loss函数为分类loss函数和回归loss函数结合后的loss函数。
19、进一步的,在训练各人脸属性分支模型之前,所述方法还可以包括:设置各人脸属性分支模型的loss权重。
20、第二方面,本发明还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信。
21、存储器,用于存放计算机程序。
22、处理器,用于执行存储器上所存放的程序时,实现如上所述的轻量化多任务人脸属性训练方法步骤。
23、第三方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一轻量化多任务人脸属性训练方法步骤。
24、与现有技术相比,本发明至少具有如下技术效果:
25、本发明提供了一种轻量化多任务人脸属性训练方法,该方法通过共享多层次的卷积层concat获得并共享了不同尺度的特征信息,减少了模型参数和计算量;该方法通过设置无标签属性的lossmask,将只具有a属性标签无b属性标签的样本作为b属性的伪样本进行训练,解决了开源数据集标签与需求标签不完全匹配的问题,同时提高了模型的泛化能力,使得性别等属性测试准确率在95%以上,眼镜、口罩等客观属性测试准确率可达98%以上;另外,本发明设计了一种简洁有效的年龄估计算法,同时准确率可达mae<3;上述特点使得此人脸属性识别功能可以快速地部署在硬件平台上,且具有很小的代价,不错的帧率和识别准确率。
1.一种轻量化多任务人脸属性训练方法,其特征在于,包括:
2.如权利要求1所述的轻量化多任务人脸属性训练方法,其特征在于,所述人脸属性数据集中至少包括:性别属性、年龄属性、表情属性、是否佩戴口罩属性和是否佩戴眼镜属性。
3.如权利要求2所述的轻量化多任务人脸属性训练方法,其特征在于,对所述人脸属性数据集进行预处理的步骤,包括:
4.如权利要求3所述的轻量化多任务人脸属性训练方法,其特征在于,统一所述人脸属性标签时,根据人脸属性的类别,将所述人脸属性设置为对应的标签,所述类别包括二分类属性、多分类属性和年龄属性。
5.如权利要求4所述的轻量化多任务人脸属性训练方法,其特征在于,所述关键点位置至少包括:左眼中心、右眼中心、鼻尖、左嘴角点和右嘴角点。
6.如权利要求5所述的轻量化多任务人脸属性训练方法,其特征在于,根据所述关键点位置对所述人脸图像进行对齐矫正处理的步骤包括:
7.如权利要求6所述的轻量化多任务人脸属性训练方法,其特征在于,建立人脸属性识别主干网络的步骤,包括:获取densenet模型,并将所述densenet模型中dense_block结构的若干密接层替换为concat连接,以得到所述人脸属性识别主干网络。
8.如权利要求7所述的轻量化多任务人脸属性训练方法,其特征在于,在建立所述人脸属性分支模型之前,所述方法还包括:确定所述人脸属性分支模型的长度和输出维度。
9.如权利要求8所述的轻量化多任务人脸属性训练方法,其特征在于,对于不同的人脸属性,建立不同的loss函数,其中,当所述人脸属性属于分类问题时,则所述loss函数为softmaxloss函数、logisticloss函数、hingeloss函数或者0-1损失函数中的任意一种;当所述人脸属性属于回归问题时,则所述loss函数为平方损失函数、欧氏距离损失函数、绝对值损失函数或者huber损失函数中的任意一种;当所述人脸属性为年龄属性时,则所述loss函数为分类loss函数和回归loss函数结合后的loss函数。
10.如权利要求9所述的轻量化多任务人脸属性训练方法,其特征在于,在训练各人脸属性分支模型之前,所述方法还包括:设置各人脸属性分支模型的loss权重。