Joint Pose and Expression Modeling for Facial Expression Recognition(2018CVPR)

前言

为解决FER中姿势变化和表情变化的非线性耦合问题,本文主体使用GAN结构,提出了一种end to end的学习模型,实现在任意姿势下自动生成具有不同表情的面部图像,辅助提高表情识别能力。

介绍

主要阐明了FER发展过程中姿势变化,面部表情不受约束,面部表情变化,光照变化以及训练数据不足的因素影响下的表情识别仍然是一个很大的挑战,在解决姿势变化问题上,以前的方法大多数通过将非正脸实现正面化合成以及通过多视角学习非正脸的表示特征,其主要挑战是由于头姿势引起的刚性面部变化和由于表情引起的非刚性面部变化进行去耦。它们在2D图像中非线性耦合。详细而言,头部的刚性旋转会导致自我闭塞,这意味着面部表情识别信息会丢失。此外,面部纹理的形状随着姿势的变化而非线性地弯曲,这导致与人际纹理差异的严重混淆。这就需要对头部姿势进行联合分析表情。
随后为了突显自己的优越性,作者提出了几个比较老旧的应对姿势变化的方法:

  1. 提取姿势鲁棒性特征作为面部表情表示并使用常规分类器进行识别。
  2. 在进行姿态不变的FER之前,先进行姿态归一化。
  3. 为每个特定姿势学习多个分类器。这些方法的成功很大程度上可以归功于用作分类器输入的特征表示的质量。
    传统的方法大多数都是基于手工视觉特征和浅层学习的,为此应用的一般都是二进制模式的LBP、定向梯度直方图HOG以及缩放不变特征变换SIFT,缺陷是表示能力有限,无法很好地应对姿势变化引起的非线性面部纹理翘曲的挑战。

下图作者列出了包含姿势标签的应用于PIFER的基准测试数据集。(PIE数据集得买,无法免费获取)

在这里插入图片描述

提出的方法

总体设计框图如下所示:
在这里插入图片描述
其中包含一个生成器,两个鉴别器和一个分类器。在将图像传递到模型之前,首先使用具有68个界标的lib人脸检测算法执行人脸检测github链接。在预处理之后,将面部图像输入到编码器-解码器结构化的生成器G中,以学习身份表示。具体来说,Genc学习从输入图像到身份特征表示f(x)的映射。然后将该表示与表情以及姿势代码e和p串联在一起喂给Gdec换脸。通过生成器G和鉴别器D之间的minimax两人游戏,可以通过将相应的标签添加到解码器的输入中来获得具有不同姿势和表情的新标签面部图像。在这里,使用包括Datt和Di在内的两个区分器结构。 Dattis可学习解缠结的表示法,而另一个Di可提高生成图像的质量。在面部图像合成之后,分类器Cexpis然后用于执行我们的FER任务。对分类器采用了一种深层次的建模方法,该方法可确保在每一层上,这些功能对于烦人因素变得越来越不变,同时又保留了有关面部表情识别任务的歧视性信息。

给定一张图片,包含两个部分的标签 y = {ye, yp},表示图片的表情和姿势,对于判别器Datt而言,它的作用是区分图像真假,以及y条件下的保留身份的图片越真,为此其值函数如下:
在这里插入图片描述
对于鉴别器Di,作者将均匀分布置于身份表示f(x)上,这有助于平滑姿势和表情变换。其训练的值函数如下:

在这里插入图片描述

分类器Cexp是特定于任务的损失。在生成的情况下,它可以用来惩罚生成器的损失,这有助于提高原始生成器G的性能(通过生成的图片进行分类从而惩罚)。在分类的情况下,它尝试对表达式进行分类。对分类器使用典型的softmax交叉熵损失:

在这里插入图片描述
内容相似度损失。内容相似度损失尝试确保输出的面部与输入的面部图像x共享表情,姿势和身份表示(训练过程中)。因此,期望输入和输出面相似,其中L(:, :)表示ℓ1范数,损失表示如下:
在这里插入图片描述

考虑上述因素。本文的总体目标函数如下:

在这里插入图片描述

其中T V()表示有效消除重影伪影的总变化。系数α和β平衡了平滑度和高分辨率。通过上述顺序更新网络,最终可以学习姿势不变的FER模型。

实施细节

首先使用带有68个界标的lib人脸检测算法裁剪出人脸,并将它们的大小调整为224×224。然后将图像强度线性缩放到[-1,1]的范围。为了稳定训练过程,基于CAAE中的技术设计了G,Datt和Di的网络架构。具体来说,G是一个没有批量归一化的卷积神经网络,其中包括Gencand Gdec,它们由解缠的身份表示f(x)桥接,f(x)是网络中完全连接的层输出。然后将f(x)与表达式代码e和姿势代码p串联在一起,这是一个单热向量,目标表达式ye和姿势yp为1。一系列分数卷积(FConv)变换了串联的向量变成合成图像ˆ x = G(x,ye,yp),其大小与x相同。 Di和Dfis经过培训可以优化对象函数。在鉴别符Di 和Df中,在每个卷积层之后应用批归一化。我们采用VGGNet-19网络作为分类器Cexp。然后使用生成的图像ˆ x和原始图像x进行训练,以优化目标函数。
在这里插入图片描述
通过混淆矩阵判断模型的性能,其中需要注意的是最容易混淆的两个表达式是厌恶和斜视。这种混乱可能是由于这两个表情在眼睛周围的肌肉变形相似。(这说明局部特征对相似表情的影响很大)

通过将其性能与当前最新方法(包括kNN,LDA,LPP,D-GPL VM,GPLRF,GMLDA,GMLPP,MvDA和DS-GPL VM)进行比较来评估我们的方法。所有视图的详细结果总结在下:
在这里插入图片描述
BU-3DFE Dataset数据集的测试结果如下:
在这里插入图片描述
在这里插入图片描述
使用SFEW数据集上的最新方法比较平均识别精度(%)。每个表达式的最高准确性以粗体突出显示。
在这里插入图片描述
通过提出的模型生成的具有不同姿势和表情的面部图像的示例结果。
在这里插入图片描述

总结

1、作者的方法总体思路是解耦表示表情和姿势,从而实现任意姿势下合成任意表情,进行表情识别;
2、对于判别器Di平滑姿势和表情转换的操作尚不明确是否有用。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值