掌桥专利:专业的专利平台
掌桥专利
首页

基于运动特征增强和身份信息免疫的面部表情识别方法

文献发布时间:2024-01-17 01:27:33


基于运动特征增强和身份信息免疫的面部表情识别方法

技术领域

本发明涉及面部表情识别,具体是基于运动特征增强和身份信息免疫的面部表情识别方法。

背景技术

近些年随着计算机技术发展对运动面部表情自动评估进行了研究,根据所用技术原理的区别,主要可以划分为基于传统特征的面部表情识别方法与基于深度学习的面部表情识别方法。

基于传统特征的面部表情识别方法主要指在获取面部表情的图像或视频信息后,先对面部数据利用一些特征提取方法,计算出需要的特征信息,再利用该信息得到面部表情评估结果。提取面部的特征信息是传统特征的面部表情识别方法的核心,提取面部的特征信息的方法主要包括关键点检测和面部人工特征的提取,关键点检测要先获取面部图像的关键点坐标信息,再对坐标信息进行处理,这种方法高效快捷,所需计算资源较少,在性能较弱的终端设备可直接使用,获取关键点的精度较高时可以取得不错的成绩,但在实际使用中,发现针对一些面部皮肤松弛、纹理较多、形态复杂的面部信息,或左右脸在进行表情动作时形态差异较大,会导致关键点定位误差较大。面部人工特征的提取可以较好地反映运动面部表情形态、纹理的变化情况,能够对比左右脸区域性差异,利用所提特征可以有效地对运动面部表情类型进行分类。但这些方法仍对拍摄质量要求较高,需要在特定的拍摄角度及光照下进行,且拍摄过程中拍摄设备与测试头部不能出现大幅度晃动,在日常生活中如果测试者想自行采集数据得到表情评估结果,仍较为困难。

随着神经网络的发展,深度学习在诸多领域得以应用,如人脸识别、表情识别、微表情识别等诸多人脸相关的领域,由于基于深度学习的面部表情检测算法使用结构复杂且参数量大的神经网络进行数据拟合与特征提取,但网络的参数量也成为了面部表情识别算法落地应用的阻碍,普通的终端设备通常不具备如此强大的算力以承载网络巨大的计算量,因此在使用过程中耗时过长,难以满足实时计算的性能要求。故,通过输入对象完整的面部数据不仅无法给出评估结果与有效处理复杂的面部信息数据,而且会受特征提取方法性能影响产生新的误差而影响最终的结果识别。

此外,运动面部表情等级之间的模糊性一直是对象表情准确评估的一个难点,目前已有一些基于人工智能技术的运动面部表情智能评估方法取得了较好的效果,但仍然存在如下缺点:1)对象面部形态复杂、运动状态差异大,难以有效提取面部两侧的运动差异性特征;2)对象的视频数据中身份信息与表情评估标签具有强相关性,严重干扰模型对面部运动特征的有效提取;3)离散的表情等级标签难以准确表达模糊的对象表情类型程度,而模糊标签又难以有效监督模型训练。

发明内容

针对现有技术存在的不足,本发明的目的是提供基于运动特征增强和身份信息免疫的面部表情识别方法,提高了运动面部表情的识别准确率,降低了预测结果的均方误差。

为了实现上述目的,本发明采用以下技术方案予以实现:

基于运动特征增强和身份信息免疫的面部表情识别方法,包括如下步骤:

步骤1、面部运动表情数据采集与预处理;

步骤2、建立基于关联任务的面部运动特征增强模型

利用运动面部表情识别模型提取采集对象的表情类激活图CAM,并结合面部单侧的表情特点,利用CAM信息来强化视频数据中面部运动区域特征,同时抑制背景及噪声信息;

步骤3、建立面部运动特征的身份信息免疫处理模型

基于生成对抗网络构建出针对面部运动特征有效提取的身份信息免疫处理模型,当身份鉴别器能够完成人脸识别任务时,说明特征向量包含充足的身份信息,特征提取器获得一个损失值,从而弱化模型输出特征向量中的身份信息;

步骤4、建立基于分级序数回归和G-MSE的运动面部表情评估模型

将运动面部表情类型分级的四分类任务简化为多个二分类子任务,在每个二分类子任务中剔除临界区数据,利用多个二分类子任务完成特征提取器的监督训练,利用极度梯度提升树XGBoost和均方误差G-MSE损失函数对运动面部表情进行回归预测,得到最终运动面部表情的等级评估结果。

进一步地,所述步骤1具体包括如下步骤:

步骤1.1、利用录像设备在设定的统一录制标准下,拍摄闭眼、鼓腮、示齿、耸鼻、抬眉、微笑和皱眉时的运动面部表情的视频,完成视频数据采集;

步骤1.2、剔除拍摄异常的数据,对筛选出的正常数据进行预处理,得到统一规格的视频数据。

进一步地,所述步骤1.2中的预处理包括如下步骤:

步骤1.2.1、根据不同的拍摄设备,截取每一次表情动作的视频片段,得到长度为10-200帧的视频,将视频划分为三部分:从平静状态到最大表情状态、保持最大表情状态和从最大表情状态恢复至平静状态;

步骤1.2.2、对从最大表情状态恢复至平静状态的视频进行逆序,得到与从平静状态到最大表情状态相似的视频,从而将采集到的视频数据扩充一倍;

步骤1.2.3、将从平静状态到最大表情状态及逆序后的从最大表情状态恢复至平静状态的视频裁剪为长度为17帧的视频片段并作为训练视频,得到16个光流向量场,对其进行抽帧或补帧,使视频段中第一张为平静状体动作,最后一张为最大表情状态动作;

步骤1.2.4、利用主动表现模型AAM提取裁剪好的视频片段的面部68个关键点坐标信息,选择其中不受表情而引起变化的点,并与标准脸的对应关键点进行多点仿射变换,利用公式(1)将当前视频帧关键点的坐标值与相邻帧关键点的坐标值进行均值平滑处理,使相邻帧间点位坐标变化连贯,得到对齐后的人脸视频序列;

式中,P

步骤1.2.5、将对齐后的人脸视频序列使用双线性插值变换为240像素*180像素的视频片段,其中人脸区域位于192像素*144像素的中心部位区域,冗余部位用于后期训练过程中进行扩充样本的随机裁剪。

进一步地,所述步骤1.2.1共截取了1471个视频片段,每个视频都有一个等级标签,将其中1014个视频片段划分为训练集,217个视频片段划分为验证集,240个视频片段划分为测试集。

进一步地,所述步骤2具体包括如下步骤:

步骤2.1、利用表情分类模型提取的CAM特征图获得对应的运动面部表情识别应关注的面部区域位置信息,从而得到表情识别模型CNN-Exp;

步骤2.2、利用训练好的CNN-Exp提取运动面部表情类别注意力特征图,将左右脸CAM特征信息进行联合归一,归一化后的数据进行左右对称保留最大值处理,得到视频的CAM特征图;

步骤2.3、通过视频的CAM特征图对面部视频帧与对应光流数据进行加权,以强化数据中与对象运动面部表情识别相关的区域信息,并弱化背景信息及面部其他区域连带运动的影响。

进一步地,所述步骤3具体包括如下步骤:

步骤3.1、通过身份识别模型验证在表情分类任务与运动面部表情等级分类任务中所含身份信息的差异,利用表情标签作为监督,使网络提取大量的身份信息,身份鉴别器利用特征提取器给出的特征进行人脸识别,并认出该特征对应的身份标签;

步骤3.2、建立损失函数L

式(2)和(3)中,N为该训练批次的样本数,L

L

式(4)和(5)中,L

进一步地,所述步骤4具体包括如下步骤:

步骤4.1、利用子分类器作为监督,将运动面部表情识别问题转换为仅判断视频数据是否为面部数据的二分类问题,并将二分类交叉熵损失BCELoss作为损失函数,输出一个预测值,经Sigmoid函数计算后,输出值位于0到1之间,输出值表示预测为1的概率值,1减去输出值则是预测为0的概率值,Sigmoid函数表达式为:

二分类交叉熵损失表示为:

式(6)和(7)中,x为输入的像素;

步骤4.2、结合运动面部表情评估任务中的序数性特点提出了G-MSE损失,G-MSE损失在计算MSE损失值之前,先利用公式(8)对预测值进行变化:

式(8)中,k为系数,k的取值为大于0的奇数,

在公式(8)的变换下,当预测结果与实际的离散标签误差在0.5以内,代表模型预测正确,计算损失值较小;当误差大于0.5时,代表分级结果错误,损失值变大;

步骤4.3、利用子分类器监督特征提取器,特征提取器提取所需特征向量后,使用评估器对所获得的特征向量给出最终的运动面部表情的等级评估结果。

本发明与现有技术相比,具有如下技术效果:

