一种基于正常表情辅助的微表情识别方法与流程

文档序号:21366057发布日期:2020-07-04 04:41阅读:492来源:国知局
一种基于正常表情辅助的微表情识别方法与流程
本发明涉及情感计算领域,具体的是一种基于正常表情辅助的微表情识别方法。
背景技术
:微表情识别作为情感计算的一个分支,近些年得到了广泛而又充分的研究和注意。现有的微表情识别方法可以按照所使用的特征类型分为两类:基于手工制作特征的方法和基于深度特征的方法。梯度直方图(hog),光流和三维正交平面局部二值特征(lbp-top)是最常用的手工制作特征。随着深度学习的发展,越来越多的领域使用深度神经网络来实现特征提取,在微表情领域,也有很多基于由深度神经网络所提取的特征的方法。然而无论是基于手工制作特征的方法还是基于深度特征的方法,其均存在着根本上无法解决的问题。对于基于手工制作特征的方法,因为其特征基本上只能描述微表情视频或者图像的纹理、时序等浅层特征,并不适合处理微表情识别此类复杂问题,利用这些浅层特征构建出的分类器准确性较差。对于基于深度神经网络的方法,虽然理论上由神经网络产生的特征足够用于微表情的识别,但是其是建立在神经网络训练充分的前提下,而对于微表情识别此类复杂问题,神经网络需要大量的训练数据才能够训练充分,然而现有的微表情数据库均只有几十或上百段视频,远远达不到使得对应的神经网络训练充分的条件,因此基于深度特征的微表情识别方法没有很好的鲁棒性。技术实现要素:本发明是为了解决上述现有技术存在的不足之处,提出一种基于正常表情辅助的微表情识别方法,以期能构建出适用于微表情识别的深度神经网络,从而提高微表情识别的准确性和鲁棒性。本发明为达到上述发明目的,采用如下技术方案:本发明一种基于正常表情辅助的微表情识别方法的特点是按如下步骤进行:步骤1、构建表情图像数据集:步骤1.1、从微表情视频中提取出无表情变化的中性面部图片和微表情面部图片,并使用图片翻转、图片裁剪以及图片归一化的方法进行预处理,从而得到微表情数据集dtr_1,令in_1和ie_1表示所述微表情数据集dtr_1中任意同一个人的中性面部图像和微表情图像,ye_1是微表情图像ie_1相应的微表情的标签;步骤1.2、从正常表情视频中提取出中性面部图片和正常表情面部图片,并使用图片翻转、图片裁剪以及图片归一化的方法进行预处理,从而得到正常表情数据集dn_2,令in_2和ie_2是表示所述正常表情数据集dn_2中任意同一个人的中性面部图像和正常表情图像,ye_2是正常表情图像ie_2相应的微表情的标签;步骤2、构建微表情身份解缠网络f_1,包括微表情编码器e_1,微表情解码器d_1和微表情分类器c_1:步骤2.1、构建所述编码器e_1,包含一个resnet18结构与一个双分支结构;所述resnet18结构由四个深度残差块组成;每个深度残差块均依次包含一个卷积核大小为n′×n′的卷积层,两个卷积核大小为n″×n″的卷积层,一个批归一化层和一个relu激活函数层;所述双分支结构的两个支路分别依次包含k个卷积模块和一个非线性函数层;每个卷积模块均包含一个卷积核大小为n″′×n″′的卷积层和一个批归一化层;步骤2.2、提取微表情相关特征和身份相关特征:将所述微表情数据集dtr_1的中性面部图像in_1输入到编码器e_1,并通过所述双分支结构获得中性面部图像in_1的特征其中,为中性面部图像in_1的身份特征,为中性面部图像in_1的中性表情特征;同样地,将所述微表情面部图像ie_1输入到所述编码器e_1,并得到微表情面部图像ie_1的特征其中,为微表情面部图像ie_1的身份特征,为微表情面部图像ie_1的微表情特征;步骤2.3、利用式(1)构建微表情的身份特征相似性损失函数lsim_1:步骤2.4、构建所述解码器d_1,依次包含一个非线性函数层,k′个卷积模块,一个上采样层,一个m′×m′卷积层和一个非线性函数层;所述每个深度残差块均依次包含一个上采样层,一个卷积核大小为m″×m″的卷积层,一个批归一化层和一个非线性函数层;步骤2.5、重构微表情面部图像:将所述微表情面部图像ie_1的表情相关特征和中性面部图像in_1的身份特征拼接后输入到所述解码器d_1中,得到重构的微表情面部图像i′e_1;步骤2.6、利用式(2)构建微表情面部重建损失函数lrec_1:lrec_1=||ie_1-i′e_1||2(2)步骤2.7、构建所述分类器c_1,并依次包含n个线性层;将所述微表情面部图像ie_1的表情相关特征输入到所述分类器c_1中,得到所述分类器c_1预测微表情面部图像ie_1的表情类别y′e_1;步骤2.8、利用式(3)构建微表情面部表情分类损失函数lcls_1:lcls_1=crossentropy{ye_1-y′e_1}(3)式(3)中,crossentropy{·}表示交叉熵函数;步骤2.9、利用式(4)构建微表情身份解缠网络的总损失函数lphase_1:lphase_1=lcls_1+λ1_1lsim_1+λ1_2lrec_1(4)式(4)中,λ1_1和λ1_2是所设定的参数;步骤3、构建正常表情身份解缠网络f_2,且f_2与微表情身份解缠网络f_1有相同的结构,并包括正常表情编码器e_2,解码器d_2和分类器c_2:步骤3.1、构建与所述编码器e_1结构相同的编码器e_2;步骤3.2、提取正常表情相关特征和身份相关特征:将正常表情数据集dn_2的中性面部图像in_2输入到编码器e_2,并通过相应的双分支结构获得中性面部图像in_2的特征其中,为中性面部图像in_2的身份特征,为中性面部图像in_2的中性表情特征;同样地,将正常表情面部图像ie_2输入到编码器e_2,并得到正常表情面部图像ie_2的特征其中,为正常表情面部图像ie_2的身份特征,为正常表情面部图像ie_2的正常表情特征;步骤3.3、利用式(5)构建正常表情的身份特征相似性损失函数lsim_2:步骤3.4、构建与所述解码器d_1结构相同的解码器d_2;步骤3.5、重构正常表情面部图像:将正常表情面部图像ie_2的表情相关特征和中性面部图像in_2的身份特征拼接后输入到所述解码器d_2中,得到重构的正常表情面部图像i′e_2;步骤3.6、利用式(6)构建正常表情面部重建损失函数lrec_2:lrec_2=||ie_2-i′e_2||2(6)步骤3.7、构建与所述分类器c_1结构相同的分类器c_2;将正常表情面部图像ie_2的表情相关特征输入到分类器c_2中,得到分类器c_2预测正常表情面部图像ie_2的表情类别y′e_2;步骤3.8、利用式(7)构建正常表情面部表情分类损失函数lcls_2:lcls_2=crossentropy{ye_2-y′e_2}(7)步骤3.9、利用式(8)构建正常表情身份解缠网络的总损失函数lphase_2:lphase_2=lcls_2+λ2_1lsim_2+λ2_2lrec_2(8)式(8)中,λ2_1和λ2_2是所设定的参数;步骤4、从所述微表情数据集dtr_1和正常表情数据集dn_2中构建出联合训练图像数据集dun_3,令所述联合训练图像数据集dun_3中的ianc和ineg是从所述微表情数据集dtr_1中随机挑选出的不同类别的微表情图像,令所述联合训练图像数据集dun_3中的ipos是从所述正常表情数据集dn_2中随机挑选出的且和微表情图像ianc是同类别的正常表情图像,yanc是微表情图像ianc对应的类别标签;步骤5、正常表情身份解缠网络f_2与微表情身份解缠网络f_1的联合训练:步骤5.1、固定住正常表情身份解缠网络f_2的网络参数,辅助微表情身份解缠网络f_1进行微调训练;步骤5.2、利用式(9)构建三元组损失函数ltri:式(9)中,m是设定的超参数;是将微表情图像ianc和ineg分别输入到微表情身份解缠网络f_1所得到的对应的表情特征,是将正常表情图像ipos输入到正常表情身份解缠网络f_2所得到的对应的表情特征;步骤5.3、构建对抗学习模块:步骤5.3.1、在微表情身份解缠网络f_1和正常表情身份解缠网络f_2之间添加对抗学习模块,所述对抗学习模块是由判别器和生成器组成;所述生成器是由微表情身份解缠网络f_1组成;所述判别器依次包含n″个卷积模块,一个平均池化层和一个线性函数层;所述每个卷积模块均依次包含一个卷积核大小为w×w的卷积层,一个批归一化层和一个非线性函数层;分别将微表情图像ianc的表情特征和正常表情图像ipos的表情特征输入所述判别器中,并输出相应的表情特征属于正常表情的概率panc和表情特征属于正常表情的概率ppos;步骤5.3.2、利用式(10)构建对抗学习模块的损失函数ladv:ladv=-logpanc(10)步骤5.4、将微表情面部图像ianc的表情特征输入到微表情身份解缠网络f_1中的分类器c_1中,得到分类器c_1预测微表情面部图像ianc的表情类别y′anc;利用式(11)构建微表情身份解缠网络f1的分类损失函数lcls_anc:lcls_anc=crossentropy{yanc-y′anc}(11)步骤5.5、将正常表情面部图像ipos的表情特征输入到特征f_2中的分类器c_2中,得到分类器c_2预测正常表情面部图像ipos的表情类别y′pos;利用式(12)构建正常表情面部图像f_2的分类损失函数lcls_pos:lcls_pos=crossentropy{yanc-y′pos}(12)步骤5.6、利用式(13)构建不等式正则化损失函数llir:llir=max{lcls_pos-lcls_anc,0}(13)步骤5.7、利用式(14)构建微表情身份解缠网络f_1和正常表情身份解缠网络f_2联合训练的总损失函数lphase_3:lphase_3=lcls_anc+λ3_1ltri+λ3_2ladv+λ3_3llir(14)式(14)中,λ3_1,λ3_2和λ3_3是人为设定的参数;步骤5.8、利用梯度下降法对所述总损失函数lphase_3中的微表情身份解缠网络f_1参数进行优化求解,从而得到最优微表情身份解缠网络并用于微表情识别。与现有技术相比,本发明的有益效果在于:1、本发明提出了利用正常表情辅助的微表情识别方法,其优点在于既能利用神经网络来产生深度特征,又因为有了丰富的正常表情数据库而避免了神经网络学习不充分的问题。在公开的微表情数据库,较现有的微表情识别方法,本发明方法具有更好的鲁棒性和准确性。2、本发明中的表情身份解缠网络模块成功地将表情图片中的深度特征分离成两个部分,身份相关特征以及表情相关特征,只使用表情相关特征训练的微表情识别网络能拥有更好的性能,减少了无关信息的干扰。3、本发明在联合训练中使用了对抗学习的方式来充分利用正常表情的信息,通过对抗学习的损失函数迫使微表情的特征分布和正常表情的特征分布接近,从而通过正常表情和微表情的相互关系解决了微表情识别网络训练中训练数据数量不足的问题。4、本发明在联合训练中提出了三元组损失函数,使相同类别的微表情特征相互聚集,而不同类别微表情特征相互分离,提高了微表情识别网络的准确性。附图说明图1为本发明一种基于正常表情辅助的微表情识别方法的流程图;图2为本发明表情身份解缠网络模块中编码器的结构图;图3为本发明表情身份解缠网络模块中解码器的结构图;图4为本发明对抗学习模块中判别器的结构图。具体实施方式本实施例中,参见图1,一种基于正常表情辅助的微表情识别方法是按如下步骤进行:步骤1、构建表情图像数据集:步骤1.1、从微表情视频中提取出无表情变化的中性面部图片和微表情面部图片,并使用图片翻转、图片裁剪以及图片归一化的方法进行预处理,从而得到微表情数据集dtr_1,令in_1和ie_1表示微表情数据集dtr_1中任意同一个人的中性面部图像和微表情图像,ye_1是微表情图像ie_1相应的微表情的标签;本实施例中,从casme2数据集的视频中提取出249张中性面部图像和1245张微表情图像,构建出微表情数据集dtr_1;步骤1.2、从正常表情视频中提取出中性面部图片和正常表情面部图片,并使用图片翻转、图片裁剪以及图片归一化的方法进行预处理,从而得到正常表情数据集dn_2,令in_2和ie_2是表示正常表情数据集dn_2中任意同一个人的中性面部图像和正常表情图像,ye_2是正常表情图像ie_2相应的微表情的标签;本实施例中,从ck+数据集的视频中提取出1000张中性面部图像和5000张正常表情图像,构建出正常表情数据集dn_2;步骤2、构建微表情身份解缠网络f_1,包括微表情编码器e_1,微表情解码器d_1和微表情分类器c_1:步骤2.1、构建编码器e_1,如图2所示,包含一个resnet18结构与一个双分支结构;resnet18结构由四个深度残差块组成;每个深度残差块均依次包含一个卷积核大小为n′×n′的卷积层,两个卷积核大小为n″×n″的卷积层,一个批归一化层和一个relu激活函数层;如图2所示,本实施例中,n′取为3,n″取为1;双分支结构的两个支路分别依次包含k个卷积模块和一个非线性函数层;每个卷积模块均包含一个卷积核大小为n″′×n″′的卷积层和一个批归一化层;如图2所示,本实施例中,k取为2,n″′取为1;步骤2.2、提取微表情相关特征和身份相关特征:将微表情数据集dtr_1的中性面部图像in_1输入到编码器e_1,并通过双分支结构获得中性面部图像in_1的特征其中,为中性面部图像in_1的身份特征,为中性面部图像in_1的中性表情特征;同样地,将微表情面部图像ie_1输入到编码器e_1,并得到微表情面部图像ie_1的特征其中,为微表情面部图像ie_1的身份特征,为微表情面部图像ie_1的微表情特征;步骤2.3、由于中性面部图像in_1和微表情面部图像ie_1拥有相同的身份,因此它们的身份相关特征(即和)应该相似。利用式(1)构建微表情的身份特征相似性损失函数lsim_1:步骤2.4、构建解码器d_1,如图3所示,依次包含一个非线性函数层,k′个卷积模块,一个上采样层,一个m′×m′卷积层和一个非线性函数层;每个深度残差块均依次包含一个上采样层,一个卷积核大小为m″×m″的卷积层,一个批归一化层和一个非线性函数层;本实施例中,k′取为4,m′和m″都取为3;步骤2.5、重构微表情面部图像:将微表情面部图像ie_1的表情相关特征和中性面部图像in_1的身份特征拼接后输入到解码器d_1中,得到重构的微表情面部图像i′e_1;步骤2.6、重构出的微表情面部图像i′e_1应该和原始的微表情面部图像ie_1相似,利用式(2)构建微表情面部重建损失函数lrec_1:lrec_1=||ie_1-i′e_1||2(2)步骤2.7、构建分类器c_1,并依次包含n个线性层;本实施例中,n取为3;将微表情面部图像ie_1的表情相关特征输入到分类器c_1中,得到分类器c_1预测微表情面部图像ie_1的表情类别y′e_1;步骤2.8、利用式(3)构建微表情面部表情分类损失函数lcls_1:lcls_1=crossentropy{ye_1-y′e_1}(3)式(3)中,crossentropy{·}表示交叉熵函数;步骤2.9、利用式(4)构建微表情身份解缠网络的总损失函数lphase_1:lphase_1=lcls_1+λ1_1lsim_1+λ1_2lrec_1(4)式(4)中,λ1_1和λ1_2是所设定的参数;本实施例中,λ1_1和λ1_2都取为0.01;步骤3、构建正常表情身份解缠网络f_2,且f_2与微表情身份解缠网络f_1有相同的结构,并包括正常表情编码器e_2,解码器d_2和分类器c_2:步骤3.1、构建与编码器e_1结构相同的编码器e_2;步骤3.2、提取正常表情相关特征和身份相关特征:将正常表情数据集dn_2的中性面部图像in_2输入到编码器e_2,并通过相应的双分支结构获得中性面部图像in_2的特征其中,为中性面部图像in_2的身份特征,为中性面部图像in_2的中性表情特征;同样地,将正常表情面部图像ie_2输入到编码器e_2,并得到正常表情面部图像ie_2的特征其中,为正常表情面部图像ie_2的身份特征,为正常表情面部图像ie_2的正常表情特征;步骤3.3、由于中性面部图像in_2和正常表情面部图像ie_2拥有相同的身份,因此它们的身份相关特征(即和)应该相似;利用式(5)构建正常表情的身份特征相似性损失函数lsim_2:步骤3.4、构建与解码器d_1结构相同的解码器d_2;步骤3.5、重构正常表情面部图像:将正常表情面部图像ie_2的表情相关特征和中性面部图像in_2的身份特征拼接后输入到解码器d_2中,得到重构的正常表情面部图像i′e_2;步骤3.6、重构出的正常表情面部图像i′e_2应该和原始的正常表情面部图像ie_2相似,利用式(6)构建正常表情面部重建损失函数lrec_2:lrec_2=||ie_2-i′e_2||2(6)步骤3.7、构建与分类器c_1结构相同的分类器c_2;将正常表情面部图像ie_2的表情相关特征输入到分类器c_2中,得到分类器c_2预测正常表情面部图像ie_2的表情类别y′e_2;步骤3.8、利用式(7)构建正常表情面部表情分类损失函数lcls_2:lcls_2=crossentropy{ye_2-y′e_2}(7)步骤3.9、利用式(8)构建正常表情身份解缠网络的总损失函数lphase_2:lphase_2=lcls_2+λ2_1lsim_2+λ2_2lrec_2(8)式(8)中,λ2_1和λ2_2是所设定的参数;本实施例中,λ2_1和λ2_2都取为0.01;步骤4、从微表情数据集dtr_1和正常表情数据集dn_2中构建出联合训练图像数据集dun_3,令联合训练图像数据集dun_3中的ianc和ineg是从微表情数据集dtr_1中随机挑选出的不同类别的微表情图像,令联合训练图像数据集dun_3中的ipos是从正常表情数据集dn_2中随机挑选出的且和微表情图像ianc是同类别的正常表情图像,yanc是微表情图像ianc对应的类别标签;步骤5、正常表情身份解缠网络f_2与微表情身份解缠网络f_1的联合训练:步骤5.1、固定住正常表情身份解缠网络f_2的网络参数,辅助微表情身份解缠网络f_1进行微调训练;步骤5.2、利用式(9)构建三元组损失函数ltri:式(9)中,m是设定的超参数;是将微表情图像ianc和ineg分别输入到微表情身份解缠网络f_1所得到的对应的表情特征,是将正常表情图像ipos输入到正常表情身份解缠网络f_2所得到的对应的表情特征;三元组损失函数ltri使具有相同类别的微表情特征相互接近,不同类别的微表情特征相互远离;步骤5.3、构建对抗学习模块:步骤5.3.1、在微表情身份解缠网络f_1和正常表情身份解缠网络f_2之间添加对抗学习模块,对抗学习模块是由判别器和生成器组成;生成器是由微表情身份解缠网络f_1组成;判别器如图4所示,n″个卷积模块,一个平均池化层和一个线性函数层;本实施例中,n″取为3;每个卷积模块均依次包含一个卷积核大小为w×w的卷积层,一个批归一化层和一个非线性函数层;本实施例中,w取为3;对于对抗学习模块来说,需要有用于训练的‘真’数据,有用于生成‘假’数据的生成器。在本实例中,f_2提供了正常表情图片的特征,作为对抗学习的‘真’数据。f_1充当生成器来提供微表情图片的特征,作为对抗学习的‘假’数据;分别将微表情图像ianc的表情特征和正常表情图像ipos的表情特征输入判别器中,并输出相应的表情特征属于正常表情的概率panc和表情特征属于正常表情的概率ppos;由于ianc和ipos具有相同的类别标签,通过对抗性学习,它们对应的表情相关特征和可以显示相似的分布;步骤5.3.2、f_1旨在生成判别器模块无法将其与正常表情特征判断真假的微表情的特征,而判别器的目的是区分这两种特征的真假性。通过这种对抗学习的方式,可以对f_1进行训练,以使得其产生的微表情的特征和具有相同类别标签的正常表情的特征类似;利用式(10)构建对抗学习模块的损失函数ladv:ladv=-logpanc(10)步骤5.4、将微表情面部图像ianc的表情特征输入到微表情身份解缠网络f_1中的分类器c_1中,得到分类器c_1预测微表情面部图像ianc的表情类别y′anc;利用式(11)构建微表情身份解缠网络f_1的分类损失函数lcls_anc:lcls_anc=crossentropy{yanc-y′anc}(11)步骤5.5、将正常表情面部图像ipos的表情特征息输入到特征f_2中的分类器c_2中,得到分类器c_2预测正常表情面部图像ipos的表情类别y′pos;利用式(12)构建正常表情面部图像f_2的分类损失函数lcls_pos:lcls_pos=crossentropy{yanc-y′pos}(12)步骤5.6、正常表情作为微表情识别的辅助信息,正常表情的特征比微表情包含更多的信息,因此f_2会有比f_1更小的分类损失。利用式(13)构建不等式正则化损失函数llir:llir=max{lcls_pos-lcls_anc,0}(13)步骤5.7、利用式(14)构建微表情身份解缠网络f_1和正常表情身份解缠网络f_2联合训练的总损失函数lphase_3:lphase_3=lcls_anc+λ3_1ltri+λ3_2ladv+λ3_3llir(14)式(14)中,λ3_1,λ3_2和λ3_3是人为设定的参数;本实施例中,λ3_1,λ3_2和λ3_3都取为0.01;步骤5.8、利用梯度下降法对总损失函数lphase_3中的微表情身份解缠网络f_1参数进行优化求解,从而得到最优微表情身份解缠网络f_*1,并用于微表情识别。实施例:为了验证本发明方法中的有效性,本实验例从常用的微表情数据集casme2,正常表情数据集ck+中构建出最终实验使用的数据集。本实施例采用leave-one-subject-out的验证方法,使用accuracy和f1score作为评价标准。本实施例中选用五种方法和本发明方法进行效果对比,所选方法分别是lbp-top,lbp-sip,stlbp-ip,stclqp,bi-woof。eidnet为本发明方法。根据实验结果可得出结果如表1所示:表1本发明方法与选用的五种对比方法在casme2数据集上进行微表情识别的实验结果modellbp-toplbp-sipstlbp-ipstclqpbi-woofeidnetaccuracy0.49000.46560.59510.64020.58850.7309f1score0.51000.44840.57000.63810.61000.6640表1的实验结果显示本发明方法与其它五种方法相比效果都要更好,从而证明了本发明提出方法的可行性。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1