一种基于注意力模型的面部表情识别算法 下载: 1341次
1 引言
随着深度学习和人机交互技术的发展,从图像中理解人类情感变得越来越重要。面部表情是人类表达情感的主要方式,是人机界面系统识别人类内心情感的重要途径之一[1]。面部表情识别是计算机视觉领域的经典问题,旨在从人脸图像中预测基本面部表情,如快乐、悲伤、惊讶、愤怒、恐惧、厌恶等。自动面部表情识别在社交机器人、疲劳驾驶监测、广告推荐、教育评价、医学治疗等领域受到广泛关注。
传统面部表情识别方法大多采用人工特征,如LBP[2]、LPQ[3]、HoG[4]等。这些人工设计的特征在一些简单受控数据集上表现不错,但仍然不足以解决真实场景中的面部表情识别问题。样本的多样性不足,使得训练的模型缺乏对广泛场景的泛化能力,难以满足实际应用需要。这种情形下,研究人员收集了许多不受控的面部表情数据集。这些数据集大多来自互联网,各种角度、光线、遮挡以及身份不同的样本都被收集下来,传统的人工特征已经很难识别与面部表情无关的多种因素。
近年来,随着计算机算力的大幅提升,深度学习在计算机视觉领域展现出强大的性能。卷积神经网络(CNN)能够自动从原始数据中提取有效特征,从而避免人工设计特征,有效处理面部表情的多样性。自第一个大规模的深度神经网络AlexNet[5]诞生以来,各种骨干架构如VGGNet[6]、GoogLeNet[7]、ResNet[8]、DenseNet[9]等相继被提出。这些骨干架构的性能不断提升,网络规模越来越大。然而,大规模的深层网络不适用于小型的表情数据集,这是因为大量的网络参数使得网络很容易陷入过拟合,导致网络性能下降。此外,表情识别的难点在于,一些表情的类间差异比较微小,而由于人脸身份、背景等非面部表情因素的影响,表情的类内差异比较突出,这使得表情识别更加具有挑战性。
本文提出一种基于注意力模型的面部表情识别网络,能够同时在特征图的通道和空间上寻找表情特征关键区域,并生成一个三维注意力图,通过残差学习单元对特征图元素进行加强或抑制。此外,还提出一种面部表情关键区域截取方案,截取眉毛、眼睛、鼻子、嘴巴这4个部位及其周围的区域组成人脸T型区,将其作为网络输入,以解决非表情因素的干扰问题。同时,本文采用轻量级的网络结构,在保证模型容量的前提下有效缓解了过拟合问题。本文方法在两个常用的表情数据集CK+[10]和MMI[11-12]上进行验证,实验结果证明了本文方法的优越性。
2 相关工作
2.1 面部表情识别
面部表情识别一般包括人脸预处理、特征提取和分类这3个阶段。人脸预处理阶段包括:1)人脸检测,从图像中检测人脸区域,去除背景干扰,常见的人脸检测器有V-J人脸检测器[13]、MTCNN[14]等;2)人脸关键点检测,从人脸图像中检测面部关键点,定位眼睛、鼻子、嘴巴等部位,常见的关键点检测器有Dlib[15]人脸关键点检测、MTCNN[13]、FAN[16]等;3)人脸对齐,对检测到的人脸图像关键点坐标进行仿射变换后,将其映射到一个固定位置,达到人脸对齐的目的。特征提取阶段从对齐的人脸图像中提取特征,如几何特征、外观特征、运动特征等。在分类阶段,本文算法将面部表情归类为6种或7种基本情绪。
2.2 基于深度学习的面部表情识别
Liu等[17]提出了BDBN方法,把特征提取、特征选择和分类器统一构建在一个增强深度信念网络中,可以获得更好的性能。Jung等[18]提出了DTGAN方法,该方法由两个深度网络组成,一个深度网络从图像序列中提取时域外观特征,另一个深度网络从时域人脸关键点中提取时域几何特征,两个网络联合微调,提高了表情识别的准确性。Kuo等[19]提出了一种小规模的网络结构来识别面部表情,该网络结构在使用更少参数的情况下获得了较优的性能;同时提出一种结合直方图均衡化和线性映射的光照增强方案来解决混合数据源训练深度网络时的过拟合问题,在跨数据集验证上获得较好的性能。何志超等[20]提出一种多分辨率特征融合的卷积神经网络,通过两个深度不同的卷积网络提取图像的不同分辨率特征,多分辨率特征融合提升了模型的识别性能,增强了模型的泛化能力。姚丽莎等[21]提出一种基于卷积神经网络局部特征融合的面部表情识别方法,将卷积神经网络当作特征提取器,提取眼睛、眉毛、嘴巴3个局部区域的特征,然后使用SVM多分类器进行决策级加权融合,该方法实时性强、识别效果好。
为了减缓人脸身份信息对表情信息的干扰, Meng等[22]提出了同时利用表情信息和身份信息进行面部表情识别的IACNN方法,提出的联合损失函数可以同时考虑表情识别的分类错误以及表情与身份的相似性。Ding等[23]发现人脸识别与面部表情识别之间存在较大的差异,基于人脸识别网络微调的面部表情识别网络中仍然存在人脸身份信息,这削弱了网络表达不同表情的能力。本文提出一种新的表情识别训练方法FaceNet2ExpNet,其两阶段的功能主要为:第一阶段,训练表情识别网络的卷积层,由被冻结的人脸识别网络的卷积层进行监督;第二阶段附加上全连接层,共同训练整个网络。
针对类内差异大、类间差异小的问题, Li等[24]提出了局部保持损失函数(LP loss),在保持特征局部紧凑的同时增大类间分布,从而增强了深度特征的判别能力,因此LP loss更适用于面部表情多模态的情形。考虑到不同类在特征空间的分布上有重叠, Cai等[25]提出一种岛屿损失函数(island loss),在相同类表情相互聚集的同时,将不同的表情相互推开。吴慧华等[26]结合岛屿损失函数和AM-softmax loss 函数,提出了基于余弦距离的损失函数,可用来监督卷积神经网络学习到具有更大的类间距和更小的类内距的人脸表情特征。
2.3 注意力机制
注意力机制[27]在人类感知过程中扮演着重要的角色。人类视觉系统的一个重要特性是不会试图一次处理整个场景,而是选择性地聚焦于需要关注的目标区域,以获得目标的细节信息,而抑制其他无用信息,这极大地提高了视觉信息处理的效率。Jaderberg等[28]提出一种STN模块,其端到端学习一个仿射变换矩阵,使其能够对特征图进行平移、缩放、旋转等空间变换,从而聚焦于关键目标区域。Hu等[29]提出一个重要的SENet模型结构,通过全局平均池化将三维特征图的空间信息压缩到一维通道特征图中,然后通过两个全连接层融合各通道的信息,学习每个通道的注意力权重。
3 基于注意力模型的面部表情识别算法
3.1 卷积神经网络模型
所提出的基于通道和空间注意力的卷积神经网络(CSACNN)结构如
3.2 注意力模型
面部表情识别的关键问题是寻找表情变化突出的表情特征区域。注意力机制是被广泛认为有助于解决这类问题的方法。受文献[ 30]的启发,本研究将注意力模型应用于面部表情识别网络,该注意力模型由通道注意力和空间注意力两部分组成。
3.2.1 通道注意力分支
特征图的每个通道都可看作是一个特征检测器,因此通道注意力关注的是哪种特征对输入图像来说更有意义。如
3.2.2 空间注意力分支
不同于通道注意力,空间注意力侧重于寻找输入图像中更需关注的位置。如
3.2.3 注意力模型集成与残差学习单元
如
式中:Xatt∈Rc×h×w表示集成注意力图;1表示大小为Rc×h×w,元素全部为1的张量;Xch_att∈Rc×h×w表示通道注意力图;Xsp_att∈Rc×h×w表示空间注意力图;表示对应元素相乘;表示对应元素相加。
3.3 面部表情关键区域
在面部动作编码系统(FACS)[31]中,面部表情由与面部肌肉变化有关的动作单元编码而成。眉毛、眼睛、鼻子、嘴巴及其周围区域是面部肌肉的主要分布区。面部表情特征在这4个部位周围更加显著。为了减小非表情信息的干扰,提出一种面部表情关键区域截取方案。首先,使用FAN[16]面部关键点检测方法,检测出面部68个关键点,记第n个关键点的坐标为(xn,yn) ,面部关键点的分布如
式中:i、j分别表示遮罩图的横、纵坐标;σ为变量,用于控制遮罩范围的大小,本研究中取σ=10。最后,使用(3)式截取面部表情关键区域。
式中:I表示原图;Icrop表示截取图像。整个过程如
图 6. 面部表情关键区域的截取。(a)原图;(b)面部遮罩;(c)截取图像
Fig. 6. Cropping of key areas of facial expression. (a) Original image; (b) facial mask; (c) cropped image
4 实验结果
为了验证所提方法的有效性,在CK+、MMI两个表情数据集上进行实验。
4.1 预处理
使用3.3节描述的方法截取面部表情关键区域,得到如
4.2 实验数据集
4.2.1 CK+数据集
CK+[10]数据集包含了118个不同受试者的327个图像序列。每个序列以中性状态开始,以表情峰值结束。图像序列是从正面视角采集的,每个序列被标记为7类表情(愤怒、蔑视、厌恶、恐惧、高兴、悲伤和惊喜)。收集了每个序列的最后3个峰值帧,建立了包含981幅图像的7类表情的实验数据集。这些图像按照受试者身份编号的升序分为10组,其中9组用于训练,1组用于验证。实验数据集中用于训练的受试者不会用于测试,也就是说实验数据集进行与身份无关的十折交叉验证。
4.2.2 MMI数据集
MMI[11-12]表情数据集包含了32个受试者的236个图像序列,每个序列从中性状态到表情峰值再回到中性状态。这些人脸图像是从正面和侧脸视角拍摄的,每个序列被标记为6种基本表情(愤怒、厌恶、恐惧、高兴、悲伤和惊喜)中的一种。选取正面视角拍摄的31个受试者的208个序列,收集每个序列的中间3个表情峰值帧,建立了包含624幅图像的6类表情的实验数据集。实验数据集进行与身份无关的十折交叉验证。
4.3 实验环境和实现细节
本实验是在Ubuntu 18.04系统环境下,基于PyTorch深度学习框架构建的。中央处理器为3.20 GHz的Intel Core i7-8700 CPU,内存为64 GB,显卡型号是NVIDIA GeForce GTX 2080Ti。
所提网络使用预处理后的90 pixel×90 pixel的人脸图像作为输入,使用批量大小为440、动量参数为0.9、权值衰减参数为0.00005的随机梯度下降算法进行训练。由于CK+数据集与MMI数据集包含的表情类数不一致,因此网络的最后一个全连接层要分别构建,对CK+数据集进行十折交叉验证时,网络的最后一个全连接层包含7个神经元,而对MMI来说只用6个神经元。
4.4 对比实验
4.4.1 超参数的选择
在CK+数据集上研究了注意力模型中的全连接层、1×1卷积层的降维比r和3×3卷积层的扩张率d对网络性能的影响,实验结果如
表 1. 超参数对网络性能的影响
Table 1. Effect of hyper-parameters on network performance
|
4.4.2 注意力模型位置的选择
在网络的三个位置——卷积层后、池化层前,以及池化层后,分别添加注意力模型,研究注意力模型的位置对网络性能的影响,实验结果如
表 2. 注意力模型的位置对网络性能的影响
Table 2. Effect of attention model location on network performance
|
4.4.3 表情识别性能
本文方法在两个常用的面部表情数据集CK+和MMI上进行了与身份无关的十折交叉验证,实验结果如
表 3. 不同表情识别方法性能对比
Table 3. Performance comparison of different expression recognition methods
|
将本文方法在两个经典神经网络结构VGG16和ResNet50进行表情识别性能的验证,结果表明,直接使用高性能的CNN网络结构进行表情识别是不合适的,这是因为较大的模型容易在表情数据集上产生过拟合。本文方法基于静态帧设计,更适合用于单幅图像的识别。相比于图像序列方法,单幅图像方法的计算量更小,性能上没有明显差距。单幅图像方法中DeRL[36]方法和PPDN[37]方法使用了中性表情帧作为参考,因此取得了比其他方法更好的性能, Kuo等[19]采用紧凑网络结构在CK+数据集的对比中取得了最好的性能。本文方法使用轻量级的网络结构,模型的参数量仅有1.6×106,相比于Kuo等[19]研究模型的2.6×106参数量减少了38%,但模型准确率并没有显著下降,在CK+数据集上,本文模型的准确率比文献[ 19]模型高出了0.08个百分点。本文方法取得了相比于其他单幅图像方法更优的性能。
4.5 模块有效性验证
本节验证了通道注意力、空间注意力以及面部表情关键区域截取三个模块的有效性,实验结果如
表 4. 不同模块的性能对比
Table 4. Performance comparison of different modules
|
5 结论
提出一种基于注意力模型的面部表情识别算法,该方法由通道注意力模块和空间注意力模块两部分组成。通道注意力模块关注不同特征通道的重要性,加强表情特征的作用,减少无用特征的干扰,实现对特征的自适应学习。空间注意力模块对特征图的不同区域赋予不同的重要性权重,实现对显著表情区域的关注。该方法通过通道降维和扩张卷积的方式,以较小的开销实现了对特征图的面部表情识别。此外,提出一种面部关键区域截取方法以避免背景干扰。实验结果表明,本文方法对CK+和MMI表情数据集的面部表情识别准确性明显提高。
[1] LiS, Deng WH. Deep facial expression recognition: a survey[EB/OL]. [2019-10-29].https:∥arxiv.org/abs/1804. 08348.
[3] AhonenT, RahtuE, OjansivuV, et al. Recognition of blurred faces using Local Phase Quantization[C]∥2008 19th International Conference on Pattern Recognition, December 8-11, 2008, Tampa, FL, USA. New York: IEEE, 2008: 1- 4.
[4] DalalN, TriggsB. Histograms of oriented gradients for human detection[C]∥2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR'05),June 20-25,2005,San Diego, CA, USA. New York: IEEE, 2005: 1- 8.
[5] Krizhevsky A, Sutskever I, Hinton G E. ImageNet classification with deep convolutional neural networks[J]. Communications of the ACM, 2017, 60(6): 84-90.
[6] SimonyanK, ZissermanA. Very deep convolutional networks for large-scale image recognition[EB/OL]. [2019-10-29].https:∥arxiv.org/abs/1409. 1556.
[7] SzegedyC, LiuW, Jia YQ, et al. Going deeper with convolutions[C]∥2015 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 7-12, 2015, Boston, MA, USA. New York: IEEE, 2015: 1- 9.
[8] He KM, Zhang XY, Ren SQ, et al. Deep residual learning for image recognition[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE, 2016: 770- 778.
[9] HuangG, Liu Z, van der Maaten L, et al. Densely connected convolutional networks[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI. New York: IEEE, 2017: 4700- 4708.
[10] LuceyP, Cohn JF, KanadeT, et al. The Extended Cohn-Kanade Dataset (CK+): a complete dataset for action unit and emotion-specified expression[C]∥2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition-Workshops, June 13-18, 2010, San Francisco, CA, USA. New York: IEEE, 2010: 94- 101.
[11] PanticM, ValstarM, RademakerR, et al. Web-based database for facial expression analysis[C]∥2005 IEEE International Conference on Multimedia and Expo, July 6, 2005, Amsterdam, The Netherlands. New York: IEEE, 2005: 1- 5.
[12] Valstar MF, PanticM. Induced disgust, happiness and surprise: an addition to the mmi facial expression database[C]. Workshop on EMOTION (Satellite of LREC): Corpora for Research on Emotion and Affect, 2010: 65.
[14] Zhang K P, Zhang Z P, Li Z F, et al. Joint face detection and alignment using multitask cascaded convolutional networks[J]. IEEE Signal Processing Letters, 2016, 23(10): 1499-1503.
[15] King D E. Dlib-ml: A machine learning toolkit[J]. Journal of Machine Learning Research, 2009, 10: 1755-1758.
[16] BulatA, TzimiropoulosG. How far are we from solving the 2D & 3D face alignment problem? (and a dataset of 230000 3D facial landmarks)[C]∥2017 IEEE International Conference on Computer Vision (ICCV), October 22-29, 2017, Venice. New York: IEEE, 2017: 1021- 1030.
[17] LiuP, Han SZ, Meng ZB, et al. Facial expression recognition via a boosted deep belief network[C]∥2014 IEEE Conference on Computer Vision and Pattern Recognition, June 23-28, 2014, Columbus, OH, USA. New York: IEEE, 2014: 1805- 1812.
[18] JungH, LeeS, YimJ, et al. Joint fine-tuning in deep neural networks for facial expression recognition[C]∥2015 IEEE International Conference on Computer Vision (ICCV), December 7-13, 2015, Santiago, Chile. New York: IEEE, 2015: 2983- 2991.
[19] Kuo CM, Lai SH, SarkisM. A compact deep learning model for robust facial expression recognition[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), June 18-22, 2018, Salt Lake City, UT, USA. New York: IEEE, 2018: 2121- 2129.
[20] 何志超, 赵龙章, 陈闯. 用于人脸表情识别的多分辨率特征融合卷积神经网络[J]. 激光与光电子学进展, 2018, 55(7): 071503.
[21] 姚丽莎, 徐国明, 赵凤. 基于卷积神经网络局部特征融合的人脸表情识别[J]. 激光与光电子学进展, 2020, 57(4): 041513.
[22] Meng ZB, LiuP, CaiJ, et al. Identity-aware convolutional neural network for facial expression recognition[C]∥2017 12th IEEE International Conference on Automatic Face & Gesture Recognition (FG 2017), May 30-June 3, 2017, Washington, DC, USA. New York: IEEE, 2017: 558- 565.
[23] DingH, Zhou SK, ChellappaR. FaceNet2ExpNet: regularizing a deep face recognition net for expression recognition[C]∥2017 12th IEEE International Conference on Automatic Face & Gesture Recognition (FG 2017), May 30-June 3, 2017, Washington, DC, USA. New York: IEEE, 2017: 118- 126.
[24] LiS, Deng WH, Du JP. Reliable crowdsourcing and deep locality-preserving learning for expression recognition in the wild[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI. New York: IEEE, 2017: 2852- 2861.
[25] CaiJ, Meng ZB, Khan AS, et al. Island loss for learning discriminative features in facial expression recognition[C]∥2018 13th IEEE International Conference on Automatic Face & Gesture Recognition (FG 2018), May 15-19, 2018, Xi'an. New York: IEEE, 2018: 302- 309.
[26] 吴慧华, 苏寒松, 刘高华, 等. 基于余弦距离损失函数的人脸表情识别算法[J]. 激光与光电子学进展, 2019, 56(24): 241502.
[27] VaswaniA, ShazeerN, ParmarN, et al. Attention is all you need[EB/OL]. [2019-10-29].https:∥arxiv.org/abs/1706. 03762.
[28] JaderbergM, SimonyanK, ZissermanA, et al. Spatial transformer networks[EB/OL]. [2019-10-29].https:∥arxiv.org/abs/1506. 02025.
[29] HuJ, ShenL, SunG. Squeeze-and-excitation networks[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT. New York: IEEE, 2018: 7132- 7141.
[30] ParkJ, WooS, LeeJ, et al. BAM: bottleneck attention module[EB/OL]. [2019-10-29].https:∥arxiv.org/abs/1807. 06514.
[31] Ekman P, W V. Facial Action Coding System (FACS): a technique for the measurement of facial action[J]. Rivista di Psichiatria, 1978, 47(2): 126-138.
[32] Liu MY, Li SX, Shan SG, et al.Deeply learning deformable facial action parts model for dynamic expression analysis[M] ∥Computer Vision-ACCV 2014. Cham: Springer International Publishing, 2015: 143- 157.
[33] Zhao G Y, Pietikainen M. Dynamic texture recognition using local binary patterns with an application to facial expressions[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2007, 29(6): 915-928.
[34] Klaser A, Marszałek M, Schmid C. A spatio-temporal descriptor based on 3D-gradients[J]. Proceedings of the British Machine Conference, 2008, 99: 1-10.
[35] Liu MY, Shan SG, Wang RP, et al. Learning expressionlets on spatio-temporal manifold for dynamic facial expression recognition[C]∥2014 IEEE Conference on Computer Vision and Pattern Recognition, June 23-28, 2014, Columbus, OH, USA. New York: IEEE, 2014: 1749- 1756.
[36] Yang HY, CiftciU, Yin LJ. Facial expression recognition by de-expression residue learning[C]∥2018 IEEE/CVF Conference on Computer Vision and Pattern Recognition, June 18-23, 2018, Salt Lake City, UT. New York: IEEE, 2018: 2168- 2177.
[37] Zhao XY, Liang XD, Liu LQ, et al.Peak-piloted deep network for facial expression recognition[M] ∥Computer Vision-ECCV 2016. Cham: Springer International Publishing, 2016: 425- 442.
Article Outline
褚晶辉, 汤文豪, 张姗, 吕卫. 一种基于注意力模型的面部表情识别算法[J]. 激光与光电子学进展, 2020, 57(12): 121015. Jinghui Chu, Wenhao Tang, Shan Zhang, Wei Lü. An Attention Model-Based Facial Expression Recognition Algorithm[J]. Laser & Optoelectronics Progress, 2020, 57(12): 121015.