本发明结合运动表情特点,设计了基于关联任务的面部运动特征增强模块以强化模型对面部运动特征的提取能力,为了弱化身份信息对评估模型的影响,借鉴生成对抗学习的思想,设计了针对面部运动特征有效提取的身份信息免疫处理模型,通过一个用于身份识别的损失来监督模型对数据中身份信息的关注情况,以此来弱化模型输出特征向量中的身份信息,避免模型依据身份信息直接给出采集对象的面部表情识别结果;最后,基于分级序数回归和G-MSE的对象表情分级评估方法,通过多个二分类任务完成特征提取模型的监督训练,并利用XGBoost和G-MSE对运动面部表情进行回归预测,可以避免模糊标签对评估模型造成负面影响,使标签中不存在因为界限划分不清导致的模糊性问题,避免了因任务过于复杂使模型难以学习数据特征以及误关注其他特征的情况。可见,相较于传统运动面部表情识别方法,本发明从强化运动特征、身份信息免疫以及利用模糊标签监督训练这三个方面提升了对运动面部表情的识别评估效果,可以准确地识别出采集对象的运动面部表情,并对运动面部表情的等级进行评估并标注,降低了标签信息的模糊性,具有更好的鲁棒性,运动面部表情识别的准确率达到0.7042,等级评估结果的均方误差MSE达到了0.3583。

附图说明

图1为本发明的流程架构图;

图2为本发明的运动面部表情分类示意图;

图3为本发明数据预处理流程图;

图4为本发明的运动面部表情分类模型图;

图5为本发明基于关联任务的面部运动特征增强模型;

图6为本发明得到身份识别模型;

图7为本发明的面部运动特征的身份信息免疫处理模型;

图8为本发明的子分类器结构图;

图9为本发明的表情评估阶段示意图。

具体实施方式

以下结合实施例对本发明的具体内容做进一步详细解释说明。

如图1所示,基于运动特征增强和身份信息免疫的面部表情识别方法,包括如下步骤:

步骤1、数据采集与预处理,具体流程如图3所示:

步骤1.1、数据采集

利用具有录像功能的设备,如手机、平板电脑和摄像机等,录制采集对象做如图2所示的闭眼、鼓腮、示齿、耸鼻、抬眉、微笑和皱眉这七种面部表情评估动作时的面部视频,录制过程中,录像设备要放置在采集对象的面部正对位置的40-80cm处,且要求采集对象不戴眼镜,头发不遮挡面部,露出耳朵,平视摄像镜头,并将设备对焦至采集对象的面部区域,保持面部光照自然,避免逆光以及两侧光照强度不一致等情况;拍摄单个视频时,采集对象首先做出所需运动面部表情评估动作,保持2-3秒后,恢复平静状态,间隔3-5秒后重复,拍摄期间保持录像设备与被采集对象头部静止不动;

数据采集过程中,要尽量避免由于光照因素、拍摄角度、背景环境、采集对象对动作行为的理解等因素的差异,需要对采集过程制定一定的标准,收集足够的数据来训练模型,在视频采集完成后,经过初步筛选剔除拍摄异常的数据,在此基础上,再对数据进行预处理,使所采集到的数据为统一规格,便于后期使用;

步骤1.2、数据预处理

由于拍摄过程中,不同的设备型号以及拍摄者的拍摄习惯差异,可能会影响模型的训练与结果的预测,因此,要对数据进行预处理,使所采集到的数据为统一规格,便于后期使用,对采集对象面部运动的判断过程,实际上是关注采集对象从平静状态到最大表情状态这一过程;鉴于最大表情状态恢复至平静状态与从平静状态到最大表情状态的过程是逆序的,于是,我们对数据处理流程进行优化,首先:截取每个人做一次规定动作的视频片段,根据不同的拍摄设备,得到长度为10-200帧不等的视频片段,并将视频可划分为三部分:1)从平静状态到最大表情状态;2)保持最大表情状态;3)从最大表情状态恢复至平静状态;其中,将第3)部分进行逆序即可得到与第1)部分非常相似的视频片段,通过此方法可以将采集到的视频数据量扩充一倍;

由于三维卷积神经网络(3D-CNN)常用16帧作为网络输入,且本实施例提出的方法需提取视频的光流特征,帧视频可计算出个光流向量场,因此,本实施例采用17帧作为视频段的长度,并采用第1)部分视频段与第3)部分逆序后的视频段作为训练的视频片段,进行抽帧或补帧操作,视频段中第一张为平静状体动作,最后一张为最大表情状态动作;

将裁剪好的视频片段利用主动表现模型(AAM)提取面部68个关键点坐标信息,选择其中不受采集对象做表情而引起变化的点,与标准脸的对应关键点进行多点仿射变换,在变换过程中,逐帧分别进行仿射变换时,由于关键点的定位存在误差,相邻帧间可能会出现点位坐标变化不连贯,导致视觉上视频抖动严重,因此,利用公式(1),将当前视频帧关键点的坐标值与相邻帧关键点的坐标值进行均值平滑处理,得到对齐后的人脸视频序列;

式中,P

将对齐后的人脸视频序列使用双线性插值变换为240像素*180像素的17帧视频片段,其中人脸区域位于192像素*144像素的中心部位区域,冗余部位用于后期训练过程中进行扩充样本的随机裁剪,随机剪裁不但提高了模型精度,也增强了模型稳定性;

本实施例共采集了146位采集对象的数据,总计1471个视频片段,每个视频片段都有一个等级标签,由于分开七种表情单独建立模型数据量太少,每种表情只有200左右样本,因此,使用基于分级序数回归和G-MSE的对象运动面部表情识别模型对多种表情进行统一预测,进一步将146位采集对象随机划分为100人、23人、23人,分别对应训练集、验证集与测试集数据,其中训练集有1014个视频段,验证集有217个视频段,测试集有240个视频段,为了保护采集对象的隐私,采集到的眼部运动相关的展示数据中,对采集对象嘴部进行模糊化处理,嘴部运动相关的展示数据中,对采集对象眼部进行模糊化处理;

步骤2、建立基于关联任务的面部运动特征增强模型

针对采集对象可能出现的复杂类型表情的特点,本实施例设计了运动面部表情识别模型,利用该模型提取采集对象的表情类激活图(Class Activation Mapping,CAM),并结合面部单侧的表情特点,利用CAM信息来强化数据中面部运动区域特征,同时抑制背景及噪声等无关信息,具体过程为:

动作表情可以借用表情识别任务来辅助运动面部表情识别,由于采集对象的复杂表情异于常规表情识别任务,复杂运动面部表情是为了检查采集对象面部肌肉运动能力,以及两侧肌肉运动方式是否完全对称,便于对比左右侧肌肉运动差异,而在常规表情识别任务中不注重对称特点,因此,运动面部表情识别需要结合面部整体进行评估,如:疑惑表情可能出现单侧皱眉,惊讶表情可能出现大小眼;

首先,为了强化与运动面部表情相关的区域特征,抑制背景无关信息,本实施例设计出如图4所示的符合本实施例数据特点的表情分类模型CNN-Exp,考虑到模型的轻量化,利用图像数据进行表情分类提取CAM特征图,获得对应的运动面部表情类型识别应关注的面部区域位置信息;接着,利用训练好的CNN-Exp模型提取采集对象的运动面部表情类别注意力特征图,将左右脸CAM特征信息进行联合归一化,归一化后的数据进行左右对称保留最大值处理,得到该视频的CAM特征图,然后,通过特征图对采集对象面部视频帧与对应光流数据进行加权,以强化数据中与对象运动面部表情识别相关的区域信息,弱化背景信息及面部其他区域连带运动的影响,得到如图5所示的关联任务的面部运动特征增强模型;

步骤3、建立面部运动特征的身份信息免疫处理模型

借鉴生成对抗网络学习的思想,设计出针对面部运动特征有效提取的身份信息免疫处理模型,当身份鉴别器能够较好地完成人脸识别任务时,说明特征向量包含充足的身份信息,此时特征提取模型将获得一个较大的损失值,以此来弱化模型输出特征向量中的身份信息,避免模型依据身份信息直接给出评估结果,具体过程为:

由于难以跟踪采集对象的运动面部表情情况,单个采集对象仅能采集一次数据,得到的表情数据大都为同一等级,使采集对象身份信息与运动面部表情复杂程度存在较强的关联性,训练阶段,当网络难以有效学习面部运动特征时,会误关注数据中的身份信息并直接给出评估结果,为避免网络利用身份信息直接给出等级,本实施例设计出了面部运动特征的身份信息免疫处理模型,首先,通过如图6所示的身份识别模型,验证在表情分类任务与对象运动面部表情等级分类任务中所含身份信息的差异,当利用表情标签作为监督时,会使网络提取大量的身份信息,身份鉴别器利用特征提取器给出的特征进行人脸识别,并认出该特征对应的身份标签,利用三层全连接层作为身份鉴别器;为了使网络利用采集对象面部运动信息进行运动表情识别,需要增大人脸识别任务的难度,也就是降低特征提取器输出特征向量中的人脸信息,此时建立损失函数L

