本发明属于面部识别,具体涉及一种基于面部关键点感知和特征多样性的表情识别方法及系统。
背景技术:
1、基于面部关键点感知和特征多样性的人脸表情识别是通过利用两个特征提取模块,一个用于提取初始全部特征,另一个用于提取面部关键点辅助特征;对两种特征进行融合,旨在尽可能利用面部关键信息的区域辅助模型训练,用于从人脸图像中识别和分类不同的表情。这种方法结合了深度学习和特征融合,通过两个不同的特征提取器得到的特征进行融合后,进行多样性处理,一定程度上保证了模型泛化能力。
2、人面部表情是人类非常重要的非语言沟通方式之一,可以传达丰富的情感信息。然而,面部表情识别存在着一些挑战,如类间相似性、类内差异以及面部图像固有的复杂性和模糊等问题的存在都极大增加了表情识别的难度。现有的方法通常会解决其中的一些问题,但并不是在统一的框架中解决所有这些问题。而本发明主要解决的问题是自然环境下采集的数据中存在着力于缓解类内差异和噪声对表情识别准确性的影响。
技术实现思路
1、本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于面部关键点感知和特征多样性的表情识别方法及系统,用于解决自然环境下采集的数据中,缓解类内差异对表情识别准确性影响的技术问题,通过辅助编码器提取面部关键点信息,与常规图像特征相结合,以减少环境噪音和其他非表情特征对表情识别的干扰,进而提升特征表示的完整性;同时,该网络引入特征多样性模块对融合特征进行多视角特征提取,并通过多样性损失函数进行监督,使模型能更灵活地捕捉面部表情在不同视角、光照条件下的内在变化,最终在多个公开数据集中展现出超越已有最优方法的识别性能。
2、本发明采用以下技术方案:
3、基于面部关键点感知和特征多样性的表情识别方法,包括以下步骤:
4、s1、对训练图像数据集i进行预处理和数据增强;
5、s2、搭建包括特征提取器b、预训练的landmark语义特征提取模块facee、glt生成器模块、特征融合模块和特征多样性模块的深度学习网络模型,用特征提取器b和facee从步骤s1得到的训练图像数据集i中提取初始特征分别得到xir和xland;
6、s3、利用glt生成器对步骤s2得到的xir和xland生成全局query标记(token)和局部key、value标记(token),然后对生成的token进行注意力融合得到xfuse;
7、s4、利用特征多样性模块对步骤s3得到的xfuse提取多视角特征,并用多样性损失引导后对多样性特征进行聚合,得到多样性损失函数;
8、s5、把步骤s4聚合后的特征通过表情分类器进行结果预测,利用交叉熵损失作为表情分类损失函数;
9、s6、对步骤s4得到的多样性损失函数和步骤s5得到的表情分类损失函数进行加权求和,利用得到的表情识别总损失对步骤s2得到的深度学习网络模型进行训练,将测试图像数据输入特征提取器b、facee后经过特征融合,进行多样性处理后聚合,输入到表情分类器中得到分类结果。
10、优选地,步骤s1中,训练图像数据集i为:
11、
12、其中,表示第i个表情图像,yi表示的标签,n表示图像的数量。
13、优选地,步骤s2中,使用ir50和预训练编码器resnet50分别作为骨干网络b和facee从输入表情图像x来提取初始全局特征和辅助面部关键点特征,即:
14、xir=b(x),xland=facee(x)
15、其中,xir表示骨干网络b提取到的初始特征,xland表示辅助编码器facee提取到的面部关键点辅助信息。
16、优选地,步骤s3中,对生成的token进行注意力融合得到xfuse具体为:
17、
18、其中,qg,k,v分别为全局信息query、局部信息key和局部信息value的缩写,是归一化的比例因子,以防止出现极小的梯度,b为相对位置偏差。
19、优选地,gtl生成器中的global token包括一个卷积层和reshape变换,localtoken包括一个卷积层和layernorm层,b表示批量大小,num_heads表示注意力头的个数,n等于窗口大小的平方,dim_head则表示每个头的维度。
20、优选地,步骤s4中,多样性损失函数ld具体为:
21、
22、其中,n为特征分支数,d为每个特征向量的维度,xij表示第i个特征分支的第j个特征向量,μj表示所有特征向量在第j个维度上的均值。
23、优选地,步骤s5中,表情识别损失函数lex为:
24、
25、其中,xe即为聚合后得到的表情特征,ye为预测分布,gjl为one-hot表情标签,t代表标签索引,nex代表表情图像数目。
26、优选地,预测分布ye为:
27、ye=softmax(wexe+be)
28、其中,we为神经网络参数,xe为输入的表情特征,be为神经网络参数。
29、优选地,步骤s5中,表情识别的总损失函数lloss为:
30、lloss=lex+w*ld
31、其中,w为特征多样性损失的权重系数,lex为表情分类损失,ld为特征多样性损失。
32、第二方面,本发明实施例提供了一种基于面部关键点感知和特征多样性的表情识别系统,包括:
33、数据模块,对训练图像数据集i进行预处理和数据增强;
34、提取模块,搭建包括特征提取器b、预训练的landmark语义特征提取模块facee、glt生成器模块、特征融合模块和特征多样性模块的深度学习网络模型,用特征提取器b和facee从数据模块得到的训练图像数据集i中提取初始特征分别得到xir和xland;
35、融合模块,利用glt生成器对提取模块得到的xir和xland生成全局query标记(token)和局部key、value标记(token),然后对生成的token进行注意力融合得到xfuse;
36、聚合模块,利用特征多样性模块对融合模块得到的xfuse提取多视角特征,并用多样性损失引导后对多样性特征进行聚合,得到多样性损失函数;
37、预测模块,把聚合模块聚合后的特征通过表情分类器进行结果预测,利用交叉熵损失作为表情分类损失函数;
38、识别模块,对聚合模块得到的多样性损失函数和预测模块得到的表情分类损失函数进行加权求和,利用得到的表情识别总损失对提取模块得到的深度学习网络模型进行训练,将测试图像数据输入特征提取器b、facee后经过特征融合,进行多样性处理后聚合,输入到表情分类器中得到分类结果。
39、第三方面,一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于面部关键点感知和特征多样性的表情识别方法的步骤。
40、第四方面,本发明实施例提供了一种计算机可读存储介质,包括计算机程序,所述计算机程序被处理器执行时实现上述基于面部关键点感知和特征多样性的表情识别方法的步骤。
41、与现有技术相比,本发明至少具有以下有益效果:
42、基于面部关键点感知和特征多样性的表情识别方法,利用深度学习框架解决表情识别问题,可以通过深度神经网络的强大描述能力进行建模,学习并识别七种常用表情(愤怒、厌恶、惊讶、开心、伤心、中性、害怕)。表情识别中现有一个重要问题就类内差异和噪声对表情识别准确性的影响,因为不同的人做出的同一种表情存在差异,会严重影响模型对表情信息的学习,本发明会尽可能更灵活地捕捉面部表情在不同视角、光照条件下的内在变化从而进行表情识别。本发明不仅可以对实验室环境下采集到的数据有很好的结果,而且对自然环境下采集到的数据展现很好的鲁棒性,因为一般情况下自然环境下采集到的数据存在遮挡,姿势变化等严重影响表情判别的客观因素。
43、进一步的,收集包含丰富表情变化、不同个体、多样环境条件的面部图像数据,为深度学习模型提供充分的学习素材,确保模型能够学习到人脸表情识别所需的广泛样本分布。确保数据集中包含所有目标表情类别,保证模型在训练后能够识别出所有预期的表情类型。
44、进一步的,将图像像素值调整到同一尺度,如0~1之间,便于模型处理。去除光照、肤色等影响,使模型聚焦于表情相关的形态变化。对齐:通过人脸检测与关键点定位,对图像进行几何校正和裁剪,确保表情区域在图像中的位置一致,减轻模型对头部姿态变化的学习负担。对数据做旋转、缩放、翻转等操作,模拟不同拍摄角度和距离:模拟图像采集过程中的噪声干扰,增强模型的鲁棒性。
45、进一步的,特征提取器b通常为卷积神经网络(cnn)结构,用于从原始图像中提取初级视觉特征,如边缘、纹理、颜色等。预训练的landmark语义特征提取模块facee利用预训练的面部关键点检测模型,提取关键点坐标及其对应的局部特征,提供表情变化的精确几何线索。利用已有的大规模人脸关键点标注数据预先训练模型,能快速获得高质量的面部关键点特征,无需从头训练。全局-局部token生成器(glt)将初级特征(xir)和关键点特征(xland)转化为全局query token和局部key、value token,实现多层次、多粒度特征表示。通过注意力融合机制,根据query token与key、value token的匹配关系动态调整各局部特征的重要性,突出表情相关的显著特征。特征融合模块将初级特征与关键点特征通过glt生成器融合,形成更丰富的表情特征表示(xfuse),充分利用多源信息互补优势,提升表情识别的准确性。特征多样性模块旨在提取多视角、多尺度、多模式的特征,增加特征表达的维度和复杂性,以应对表情识别任务中的内在多样性。
46、进一步的,表情分类器如全连接层、softmax层等,将聚合特征映射到各个表情类别的概率分布,实现表情的自动分类。交叉损失作为监督学习的标准损失函数,衡量模型预测的概率分布与真实标签之间的差距,指导模型优化参数以减小预测误差,提升表情分类的准确性。
47、进一步的,将特征多样性损失和表情识别损失结合,形成复合损失函数,兼顾模型在特征多样性学习与表情分类任务两方面的表现,确保整体性能的均衡提升。通过优化总损失函数,同时引导模型改进特征提取的多样性、特征融合的有效性以及表情分类的准确性,确保模型在各个关键环节的表现均能得到提升。综合考虑多种损失的训练策略有助于模型在各种复杂场景下都能保持良好的表情识别性能,增强其在未知测试数据上的泛化能力。
48、可以理解的是,上述第二方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。
49、综上所述,本发明通过精心设计的数据预处理、深度学习网络架构、损失函数集成等步骤,旨在从数据准备、特征提取、特征融合、特征多样性提取到表情分类等多个层面提升表情识别的准确性、鲁棒性和泛化能力,克服表情识别任务中的类间相似性、类内差异以及非表情干扰等问题。特别地,通过引入面部关键点语义特征和glt生成器,以及特征多样性模块,增强了模型对表情细节、全局结构和多视角特征的理解与利用,提高了表情识别的精细化程度和泛化性能,具有很高的推广价值。
50、下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
1.基于面部关键点感知和特征多样性的表情识别方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于面部关键点感知和特征多样性的表情识别方法,其特征在于,步骤s1中,训练图像数据集i为:
3.根据权利要求1所述的基于面部关键点感知和特征多样性的表情识别方法,其特征在于,步骤s2中,使用ir50和预训练编码器resnet50分别作为骨干网络b和facee从输入表情图像x来提取初始全局特征和辅助面部关键点特征,即:
4.根据权利要求1所述的基于面部关键点感知和特征多样性的表情识别方法,其特征在于,步骤s3中,对生成的token进行注意力融合得到xfuse具体为:
5.根据权利要求4所述的基于面部关键点感知和特征多样性的表情识别方法,其特征在于,gtl生成器中的global token包括一个卷积层和reshape变换,local token包括一个卷积层和layernorm层,b表示批量大小,num_heads表示注意力头的个数,n等于窗口大小的平方,dim_head则表示每个头的维度。
6.根据权利要求1所述的基于面部关键点感知和特征多样性的表情识别方法,其特征在于,步骤s4中,多样性损失函数ld具体为:
7.根据权利要求1所述的基于面部关键点感知和特征多样性的表情识别方法,其特征在于,步骤s5中,表情识别损失函数lex为:
8.根据权利要求7所述的基于面部关键点感知和特征多样性的表情识别方法,其特征在于,预测分布ye为:
9.根据权利要求1所述的基于面部关键点感知和特征多样性的表情识别方法,其特征在于,步骤s5中,表情识别的总损失函数lloss为:
10.一种基于面部关键点感知和特征多样性的表情识别系统,其特征在于,包括: