文章目录

  • 摘要
  • 一、整体介绍
  • 二、算法原理
    • 2.1 实现流程
    • 2.2 分工实现
      • 2.2.1 对抗特征学习
      • 2.2.2 重构学习
      • 2.2.3 总体学习
  • 三、 实验
  • 总结

摘要

文章是 2019 年 ACM 会议收录的一篇文章,发表于中国科学技术大学

文章中涉及的主要思想:利用对抗网络来同时实现表情识别对于身份和姿态二者的鲁棒性;实现过程分为五个部分进行:
(1)编码器(对于不同的人脸表情进行编码);
(2)表情分类器(对于不同的表情进行分类);
(3)身份鉴别器(鉴别图像中人物的身份信息);
(4)姿态鉴别器(鉴别图像中人物的不同姿态);
(5)生成器(生成面部表情);

在实际过程中,将图片中包含的身份、姿态信息加入到生成模块G,表情相关内容作为判别部分D,通过二者之间不断地对抗,最终来实现表情识别对二者的鲁棒性;

最终达成的理想化效果为:识别过程中,对于表情相关信息较为敏感,而对于身份,姿态等信息不敏感。


一、整体介绍

根据表情识别中引入方法的不同,对于图片中姿态或是人物身份特征带来干扰的处理,可以将现有的方法分为两大类:

  • (1)对于姿态鲁棒性的表情识别;
  • (2)对于身份鲁棒性的表情识别;

实现姿态鲁棒性的现有方法:

  1. 训练单一分类器和多姿态的表情分类器,用来适应不同姿态下的表情识别;
  2. 利用姿态归一化来实现表情识别的鲁棒性;缺点是无法利用不同姿态之间的关联性;
  3. 利用姿态不变特征来实现表情识别的鲁棒性;有效的利用了姿态之间的关联,但是无法应用于较大的姿态变化;

现有实现身份鲁棒性的方法:

  1. 学习身份不变特征,但是缺少现实样例;
  2. 学习基于特定个人的身份信息来减少差异,但是缺乏数据标注;
  3. 领域适应: 通过从源领域(即训练数据中的许多身份)中提取知识,提高目标领域(即未知的身份)的学习。然而,关于目标主体的有限数据使目标主体的分布难以适应源主体。

另一方面,关于用来实现姿态或是身份特征鲁棒性的方法有:

  1. JPEM (单一分类器方法)
  2. EPRL (姿态归一化方法)
  3. KPSNM (基于核的特征映射)
  4. LLCBL (基于姿态稳健的方法)

其中涉及到的概念有:

  • 伪影:原本被扫描物体并不存在而在图像上却出现的各种形态的应像;拉伸伪影(stretching artifacts)指的是:因为对图像进行拉伸操作,造成的图像姿态发生改变;

  • SIFT:尺度不变特征变换描述符

  • 流型:我们所能观察到的数据实际上是由一个低维流行映射到高维空间的。流型学习通常被用于进行降维操作,利用局部欧式距离扩展到全局,建立高维和低维的映射,来实现降维和可视化操作;

相比较而言,作者的方法同时实现了姿态和身份二者的鲁棒性,而不局限于其中的一种;前人的方法在训练中大多依赖 图像对,因此在数据较少时表现不佳,而作者的方法不依赖于图像对和条件假设,有着更好的性能。通过利用对抗学习和对所有网络的联合学习,该方法学习了一个保留表情内容但忽略身份和姿态变化的特征表示,从而提高了面部表情识别的准确率。

二、算法原理


如图所示,结构框架包括:编码器E,表情分类器De,姿态鉴别器Dp,身份鉴别器Ds,生成器G;各符号所代表的的含义如下:

  • D为整体训练集
  • xi表示表情图像
  • yi表示表情标签是否真实
  • vi表示姿态标签
  • si表示身份标签;

算法的想要实现的目标如下:

  • 利用编码器 E 提取具有身份和姿态鲁棒性的特征, 同时利用表情分类器预测提取出的特征的表情标签。即 Xt 为无标签的测试图片集,对于 Xt 中任意给出的未标记的图片 xt,可以用 R= E~De 来预测其表情类别;

2.1 实现流程

  1. 编码器 E 将训练的样本 x映射成其潜在的特征表示;
  2. 之后利用表情分类器De来预测其表情标签;
  3. 用姿态分类器Dp来预测其姿态标签;
  4. 用身份分类器Ds来预测其身份标签;
  5. 将潜在特征 E(x) 和嵌入类 z( z 由身份信息和姿态信息构成)作为生成器G的输入,将整合后的人脸图像 xf 作为输出;

xf 被期望拥有和输入 x 相同的表情标签;即 De(E(xf))的预测结果应和输入 x 的标签相同;与此同时,除了接受姿态,身份和表情信息作为输入外,编码器 E 同样可以将生成的相似类 xf 作为输入;最终的目标是在编码器中仅保留表情信息,而去除身份,姿态等的影响;编码器 E 提取的特征应易被表情分类器识别而不易被身份和姿态分类器识别,这样就达到了对身份和姿态的抑制效果; 最终得到一个整合后的分类器:

2.2 分工实现

2.2.1 对抗特征学习

将 De 应用到E(x)中有利于编码器保存表情相关的信息;E 和De 的联合工作可以使得 K 类表情预测的损失函数最小,损失函数由真实表情与预测表情之间的交叉熵损失造成;公式表示如下:

编码后的特征表示 E(x)也被用来作为姿态分类器和身份分类器的输入;E 和 Dp 相互对抗,E 中最小化姿势差异,从而使得 Dp 无法正确识别;E 和 Ds 同理;
目标如下:

由训练样本x 和姿态标签 v 带来的 M 类姿态预测损失可以被定义为:预测类Dp( E(x) ) 和真实标签 v 之间的交叉熵:

其中,可以将多类对抗性损失准换为 真/假 标签;例如:将正面姿态放在Z+中,其余姿态放在Z-中;E 和 Dp 之间对抗损失可以定义为:

由训练样本x 和身份标签 s 带来的 W 类身份预测损失可以被定义为:预测类Ds( E(x) ) 和真实标签 s 之间的交叉熵;

说了这么多,其实目的就一个,最大化 E 与 Dp, E 与 Ds 之间的损失,最小化 E 与 De 之间的损失,这样在最后识别的过程中,就会有效的抑制住身份和姿态信息带来的干扰;用公式可以表示为:

2.2.2 重构学习

通过优化表情分类损失和对抗损失,学习后的特征 E(x) 能够重新训练表情信息并移除身份和姿态变化的影响;生成器的分支产生表情图片 xf ,拥有和 具有任意姿态和身份特征的输入图像的表情相同;实现方法如下:

当生成的 xf 的身份信息和姿态信息与输入 xi 相同时,生成器尝试重构输入xi 的图像,即:

对生成图像进行正则化处理,目的是为了平滑生成图像的色彩空间;H 代表了图像的高度,W代表了图像的宽度;最终得到一个分类器 R ,用来预测生成的 xf 的表情标签;
xf 的表情分类预测损失可以表示为:

其中,yi 是图像 xi 的表情标签;由生成的图像 xf 可以得到的扩充数据集: Df

因此,训练中真正的训练集是 D 与 Df 的统合。

2.2.3 总体学习

对于前面提到的各类损失项,可以用一个函数来整体表达,即含损失项的联合目标函数:

通过对抗网络实现具有身份和姿态鲁棒性的表情识别相关推荐

  1. 基于生成对抗网络的有遮挡人脸修复方法

    摘要 [目的]实现有遮挡人脸图像修复,以提升人脸识别系统中有遮挡条件下人脸识别的准确率.[应用背景]在无感人脸识别场景中,人脸图像常因帽子.口罩等遮挡物影响,现有人脸识别算法出现准确率下降甚至无法识别 ...

  2. 新手必看:生成对抗网络的初学者入门指导

    新手必看:生成对抗网络的初学者入门指导 https://www.cnblogs.com/DicksonJYL/p/9698877.html 本文为 AI 研习社编译的技术博客,原标题 A Beginn ...

  3. 生成对抗网络入门指南(内含资源和代码)

    python进阶教程 机器学习 深度学习 长按二维码关注 进入正文 前言:春节假期结束了,在这个假期中,原本好好的计划终究没能跟上变化,发生了很多意想不到的事情,导致公众号有近十天没能更新,首先给长期 ...

  4. PSGAN——姿态稳健型可感知空间式生成对抗网络论文详细解读与整理

    PSGAN--姿态稳健型可感知空间式生成对抗网络论文详细解读与整理 1.摘要 2.什么是PSGAN? 3.主要贡献 4.整体模块 5.目标函数 6.实验结果--部分化妆和插值化妆 7.定量比较 8.参 ...

  5. 【Journal of Computer-Aided Design Computer Graphics】基于生成对抗网络的行人重识别方法研究综述

    文章目录 引言 数据集介绍 基于GAN的行人重识别方法分类 2.1基于风格转换的方法 2.2基于数据增强的方法 2.3基于不变性特征学习的方法 3 基于GAN的方法性能对比分析 总结 引言 对于行人检 ...

  6. 深度学习中的生成对抗网络GAN

    转载:一文看尽深度学习中的生成对抗网络 | CVHub带你看一看GANs架构发展的8年 (qq.com) 导读 生成对抗网络 (Generative Adversarial Networks, GAN ...

  7. GAN(Generative Adversarial Nets (生成对抗网络))

    一.GAN 1.应用 GAN的应用十分广泛,如图像生成.图像转换.风格迁移.图像修复等等. 2.简介 生成式对抗网络是近年来复杂分布上无监督学习最具前景的方法之一.模型通过框架中(至少)两个模块:生成 ...

  8. 【杂谈】有三AI秋季划增加生成对抗网络小组,你准备好大GAN一场了吗

    文/编辑 | 言有三 作为被誉为"下一代深度学习技术",同时已经在工业界能够真正成熟稳定应用的GAN,有三AI一直在关注相关的技术,并输出了大量的内容. 那如何从理论上和实践上更好 ...

  9. 万字综述之生成对抗网络(GAN)

    作者丨郭晓锋 单位丨爱奇艺 研究方向丨图像生成 前阵子学习 GAN 的过程发现现在的 GAN 综述文章大都是 2016 年 Ian Goodfellow 或者自动化所王飞跃老师那篇.可是在深度学习,G ...

最新文章

  1. 为什么要选择html5,5分钟告诉你,为什么要学HTML5大前端
  2. 对英文文档中的单词与词组进行频率统计
  3. rust实战入门到进阶(4)
  4. SAP UI5 js file will be executed immediately after downloaded successfully
  5. hbase hdfs外部表_硬核干货长文!Hbase来了解一下不?
  6. RDD之四:Value型Transformation算子
  7. jQuery微博登录
  8. pandas之combine_first() 合并重叠数据(修补)
  9. python心脏线绘制代码_JavaScript图形实例:曲线方程
  10. 【VBA】汉字转换全拼函数
  11. 小勇个人理财 怎么用
  12. 等额本息和等额本金、提前还款
  13. 诺禾-数据库操作优化
  14. numeric比较大小 数据库_SQL数据库中Numeric(10,2)是什么意思?
  15. 135编辑器生成html,135编辑器如何使用动态样式
  16. kali下使用phpstudy
  17. HDU 6608:Fansblog(威尔逊定理)
  18. C语言中什么叫做左值?右值?
  19. 0基础学前端开发,CSS盒子模型居中方法
  20. Android:adb卸载系统应用软技能

热门文章

  1. dwr-signatures
  2. signature=5a537e48de3abe15561f136edabc54dc,Visual Signatures in Video Visualization
  3. docker 运行 web 服务和部署 Go web app
  4. Html5制作工具对比
  5. css 手型 没生效,css各种手型集合(css禁止手型)(示例代码)
  6. Linux I2C从设备树信息查看与添加方法
  7. 华三模拟器启动设备失败【启动设备MSR36-20_1失败】
  8. 企业邮箱续费多少钱一年?企业邮箱域名到期如何续费?
  9. zynqsd的读写数据_数据存储结构图 - Zynq7000 FPGA的高速信号采集处理平台的设计搭建以及后续拓展...
  10. [Win32] 服务程序开发(1)基本概念和服务程序的框架