1.本发明涉及人脸表情技术领域,特别是涉及一种表情识别方法、装置、电子设备及存储介质。
背景技术:2.表情识别一直是计算机视觉领域的一个热门课题。研究自动面部表情识别有助于理解人类行为,自动表情识别也广泛应用在人机交互,在线教育和安全驾驶等领域。在过去的十年中,研究者们收集了很多不同的面部表情数据集,包括实验室环境(如ck+,jaffe,mmi,oulu-casia)和自然环境(如raf,sfew2.0,expw,fer2013)下的数据集。有了这些数据集后,不同的深度学习模型被密集地提出,逐步促进表情识别的性能。
3.尽管表情识别技术近年来已经取得了巨大的进展,但是,目前存在的大多数人脸表情识别都是需要满足训练和测试所用的数据集是同一个数据集,即训练集和测试集中的表情图像是在相同的条件下采集的。然而在许多实际应用中,这种假设并不成立,因为测试数据集通常都是在线收集的且比训练数据要更加难以控制。在不同的应用场景下,表情数据的分布差异是普遍存在的。在这种情况下,把由有限分布数据训练得到的模型推广到现实中的未知数据上时,模型往往会取得不理想的识别效果。
4.针对目前面部表情数据集分布差异问题和表情识别模型应用到实际应用中效果不佳的问题,研究者们使用两个不同分布的表情数据集模拟现实应用场景下的表情数据的分布差异的情况。其中一个数据集为带标签的源数据集,用于模拟表情识别训练时带标签的情况;另一个数据集为不带标签的目标数据集,用于模拟表情识别实际应用中数据未知的情况。目前跨数据集表情识别的方法主要分为如下三种:
5.1.基于转导学习的方法。通过源数据集的表情数据和标签训练分类器生成目标数据集的伪标签,通过伪标签继续训练分类器,并用分类器继续优化目标数据集的伪标签,如此循环训练进行联合优化达到跨数据集效果。
6.这些方法的缺点是依赖于初始表情识别模型在目标数据集的准确性,一旦两个数据集分布差异较大,模型跨数据集效果就会大大降低。
7.2.基于统计差异最小化的域自适应方法。基于统计差异最小化的域自适应方法对训练集和测试集进行特征提取的特征映射到高维空间中,并最小化两个数据集的统计差异来实现跨数据集表情识别。
8.这些方法普遍存在的问题是:每次训练完需要计算数据集特征的统计差异会使计算成本上升,运行时间增加,并且需要依靠更高性能的处理器。
9.3.基于对抗学习的域自适应方法。方法将对抗学习的思想融入域自适应种中,使训练出来的分类器无法分辨训练集和测试集的数据,以获取领域不变的特征,从而实现跨数据集表情识别。
10.这些方法普遍存在的问题是:跨数据集过程中只考虑表情数据集之间的整体分布差异,忽略了分类任务的决策边界,导致跨数据集后表情的数据集类别不匹配问题。
技术实现要素:11.基于此,本发明的目的在于,提供一种表情识别方法、装置、电子设备及存储介质,基于自注意力机制学习表情的特征,提高了表情识别的鲁棒性,并为后续跨数据集表情识别提供迁移性更强的特征。
12.第一方面,本发明提供一种表情识别方法,包括以下步骤:
13.获取待识别的表情图像;
14.对所述表情图像进行人脸裁剪与关键点检测,得到预设大小的人脸全局图像和人脸关键点坐标;
15.将根据所述人脸全局图像和所述人脸关键点输入特征提取模型,得到表情全局特征和表情局部特征;
16.基于自注意力机制,融合所述表情全局特征和所述表情局部特征,得到表情融合特征;
17.将所述表情融合特征输入训练好的表情分类器,得到表情识别结果。
18.进一步地,所述表情分类器的训练步骤包括:
19.获取训练数据集,所述训练数据集包括训练表情图像与对应的表情分类标签;
20.对所述训练表情图像进行人脸裁剪与关键点检测,得到预设大小的人脸全局图像和人脸关键点坐标;
21.将根据所述人脸全局图像和所述人脸关键点输入特征提取模型,得到表情全局特征和表情局部特征;
22.基于自注意力机制,融合所述表情全局特征和所述表情局部特征,得到表情融合特征;
23.使用所述表情融合特征和对应的表情分类标签训练所述表情分类器,得到训练好的表情分类器。
24.进一步地,所述表情分类器的训练步骤还包括:
25.获取不带标签的目标数据集;
26.对所述目标数据集进行人脸裁剪与关键点检测,得到预设大小的人脸全局图像和人脸关键点坐标;
27.将根据所述人脸全局图像和所述人脸关键点输入特征提取模型,得到表情全局特征和表情局部特征;
28.基于自注意力机制,融合所述表情全局特征和所述表情局部特征,得到表情融合特征;
29.在所述训练好的表情分类器中,添加一个域鉴别器;
30.使用所述训练数据集和所述目标数据集的表情融合特征,对所述域鉴别器和所述分类器进行对抗训练;
31.训练结束后,保存所述特征提取模型和所述分类器。
32.进一步地,所述特征提取模型为mtcnn模型。
33.进一步地,所述人脸关键点坐标包括左眼、右眼、鼻子、左嘴角和右嘴角的坐标;
34.所述表情局部特征通过localnet模块提取得到,所述localnet模块的输入为以五个关键点为中心裁剪大小为0.2n*0.2n*3的关键区域。
35.进一步地,基于自注意力机制,融合所述表情全局特征和所述表情局部特征,得到表情融合特征,包括:
36.获得1个表情全局特征与5个表情局部特征;
37.将每个1*128维的特征乘以三个128*128的通过训练获得的变换矩阵wq、wk、wv,得到对应的128维的值,分别记为qi、ki、vi;
38.使用以下公式,计算特征间的权重,并获得融合表情特征xi:
[0039][0040]
其中d为特征维度,d=128。
[0041]
进一步地,使用所述训练数据集和所述目标数据集的表情融合特征,对所述域鉴别器和所述分类器进行对抗训练,包括:
[0042]
基于自注意力机制获得的融合表情特征获得目标数据集的融合特征xi,根据融合特征xi输入到两层mlp中获得表情的软标签;
[0043]
对于所有源数据集表情图像与所有目标数据集表情图像,将其k维标签扩充维2k维标签,k为表情类别数,其中源数据集的标签在1至k维使用原来的标签信息,在k+1至2k维数据置为0,目标数据集的标签在1至k维数据置为0,在k+1至2k维使用前面获得的软标签;
[0044]
使用以下公式,将源数据集获得的融合特征继续输入到两层mlp中计算表情分类损失lcls,lcls为表情的分类损失,采用交叉熵损失在源数据集上最小化预测分类与真实表情分类间的区别:
[0045][0046]
其中,n为源数据集的样本数量,y
ik
为第i张表情图像为第k类表情的标签;p
ik
为融合表情为第k类表情的概;
[0047]
使用以下公式,将源数据集和目标数据集的融合特征分别输入域-类别鉴别器中计算域-类别对抗损失ladv:
[0048][0049]
其中,s代表源数据集数据,t代表目标数据集数据。a
ik
,a
jk
为源域样本i或目标域样本j为第k类的类别信息,fi,fj为表情融合特征,p为预测融合特征为k类,来自d数据集的概率,d=0为样本来自源数据集,d=1为样本目标数据集;
[0050]
使用以下公式,计算结合两个损失后的总损失:
[0051]
l=αl
cls
+βl
adv
[0052]
其中α,β为损失比重,初始化为1与10,对抗目标为最小化l;
[0053]
当训练至损失l最小时,停止训练,保存特征提取器和分类器用于目标数据集的表情识别。
[0054]
第二方面,本发明还提供一种表情识别装置,包括:
[0055]
图像获取模块,用于获取待识别的表情图像;
[0056]
关键点检测模块,用于对所述表情图像进行人脸裁剪与关键点检测,得到预设大小的人脸全局图像和人脸关键点坐标;
[0057]
特征提取模块,用于将根据所述人脸全局图像和所述人脸关键点输入特征提取模型,得到表情全局特征和表情局部特征;
[0058]
特征融合模块,用于基于自注意力机制,融合所述表情全局特征和所述表情局部特征,得到表情融合特征;
[0059]
表情识别模块,用于将所述表情融合特征输入训练好的表情分类器,得到表情识别结果。
[0060]
第三方面,本发明还提供一种电子设备,包括:
[0061]
至少一个存储器以及至少一个处理器;
[0062]
所述存储器,用于存储一个或多个程序;
[0063]
当所述一个或多个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如本发明第一方面任一所述的一种表情识别方法的步骤。
[0064]
第四方面,本发明还提供一种计算机可读存储介质,
[0065]
所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本发明第一方面任一所述的一种表情识别方法的步骤。
[0066]
本发明提供的一种表情识别方法、装置、电子设备及存储介质,使用自注意力机制学习表情的全局特征与局部特征的权重并进行融合,提高了表情识别的鲁棒性,并为后续跨数据集表情识别提供迁移性更强的特征;对表情的源数据集与目标数据集之间进行细粒度的对抗学习,使不同数据集间表情特征在类别上对齐,提高了跨数据集表情识别的精度。
[0067]
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
[0068]
图1为本发明提供的一种表情识别方法的步骤示意图;
[0069]
图2为本发明在一个实施例中提供的一种表情识别方法的流程示意图;
[0070]
图3为本发明在一个实施例中使用的神经网络模型示意图;
[0071]
图4为本发明提供的一种表情识别装置的结构示意图。
具体实施方式
[0072]
为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施例方式作进一步地详细描述。
[0073]
应当明确,所描述的实施例仅仅是本技术实施例一部分实施例,而不是全部的实施例。基于本技术实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本技术实施例保护的范围。
[0074]
在本技术实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术实施例。在本技术实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术
语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0075]
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。在本技术的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本技术中的具体含义。
[0076]
此外,在本技术的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0077]
针对背景技术中的问题,本技术实施例提供一种表情识别方法,如图1-3所示,该方法包括以下步骤:
[0078]
s01:获取待识别的表情图像。
[0079]
s02:对所述表情图像进行人脸裁剪与关键点检测,得到预设大小的人脸全局图像和人脸关键点坐标。
[0080]
s03:将根据所述人脸全局图像和所述人脸关键点输入特征提取模型,得到表情全局特征和表情局部特征。
[0081]
在一个优选的实施例中,网络框架如图3所示,基于该网络框架,将一张n*n*3像素的人脸表情图像通过一个表情输入层变换为模型的标准的输入数据,随后输入4个模块中提取表情的的全局特征(图中的block1-4),4个block基于resnet-18进行实现,每个block包括2个残差模块,每个残差模块的输入数据进行两种处理,首先使用batch normalization层对输入数据进行归一化处理,然后经过两个3*3的深度卷积层,然后使用最大池化层处理。两种处理后获得的数据维度相同,对两个数据相加获得最后的输出数据,输出数据的宽度与高度会减半,同时通道数会加倍(第一个模块通道不变,为原来的64)。将n*n*3的表情图像经过4个模块后变为7*7*512维表情特征图,最后通过输出层获得128维的表情全局特征。
[0082]
同时,模型基于表情关键点进行表情局部特征提取。由于表情的决定性信息都聚集在人的五官位置,因此模型对人脸的五个关键点进行定位(左眼,右眼,鼻子,左嘴角,右嘴角),人脸关键点定位采用mtcnn(multi-task convolutional neural network,多任务卷积神经网络)进行人脸关键点定位,输入一张表情图像经过mtcnn后获得五个关键点的在图像中的x,y坐标。定位到关键点后,在原n*n*3的表情图像中以五个关键点(x,y)为中心对表情五个局部区域进行裁剪,获得表情信息的关键区域,裁剪大小为0.2n*0.2n*3,获得关键区域后输入localnet模块进行局部特征提取,输入5个0.2n*0.2n*3的局部区域后获得5个128维的表情局部特征。
[0083]
s04:基于自注意力机制,融合所述表情全局特征和所述表情局部特征,得到表情融合特征。
[0084]
优选的,基于上述步骤3得到的1个表情全局特征和5个表情局部特征,融合特征包括以下子步骤:
[0085]
s041:获得1个表情全局特征与5个表情局部特征。
[0086]
s042:将每个1*128维的特征乘以三个128*128的通过训练获得的变换矩阵wq、wk、wv,得到对应的128维的值,分别记为qi、ki、vi。
[0087]
s043:使用以下公式,计算特征间的权重,并获得融合表情特征xi。
[0088][0089]
其中d为特征维度,d=128。
[0090]
s05:将所述表情融合特征输入训练好的表情分类器,得到表情识别结果。
[0091]
在一个优选的实施例中,所述表情分类器的训练步骤包括以下子步骤。
[0092]
s11:获取训练数据集,所述训练数据集包括训练表情图像与对应的表情分类标签。
[0093]
s12:对所述训练表情图像进行人脸裁剪与关键点检测,得到预设大小的人脸全局图像和人脸关键点坐标。
[0094]
s13:将根据所述人脸全局图像和所述人脸关键点输入特征提取模型,得到表情全局特征和表情局部特征。
[0095]
s14:基于自注意力机制,融合所述表情全局特征和所述表情局部特征,得到表情融合特征。
[0096]
s15:使用所述表情融合特征和对应的表情分类标签训练所述表情分类器,得到训练好的表情分类器。
[0097]
其中,步骤s11-s14中,对于人脸表情图像的处理方式与步骤s01-s04中相同,故不再赘述。
[0098]
获得融合特征后,将融合特征xi特征输入两层mlp层(图3fc层)进行表情类别的判别。如此,在源数据集上训练出一个表情识别模型。
[0099]
针对现有技术中跨数据集表情识别的精度不佳的问题,为了将如前所述训练的表情识别模型应用到无标签的未知人脸的表情数据上,使用无标签的目标数据集模拟未知人脸数据,添加一个域鉴别器进行表情识别模型的迁移,通过输入源表情数据集(带标签)与目标数据集(不带标签)进细粒度的对抗训练,将模型迁移到目标数据集中。传统的域鉴别器输入两个数据集的特征并判别特征来自源域还是目标域,即只能判别[1,0],[0,1],分别代表特征来自源域或者来自目标域。发明将每个通道分别拆分为k通道,共2k通道,这样就能使对抗不止发生在源域与目标域之间,而且能进行更细粒度的类级别的对抗。
[0100]
在一个优选的实施例中,表情分类器的训练步骤包括如下子步骤:
[0101]
s21:获取不带标签的目标数据集。
[0102]
s22:对所述目标数据集进行人脸裁剪与关键点检测,得到预设大小的人脸全局图像和人脸关键点坐标。
[0103]
s23:将根据所述人脸全局图像和所述人脸关键点输入特征提取模型,得到表情全局特征和表情局部特征。
[0104]
s24:基于自注意力机制,融合所述表情全局特征和所述表情局部特征,得到表情融合特征。
[0105]
s25:在所述训练好的表情分类器中,添加一个域鉴别器。
[0106]
s26:使用所述训练数据集和所述目标数据集的表情融合特征,对所述域鉴别器和
所述分类器进行对抗训练。
[0107]
s27:训练结束后,保存所述特征提取模型和所述分类器
[0108]
在一个具体的实施例中,首先,我们采用基于自注意力机制获得的融合表情特征获得目标数据集(不带标签)的融合特征xi,根据融合特征xi输入到第一步训练的两层mlp中获得表情的软标签。随后我们将所有源数据集表情图像与所有目标数据集表情图像,将他们的k维标签扩充维2k维标签,k为表情类别数,其中源数据集的标签在1至k维使用原来的标签信息,在k+1至2k维数据置为0,目标数据集的标签在1至k维数据置为0,在k+1至2k维使用前面获得的软标签。
[0109]
我们将源数据集获得的融合特征继续输入到两层mlp中计算表情分类损失lcls。lcls为表情的分类损失,采用交叉熵损失在源数据集上最小化预测分类与真实表情分类间的区别。公式如(2)所示:
[0110][0111]
其中,n为源数据集的样本数量,y
ik
为第i张表情图像为第k类表情的标签。p
ik
为融合表情为第k类表情的概率。
[0112]
同时,将抽取的n个源数据集表情图像与n个目标数据集表情图像经过步骤1提取融合特征,将源数据集和目标数据集的融合特征分别输入域-类别鉴别器中计算域-类别对抗损失ladv。同时ladv为域-类对抗损失,为了使对抗不止发生在源域与目标域之间,而且能进行更细粒度的类级别的对抗。域-类对抗损失如公式如(3)所示:
[0113][0114]
其中,s代表源数据集数据,t代表目标数据集数据。a
ik
,a
jk
为源域样本i或目标域样本j为第k类的类别信息,fi,fj为表情融合特征,p为预测融合特征为k类,来自d数据集的概率(d=0为样本来自源数据集,d=1为样本目标数据集)。
[0115]
结合两个损失后的总损失如公式(4)所示:
[0116]
l=αl
cls
+βl
adv
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0117]
其中α,β为损失比重,初始化为1与10,对抗目标为最小化l。
[0118]
当训练至损失l最小时,停止训练,保存特征提取器和分类器用于目标数据集的表情识别。
[0119]
在一个优选的实施例中,模型使用流程图如图2所示。首先对表情图像通过mtcnn进行人脸检测和关键点提取,然后基于人脸图像和表情关键点位置进行表情全局和局部特征提取,获得两种特征后基于自注意力机制融合全局和局部表情特征获得融合特征,然后使用训练出来的表情分类器进行表情识别。当进行跨数据集表情识别时,通过对不带标签的目标数据集表情图像使用相同方法提取融合特征,结合两个数据集间的融合特征计算总损失l,当l训练到最小时,将表情融合特征提取模块和表情分类器模块进行保存用于目标
数据集的表情识别。由此,便实现了通过有标签的源标签数据集和无标签的目标标签数据集实现了跨数据集的表情识别。
[0120]
本技术实施例还提供一种表情识别装置,如图4所示,该表情识别装置400包括:
[0121]
图像获取模块401,用于获取待识别的表情图像;
[0122]
关键点检测模块402,用于对所述表情图像进行人脸裁剪与关键点检测,得到预设大小的人脸全局图像和人脸关键点坐标;
[0123]
特征提取模块403,用于将根据所述人脸全局图像和所述人脸关键点输入特征提取模型,得到表情全局特征和表情局部特征;
[0124]
特征融合模块04,用于基于自注意力机制,融合所述表情全局特征和所述表情局部特征,得到表情融合特征;
[0125]
表情识别模块405,用于将所述表情融合特征输入训练好的表情分类器,得到表情识别结果。
[0126]
优选的,所述表情分类器的训练步骤包括:
[0127]
获取训练数据集,所述训练数据集包括训练表情图像与对应的表情分类标签;
[0128]
对所述训练表情图像进行人脸裁剪与关键点检测,得到预设大小的人脸全局图像和人脸关键点坐标;
[0129]
将根据所述人脸全局图像和所述人脸关键点输入特征提取模型,得到表情全局特征和表情局部特征;
[0130]
基于自注意力机制,融合所述表情全局特征和所述表情局部特征,得到表情融合特征;
[0131]
使用所述表情融合特征和对应的表情分类标签训练所述表情分类器,得到训练好的表情分类器。
[0132]
优选的,所述表情分类器的训练步骤还包括:
[0133]
获取不带标签的目标数据集;
[0134]
对所述目标数据集进行人脸裁剪与关键点检测,得到预设大小的人脸全局图像和人脸关键点坐标;
[0135]
将根据所述人脸全局图像和所述人脸关键点输入特征提取模型,得到表情全局特征和表情局部特征;
[0136]
基于自注意力机制,融合所述表情全局特征和所述表情局部特征,得到表情融合特征;
[0137]
在所述训练好的表情分类器中,添加一个域鉴别器;
[0138]
使用所述训练数据集和所述目标数据集的表情融合特征,对所述域鉴别器和所述分类器进行对抗训练;
[0139]
训练结束后,保存所述特征提取模型和所述分类器。
[0140]
优选的,所述特征提取模型为mtcnn模型。
[0141]
优选的,所述人脸关键点坐标包括左眼、右眼、鼻子、左嘴角和右嘴角的坐标;
[0142]
所述表情局部特征通过localnet模块提取得到,所述localnet模块的输入为以五个关键点为中心裁剪大小为0.2n*0.2n*3的关键区域。
[0143]
优选的,基于自注意力机制,融合所述表情全局特征和所述表情局部特征,得到表
情融合特征,包括:
[0144]
获得1个表情全局特征与5个表情局部特征;
[0145]
将每个1*128维的特征乘以三个128*128的通过训练获得的变换矩阵wq、wk、wv,得到对应的128维的值,分别记为qi、ki、vi;
[0146]
使用以下公式,计算特征间的权重,并获得融合表情特征xi:
[0147][0148]
其中d为特征维度,d=128。
[0149]
优选的,使用所述训练数据集和所述目标数据集的表情融合特征,对所述域鉴别器和所述分类器进行对抗训练,包括:
[0150]
基于自注意力机制获得的融合表情特征获得目标数据集的融合特征xi,根据融合特征xi输入到两层mlp中获得表情的软标签;
[0151]
对于所有源数据集表情图像与所有目标数据集表情图像,将其k维标签扩充维2k维标签,k为表情类别数,其中源数据集的标签在1至k维使用原来的标签信息,在k+1至2k维数据置为0,目标数据集的标签在1至k维数据置为0,在k+1至2k维使用前面获得的软标签;
[0152]
使用以下公式,将源数据集获得的融合特征继续输入到两层mlp中计算表情分类损失lcls,lcls为表情的分类损失,采用交叉熵损失在源数据集上最小化预测分类与真实表情分类间的区别:
[0153][0154]
其中,n为源数据集的样本数量,y
ik
为第i张表情图像为第k类表情的标签;p
ik
为融合表情为第k类表情的概率;
[0155]
使用以下公式,将源数据集和目标数据集的融合特征分别输入域-类别鉴别器中计算域-类别对抗损失ladv:
[0156][0157]
其中,s代表源数据集数据,t代表目标数据集数据。a
ik
,a
jk
为源域样本i或目标域样本j为第k类的类别信息,fi,fj为表情融合特征,p为预测融合特征为k类,来自d数据集的概率,d=0为样本来自源数据集,d=1为样本目标数据集;
[0158]
使用以下公式,计算结合两个损失后的总损失:
[0159]
l=αl
cls
+βl
adv
[0160]
其中α,β为损失比重,初始化为1与10,对抗目标为最小化l;
[0161]
当训练至损失l最小时,停止训练,保存特征提取器和分类器用于目标数据集的表情识别。
[0162]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实
施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0163]
本技术实施例还提供一种电子设备,包括:
[0164]
至少一个存储器以及至少一个处理器;
[0165]
所述存储器,用于存储一个或多个程序;
[0166]
当所述一个或多个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如前所述的一种表情识别方法的步骤。
[0167]
对于设备实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的设备实施例仅仅是示意性的,其中所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0168]
本技术实施例还提供一种计算机可读存储介质,
[0169]
所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如前所述的一种表情识别方法的步骤。
[0170]
计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(r a m)、只读存储器(r o m)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0171]
本发明提供的一种表情识别方法、装置、电子设备及存储介质,基于自注意力机制学习表情的特征。本发明对人脸表情进行关键点定位,对决定表情类别的主要区域(双眼,鼻子,嘴角)进行关键点检测获取表情关键点位置。随后,基于残差卷积神经网络构建表情特征提取模块,分别提取表情的全局特征和局部特征。获得两组特征后,通过自注意力机制进行表情特征的加权融合得到融合的表情特征,在源数据集通过融合的特征训练表情分类器。
[0172]
针对不同数据集间类不匹配问题,本发明根据表情融合特征设计一种细粒度的对抗学习策略,用于不同数据集间的表情特征在类别上进行对齐,采用一个细粒度的域鉴别器,它不仅在数据集间区分域,而且在类级别上区分域。为了使鉴别器不仅仅专注于区分域,发明首先使用先前训练的表情分类器生成目标数据集表情的软标签,根据生成的软标签与源数据集的标签结合类别信息生成域-类别标签,然后通过将传统的二分类域鉴别器的两个输出通道都拆分为k通道(k为表情类别数)并将进行细粒度的对抗学习。
[0173]
使用自注意力机制学习表情的全局特征与局部特征的权重并进行融合,提高了表
情识别的鲁棒性,并为后续跨数据集表情识别提供迁移性更强的特征;对表情的源数据集与目标数据集之间进行细粒度的对抗学习,使不同数据集间表情特征在类别上对齐,提高了跨数据集表情识别的精度。
[0174]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
技术特征:1.一种表情识别方法,其特征在于,包括以下步骤:获取待识别的表情图像;对所述表情图像进行人脸裁剪与关键点检测,得到预设大小的人脸全局图像和人脸关键点坐标;将根据所述人脸全局图像和所述人脸关键点输入特征提取模型,得到表情全局特征和表情局部特征;基于自注意力机制,融合所述表情全局特征和所述表情局部特征,得到表情融合特征;将所述表情融合特征输入训练好的表情分类器,得到表情识别结果。2.根据权利要求1所述的一种表情识别方法,其特征在于,所述表情分类器的训练步骤包括:获取训练数据集,所述训练数据集包括训练表情图像与对应的表情分类标签;对所述训练表情图像进行人脸裁剪与关键点检测,得到预设大小的人脸全局图像和人脸关键点坐标;将根据所述人脸全局图像和所述人脸关键点输入特征提取模型,得到表情全局特征和表情局部特征;基于自注意力机制,融合所述表情全局特征和所述表情局部特征,得到表情融合特征;使用所述表情融合特征和对应的表情分类标签训练所述表情分类器,得到训练好的表情分类器。3.根据权利要求2所述的一种表情识别方法,其特征在于,所述表情分类器的训练步骤还包括:获取不带标签的目标数据集;对所述目标数据集进行人脸裁剪与关键点检测,得到预设大小的人脸全局图像和人脸关键点坐标;将根据所述人脸全局图像和所述人脸关键点输入特征提取模型,得到表情全局特征和表情局部特征;基于自注意力机制,融合所述表情全局特征和所述表情局部特征,得到表情融合特征;在所述训练好的表情分类器中,添加一个域鉴别器;使用所述训练数据集和所述目标数据集的表情融合特征,对所述域鉴别器和所述分类器进行对抗训练;训练结束后,保存所述特征提取模型和所述分类器。4.根据权利要求3所述的一种表情识别方法,其特征在于:所述特征提取模型为mtcnn模型。5.根据权利要求4所述的一种表情识别方法,其特征在于:所述人脸关键点坐标包括左眼、右眼、鼻子、左嘴角和右嘴角的坐标;所述表情局部特征通过localnet模块提取得到,所述localnet模块的输入为以五个关键点为中心裁剪大小为0.2n*0.2n*3的关键区域。6.根据权利要求5所述的一种表情识别方法,其特征在于,基于自注意力机制,融合所述表情全局特征和所述表情局部特征,得到表情融合特征,包括:获得1个表情全局特征与5个表情局部特征;
将每个1*128维的特征乘以三个128*128的通过训练获得的变换矩阵w
q
、w
k
、w
v
,得到对应的128维的值,分别记为q
i
、k
i
、v
i
;使用以下公式,计算特征间的权重,并获得融合表情特征x
i
:其中d为特征维度,d=128。7.根据权利要求3所述的一种表情识别方法,其特征在于,使用所述训练数据集和所述目标数据集的表情融合特征,对所述域鉴别器和所述分类器进行对抗训练,包括:基于自注意力机制获得的融合表情特征获得目标数据集的融合特征x
i
,根据融合特征x
i
输入到两层mlp中获得表情的软标签;对于所有源数据集表情图像与所有目标数据集表情图像,将其k维标签扩充维2k维标签,k为表情类别数,其中源数据集的标签在1至k维使用原来的标签信息,在k+1至2k维数据置为0,目标数据集的标签在1至k维数据置为0,在k+1至2k维使用前面获得的软标签;使用以下公式,将源数据集获得的融合特征继续输入到两层mlp中计算表情分类损失lcls,lcls为表情的分类损失,采用交叉熵损失在源数据集上最小化预测分类与真实表情分类间的区别:其中,n为源数据集的样本数量,y
ik
为第i张表情图像为第k类表情的标签;p
ik
为融合表情为第k类表情的概率;使用以下公式,将源数据集和目标数据集的融合特征分别输入域-类别鉴别器中计算域-类别对抗损失ladv:其中,s代表源数据集数据,t代表目标数据集数据。a
ik
,a
jk
为源域样本i或目标域样本j为第k类的类别信息,f
i
,f
j
为表情融合特征,p为预测融合特征为k类,来自d数据集的概率,d=0为样本来自源数据集,d=1为样本目标数据集;使用以下公式,计算结合两个损失后的总损失:l=αl
cls
+βl
adv
其中α,β为损失比重,初始化为1与10,对抗目标为最小化l;当训练至损失l最小时,停止训练,保存特征提取器和分类器用于目标数据集的表情识别。8.一种表情识别装置,其特征在于,包括:图像获取模块,用于获取待识别的表情图像;关键点检测模块,用于对所述表情图像进行人脸裁剪与关键点检测,得到预设大小的
人脸全局图像和人脸关键点坐标;特征提取模块,用于将根据所述人脸全局图像和所述人脸关键点输入特征提取模型,得到表情全局特征和表情局部特征;特征融合模块,用于基于自注意力机制,融合所述表情全局特征和所述表情局部特征,得到表情融合特征;表情识别模块,用于将所述表情融合特征输入训练好的表情分类器,得到表情识别结果。9.一种电子设备,其特征在于,包括:至少一个存储器以及至少一个处理器;所述存储器,用于存储一个或多个程序;当所述一个或多个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如权利要求1-7任一所述的一种表情识别方法的步骤。10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-7任一所述的一种表情识别方法的步骤。
技术总结本发明涉及一种表情识别方法、装置、电子设备及存储介质。本发明所述的表情识别方法包括:获取待识别的表情图像;对所述表情图像进行人脸裁剪与关键点检测,得到预设大小的人脸全局图像和人脸关键点坐标;将根据所述人脸全局图像和所述人脸关键点输入特征提取模型,得到表情全局特征和表情局部特征;基于自注意力机制,融合所述表情全局特征和所述表情局部特征,得到表情融合特征;将所述表情融合特征输入训练好的表情分类器,得到表情识别结果。本发明所述的表情识别方法,基于自注意力机制学习表情的特征,提高了表情识别的鲁棒性,并为后续跨数据集表情识别提供迁移性更强的特征。后续跨数据集表情识别提供迁移性更强的特征。后续跨数据集表情识别提供迁移性更强的特征。
技术研发人员:梁艳 温兴 李宇轩
受保护的技术使用者:华南师范大学
技术研发日:2022.06.22
技术公布日:2022/11/1