当前位置:首页 期刊杂志

融合CNN与BLSTM神经网络的面部表情识别*

时间:2024-05-04

王忠民 缑田田 衡 霞

(1.西安邮电大学计算机学院 西安 710121)(2.西安邮电大学陕西省网络数据分析与智能处理重点实验室 西安 710121)

1 引言

人类的情感通常通过其面部表情、声音、手势和姿势等信息表现出来。而面部表情蕴含了人类丰富且细微的情感变化,分析和研究人的面部表情[1~2]对情感识别[3~5]、人机交互等方面有很大的应用价值。如今,面部表情识别已经引起了广泛的研究,同时提出了多种解决方案。而提取面部有效特征[6~9]成为了面部表情识别中的关键步骤,经典的提特征算法包括独立分量分析法[10](ICA)、主成分分析法[11](PCA)、局部二值模型[12](LBP)。虽然ICA等特征提取算法在处理高维数据等方面具有良好的特性,但同时也存在特征提取率低、提取不全面,或是依赖硬件,消耗内存大的等问题[13]。

近几年来,利用神经网络[14]来解决图像识别[15]问题有了很大的突破,它能让机器自主地从样本数据中学习到表示这些面部表情的本质特征[16~17],而且更具有一般性。利用3D CNN更能有效地提取有用的特征信息。采用BLSTM进行分类[18~19],它能够充分地利用数据的上下文信息[20],在对序列的识别任务中表现突出[21],综上所述,本文提出一种融合[22]3D CNN和BLSTM的面部表情识别方法。面部表情的处理过程如图1所示。

图1 面部表情识别过程图

2 多融合的卷积神经网络

面部表情识别过程主要分为训练和测试两个阶段。在训练阶段,首先对图像进行预处理,然后将预处理之后的图像输入深度卷积神经网络,进而用BLSTM进行分类。在训练阶段,使用已经处理好的训练集通过训练,获得我们所需要的模型;在测试阶段,通过测试集来验证我们模型的性能。如图2所示为面部表情识别系统流程图。

图2 面部表情识别系统流程图

2.1 图像预处理

在输入网络之前,需要对图像进行预处理,使得在之后的模型训练时,得到较为精准的特征,我们采用Adaboost算法对图片中的人脸部位进行精准定位。其核心思想就是针对同一个训练集训练不同的分类器,然后把这些弱分类器集合起来,构成一个最终的分类器。在试验过程中,通过迭代30次主循环,每次循环根据当前的权重分布对样本进行调整,通过学习得到一个弱分类器。而最终的分类器是是多个弱分类器的加权平均。面部检测过程如图3所示。

图3 面部检测过程

2.2 优化的卷积神经网络模型

本文对经典的卷积神经网络(Convolutional Neural Network,CNN)进行了改进。利用3D CNN网络在时间维度上的优势和BLSTM在长时间特征依赖关系的优势,提出了新型融合多种卷积神经网络的模型。在该模型种,采用10层结构的卷积神经网络来对面部表情进行识别,包括两个卷积层、两个池化层、4个BLSTM网络层、1个全连接层、1个分类层。如图4所示为面部表情识别流程框架图。

图4 面部表情识别框架

2.2.1 特征提取

在本文中,通过3D CNN来提取空间和时间维度的特征,从而捕获在多个连续帧中编码的运动信息。3D CNN模型相比于2D CNN,它的性能远远优于2D CNN模型,它能更好地捕获图像序列中的时间和空间的特征信息。因为卷积在3D CNN中具有时空特性,因此它保留了时间信息。

实验中,将连续50张大小为64*64的图片帧作为输入,构建了两个卷积层(C1,C2),两个池化层(S1,S2),1个全连接层(FC1)组成的卷积神经网络结构。卷积核(C1,C2)的大小分别为7*7*3,7*7*3,特征图的大小分别为(50-3+1)*(64-7+1)*(64-7+1)=48*58*58和(16-3+1)*(20-7+1)*(20-7+1)=14*14*14,变量总量分别为6*48*58*58=968832和12*14*14*14=32928。池化层的降采样核大小均为3×3,并且全部采用的是最大采样,最终输出的变量规模为12*5*5*5=1500。每一个池化层都在对应的卷积层之后。如表1所示为网络各层的信息描述。

表1 网络各层的信息描述

2.2.2 分类技术

ht长短时记忆(LSTM)模型解决了传统RNN在处理长序列数据时存在的梯度消失问题。它的基本思想是用LSTM对帧的CNN最后一层的激活在时间轴上进行整合。一方面,它可以对CNN特征进行更长时间的融合,不对处理的帧数加以上限,从而能对更长时长的视频进行表达;另一方面,不用考虑同一次进网络的帧的前后顺序。LSTM的隐藏层的输出的具体计算过程如式(1)~式(6)所示:

