Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

孙裕道作者北京邮电大学博士生学校GAN图像生成、情绪对抗样本生成研究方向

论文盘点:人脸表情识别解析

一、引言

面部表情是人类表达情感状态和意图的最有力、最自然、最普遍的信号之一。由于其在机器人、医疗、驾驶员疲劳监测和许多其他人机交互系统中的实际重要性,人们对自动面部表情分析进行了大量的研究。在计算机视觉机器学习领域,各种各样的面部表情识别系统已经被用来编码来自面部表情的表情信息。本文会盘点出近几年来关于深度人脸情绪识别的优质论文。

二、Emotion Recognition via MBP

论文标题:Emotion Recognition in the Wild via Convolutional Neural Networks and Mapped Binary Patterns 

论文链接:https://talhassner.github.io/home/publication/2015_ICMI

2.1 模型介绍

该论文提出了一种利用卷积神经网络从静态人脸图像中分类表情的新方法。作者通过去除输入图像中的混杂因素来简化问题域,减少有效训练深层 CNN 模型所需的数据量,用有限的情感标记训练数据对每个模型进行微调,得到最终的分类模型。该论文提出的方法可以分为三部分:

  • 使用 LBP radius 参数的不同值对每个图像的像素进行(Local Binary Pattern)LBP 编码。

  • LBP 码通过多维标度(MDS)映射到 3 维空间中,该映射使用基于近似推土移动距离。

  • 原始的 RGB 图像和映射的代码图像一起被用来训练多个独立的 CNN 模型来预测七个情绪类别中的一个。最后的分类是通过对网络集合的输出进行加权平均得到的,将预测的情感类别作为具有最大平均概率的类别。

2.1.1 LBP编码提取

LBP 编码捕捉局部图像的微观纹理。它们是通过对小邻域中像素的强度值应用阈值来生成的,使用每个邻域的中心像素的强度作为阈值。得到的 0(低于阈值)和 1(高于阈值)的图案将被视为像素的表示。当邻域包含其他 8 个像素时,这个二进制字符串被视为 0 到 255 之间的 8 位数字,并与支持向量机(SVM)分类器一起使用。

2.1.2 LBP编码映射

LBP 编码映射的关键是使用多维标度(MDS)即将无序的 LBP 编码值转换为度量空间中的点。这样,变换后的点可以使用卷积运算在一起求平均值,但它们的距离近似于原始码到码的距离。首先定义了 LBP 码之间的距离 。这个距离应该反映用于生成每个 LBP 码串的图像强度模式的潜在相似性。表示所有可能编码值之间的距离矩阵可以定义为:
对于给定的距离矩阵 ,MDS 寻求 LPB 编码到低维度量空间的映射,即:

在这里,LBP 编码映射
使用 LBP 编码的推土移动距离(EMD)。EMD 被定义为反映将一个分布转化为另一个分布所需的最小花费。这里用它来衡量两个 LBP 代码之间的差异。P 和Q 两个编码之间的 EMD 定义如下:

其中 CDF 是位值的累积分布函数

2.1.3 CNN集合

采用了四种不同的现有网络架构:VGG_S、VGG_M-2048、VGG_M-4096 网络,以及 BVLC-GoogleNet 网络。CNN 被训练成使用标记的情绪训练数据(七个不同的情绪类别和一个额外的“中性”类别)来预测情绪类别概率的 7 维向量。图像使用两个 RBG 值来表示,并提取具有三个不同参数值的 LBP 编码:默认值为 1、5  和 10。

为了比较原始 EMD 距离,对 LBP 码直接使用 EMD 近似进行编码。为了预测情绪标签,我们取 20 个集合模型产生的 7 维输出向量的加权平均值。所选的类是产生的 7 维平均预测向量中概率最高的类。权重反映了每个分量的相对重要性。这些是通过随机搜索不同的权重组合来确定的,使用训练数据来评估每个组合的质量。

2.2 实验结果

下表总结了所有不同网络架构和图像表示的验证集结果。用于 LBP 表示的下标表示使用的参数的值。实验结果显示,这些特征是通过梯度直方图金字塔产生的特征和局部相位量化从对齐的人脸中提取,并使用单独的支持向量机融合进行分类。集成结果大大提高了性能,性能显著提高了 40%(提高了15.36%)。
下图提供了一个正确和错误的分类结果图示,所有剩余的六个类别如下图所示。这些结果表明,至少在某些情况下,性能差的原因可能是面部对齐步骤的失败,而不是模型识别的问题。

三、Deep-Emotion

论文标题:Deep-Emotion: Facial Expression Recognition Using Attentional Convolutional Network 

论文链接:https://arxiv.org/pdf/1902.01019.pdf

3.1 模型介绍

在该论文中,作者提出了一种基于注意卷积网络的人脸表情识别方法,它能够集中于脸部的重要部位,并且使用一种可视化技术,该技术能够根据分类器的输出找到重要的面部区域来检测不同的情绪。

上图为本文提出的的模型架构。其中特征提取部分由四个卷积层组成,每两个卷积层之后是最大池化层和线性单元(ReLU)激活函数。接着是一个 dropout 层和两个全连接层。

空间转换器由两个卷积层(每个卷积层后面是 max pooling 和 ReLU)和两个全连接层组成。在回归变换参数后,将输入转换为采样网格的生成数据。空间变换器模块主要通过估计被关注区域上的一个样本来聚焦图像中最相关的部分。

作者使用不同的变换对输入和输出进行映射。通过使用随机梯度下降法(更具体地说是 Adam 优化器)优化损失函数来训练该模型。本文中的损失函数是两个项的总和,分类损失(交叉熵)和正则化项的总和。

正则化权重  在验证集上进行调整。添加 dropout 层和 项使训练模型更稳定。

3.2 实验结果

本文提出的模型在 FERG 数据集测试,首先使用大约 34k 个图像进行训练,14k 用于验证,7k 用于测试。对于每个面部表情,随机选择 1k 图像进行测试。由下表可知模型识别的准确率在 99.3% 左右,其它的识别效果都要好。
本文提出的模型在 CK+ 数据集测试,其中 70% 的图像用于训练,10% 用于验证,20% 用于测试。实验结果如下,可以看出本文提出的模型表现的依然不错。

本文最大的一个特点在于引入了注意力机制,可以找到跟表情相关的区域。下图诶三幅带有“恐惧”表情的图像的重要区域。从图中可以看出,这些图像的重要区域在检测口腔时非常相似。

四、FER with Deep Learning

论文标题:Facial Expression Recognition with Deep Learning

论文链接:https://dl.acm.org/doi/abs/10.1145/3240876.3240908

4.1 模型介绍

在这篇论文中,作者深入研究了面部表情识别的多个深度学习模型,贡献有如下两个分别为:
  • 最大限度地提高人脸表情识别的准确率,目前其在 FER2013 测试集上展示了最先进的 75.8% 的准确率
  • 人脸识别系统应用于现实世界,作者为我们展示了一个在设备上实时运行的 FER 模型的移动 web 应用程序。

4.1.1 Fine Tuning ResNet50

ResNet50 是本论文的预训练模型二。ResNet50 是一个有 50 层的深度残差网络。它在 Keras 中定义为 175 层。作者分别用最大输出层和输出层分别为 1024 个和 96 个输出层。冻结了 ResNet 中的前 170 层,并保持网络的其余部分可训练。

采用 SGD 作为模型的优化器学习率为 0.01,批量大小为 32。以 0.01 的学习率和 128 个批次的 SGD 对 122 个 epoch 进行训练,得到了 73.2% 的正确率。

4.1.2 Fine Tuning VGG16

VGG16 是本论文的预训练模型三。虽然比 ResNet50 和 SeNet50 浅得多,只有16层,但 VGG16 更复杂,参数也更多。作者保持所有预训练层冻结,并添加了两个大小分别为 4096 和 1024 的 FC 层,其中 50% 丢失。在使用 Adam 优化器进行 100 次训练后,在测试集上获得了 70.2% 的准确率

4.1.3 Author’s methods

