在现实生活中, 人脸表情是仅次于语气之后必不可少的情感交流手段[1]. 人脸表情识别能让计算机有效表达人类的情感信息, 是人工智能领域中的重要组成部分. 人脸表情识别是将人脸表情图像识别为不同的表情类型, 如愤怒、高兴、悲伤、惊讶、厌恶和恐惧等等[2]. 近年来, 随着人工智能研究领域的不断发展, 人脸表情识别也因其重要性而受到广泛关注.
目前, 人脸表情识别方法划分为3个主要步骤, 分别是预处理, 人脸表情特征提取和人脸表情分类. 在人脸表情特征提取中, 根据特征提取方式不同分为手工特征和学习型特征, 前者是通过手工设计的算法进行提取, 后者是通过深度学习模型进行提取. 对于手工特征, 可以进一步分为基于纹理的特征, 如局部二值模式(local binary pattern, LBP)、Gabor小波变换; 基于几何的特征, 如尺度不变特征变换(scale-invariant feature transform, SIFT)和基于多种手工特征得到的混合特征. 而大多数学习型特征都是基于神经网络自动进行学习[3, 4], 如卷积神经网络(convolutional neural network, CNN), 深度神经网络(deep neural network, DNN), 循环神经网络(recurrent neural network, RNN)和生成对抗网络(generative adversarial network, GAN). 人脸表情分类的方法则有支持向量机(support vector machine, SVM)、隐马尔科夫模型(hidden Markov model, HMM)、K最近邻算法(K-nearest neighbor, KNN)和混合分类器模型等[5, 6].
传统的人脸表情识别仅限于识别6种基本人脸表情, 即愤怒、高兴、悲伤、惊讶、厌恶和恐惧. 然而, 现实生活中人类情感变化非常复杂, 表现出来的人脸表情类别大大高于早期定义的6种基本表情[7]. 复合人脸表情的提出为人脸表情识别开辟了一个新的领域, 可以将计算机视觉和人工智能的研究提高到一个新的高度. 复合人脸表情通常是来自于没有任何控制条件下的真实场景, 而大部分公开的自然环境下的人脸表情数据集只包含基本表情, 而少数包含复合人脸表情的数据集也缺乏足够的训练数据. 近年来, 有一些基于复合人脸表情识别的研究, Benitez-Quiroz等人[8]提出了利用检测表情中的面部运动单元(action unit, AU)来识别复合人脸表情, 然而此方法需要显著提升表情中AU的检测性能才能有效识别复合人脸表情. Li等人[9]改进了基础的深度卷积神经网络(deep convolutional neural network, DCNN)提出一种新的模型(deep locality-preserving CNN, DLP-CNN)来进行复合人脸表情识别, 该方法大大增强了识别能力. 但是, 复合人脸表情数据集训练样本的不足, 人工标注费时费力, 因此, 目前的研究还是主要集中在基本人脸表情的识别.
单标签学习中, 每个样本只属于一个标签且标签之间两两互斥, 而在多标签学习中, 一个样本可以对应多个标签, 且各个标签之间通常具有一定的联系[10]. 在现实生活中, 数据的复杂性导致单标签学习已经无法满足研究方法的要求, 因为真实的对象往往具有多义性, 所以多标签学习逐渐得到了广泛的关注. 运用面部动作编码系统(facial action coding system, FACS)[7]对所有人脸表情中出现的人脸面部运动单元(AU)进行研究发现, 复合人脸表情一般是由两种基本人脸表情组合而成的, 如惊喜(happily surprised), 其是由高兴(happily)和惊讶(surprised)两个基本表情组合而成, 所以复合人脸表情识别可以视为一个多标签分类问题.
现实世界中的诸多问题都是用图的形式来表示, 近年来, 由于图卷积网络能够解决图的卷积问题得到了巨大的发展[11, 12]. Wang等人[13]利用图卷积进行零样本图像识别时, 考虑到可见类别和不可见类别之间的关系, 转移从可见类别中学习到的知识来描述不可见类别, 大幅度提高了零样本识别的性能. Chen等人[14]通过构建知识图来捕获标签间的依赖关系, 将图卷积应用在多标签图像识别上, 也取得了巨大的成功. Zhang等人[15]利用上下文信息来构建情感关系图, 再利用图卷积网络来学习情感关系以推理情绪状态, 获得不错的效果. Li等人[16]在人脸面部单元识别中, 先利用先验知识构造了AU关系图, 再使用GGNN在图上进行信息传播来得到AU的特征, 最后进行AU识别. 表明了人脸面部单元识别中使用图神经网络的有效性.
我们将复合人脸表情识别视为多标签分类问题, 通过复合人脸表情类别之间的联系来构建人脸表情类别关系知识图, 为了更好的获得表情之间的关系, 我们提出了一种基于图卷积网络多标签学习的复合人脸表情识别方(graph convolution network in multi-label learning for compound facial expression recognition, GCN-ML-CFER), 来更好的实现对复合人脸表情的识别.
1 基于图卷积多标签学习的复合人脸表情识别图1所示为整体的网络结构, 基于图卷积多标签学习的复合人脸表情识别模型(GCN-ML-CFER)主要分为3个部分: 1) 以VGG19网络模型为骨架, 再利用提供的人脸面部关键点来对感兴趣区域(region of interest, ROI)[16, 17]进行学习, 最后提取人脸表情的特征. 2) 通过面部动作编码系统(FACS)对所有人脸表情中出现的人脸面部运动单元(AU)进行分析, 得到人脸表情类别之间的关系. 再通过数据驱动的方式, 挖掘人脸表情类别的标签在数据集中的共现模式, 使用条件概率的形式对标签的依赖性关系进行建模, 得到人脸表情类别关系图, 图卷积网络作用在关系图上进行分类器学习. 3) 通过提取的人脸表情特征与学习到的分类器进行复合人脸表情预测.
![]() |
图 1 GCN-ML-CFER模型框架 |
1.1 人脸表情特征提取模块
面部动作编码系统(FACS)根据人脸解剖学的特点用人脸面部运动单元(AU)的变化来描绘不同的表情这种描述方式几乎可以表现所有的面部表情, 是目前标准的表情划分参照体系. 人脸表情的发生是基于人脸面部运动单元(AU)的变化, 所以为了获得更加显著的人脸表情特征, 我们利用提供的人脸面部关键点来对感兴趣区域进行特征提取, 这种全局和局部特征的结合, 可以很好的表示人脸的表情.
我们选择VGG19作为我们的骨架网络, 如图1(a)所示, 通过VGG19我们可以得到人脸面部表情的全局特征图F. 接着我们根据提供的5个人脸面部关键点置, 缩放映射到全局特征图的关键点位置, 以此位置为中心, 划分出感兴趣区域, 使用ROI网络来对这5个感兴趣区域进行特征提取, 从而得到局部的人脸表情特征.
$ {f_i} = ROI(F,{l_i}){\text{,}}\;i \in {\text{\{ 1,2,}}\cdots{\text{,5\} }} $ | (1) |
其中,
$ X = g(F,{f_i}),i \in \{ 1,2,\cdots,5\} $ | (2) |
其中,
考虑到复合表情之间具有一定的相关性, 捕获和利用这些相关性可以提升复合表情的分类性能. 拓扑结构的图拥有对于复杂系统的强表现力, 同时具有很强的推理能力, 因此将人脸表情类别之间的关系构造成图的形式, 可以很好的进行复合人脸表情识别.
我们用V来表示图中节点的集合, 具体来说, 每种基本表情类别分别对应图的一个节点, 即
图中节点间的关系我们用边E来表示, 如惊喜(happily surprised)这个复合表情, 它在图中体现为高兴(happily)代表的节点和惊讶(surprised)代表的节点通过边来进行连接. 根据面部动作编码系统(FACS)和复合表情的标签, 我们初步可以得到哪些基本表情之间是有关系的, 也就是图中哪些节点是通过边相连的. 同时, 我们再通过数据驱动的方式来进一步表示图中节点间关系的强度, 即通过挖掘数据集中不同复合表情的数量, 来对图中相连节点之间关系进行调整.
我们以条件概率的形式对节点间关系的强度进行建模. 即
复合表情可以视为基本表情的标签对. 首先我们对训练集中的所有复合表情进行计数, 得到矩阵
再利用
在图卷积后, 节点的特征为节点自身特征与相邻节点特征的加权和, 对于图卷积可能导致的过渡平滑问题, 即节点特征可能变得相似, 以至于不同类别的节点可能变的难以区分, 为了缓解这个问题, 我们对条件概率矩阵进行一定的改进, 首先对于可能出现的噪声边通过阈值
$ {A_{ij}} = \left\{ {\begin{array}{*{20}{l}} {0{\text{, }}\;\;\;\;\;{\rm {if}}{\text{ }}\;{P_{ij}} \lt t} \\ {1,{\text{ }}\;\;\;\;\;{\rm {if}}{\text{ }}\;{P_{ij}} \ge t} \end{array}} \right. $ | (3) |
接着, 在更新节点特征时, 有一个固定的权重对节点本身的特征, 而相邻节点的特征由其分布决定, 最后邻接矩阵A表示为:
$A = \left\{ {\begin{array}{*{20}{l}} {p \bigg/\displaystyle\sum\nolimits_{j = 1,i \ne j}^C {{A_{ij}}{\rm{, }}\;\;\;\;\;{\rm{if \;}}i \ne {{j}}} }\\ {1 - p,{\rm{ }}\;\;\;\;\;\;\;\;\;\;\;\;{\rm{if}}\;i = j} \end{array}} \right.{\rm{ }} $ | (4) |
其中, A是邻接矩阵, 而
图卷积在学习过程中能够融合图结构信息, 可以将来自相邻节点的有效信息集成到节点自身当中, 因此, 我们使用图卷积从表情类别知识图中学习表情类别分类器, 如图1(b)和图1(c)所示. 给定的图是一个具有
$ {H^{l + 1}} = \sigma (\hat A{H^l}{W^l}) $ | (5) |
其中,
经过图卷积模块得到的
$ \hat y = ZX $ | (6) |
人脸表情图像的标签为
$ L = \sum\limits_{c = 1}^C {{y_c}\log (\varphi ({{\hat y}_c})) + (1 - {y_c})\log (1 - \varphi ({{\hat y}_c}))} $ | (7) |
其中,
本文在2个数据集上进行复合人脸表情识别实验.
RAF-DB[9]是目前最大公开可用的真实情感人脸数据集, 它拥有15 339张7种基本表情图像和3 954张11种复合人脸表情图像. 本文使用11种复合人脸表情, 采用数据集提供的3 162张训练集图像和792张测试图像.
EmotioNet[8]是自然环境下大型人脸表情数据集, 它拥有2 478张带有人脸表情标签的图像, 由于我们工作集中在复合人脸表情识别上, 同时选择有明确基本表情组成的复合人脸表情类别, 最后我们从中获取了1 220张复合人脸表情图像, 其中训练集图像为980个, 测试集图像为240个.
在实验设置方面, 首先, 我们采用4层图卷积网络, 每层维度为350, 400, 500, 600. 表情类别知识图构造中, 我们选择的是300维度的GloVe[18]词向量作为每个节点的初始化, 图中边的构造中, 我们的参数设置为p=0.3, t=0.2. 在人脸表情特征提取模块, 我们采用LeakyReLU=0.2激活函数, 预训练的VGG19为主干网络, 在训练过程中, 输入人脸表情图像大小归一化到为100
为了选择合适的特征提取模型, 在RAF-DB这个数据集上, 对几个目前流行的深度学习模型的识别准确率进行了对比, 即baseDCNN[9], ResNet18, ResNet34, ResNet50, ResNet101[19]和VGG19[20]. 其中, baseDCNN是RAF-DB数据库中基准方法DLP-CNN的特征提取模型, DLP-CNN能够提高对学习到的特征的识别能力, 可以比拟于其它最优的方法. 所有的模型都是用RAF-DB的训练集数据进行训练, 在测试集上进行测试, 结果如表1所示, 我们使用的模型除了baseDCNN外, 其它都是经过ImageNet[21]预训练过后的模型. 从表中可以看出, 其它模型的识别率相对VGG19来说, VGG19的结果最好, 因此, 后续的试验以VGG19作为选择的特征提取模型.
![]() |
表 1 不同模型的识别准确率比较 (%) |
2.2 卷积层数的选择
我们展现了不同卷积层数对模型识别率的影响, 对于3层图卷积网络, 输出的维度分别是, 400, 500, 600, 对于4层图卷积, 输出维度为350, 450, 550, 600, 对于5层图卷积, 输出维度为350, 400, 450, 500, 600. 通过图2中的结果展示, 随着图卷积数目的增加, 复合表情识别率先上升后下降, 在使用4层图卷积的情形下识别率最高. 可能的原因是, 在使用更多的图卷积层时, 节点之间的多次传播导致了过平滑, 使得节点间的区分性降低, 导致识别率的降低, 而我们为了缓解过平滑, 在知识图的构造过程中, 设置了
![]() |
图 2 两个数据集下不同GCN层数的准确率 |
2.3 不同词向量选择的影响
在表情类别知识图构造中, 运用词向量来对图中节点进行初始化, 我们调查了几个不同的词向量表示, 包括GloVe, GoogleNew[22]和FastText[23]3个词向量表示. 图3展示了这3种词向量对实验结果的影响, 对比于其它的词向量, GloVe词向量下模型的识别率相对较高. 我们发现, 3种不同的词向量下实验结果差别不是很大, 表明我们模型的识别率受词向量的影响较小. 同时运用更加合理准确的词向量能够得到更好的结果, 原因可能是从丰富语料中学习到的词向量包含了丰富的语义信息, 我们的模型能够利用这种有效的语义信息来提升对复合人脸表情识别的准确率.
2.4在表情类别知识图构造中, 邻接矩阵中的
![]() |
图 3 两个数据集下不同词向量的准确率 |
2.5
在表情类别知识图构造中, 邻接矩阵中的
我们根据RAF-DB数据集提供的5个人脸面部关键点位置, 划分出感兴趣区域, 使用ROI网络来对这5个感兴趣区域进行特征提取, 将得到的局部的人脸表情特征和全局人脸特征进行结合得到最后的人脸表情特征. 为了验证ROI网络的有效性, 我们从模型中移除ROI网络, 直接进行复合人脸表情识别, 我们将缺失了ROI网络的模型称为GCN-ML-CFER-ROI. 由于EmotioNet数据集中没有提供准确的人脸面部关键点位置, 所在RAF-DB数据集中进行比较. 对比结果如表2所示. 我们发现, 在RAF-DB数据集中, ROI网络的使用提升了复合人脸表情的识别率, 提升了大约1.3%左右, 原因很可能是通过ROI网络, 我们提取到了更有效的人脸表情特征, 从而使得整个模型的复合人脸表情准确率得到了提升.
![]() |
图 4 两个数据集下不同t值的准确率 |
2.7 与其它方法比较
实验与目前的主流研究方法作对比. 表1给出了对比方法的准确率结果. 表1中的对比方法是在单标签学习基础上进行的, 复合人脸表情图像对应复合人脸表情类别, 即一张人脸表情图像对应一个标签. 表3中是我们提出的基于图卷积多标签的复合人脸表情识别模型GCN-ML-CFER的准确率结果. 从表3中可以明显看出多标签学习下对复合人脸表情识别的准确率明显高于单标签学习下的准确率.
表3给出了在多标签学习中, 我们模型在不同主干网络下的准确率结果, 从中可以看出: 将我们模型的提取人脸表情特征的主干网络替换, 整个模型的复合人脸表情识别率都高于对应的原先的模型. 其中提升效果最好的为VGG19方法, 相较于单独使用预训练过后的VGG19模型, 在RAF-DB数据集中识别效果高出了4.92%, 在EmotioNet数据集中高出了4.16%, 实现了在这两个数据集下最好的识别效果, 证明了图卷积模块可以获取表情类别之间的关系, 来更好的辅助复合人脸表情识别.
![]() |
图 5 两个数据集下不同p值的准确率 |
![]() |
表 2 RAF-DB数据集中ROI网络影响下的准确率 (%) |
![]() |
表 3 模型在不同主干网络下的准确率比较结果 (%) |
图6给出了我们模型在两个数据集上最好识别率下的混淆矩阵. 在RAF-DB数据集下的混淆矩阵中发现, fearfully angry和fearfully surprised复合表情的识别率较高, 而sadly angry和sadly surprised复合表情的识别率较低. 在EmotioNet数据集下的混下矩阵中, fearfully surprised和happily disgusted的识别率较高, 而angrily disgusted和sadly angry的识别率较低. 可能原因一方面在于, 数据集中复合表情的样本数目不平衡所致, 数据集中复合表情的样本数目越多, 学习到的对应的表情特征越准确, 另一方面, 构成复合表情的基本表情一起出现的概率越高, 图卷积通过语义空间学习的表情类别分类器越准确, 最后有效的提升相应复合表情的识别率.
![]() |
图 6 GCN-ML-CFER模型在两个数据集下的混淆矩阵 |
3 总结与展望
对于复合人脸表情识别, 本文提出了一种基于图卷积多标签学习的复合人脸表情识别方法. 针对表情类别之间的关联性, 本文将基本表情类别作为图中的节点, 利用先验知识和数据驱动方法, 构建了表情类别知识图, 再通过图卷积网络来有效提取知识图中的关系信息, 以提高复合人脸表情识别的性能. 在RAF-DB和EmotioNet这两个数据集上进行了大量实验, 实验结果表明: 所提出的方法在复合人脸表情识别上达到了很好的效果. 由于本文主要是对复合人脸表情进行识别, 对所有表情混合进行识别没有深入考虑, 同时, 图中节点特征的初始化使用的是词向量, 需要进一步研究是否有更合适的方式, 从而更加有效的提升人脸表情识别的准确率.
[1] |
Tarnowski P, Kołodziej M, Majkowski A, et al. Emotion recognition using facial expressions. Procedia Computer Science, 2017, 108: 1175-1184. DOI:10.1016/j.procs.2017.05.025 |
[2] |
薛雨丽, 毛峡, 郭叶, 等. 人机交互中的人脸表情识别研究进展. 中国图象图形学报, 2009, 14(5): 764-772. DOI:10.11834/jig.20090503 |
[3] |
张俞晴, 何宁, 魏润辰. 基于卷积神经网络融合SIFT特征的人脸表情识别. 计算机应用与软件, 2019, 36(11): 161-167. DOI:10.3969/j.issn.1000-386x.2019.11.027 |
[4] |
马中启, 朱好生, 杨海仕, 等. 基于多特征融合密集残差CNN的人脸表情识别. 计算机应用与软件, 2019, 36(7): 197-201. DOI:10.3969/j.issn.1000-386x.2019.07.033 |
[5] |
Li S, Deng WH. Deep facial expression recognition: A survey. IEEE Transactions on Affective Computing, 2018. DOI:10.1109/TAFFC.2020.298144 |
[6] |
Kumari J, Rajesh R, Pooja KM. Facial expression recognition: A survey. Procedia Computer Science, 2015, 58: 486-491. DOI:10.1016/j.procs.2015.08.011 |
[7] |
Du SC, Tao Y, Martinez AM. Compound facial expressions of emotion. Proceedings of the National Academy of Sciences of the United States of America, 2014, 111(15): E1454-E1462. DOI:10.1073/pnas.1322355111 |
[8] |
Benitez-Quiroz CF, Srinivasan R, Martinez AM. EmotioNet: An accurate, real-time algorithm for the automatic annotation of a million facial expressions in the wild. 29th IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016. 5562–5570.
|
[9] |
Li S, Deng WH, Du JP. Reliable crowdsourcing and deep locality-preserving learning for expression recognition in the wild. 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017. 2584–2593.
|
[10] |
刘晓玲, 刘柏嵩, 王洋洋, 等. 基于深度学习的多标签生成研究进展. 计算机科学, 2020, 47(3): 192-199. DOI:10.11896/jsjkx.190300137 |
[11] |
Wu ZH, Pan SR, Chen FW, et al. A comprehensive survey on graph neural networks. IEEE Transactions on Neural Networks and Learning Systems, 2021, 32(1): 4-24. DOI:10.1109/TNNLS.2020.2978386 |
[12] |
Asif NA, Sarker Y, Chakrabortty RK, et al. Graph neural network: A comprehensive review on non-euclidean space. IEEE Access, 2021, 9: 60588-60606. DOI:10.1109/ACCESS.2021.3071274 |
[13] |
Wang XL, Ye YF, Gupta A. Zero-shot recognition via semantic embeddings and knowledge graphs. 2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018. 6857–6866.
|
[14] |
Chen ZM, Wei XS, Wang P, et al. Multi-label image recognition with graph convolutional networks. 2019 IEEE/CVF Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019. 5172–5181.
|
[15] |
Zhang MH, Liang YM, Ma HD. Context-aware affective graph reasoning for emotion recognition. 2019 IEEE International Conference on Multimedia and Expo. Shanghai: IEEE, 2019. 151–156.
|
[16] |
Li GB, Zhu X, Zeng YR, et al. Semantic relationships guided representation learning for facial action unit recognition. Proceedings of the AAAI Conference on Artificial Intelligence, 2019, 33(1): 8594-8601. |
[17] |
Sun X, Zheng SX, Fu HS. ROI-attention vectorized CNN model for static facial expression recognition. IEEE Access, 2020, 8: 7183-7194. DOI:10.1109/ACCESS.2020.2964298 |
[18] |
Pennington J, Socher R, Manning CD. GloVe: Global vectors for word representation. 2014 Conference on Empirical Methods in Natural Language Processing. Doha: Association for Computational Linguistics, 2014. 1532–1543.
|
[19] |
He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition. 29th IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas: IEEE, 2016. 770–778.
|
[20] |
Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition. 3rd International Conference on Learning Representations. San Diego: ICLR, 2015.
|
[21] |
Deng J, Dong W, Socher R, et al. ImageNet: A large-scale hierarchical image database. 2009 IEEE Conference on Computer Vision and Pattern Recognition. Miami: IEEE, 2009. 248–255.
|
[22] |
Mikolov T, Chen K, Corrado G, et al. Efficient estimation of word representations in vector space. 1st International Conference on Learning Representations. Scottsdale: ICLR, 2013.
|
[23] |
Mikolov T, Grave E, Bojanowski P, et al. Advances in pre-training distributed word representations. 11th International Conference on Language Resources and Evaluation. Miyazaki: ELRA, 2018. 52–55.
|