式(2)和(3)中,N为该训练批次的样本数,L

L

式(4)和(5)中,L

此时,特征提取器F与身份鉴别器I为一种max-min的对抗模型,F使输出的特征向量不包含身份信息,I利用给定特征向量进行身份识别任务,在不断训练中,达到一种平衡状态,F所输出的特征向量中包含的身份信息不足以用于身份识别,I利用给定特征向量无法完成身份识别任务,从数学公式的角度来看,身份鉴别器I的目标是识别出给定数据的身份,特征提取器F与身份鉴别器I相反,目的是为了最小化目标;随着特征提取器不断训练,身份鉴别器I保持在最佳状态附近,为了特征提取器能提取到包含对象面部运动信息的特征向量,由于对象运动表情等级识别任务难度较大,本实施例利用表情识别这一较为简单的任务作为辅助监督,引导特征提取器提取特征信息;

步骤4、建立基于分级序数回归和G-MSE的运动面部表情评估模型

将运动面部表情类型分级的四分类任务简化为多个二分类子任务,在每个二分类子任务中剔除临界区数据,以保证二分类子任务中的标签准确,降低标签信息的模糊性,再利用多个二分类子任务完成特征提取器的监督训练,并利用极度梯度提升树XGBoost和均方误差G-MSE损失函数对运动面部表情进行回归预测,给出最终运动面部表情的等级评估结果,具体过程为:

由于对象运动表情等级的标注受主观因素影响较大,相邻等级的数据标注不够精准,存在“模糊性”问题,依据对象运动表情的复杂程度,将对象的运动表情等级可以划分为四级:0级、1级、2级与3级,这些等级间存在序数递进的关系,有“序数性”特点,因此,本实施例提出基于分级序数回归和G-MSE的运动面部表情识别方法,得到如图7所示的面部运动特征的身份信息免疫处理模型;首先,分级序数回归方法利用多个如图8所示的子分类器作为监督,以保证特征提取器部分的正确训练,将采集对象运动面部表情识别问题转化为一种较为简单的表情识别问题进行分析,将此时任务目标转换为仅判断该数据是否为面部数据的二分类问题,二分类交叉熵BCELoss损失是一种有效的损失函数;针对二分类问题,只有正例和负例,因此在二分类时不需要输出一个长为2的向量来表示两类的预测值,只需要输出一个预测值,经Sigmoid函数计算后,输出值位于0到1之间,输出值表示预测为1的概率值,1减去输出值则是预测为0的概率值,Sigmoid函数表达式为:

二分类交叉熵损失表示为:

式(6)和(7)中,x为输入的像素;

其次,结合运动面部表情评估任务中的序数性特点提出了G-MSE(即,Grade-MSE)损失,建立变换公式将回归预测结果进行变换,使其可以利用离散标签进行监督,完成最终的评估得分,与交叉熵损失或MSE损失作为监督相比,G-MSE更符合对象运动的面部表情识别特点;G-MSE损失在计算MSE损失值之前,先利用公式(8)对预测值进行变化:

式(8)中,k为系数,k的取值为大于0的奇数,这是因为k为偶数时,第一项结果为正值,需要进一步调整符号计算误差,因此,k仅取奇数;

在公式(8)的变换下,当预测结果与实际的离散标签误差在0.5以内,则认为模型预测正确,计算损失值较小;当误差大于0.5时,代表分级结果错误,损失值变大;

最后,如图9所示,将子分类器用于监督特征提取器正常工作,在特征提取器提取所需特征向量后,使用一个评估器对目前所获得的特征向量给出最终的评估结果。

本实施例主要从强化运动特征、身份信息免疫、利用模糊标签监督训练这三个方向对运动面部表情识别问题进行探索,强化运动特征环节,考虑到运动面部表情识别过程中观察采集对象做特定表情进行判断,提出了基于关联任务的面部运动特征增强模型,面部运动特征的身份信息免疫处理在强化运动特征的基础上,进一步去除模型提取特征向量的身份信息,以避免模型误关注身份信息对面部表情等级标签进行拟合,最后基于分级序数回归和G-MSE的运动的面部表情识别方法,利用多个子分类器对模型进行监督,采用多个二分类任务,保证了标签中不存在因为界限划分不清导致的模糊性问题,简化了任务目标,避免了因任务过于复杂使得模型难以学习数据特征以及误关注其他特征的情况。

相关技术
  • 基于联合学习身份和情感信息的面部表情识别方法
  • 基于跨连接多特征融合卷积神经网络的面部表情识别方法
技术分类

06120116225431