作者在训练模型过程的时候一共分为 4 个步骤最终将模型识别的准确率提升到 75.8%,分别为:
  • 数据增强:将人脸表情图像进行水平镜像、±10 度旋转、±10% 图像缩放和 ±10% 水平/垂直移动等。
  • 分级权重:为了解决类不平衡问题,采用了与样本数成反比的类权重
  • SMOTE:合成少数过采样技术(SMOTE)包括过采样少数类和欠采样多数类,以获得最佳结果。
  • 综合模型:对七个模型进行了软投票,使最高测试准确率从73.2%提高到75.8%。

4.1.4 MOBILE WEB APP

从架构上讲,作者的 web 应用程序托管在 Firebase 上利用 Tensorflow.js, React.js 标准为了检测、裁剪和调整用户的面部尺寸,并将其作为带有一个灰度通道的 48x48 图像输入到模型。

此外,为了减少磁盘空间和内存占用,在下载到用户设备之前,使用 tensorflowjs 转换器缩小模型权重

五、实验结果

下表显示了作者在 FER2013 私有测试数据集上实现的最佳模型的精确度。可以看出作者训练的模型能够达到最好的识别效果。

PaperWeekly
PaperWeekly

推荐、解读、讨论和报道人工智能前沿论文成果的学术平台。

理论人脸识别表情识别
1
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

激活函数技术

在 计算网络中, 一个节点的激活函数定义了该节点在给定的输入或输入的集合下的输出。标准的计算机芯片电路可以看作是根据输入得到"开"(1)或"关"(0)输出的数字网络激活函数。这与神经网络中的线性感知机的行为类似。 一种函数(例如 ReLU 或 S 型函数),用于对上一层的所有输入求加权和,然后生成一个输出值(通常为非线性值),并将其传递给下一层。

权重技术

线性模型中特征的系数,或深度网络中的边。训练线性模型的目标是确定每个特征的理想权重。如果权重为 0,则相应的特征对模型来说没有任何贡献。

交叉熵技术

交叉熵(Cross Entropy)是Loss函数的一种(也称为损失函数或代价函数),用于描述模型预测值与真实值的差距大小

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

VGG技术

2014年,牛津大学提出了另一种深度卷积网络VGG-Net,它相比于AlexNet有更小的卷积核和更深的层级。AlexNet前面几层用了11×11和5×5的卷积核以在图像上获取更大的感受野,而VGG采用更小的卷积核与更深的网络提升参数效率。VGG-Net 的泛化性能较好,常用于图像特征的抽取目标检测候选框生成等。VGG最大的问题就在于参数数量,VGG-19基本上是参数量最多的卷积网络架构。VGG-Net的参数主要出现在后面两个全连接层,每一层都有4096个神经元,可想而至这之间的参数会有多么庞大。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

图像缩放技术

人脸识别技术

广义的人脸识别实际包括构建人脸识别系统的一系列相关技术,包括人脸图像采集、人脸定位、人脸识别预处理、身份确认以及身份查找等;而狭义的人脸识别特指通过人脸进行身份确认或者身份查找的技术或系统。 人脸识别是一项热门的计算机技术研究领域,它属于生物特征识别技术,是对生物体(一般特指人)本身的生物特征来区分生物体个体。

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

累积分布函数技术

累积分布函数,又叫分布函数,是概率密度函数的积分,能完整描述一个实随机变量X的概率分布。一般以大写“CDF”(Cumulative Distribution Function)标记。

损失函数技术

在数学优化,统计学,计量经济学,决策理论,机器学习和计算神经科学等领域,损失函数或成本函数是将一或多个变量的一个事件或值映射为可以直观地表示某种与之相关“成本”的实数的函数。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

验证集技术

验证数据集是用于调整分类器超参数(即模型结构)的一组数据集,它有时也被称为开发集(dev set)。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

最大池化技术

最大池化(max-pooling)即取局部接受域中值最大的点。

深度残差网络技术

残差网络是为了解决深度神经网络(DNN)隐藏层过多时的网络退化问题而提出。退化(degradation)问题是指:当网络隐藏层变多时,网络的准确度达到饱和然后急剧退化,而且这个退化不是由于过拟合引起的。

