人脸表情识别算法综述
扫描二维码
随时随地手机看文章
引 言
人类表情往往携带着比语言更为丰富的信息,因此,人脸表情识别是计算机视觉领域的一个重要研究课题。其研究成果可应用于人机交互、心理疾病患者治疗、情感计算与远程教育等领域,广泛的应用领域推动着人脸表情识别技术不断发展。易积政 [1] 等提出了基于特征点矢量与纹理形变能量参数融合的人脸表情识别方法,该方法较传统方法在识别率上有所提高。Taihao Li[2] 等结合主动外观模型与神经网络进行人脸表情识别。Ross P Holder,Jules R Tapamo[3] 通过使用更精确的Scharr 梯度算子、主成分分析降维等方法提出了改进的梯度局部三值模式(GLTP)。
1 表情识别综述
1971 年,心理学家 Ekman 与Friesen 研究提出了人类的六种基本情感,即惊讶(Surprise)、悲伤(Sadness)、愤怒(Anger)、恐惧(Fear)、厌恶(Disgust)与高兴(Happiness),与此对应,人类可产生相应的面部表情。为了更好地描述人脸面部表情, 随之诞生了不同的面部表情编码方式。Ekman 与Keltner[4] 提出了面部运动编码系统(FACS),可根据面部肌肉和肌肉群的运动对不同的面部表情加以区分。脸部动画参数(FAPS)也是一种表情编码方式,其根据脸部特征部位的运动描述面部表情。另外,美国麻省理工学院,日本东京理科大学与哈尔滨工业大学等国内外高校与研究机构都对表情识别开展了相关研究工作。表情编码识别系统如图 1 所示。
在研究表情识别的过程中,建立了供测试使用的人脸表情数据库。较为经典的面部表情数据库有JAFFE Database、The Extended Cohn-Kanade Dataset(CK+),GEMEP-FERA 等。 其中,JAFFE Database 是由十位日本女性分别做出 7 种表情 所构成的 213 张图像的集合,CK+ 则是一个具备表情强度从 低到高逐渐变化 [5] 的数据库,如图 2 所示。
(a)FACS(b)FAPS
图1 表情识别编码系统
图 2 JAFFE 与CK+ 数据库中的面部表情
人脸表情识别主要由三部分组成,即人脸检测与预处理, 特征提取,表情分类。人脸检测预处理旨在将目标人脸从背景中分离出来,其中涉及人脸定位、图像旋转与归一化等操作; 特征提取旨在提取出能够表达人类情绪的面部特征,有多种特征提取方法,如局部二值模式(LBP)、弹性图匹配法、等距映射等,本文只按照一种分类方式说明其中的部分特征提取方法;表情分类则依据提取出的面部特征将其归类为具体的表情,其中有 K 最近邻算法、稀疏表示分类法等。人脸表情识别流程如图 3 所示。
图 3 人脸表情识别流程
2 特征提取算法综述
人的面部表情具有大量特征。一张包含人脸的图像拥有极大的信息量,且在视频流中,同一人在不同帧下的表情模式也不尽相同,因此需要对人脸图像进行图像降维处理并提取出五官特征、纹理特征等有效信息。这些有效信息的提取极为重要,能否准确有效地提取出特征不仅影响着识别流程的速率,也极大地影响着识别准确率。
2.1 基于几何特征的提取方法
几何特征的提取即针对二维图像的人脸表情的显著特征对面部五官进行定位,可以得到五官的大小、位置及五官之间的相互比例等空间几何信息,可通过这些信息进行人脸表情识别。基于该方法的模型有主动形状模型(ASM),活动外观模型(AAM)与尺度不变特征转换。ASM最早由Cootes提出, 之后其针对ASM进行改进,于1998年提出了AAM。该类提取方法存在五官遮挡问题,且当光照、角度、人脸尺寸等重要识别分类信息丢失时,识别精度不高。
2.2 基于整体统计特征的提取方法
该类方法的主要思想是遍历整幅图像,尽可能多地提取 整幅图像的特征信息。该类方法可以使用主成分分析(PCA) 去除人脸图像中的混乱信息、噪声和冗余;使用方差衡量去除 小方差的冗余信息,使用正交位数空间描述数据改变的方向。 但该方法只对符合高斯样本即噪声或不感兴趣、信号比较微 弱的数据有效,导致数据具有较差的可分性。在 PCA 的基础 上提出了独立成分分析法,即 ICA(Independent Component Analysis,ICA)。ICA 将数据看作多个独立分量的线性组合, 进而获取数据的独立成分,因此具有较好的可分性。由于外界 背景环境的干扰,该方法在复杂背景环境下识别率会下降。
2.3 基于频率特征率的提取方法
主要采用 Gabor 小波变换方法,该方法可以在频域的不 同尺度,不同方向上提取相关特征。Gabor 方法先添加时间局 部化窗函数,得到窗口傅里叶变换,因为该方法无法聚焦,因 此研究人员加入了小波理论,结合成 Gabor 小波变换。该方 法在对人脸表情特征提取时,能够有效提取不同细节程度的 图像特征。但由于是低层次的特征,因此不易于直接用于特 征匹配。
2.4 基于运动特征的提取方法
光流法。光流为图像亮度模式的表观运动,能够反映出 图像的运动,因此可以提取出图像的运动信息。光流算法先 假设体素和图像像素守恒,评估两次表情之间的细微形变, 可以得到图像约束方程,求出图像约束方程的解后计算变化 参数。该方法反应了表情变化的本质,因此光照因素干扰较小, 但计算量庞大。
3 表情分类算法综述
3.1 基于传统机器学习的表情分类算法
3.1.1 Bayes 分类算法
Bayes 分类是以贝叶斯定理为基础的一类分类算法,贝叶斯定理属于概率论的一种,在边缘概率分布与随机变量的条 件下,使用产生的新数据对已有数据做修改。朴素 Bayes 分类 算法是 Bayes 分类算法中较为简单的一种。朴素 Bayes 分类算 法能够根据待分类项符合的各个条件判别其所属类别。由于 朴素 Bayes 模型假设特征属性之间相互独立,因此该分类方 法误差率小,然而当将其应用于实际时效果不佳。
3.1.2 支持向量机算法
1995 年,Cortes 与 Vapnik 提出了支持向量机(Support Vector Machine,SVM),即自动分类算法。SVM 能够区分数据类别的高维到一维投影,其任务是找到最佳决策边界。在寻找最佳决策边界的过程中,相继引入了核函数、拉格朗日对偶与SMO 算法,SVM 算法不使用真正的向量而使用数量积进行分类,因而减小了系统开销,使得 SVM 算法更加优化。相较于更先进的神经网络算法,支持向量机拥有更快的运算速度,计算时使用更少的训练样本。支持向量机示意图如图 4 所示。
3.1.3 HMM 模型
隐马尔科夫模型(Hidden Markov Model,HMM)是一 种关于时序的概率生成模型。该算法描述了马尔科夫过程, 但该过程包含隐含的未知参数。HMM 模型将人脸图像看作 显性序列,从已知的数据中确定隐含数据,再利用隐含数据 进行数据分析,因此适合进行动态视频流分析。黄小娟 [6] 等 通过优化隐马尔科夫模型参数提出了改进的隐马尔科夫表情 识别模型,使得该模型可更有效地应用于表情识别中。HMM 模型示意图如图 5 所示。
3.2 基于深度学习的表情分类算法
3.2.1 基于 CNN 的分类算法
卷积神经网络(Convolutional Neural Networks,CNN) 是针对人工神经网络(ANN)的一种改进,其灵感来源于猫的初级视觉皮层,其权值共享网络结构使之更接近生物神经 网络。卷积神经网络由多个卷积层和顶端的全联通层构成,相 较于其他神经网络,卷积神经网络还包括关联权重与池化层。 CNN 利用损失函数判断类别预测值与真实值间的差异,利用 激活函数解决非线性问题,采用正则化操作削减过拟合现象, 采用池化层操作降低网络复杂度。上述使得 CNN 的训练速度 更快,计算量减少且能够实现图像降维,使之能更好地处理 二维图像,使用神经网络时需要采取的图像预处理工作较少。 卷积神经网络示意图如图 6 所示。
3.2.2 基于 DBN 的分类算法
2006 年,Geoffrey Hinton 提出了深度信念网络。深度信 念网络(Deep Belief Network,DBN)其结构类似于人脑的认 知过程,由多层受限玻尔兹曼机(RBM)构成。RBM 由可见 层与隐层组成,可见层接受输入,隐层提取特征,两层双向连接, 层内各神经元间无连接,可见层输出作为隐层输入。采取对比 散度的学习算法训练 RBM,得到使得训练样本概率最大的权 值。多层 RBM 训练层经调优构成 DBN。DBN 将低层输出作 为高层输入,再将高层输出作为更高层输入,是一个自下而上 的无监督学习过程。采用 DBN 时需要为样本集设定标签,学 习过程慢。施徐敢 [7] 等融合深度信念网络与多层感知器进行 人脸表情识别,该识别方法可达到的最好人脸表情正确识别 率为 90.95%。由于环境中光照等复杂因素的存在,Chen Li[8] 等将 DBN 与增强局部纹理特征相结合,克服了光照变化带来 的影响。深度信念网络示意图如图 7 所示。
4 结 语
目前人脸表情识别是图像处理领域的研究热点,人脸表 情库越来越丰富。其特征提取算法包括基于几何特征提取、 PCA 与 ICA 算法、Gabor 小波变换、光流法等。这些算法与 其他算法相结合,在解决图像噪声,人脸遮挡、角度,环境 光照等许多影响因素上有较好的处理效果,但同时也增大了系 统开销。传统的表情分类方法有 Bayes 分类算法、隐马尔可 夫模型、支持向量机 SVM 模型。传统算法模型计算速度快, 但精度不高,因此在科研机构中主要为深度学习方法,CNN 与 DBN 这类算法训练出的模型识别精度高,速率快,但训练 需要使用 GPU 等硬件加速,训练时更需要大量的表情库,训 练周期长,难以在高校科研机构以外的场所进行研发和使用。
综上所述,人脸表情识别这一课题已经拥有了较成熟的 研究成果,但缺点依然存在,需要不同算法取长补短,如将 深度学习与传统算法结合等,算法的改进仍然是一个漫长的 探索实践过程。