其中,w表示连接两层的权重矩阵,b表示偏置向量,c表示记忆单元的状态,σ和tanh表示两种不同的神经元激活函数,i,f和o分别表示输入门、遗忘门和输出门。然而LSTM只捕获了图片的上文信息,而对下文信息却一无所知,而提出的BLSTM可以同时考虑到数据信息的上下文信息。如图5所示,为BLSTM的网络架构图。

图5 BLSTM网络架构

本文提出通过BLSTM来学习不同人脸表情在时域上的关联特征。我们构建了多个BLSTM层,以及一个全连接层和一个softmax层。用已训练好的CNN模型来提取面部表情,在两层卷积降维之后的输出作为提取的特征。随后依次输入到BLSTM网络中去,只有t时刻,BLSTM才会输出它的特征到全连接层,最终送入到softmax层得到分类结果。

3 实验

软件环境:Windows 10下的TensorFlow平台;硬件环境:处理器:Intel(R)Core(TM)i7-7700 CPU@3.60GHz;内存:32.0GB。

3.1 实验数据集

3.1.1 JAFFE数据集

JAFFE(The Japanses Female Facial Expression Database)数据库表情标定标准,广泛用于面部表情识别验证中,其中包含了213幅日本女性的脸相,每幅图像都有原始的表情定义。表情库中共有10个人,每个人有中性、高兴、悲伤、惊奇、愤怒、厌恶、恐惧7种表情。

图6 JAFFE数据库中面部表情示例

3.1.2 CK+数据集

这个数据库是在Cohn-Kanade Dataset的基础上扩展来的,发布于2010年。包含表情的label和Action Units的label。这个数据库包括123个subjects,593个image sequence,每个image sequence的最后一张Frame都有action units的label,而在这593个image sequence中,有327个sequence有emotion的lable。如图7所示为CK+数据集的部分图片示例。

图7 CK+数据库中面部表情示例

3.1.3 数据集的融合

由于每种数据集都有数据量、条件等多方面限制,提出利用JAFFE数据集和CK+数据集融合的混合数据集。利用这两个数据集选取连续多帧图像并通过反转、裁剪等手段对数据集大小进行扩充,同时每次实验随机按比例选取数据集中部分图像作为测试数据,而其他的图像作为训练数据。实验重复5次,最后对实验结果取平均值得到总识别率。

对新的数据集进行整理和制作emotion的lables。并将它们按照比例无顺序拆分成训练样本和测试样本,具体分布如表2所示。

表2 不同表情的样本数

3.2 实验结果分析

将整理好的数据集作为实验数据输入至3D CNN网络中进行训练,获得特征数据之后输入至BLSTM网络中,并用softmax分类器进行分类得到分类结果。

在实验过程中,使用多种模型对三种数据集中图像进行表情识别。用到的模型主要有PCA、LBP、CNN、3D CNN和改进的CNN。如表3~5所示,为在三种数据集下,多种传统的模型的面部表情识别结果。

表3 利用JAFFE数据集识别准确率对比

表4 利用CK+数据集识别准确率对比

表5 利用融合新的数据集识别准确率对比

为了进一步证明本文采用的网络模型的有效性,我们在多种数据集测试数据集上依次重复测试5次求其平均值作为最终测试结果,使得最终的结果具有可信性。如表6~8所示。

表6 JAFFE下新模型表情识别准确率

表7 CK+下新模型表情识别准确率

表8 融合数据集下新模型表情识别准确率

由表6~8可知,无论在哪种数据集的情况下,3D CNN+BLSTM模型都表现出了良好的识别效果,这表明该模型具有较强的稳定性和识别性能。使用融合模型在多种数据集的面部表情识别率如图8所示。

图8 新模型下各种数据集对比

如表9所示为新模型与传统模型识别率的对比。

表9 新模型和传统模型识别率对比

由表9可知,与传统模型相比,新型融合模型在三种数据集下都表现出了良好的识别率。与PCA模型相比,总体识别率提高了50.3%,与LBP模型相比,总体识别率提高了38%,与CNN模型相比,总体识别率提高了25.7%,与CNN模型相比,总体识别率提高了8.5%。

4 结语

本文提出采用融合卷积神经网络和递归神经网络的方法来对人的面部表情进行识别。该方法通过采用3D CNN对连续的多张图片中的特征进行提取,进而采用BLSTM递归神经网络得到这些特征在时域上的信息,进而对这些信息进行分类。实验数据表明,该方法的识别结果确实优于传统方法。但当数据量越大,网络层次较深的情况下,由于硬件设备的限制,模型的训练时间就会增长。在提高准确率的情况下,模型训练的时效性是进一步研究的重点。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!