欠采样技术

欠采样是信号处理学中的一种采样技术,也叫带通采样(bandpass sampling),是一种以低于其奈奎斯特采样定理(采样频率两倍高于被采样频率)的采样率对带通滤波信号进行采样且仍然能够重建信号的技术。

卷积神经网络技术

卷积神经网路(Convolutional Neural Network, CNN)是一种前馈神经网络,它的人工神经元可以响应一部分覆盖范围内的周围单元,对于大型图像处理有出色表现。卷积神经网路由一个或多个卷积层和顶端的全连通层(对应经典的神经网路)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网路能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网路在图像和语音识别方面能够给出更好的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网路,卷积神经网路需要考量的参数更少,使之成为一种颇具吸引力的深度学习结构。 卷积网络是一种专门用于处理具有已知的、网格状拓扑的数据的神经网络。例如时间序列数据,它可以被认为是以一定时间间隔采样的一维网格,又如图像数据,其可以被认为是二维像素网格。

准确率技术

分类模型的正确预测所占的比例。在多类别分类中,准确率的定义为:正确的预测数/样本总数。 在二元分类中,准确率的定义为:(真正例数+真负例数)/样本总数

映射技术

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

随机梯度下降技术

梯度下降(Gradient Descent)是遵循成本函数的梯度来最小化一个函数的过程。这个过程涉及到对成本形式以及其衍生形式的认知,使得我们可以从已知的给定点朝既定方向移动。比如向下朝最小值移动。 在机器学习中,我们可以利用随机梯度下降的方法来最小化训练模型中的误差,即每次迭代时完成一次评估和更新。 这种优化算法的工作原理是模型每看到一个训练实例,就对其作出预测,并重复迭代该过程到一定的次数。这个流程可以用于找出能导致训练数据最小误差的模型的系数。

支持向量机技术

在机器学习中,支持向量机是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法。给定一组训练实例,每个训练实例被标记为属于两个类别中的一个或另一个,SVM训练算法创建一个将新的实例分配给两个类别之一的模型,使其成为非概率二元线性分类器。SVM模型是将实例表示为空间中的点,这样映射就使得单独类别的实例被尽可能宽的明显的间隔分开。然后,将新的实例映射到同一空间,并基于它们落在间隔的哪一侧来预测所属类别。

正则化技术

当模型的复杂度增大时,训练误差会逐渐减小并趋向于0;而测试误差会先减小,达到最小值后又增大。当选择的模型复杂度过大时,过拟合现象就会发生。这样,在学习时就要防止过拟合。进行最优模型的选择,即选择复杂度适当的模型,以达到使测试误差最小的学习目的。

随机搜索技术

批次技术

模型训练的一次迭代(即一次梯度更新)中使用的样本集。

人机交互技术

人机交互,是一门研究系统与用户之间的交互关系的学问。系统可以是各种各样的机器,也可以是计算机化的系统和软件。人机交互界面通常是指用户可见的部分。用户通过人机交互界面与系统交流,并进行操作。小如收音机的播放按键,大至飞机上的仪表板、或是发电厂的控制室。

优化器技术

优化器基类提供了计算梯度loss的方法,并可以将梯度应用于变量。优化器里包含了实现了经典的优化算法,如梯度下降和Adagrad。 优化器是提供了一个可以使用各种优化算法的接口,可以让用户直接调用一些经典的优化算法,如梯度下降法等等。优化器(optimizers)类的基类。这个类定义了在训练模型的时候添加一个操作的API。用户基本上不会直接使用这个类,但是你会用到他的子类比如GradientDescentOptimizer, AdagradOptimizer, MomentumOptimizer(tensorflow下的优化器包)等等这些算法。

面部表情识别技术

面部表情识别的任务是将面部图像上的表情分类为各种类别,如愤怒,恐惧,惊讶,悲伤,快乐等。

量化技术

深度学习中的量化是指,用低位宽数字的神经网络近似使用了浮点数的神经网络的过程。

合合信息机构
推荐文章
暂无评论
暂无评论~