在人际交往过程中,人们通常根据对方面部表情变化来判断其情绪,以更好地进行交流。随着人工智能和机器学习的兴起,人脸表情识别技术得到深入发展,其应用日益广泛。通过增强人机界面,机器能更好地感知用户情绪,在行为科学和临床实践中捕捉并分析罪犯与患者的微观表情可了解其潜意识,基于人脸表情识别的情感分类器能帮助情感交互存在障碍的人群增进情感交流。此外,人脸表情自动识别技术还应用于人体异常行为检测、计算机接口、自动驾驶以及健康管理等多个领域。
关于人脸表情识别的研究最早始于1978年,SUWA等人[1]跟踪脸部视频动画获取每帧图像关键点的运动规律,并将其与原始图像关键点模型对比后得到识别结果。1991年,MAS等人[2]采用光流方法跟踪肌肉运动走向,获取局部空间光流值组成表情特征向量构建人脸表情识别系统。传统的人脸表情识别主要采用局部二值模式[3]、非负矩阵因子分解[4]和稀疏学习[5]等机器学习方法来提取浅层特征。
从2013年开始,深度学习方法逐渐应用于面部情感识别的研究。文献[6]采用卷积神经网络(Convolutional Neural Network,CNN)解决了面部表情的主观独立性问题以及图像平移、旋转和尺度不变等问题。文献[7]利用区域卷积神经网络(Region Convolutional Neural Network,R-CNN)学习人脸表情特征。随着深度学习技术的不断发展,研究人员基于CNN设置辅助网络模块、网络层结构和网络集成来增强表情识别能力。文献[8]在AlexNet卷积神经网络中引入特征选择机制设计特征选择网络FSN。文献[9]在特征层中增加岛屿损失层,结合决策层的Softmax损失函数共同监督CNN训练。文献[10]提出一种3级混合结构网络,通过决策层集成实现决策多样性,其在FER2013数据集上识别率达到70.86%。文献[11]采用改进的深度残差网络增加网络深度,引入迁移学习方法解决数据集较小的问题,改进网络在CK+数据集上识别率达到91.33%。上述研究表明,采用卷积神经网络可得到较好的识别效果,在此基础上加深和加宽网络能有效提高识别率,但网络参数过多也造成计算复杂度大幅增加,从而导致模型计算性能下降。
为进一步提升表情识别效果,解决网络结构复杂与数据计算量大等问题,本文提出一种应用于人脸表情识别的小尺度核卷积方法。结合小尺度核卷积层、批标准化层和Leaky-ReLU激活函数形成组合块提取图像特征,在不增加网络参数的基础上加深网络,以减少静默神经元的影响,保障神经元充分学习,并使用Adam优化器更新网络参数加速网络训练。
1 小尺度核卷积模型 1.1 卷积神经网络卷积神经网络主要由卷积层、池化层(也称为采样层)和全连接(Fully connected)层构成,其结构如图 1所示。其中,卷积层用于局部感知和实现参数共享,池化层用于特征降维与压缩参数量,全连接层用于整合局部特征信息。感受野[12]是卷积神经网络中最重要的概念之一,其定义为卷积神经网络每一层输出特征图的像素点在输入图像上映射区域的大小。每个卷积核均对应一个感受野,卷积核越大,则神经元感受野的值越大,卷积核能接触到的原始图像范围越大,可提取到更全面、语义层次更高的特征,但会造成网络参数量增大和计算复杂度大幅增加。因此,本文用多个小卷积核代替大卷积核,以在获取相同大小感受野的同时减少参数量。
|
Download:
|
| 图 1 卷积神经网络结构 Fig. 1 Structure of convolutional neural network | |
在早期的研究中,为获取更大感受野,研究人员主要采用卷积核尺寸为11×11、7×7和5×5的卷积神经网络。随着计算性能不断提升,研究人员开始尝试使用更深和更宽的卷积神经网络。2012年,KRJIZHEVSKY等人[13]使用AlexNet卷积神经网络提取特征得到良好的识别效果。AlexNet包括5个卷积层和3个全连接层,每个卷积层中卷积核大小分别为11×11、5×5、3×3、3×3和3×3。2014年,SIMONYAN等人[14]提出一种VGG16网络,采用2个3×3卷积核组合替代1个5×5卷积核,得到的感受野大小与5×5卷积核相同。2个3×3卷积核的参数量为19,1个5×5卷积核的参数量为26,由此可见在相同感受野下,采用小尺度卷积核所需参数量更少。
本文在VGG16网络模型的基础上设计小尺度核卷积块(Conv-block),其结构如图 2所示。每个小尺度核卷积块包含2个卷积块,每个卷积块由1个卷积层、1个批标准化(Batch Normalization,BN)层和1个激活层组成。卷积层均采用3×3卷积核,每个卷积层后加入BN层处理,以加大搜索补偿并加快收敛。为使网络具有非线性,在BN层后引入激活层。小尺度核卷积块选择小尺度卷积核代替大尺度卷积核,并通过增加网络层数保持图像性质,避免图像特征丢失,确保提取特征时有足够的感受野,在减少参数量的同时提升网络性能。
|
Download:
|
| 图 2 小尺度核卷积块结构 Fig. 2 Structure of small-scale kernel convolution block | |
卷积层采用内核大小为
| $ {y}_{ij}^{l}=f\left(\sum\limits _{a=0}^{m-1}\sum\limits _{b=0}^{m-1}{\mathit{\boldsymbol{\boldsymbol{w}}}}_{ab}{x}_{\left(i+a\right)\left(j+b\right)}^{l-1}+\mathit{\boldsymbol{b}}\right) $ | (1) |
其中,
| $ f\left(x\right)=\left\{\begin{array}{c}\alpha x, x\le 0\\ x, x>0\end{array}\right. $ | (2) |
其中,斜率
批标准化操作采用单位高斯分布规范网络中的激活函数以避免输入初始化,从而使每层输入达到稳定分布,以帮助网络训练并避免出现过拟合现象。
1.3 基于小尺度核卷积的人脸表情识别模型本文基于小尺度核卷积的人脸表情识别模型结构如图 3所示。该模型由5个采用3×3卷积的小尺度核卷积块、5个最大池化(Max pooling)层、1个全连接(Fully connected)层和1个输出层组成。5个小尺度核卷积块的卷积核个数分别为64、128、256、512和512,步长和填充均为1。模型输入为44像素×44像素的灰度图,经过第1个小尺度核卷积块处理后,输出64张44像素×44像素的特征图,与原输入图像大小相同。最大池化层进行下采样,得到64张大小为22像素×22像素的特征图,每张特征图大小均为原输入图像的一半。经过第2个小尺度核卷积块处理后,输出128张大小为22像素×22像素的特征图。最大池化层进行下采样,得到128张大小为11像素×11像素的特征图。再经过3次相同的“小尺度核卷积块+池化”操作后,得到512张大小为2像素×2像素的特征图,输入含有512个神经元的全连接层,输出1个512维向量,最终通过Softmax分类器获得7种表情的分类结果,人脸表情识别模型的各层具体参数如表 1所示(“—”表示该参数值不存在)。
|
Download:
|
| 图 3 人脸表情识别模型 Fig. 3 Facial expression recognition model | |
|
下载CSV 表 1 人脸表情识别模型参数 Table 1 Parameters of facial expression recognition model |
在上述模型中,池化层对输入层的空间维度执行下采样操作,通过降低特征维度来减小输入图像的特征图大小并采用最大池化操作。完全连接层具有与输入中每个权重相连的神经元,最终输出结果为1个向量,其维度大小为卷积核个数。
Softmax分类器将输入值压缩为0~1输出直观的归一化类概率,计算公式为:
| $ S{\left(x\right)}_{j}=\frac{{\mathrm{e}}^{{x}_{j}}}{\sum\limits _{i=1}^{N}{\mathrm{e}}^{{x}_{i}}} $ | (3) |
其中,N为总类别数,
交叉熵损失函数的表达式如下:
| $ \mathrm{L}\mathrm{o}\mathrm{s}\mathrm{s}=-\frac{1}{N}\sum\limits _{i=1}^{N}\left[{y}^{i}\mathrm{l}\mathrm{n}\left(\mathrm{g}\left({x}^{i}\right)\right)+\left(1-{y}^{i}\right)\mathrm{l}\mathrm{n}\left(1-g\left({x}^{i}\right)\right)\right] $ | (4) |
其中,
模型计算复杂度通常采用参数量衡量,参数量的计算公式如下:
| $ S={K}^{2}\times I\times O $ | (5) |
其中,
本文实验采用GPU版本的pytorch框架,硬件平台为Ubuntu 16.04.2,双核Intel 2.2 GHz CPU,Tesla K80 GPU,1 TB硬盘内存,11 GB运行内存。在全连接层上应用Dropout算法,丢失率设置为0.6,以避免出现过拟合现象。采用参数
本文采用FER2013数据集[17]和CK+数据集进行训练与测试。FER2013数据集是常用的人脸表情公开数据集,共有35 888张面部表情图像,包含不同光照情况、姿势角度和面部比例的人脸。该数据集由28 709张训练图像、3 589张公开测试图像和3 589张私有测试图像组成,图像均为48像素×48像素的灰度图。其中,每张图像的类别标记如下:0=愤怒,1=厌恶,2=恐惧,3=快乐,4=悲伤,5=惊喜,6=中立,7种表情示例如图 4所示。
|
Download:
|
| 图 4 FER2013数据集中7种表情示例 Fig. 4 Example of seven kinds of expressions in FER2013 dataset | |
CK+数据集[18]是人脸表情识别的代表性数据集之一,其包括123个人共593组图像序列,展示人脸从表情平静到表情变化达到峰值的过程。该数据集中带标签的表情序列有327个,包含中性、愤怒,蔑视、厌恶、恐惧、高兴、悲伤和惊讶8种表情。本文实验选取除中性表情之外的其他7种表情图像,7种表情示例如图 5所示。从每组图像序列中提取最后3帧图像,共981张。所有图像经过预处理大小均为48像素×48像素。
|
Download:
|
| 图 5 数据集中7种表情示例 Fig. 5 Example of seven kinds of expressions in CK+ dataset | |
为解决数据样本小造成模型泛化能力差的问题,本文实验对数据进行增强处理。在训练阶段,对原始图像进行随机剪裁,得到大小为44像素×44像素的图像,再进行随机镜像处理以弱化过拟合作用。在测试阶段,分别在每张图像的左上角、右上角、左下角、右下角和中心处进行切割,并通过水平镜像处理使数据集扩大10倍,将其输入人脸表情识别模型得到相应的概率,概率取平均值后的输出类别即为最终的表情类别。
在FER2013数据集实验中,在模型训练阶段将28 709张图像作为训练集。实验共迭代250轮,批大小设置为128。初始化学习率设置为0.01,前80轮迭代学习率保持不变,当迭代轮数超过80后,学习率开始衰减,每迭代5轮衰减1次,学习率减少1/10。在测试阶段,用3 589张公开测试图像得到识别率,并通过反向传播进一步优化网络。然后用3 589张测试图像验证模型,对每轮迭代的识别率取平均值得到最终识别效果,以此来评估算法性能。
本文生成的FER2013测试集表情分类混淆矩阵如图 6所示,其反映了人脸图像在7种表情上的识别率。可以看出,快乐最易区分,其识别率达到92%,明显高于其他表情。惊讶、厌恶和中性的识别率也较高,分别为85%、78%和74%,这4种表情也是人类日常生活中常见的面部表情。愤怒、恐惧和悲伤的识别率相对较低,分别为64%、56%和61%,其原因为:1)数据集中这3种表情图像数量较少造成训练不足,导致分类出现误差;2)这3种表情具有一定相似性,容易混淆难以区分。
|
Download:
|
| 图 6 FER2013数据集表情分类混淆矩阵 Fig. 6 Confusion matrix of expression classification in FER2013 dataset | |
在CK+数据集实验中,将数据集按9∶1的图像数量比例分为训练集和测试集,得到882张训练图像和99张测试图像。实验共迭代60轮,批大小设置为128。初始化学习率设置为0.01,前20轮迭代学习率保持不变,当迭代轮数超过20后,学习率开始衰减,每迭代1轮衰减1次,学习率减少1/5,采用十折交叉验证法得到CK+测试集表情分类混淆矩阵,如图 7所示。与FER2013测试集实验类似,由于恐惧、悲伤和蔑视3类表情的图像数量相对较少且表情不易区分,因此其识别率低于愤怒、厌恶、高兴和惊讶。
|
Download:
|
| 图 7 数据集表情分类混淆矩阵 Fig. 7 Confusion matrix of expression classification in CK+ dataset | |
为验证本文方法的有效性,分别在FER2013数据集和CK+数据集上,将本文方法与FER2013 record[19]、DNNRL[10]和CPC[20]、FsNet+TcNet[21]、MSSD+KCF[22]、FRR-CNN[23]、多特征融合[24]以及改进残差网络[11]等其他表情识别方法的识别率进行比较。其中,FER2013 record、DNNRL和CPC是人脸表情识别的经典方法,FER2013 record具有Kaggle2013比赛识别率排行榜最高的记录,DNNRL提出3级混合结构并采用决策层集成获取决策多样性,CPC将数据集进行复杂感知分类,可解决环境和表情类别的不一致问题。FsNet+TcNet和MSSD+KCF为近年来提出的方法,FsNet+TcNet对图像进行人脸分割处理,通过分割出与表情识别关联度最大的人脸区域来提升网络识别精度,MSSD+KCF采用多尺度核特征卷积,以通道数合并的特征融合方式提高表情识别精度。上述方法在FER2013数据集和CK+数据集中的比较结果如表 2所示。
|
下载CSV 表 2 不同表情识别方法在2个数据集中的识别率 Table 2 Recognition rate of different expression recognition methods in two datasets |
由表 2可以看出,对于FER2013数据集和CK+数据集,本文方法优于减少特征冗余的卷积神经网络FRR-CNN、多特征融合方法和改进残差网络的方法。本文方法保留了图像特征的完整性,在原始图像基础上进行数据增强处理,并采用多层小尺度核卷积减少网络参数量,在一定程度上降低了算法复杂度,因而其识别效果更好。
3 结束语本文提出一种利用小尺度核卷积的人脸表情识别方法,采用小尺度核卷积块与池化层相结合的网络结构提取人脸表情特征,在相同感受野下加深网络并精简网络结构,利用Softmax分类器获取表情分类结果,同时在模型训练和测试阶段对数据进行增强处理,提升网络泛化能力以减少识别误差。实验结果表明,与FER2013 record、DNNRL等方法相比,该方法的人脸表情识别率更高。后续将去除人脸图像中与表情无关的冗余部分,以更精确地提取表情特征。
| [1] |
SUWA M, SUGLE N, FUJIMORA K. A preliminary note on pattern recognition of human emotional expression[C]//Proceedings of the 4th International Joint Conference on Pattern Recognition. Washington D.C., USA: IEEE Press, 1978: 408-410.
|
| [2] |
MASE K. Recognition of facial expression from optical flow[J]. IEICE Transactions on Information and Systems, 1991, 74(10): 3474-3483. |
| [3] |
SHAN C F, GONG S G, MCOWAN P W. Facial expression recognition based on local binary patterns: a comprehensive study[J]. Image and Vision Computing, 2009, 27(6): 803-816. DOI:10.1016/j.imavis.2008.08.005 |
| [4] |
ZHI R C, FLIERL M, RUAN Q, et al. Graph-preserving sparse nonnegative matrix factorization with application to facial expression recognition[J]. IEEE Transactions on Systems, 2011, 41(1): 38-52. |
| [5] |
ZHONG Lin, LIU Qingshan, YANG Peng, et al. Learning active facial patches for expression analysis[C]//Proceedings of 2012 International Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2012: 2562-2569.
|
| [6] |
MATSUGU M, MORI K, MITARI Y, et al. Subject independent facial expression recognition with robust face detection using a convolutional neural network[J]. Neural Networks, 2003, 16(5): 555-559. |
| [7] |
SUN Bo, LI Liandong, ZHOU Guoyan, et al. Facial expression recognition in the wild based on multimodal texture features[J]. Journal of Electronic Imaging, 2016, 25(6): 21-27. |
| [8] |
ZHAO Shuwen, CAI Haibin, LIU Honghai, et al. Feature selection mechanism in CNNs for facial expression recognition[EB/OL]. [2019-10-17]. https://dblp.uni-trier.de/rec/conf/bmvc/ZhaoCLZC18.html.
|
| [9] |
CAI J, MENG Z B, KHAN A S, et al. Island loss for learning discriminative features in facial expression recognition[C]//Proceedings of 2018 IEEE International Conference on Automatic Face and Gesture Recognition. Washington D.C., USA: IEEE Press, 2018: 302-309.
|
| [10] |
KIM B K, ROH S, DONG Y, et al. Hierarchical committee of deep convolutional neural networks for robust facial expression recognition[J]. Journal on Multimodal User Interfaces, 2016, 10(2): 173-189. DOI:10.1007/s12193-015-0209-0 |
| [11] |
HE Jun, LIU Yue, LI Changhong, et al. Study on expression recognition based on improved deep residual network[J]. Computer Application Research, 2020, 37(5): 1578-1581. (in Chinese) 何俊, 刘跃, 李倡洪, 等. 基于改进的深度残差网络的表情识别研究[J]. 计算机应用研究, 2020, 37(5): 1578-1581. |
| [12] |
HIJAZI S, KUMAR R, ROWEN C. Using convolutional neural networks for image recognition[EB/OL]. [2019-10-17]. https://www.researchgate.net/publication/326536637_Small_Sample_Image_Recognition_Using_Improved_Convolutional_Neural_Network.
|
| [13] |
KRIZHEVSKY A, SUTSKEVER I, HINTON G E. Imagenet classification with deep convolutional neural networks[C]//Proceedings of NIPS'12. [S. l. ]: NIPS Foundation, 2012: 1097-1105.
|
| [14] |
SIMONYAN K, ZISSERMAN A. Very deep convolutional networks for large-scale image recognition[EB/OL]. [2019-10-17]. https://www.researchgate.net/publication/265385906_Very_Deep_Convolutional_Networks_for_Large-Scale_Image_Recognition.
|
| [15] |
XU Bing, WANG Naiyan, CHEN Tianqi, et al. Empirical evaluation of rectified activations in convolutional network[EB/OL]. [2019-10-17]. https://www.researchgate.net/publication/275974753_Empirical_Evaluation_of_Rectified_Activations_in_Convolutional_Network.
|
| [16] |
LI Lingxia, WANG Yu, WU Jinjun, et al. Micro-motion hand gesture recognition method based on improved multiple dimensional convolution neural network[J]. Computer Engineering, 2018, 44(9): 243-249. (in Chinese) 李玲霞, 王羽, 吴金君, 等. 基于改进型多维卷积神经网络的微动手势识别方法[J]. 计算机工程, 2018, 44(9): 243-249. |
| [17] |
GOODFELLOW I J, ERHAN D, CARRIER P L, et al. Challenges in representation learning: a report on three machine learning contests[C]//Proceedings of 2013 International Conference on Neural Information Processing. Berlin, Germany: Springer, 2013: 117-124.
|
| [18] |
LUCEY P, COHN J F, KANADE T, et al. The extended Cohn-Kanade dataset: a complete dataset for action unit and emotion-specified expression[C]//Proceedings of 2010 International Conference on Computer Vision and Pattern Recognition. Washington D.C., USA: IEEE Press, 2010: 2510-2518.
|
| [19] |
Kaggle. Fer 2013 dataset[EB/OL]. [2019-10-17]. http://web.archive.org/web/20080207010024/.
|
| [20] |
CHANG Tianyuan, WEN Guihua, HU Yang, et al. Facial expression recognition based on complexity perception classification algorithm[EB/OL]. [2019-10-17]. https://www.researchgate.net/publication/323510047_Facial_Expression_Recognition_Based_on_Complexity_Perception_Classification_Algorithm.
|
| [21] |
LI Yucheng, LIU Kun. PCA and SVM face recognition method based on face segmentation[J]. Microcomputer and Its Applications, 2016, 35(15): 51-53, 56. (in Chinese) 李宇成, 刘昆. 一种基于人脸分割的PCA和SVM人脸识别方法[J]. 微型机与应用, 2016, 35(15): 51-53, 56. |
| [22] |
WANG Xuejiao, ZHI Min. Human motion recognition based on deformable convolutional neural network[J]. Computer Engineering and Science, 2021, 49(1): 105-111. (in Chinese) 王雪娇, 智敏. 基于可变形卷积神经网络的人体动作识别[J]. 计算机工程与科学, 2021, 49(1): 105-111. DOI:10.3969/j.issn.1007-130X.2021.01.013 |
| [23] |
XIE Siyue, HU Haifeng. Facial expression recognition with FRR-CNN[J]. Electronics Letters, 2017, 53(4): 235-237. DOI:10.1049/el.2016.4328 |
| [24] |
MA Zhongqi, ZHU Haosheng, YANG Haishi, et al. Face expression recognition based on multi-feature fusion dense residual CNN[J]. Computer Applications and Software, 2019, 36(7): 197-201. (in Chinese) 马中启, 朱好生, 杨海仕, 等. 基于多特征融合密集残差CNN的人脸表情识别[J]. 计算机应用与软件, 2019, 36(7): 197-201. |
2021, Vol. 47
