Facial Expression Recognition by De-expression Residue Learning-论文笔记

Facial Expression Recognition by De-expression Residue Learning,这是一篇发表在CVPR2018上面的论文,翻译过来是“基于去表情残差学习的面部表情识别”。文章提出了一种通过从cGAN的各个层中提取表情信息进行表情识别的方法,这是一种比较新颖的方法,下面是对这篇文章的一些总结。

文章链接:CVPR 2018 open access

目录

一、摘要及引言

二、相关工作

三、DeRL(De-expression Residue Learning)

四、总结


 

一、摘要及引言

作者在摘要及引言中主要提到了以下几个问题:

  1. 方法命名:De-expression Residue Learning,DeRL;
  2. 主要步骤:首先通过cGAN训练生成模型;然后使用多个CNN进行cGAN网络残差学习。
  3. 实验数据集:
    1. 预训练数据集:BU-4DFE和bp4duminate
    2. 评估数据集:CK+、Oulu-CASIA、MMI、BU-3DFE和BP4D+
  4. 文章想要解决FER中的问题:个体差异(包括年龄、性别、民族背景以及个人个性)对FER的影响。在面部表情识别中,当前面临的两个主要问题是:(1)数据集的数据量较小,导致的深度学习模型在训练过程中出现过拟合现象;(2)无关因素(外部环境、图像采集、个体差异)对面部表情识别的影响。本文提出的方法就是针对第二个问题中个体差异对FER的影响提出的。
  5. 文章提出的方法是基于“人的面部表情是由中性表情和‘表情组件’组合而成的”,因此在带有表情的图片中提取出中性表情信息后,原图片残余的信息一定是所谓的“表情组件”,进而可以通将中性表情作为参考,通过学习“表情组件”特征,完成面部表情识别。但这又引发了另外一个问题——人的中性表情不一定总是能采集到的,换句话说,我需要面部表情的时候,数据集不一定能够提供给我。由此,作者提出使用cGAN生成中性面部表情。
  6. 下图是文章方法的基本图示:

 

二、相关工作

先前的工作表明,面部表情识别可以受益于使用中性的面部图像。从像素级或特征级的对应面部表情图像中减去中性面部图像可以强调面部表情,同时减少类内差异。但是这些工作都是在相同主体的中性表情图像总是可获取的条件下进行的,但这是不现实的。

随着GAN的广泛应用,研究者开始研究使用GAN生成具有特定特征的图像。Gauthier 尝试使用cGAN生成具有特定属性的人脸。Radford等人尝试使用CNN来放大GAN来建模图像,并介绍了深度卷积生成对抗网络(DCGAN)的结构。Isola等利用条件对抗网络进行图像到图像的翻译,并显示出许多有趣的应用,即从地图生成航空照片,从边缘地图重建对象并为图像着色。另外,Zhou等人 应用cGAN从中性面孔合成面部表情图像。

作者探索了生成器中的表情信息,直接从中间层中获取表情信息,实际上,此类信息在去表情过程中被生成器“滤除”,而其表示(或残差)仍保留在生成模型中,因此成为表示表情部分的关键信息。

三、DeRL(De-expression Residue Learning)

文章提出方法的体系结构主要包括两个学习过程:第一个是学习cGAN生成的中性表情的面部,第二个是从生成器的中间层学习表情特征。如下图所示:

第一步,DeRL通过cGAN重建中性面部表情,图像对<I_{input},I_{target}>被用来训练cGANs。 I_{input}首先输入到网络中,用来重建I_{output},随后,<I_{input},I_{target},yes><I_{input},I_{output},no>被提供给鉴别器。鉴别器尝试从<I_{input},I_{output}>中区分出<I_{input},I_{target}>,而生成器不仅试图最大程度地混淆鉴别器,而且还要尽可能生成接近目标图像的图像。

鉴别器的目标函数是:

生成器的目标函数是:

文章中说使用了L1损失来完成图像近似,而非L2。原因是L2损失会使输出图像变模糊。下面这张图是文章提出的方法在具体的数据集上生成的中性面部表情(左侧是带有表情的图像,中间是生成器生成的图像,右侧是提供给cGAN训练的中性面部表情图像):

第二步,学习“表情组件”的特征。文章采用4个CNN进行面部表情组件(cGAN中间层的残差)的学习,每个CNN具有不同的学习能力,因此它们的损失函数在总的损失函数中具有不同的权重(折线图)。将每一部分的CNN损失函数标记为loss_i,i\epsilon [1,2,3,4],则总的损失函数为:

损失函数
损失函数
各部分CNN在不同数据集中的loss

 

文章中还给出了“去表情残差”的图像,从图中可以看出,不同表情的直方图差异还是蛮大的:

文章的第四部分是实验部分,具体的实验步骤及结果小伙伴们可以去文章中详细查看。实验结果已经达到了甚至超过了当时state-of-the-art的识别水平,在文章使用的数据集中表现非常好。

四、总结

1、文章中提出的方法主要是为了解决个体差异对FER的影响,并在实验数据集中达到了非常好的效果。

2、这种方法分为两个阶段:一个是使用cGAN生成对应主体的中性表情脸,并将文章提到的带有面部表情关键信息的“去表情残差”信息留在cGAN中间层中;二是提取GAN中间层的“残差”,通过多个不同部分的CNN学习残差特征,进而完成面部表情识别。

3、查了好多资料发现,这篇论文没有提供源代码。。。

4、这篇论文没有给出个部分CNN具体的设计,也没有给出具体损失函数的设计。。

5、作者在文末给出了后续的工作,具体是使用图片序列代替静态图片作为网络输入,进而使用序列的时间信息进行面部表情识别。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值