2. 南京晓庄学院 信息工程学院,江苏 南京 211171
2. School of Information and Engineering, Nanjing Xiaozhuang University, Nanjing 211171, China
微表情是人们试图隐藏真实情感时不由自主泄露出的面部表情,是人类经过长期进化遗传而继承下来的。其作为人内在情绪的真实表现,能够揭示一个人的真实情绪,具有持续时间短、强度低、难以诱导[1]等特征,因此它成为精神心理学和情感分析领域最可靠的生理特征之一。
微表情识别算法主要有特征描述算法、特征转换算法、光流算法、频域算法、深度学习算法等。特征描述算法[2-4]通过描述微表情的面部肌肉运动特性、纹理特性等实现对微表情的特征表示,在局部二值模式的基础上,减少噪声、光照等因素的影响,提升特征描述的准确性。特征转换算法[5-6]将微表情序列看作张量,对其进行矩阵变换去除冗余信息,增加颜色、空间和时间等信息。光流算法[7-9]主要分析光流场中微表情序列的变化,从像素的角度提取相邻两帧像素的相对运动,捕捉面部的细微变化,降低头部运动和光线变化对特征的影响。频域算法[10-12]将微表情序列看作一个时域信号,通过傅里叶变换、Gabor变换等转换到频域上,提取振幅、相位信息等特征,能够有效提取面部轮廓的角点和边缘信息等局部特征。基于深度学习的微表情识别算法利用神经网络自主学习的特征,得到高层的语义信息。Patel等[13]探索深度学习用于微表情识别任务,提出一种选择性的深层特征进行微表情识别,去除不相关的深层特征。Peng等[14]提出了双时域尺度卷积神经网络(dual temporal scale convolutional neural network, DTSCNN),采用不同的网络流来适应不同帧率的微表情视频序列,避免了过拟合问题的出现。同时,将光流序列加到浅层网络,使得网络可以得到高层次特征。Verma等[15]提出了LEARNet(lateral accretive hybrid network)捕捉面部表情的微观特征,在网络中加入AL (accretion layers)细化表达特征。目前的工作多采用微表情视频序列进行研究,该方法不仅计算复杂、耗时长,而且实际应用场景中通常也难以获得完整的微表情视频序列用以分类,具有一定的局限性。针对这一情况,本文提出了基于双注意力模型和迁移学习的Apex帧微表情识别方法,主要贡献有3点:
1)借鉴CBAM[16]的设计理论,并针对微表情的特性,在ResNet18[17]网络的基础上集成空间注意力模块、通道注意力模块,提升神经网络对Apex帧微表情特征的提取性能;
2)采用Focal Loss[18]函数,解决微表情样本比例严重失衡的问题;
3)使用迁移学习的方式,从宏表情识别领域迁移到微表情识别领域,缓解微表情数据集样本严重不足的情况。
1 预处理本文所提出的微表情识别算法主要包括微表情视频序列预处理和深度学习分类两部分,其整体流程如图1所示。
Download:
|
|
大多数微表情识别算法都将微表情作为一个视频序列进行处理。视频序列一般包含起始帧(Onset frame)、峰值帧(Apex frame)和终止帧(Offset frame)。其中,Apex帧是微表情面部肌肉运动变化最为明显的一帧,最具有代表性。Liong等[19-20]认为高帧率下的微表情视频序列并不是每一帧都是有效的,相反会造成计算冗余现象的发生。他们提出了只使用起始帧和峰值帧的特征提取方法Bi-WOOF和OFF-ApexNet,识别效果非常显著。为了减少计算量,更加高效、快捷地将微表情进行分类,本文选取微表情视频序列中已标注的Apex帧进行处理。
1.2 人脸图像预处理在图像预处理过程中,使用OpenCV和Dlib库实现人脸68个关键特征点检测并进行标注。由于摄像头采集的人脸图像存在姿态多样、角度多样等问题,通过人脸对齐使之更符合微表情识别的需求。在已标注的特征关键点中选取左内眼角坐标
$ \left\{ {\begin{aligned} &{\theta = \arctan [({y_2} - {y_1})/({x_2} - {x_1})]} \\ &{{\text{dist}} = \sqrt {{{({y_2} - {y_1})}^2} + {{({x_2} - {x_1})}^2}} } \end{aligned}} \right. $ | (1) |
将人脸眼距的中点作为旋转中心
$ \left\{ {\begin{aligned} &{{x'} = (x - {x_0})\cos \theta + (y - {y_0})( - \sin \theta ) + {x_0}} \\ &{{y'} = (x - {x_0})\sin \theta + (y - {y_0})\cos \theta + {y_0}} \end{aligned}} \right. $ | (2) |
深度学习的框架设计部分将分别介绍空间注意力机制、通道注意力机制、残差学习单元集成双注意力模型的方法、损失函数的选择、迁移学习的运用方式。
2.1 空间注意力机制空间注意力机制专注于特征图中的重要空间信息部分,本文使用的空间注意力模块(spatial attention module)如图2所示。将特征图作为空间注意力模块的输入,分别在最大池化操作和平均池化操作后进行拼接,接着采用核为7×7的卷积提取感受野,最后通过Sigmoid激活函数生成空间注意力特征图。空间注意力模块定义为
$ \begin{array}{l} \;\;\; {\boldsymbol{S}}({\boldsymbol{F}}{\text{) = }}\sigma {\text{(}}{f^{7 \times 7}}({{\rm{Concat}}} [ {{\rm{MaxPool}}} ({\boldsymbol{F}});{{\rm{AvgPool}}} ({\boldsymbol{F}})])) \end{array} $ | (3) |
Download:
|
|
通道注意力机制关注不同特征通道的权重分布,本文使用的通道注意力模块(channel attention module)如图3所示。假设输入特征图
$ \begin{array}{l} {{\boldsymbol{C}}} {\text{(}}{\boldsymbol{F}}{\text{) = }}\sigma {\text{(}}{f^{1 \times 1}}({{\rm{ReLU}}} ({f^{1 \times 1}}({{\rm{MaxPool}}} ({\boldsymbol{F}})))){\text{ + }} \\ \;\;\;\;\;\;\;\;\;\;\;\;{f^{1 \times 1}}({{\rm{ReLU}}} ({f^{1 \times 1}}({{\rm{AvgPool}}} ({\boldsymbol{F}}))))) \\ \end{array} $ | (4) |
Download:
|
|
本文将空间注意力模块、通道注意力模块集成到ResNet18网络的残差学习单元中,如图4所示。具体流程为输入特征图
$ \begin{array}{l} {\boldsymbol{F}}' = {\boldsymbol{S}}({\boldsymbol{F}}) \otimes {\boldsymbol{F}} \\ {\boldsymbol{F}}'' = {\boldsymbol{C}}({\boldsymbol{F}}) \otimes {\boldsymbol{F}}' \\ {\boldsymbol{F}}''' = {\boldsymbol{F}} \oplus {\boldsymbol{F}}'' \\ \end{array} $ | (5) |
Download:
|
|
由于微表情持续时间短、区别度低、采集难度高,微表情数据集中常常出现样本分布不平衡的现象。为了解决这一问题,本文使用Focal Loss函数。该损失函数是交叉熵损失函数的改进版本,一个二分类交叉熵损失函数可以表示为
$ \text{CE}(p,y)=\left\{\begin{aligned} &-\log(p) ,\quad y=1\\ &-\log(1-p) ,\quad{其他} \end{aligned}\right. $ | (6) |
式中
$ {p}_{t}=\left\{\begin{aligned} &p \text{,}\quad y=1\\ &1-p \text{,}\quad{其他} \end{aligned} \right.$ | (7) |
即交叉熵CE为
$ {\text{CE}}(p,y) = {\text{CE}}({p_t}) = - \log ({p_t}) $ | (8) |
Focal Loss在交叉熵损失的基础上添加一个调制系数
$ {\text{FL}}({p_t}) = - {(1 - {p_t})^\gamma }\log ({p_t}) $ | (9) |
其作用在于通过赋予易分类样本较小的权重,赋予难分类样本较大的权重,使模型在训练时更专注于难分类的样本,在一定程度上解决样本分布不平衡的问题。在多分类任务下,Focal Loss则定义为
$ \begin{array}{l} {\text{FL}}(p,y) = - \displaystyle\sum\limits_n {\displaystyle\sum\limits_i {[\alpha {{(1 - p_i^n)}^\gamma }y_i^n\ln } } p_i^n + \\ \quad(1 - \alpha ){(p_i^n)^\gamma }(1 - y_i^n)\ln (1 - p_i^n)] \\ \end{array} $ | (10) |
式中
传统的深度学习中,模型充分预估结果需要数据集样本数量足够、训练数据和测试数据满足同分布。由于微表情数据集的规模都非常小,直接应用于神经网络的训练可能会引发过拟合、准确率低等问题,而迁移学习可以从大型数据集中学习先验知识,将模型参数迁移至待训练的网络模型中,从而提高模型的训练效率。
宏表情识别与微表情识别之间具有一定的共同之处,比如都有高兴、惊奇、沮丧、恐惧、厌恶等表情标签,都能够反映人的情绪。但微表情一般是一段视频,而宏表情则是根据单张图片进行分类。因为本文选取微表情视频序列的Apex帧进行识别,即和宏表情识别的神经网络输入方式一样,所以迁移学习能够更好地应用。本文将宏表情识别作为辅助域,微表情识别作为目标域,通过迁移学习共享模型参数提高识别准确率。
3 实验结果与分析 3.1 微表情数据集实验使用中国科学院心理研究所傅小兰课题组提供的CASME II微表情数据集[21],包括255个微表情视频样本,采样率为200 f/s,分辨率为280像素×340像素,26位采集对象均来自亚洲,平均年龄22.03岁。微表情分类为厌恶(63个样本)、高兴(32个样本)、惊奇(28个样本)、压抑(27个样本)、沮丧(4个样本)、恐惧(2个样本)和其他(99)共7种。由于沮丧和恐惧两种类型的样本数量过少,因此本实验仅使用其余5类共249个样本进行实验,其组成分布如图5所示。可以看到,“其他”的样本数量占据了很大一部分。
Download:
|
|
迁移学习采用来自卡耐基梅隆大学的The Extended Cohn-Kanade Dataset (CK+)[22]数据集,该数据集包含123位录制者的593组表情序列,其中有327组被标注为愤怒、厌恶、恐惧、高兴、沮丧、惊奇和蔑视,共7种表情类别。与CASME II微表情数据集中每个表情序列包含起始帧至终止帧不同,该宏表情序列包含表情的中性状态至表情的最大表达状态。本文从带标签的表情序列中选取表现比较强烈的共981张图片作为实验数据。
3.3 实验设置本实验在Windows 10系统环境下,预处理部分使用OpenCV、Dlib库,神经网络基于PyTorch深度学习框架进行搭建,同时使用NVDIA CUDA框架10.1和cuDNN 8.0.3库。实验硬件平台中央处理器为Intel Core i9-9900X,内存为64 GB,显卡型号为NVDIA GeForce RTX 2080TI×2,硬盘为SAMSUNG 970 EVO PLUS 1TB。
本文使用留一交叉验证法(leave-one-subject-out cross-validation, LOSOCV),即将每位采集对象分别作为测试集,对CASME II微表情数据集一共进行26个训练测试过程。目前的研究工作中多采用此验证方法,优点在于每次迭代中都使用了最大可能数目的样本来训练,充分利用数据,采样具有确定性,而且由于微表情数据集样本数较少,不会造成很大的计算开销。另外,每位采集对象的微表情之间具有一定的差异性,将单独一位采集对象的所有微表情样本作为测试集,能够更好地反应方法的泛化能力。该数据集中已经标注了Apex帧的位置,直接采用数据集中标注的峰值帧作为实验所用的Apex帧。由于数据集中每位采集对象包含的微表情类别及样本数量差异较大,所以使用留一交叉验证法是个极大的挑战。在留一交叉验证的过程中,所有的微表情样本都会被分类器运算一次,本文采用对数据集整体准确率判定的方式评价模型的性能,其准确率计算公式为
$ {\text{准确率}}\text=\frac{{\text{被正确识别的微表情样本总数}}}{{\text{微表情数据集样本总数}}}\times 100{\text{%}}$ | (11) |
为了研究Focal Loss函数在微表情识别方面的有效性,本文在原生ResNet18的基础上对比使用Cross Entropy Loss函数,进行了2组实验。将原始图片均处理为224像素×224像素大小输入网络,初始学习率设为0.001,每批次包含249张图片,在实验中使用两张显卡并行计算。实验结果如表1所示,在使用Focal Loss函数后,其识别准确率提升了1.21%,证明使用Focal Loss函数在微表情样本不平衡的情况下对于微表情识别有着更好的性能。
为了研究空间注意力模块、通道注意力模块和混合注意力模块对于微表情识别是否有效,本文在使用Focal Loss函数的基础上进行了4组对比实验,分别是原生ResNet18模型、融合空间注意力模块的ResNet18模型、融合通道注意力模块的ResNet18模型和融合双注意力模块的ResNet18模型,识别准确率如表2所示。可以看到,3种融合注意力模块的方法在识别准确率方面,相比较原生ResNet18分别提升了4.02%、2.41%和4.82%,证明该双注意力机制有助于微表情识别。
结合Focal Loss和双注意力模块的识别算法在CASME II数据上实验,得到最终准确率为43.37%。将该算法应用于CK+数据集,按照8∶2划分训练集和测试集,多次训练后选取测试集准确率最高为94.38%的模型进行迁移学习。在模型预训练后,微表情识别准确率提升至44.97%。为了进一步全面衡量分类器的性能,在实验中增加另外一个评价标准
$ {F_1} = 2 \times \frac{{{{P}} \times {{R}}}}{{{{P}} + {{R}}}} $ | (12) |
$ {{P}} = \frac{{{\rm{TP}}}}{{{\rm{TP}} + {\rm{FP}}}} $ | (13) |
$ {{R}} = \frac{{{\rm{TP}}}}{{{\rm{TP}} + {\rm{FN}}}} $ | (14) |
式中:TP表示真阳性(true positive)的个数;FP表示假阳性(false positive)的个数;FN表示假阴性(false negative)的个数;P代表准确率;R代表召回率。表3给出了各种方法在CASME II数据集上的实验结果,本文算法在准确率方面相比其他微表情识别方法有一定的提升,在
本文使用集成空间、通道双注意力机制的ResNet18网络,更加关注微表情的细节特征,同时引入Focal Loss函数缓解微表情数据集样本类别不平衡的状况。在CK+宏表情数据集上预训练后,迁移模型参数至CASME II微表情数据集再进行训练测试,取得了不错的识别效果。考虑到本文算法仅使用微表情视频序列中的Apex帧,相比现有的一些算法有着更为广泛的适用场景。后续研究将进一步关注于微表情数据集中样本的平衡性问题,同时更深地挖掘宏表情与微表情之间的关联,提高微表情识别的精度。
[1] | SHEN Xunbing, WU Qi, FU Xiaolan. Effects of the duration of expressions on the recognition of microexpressions[J]. Journal of Zhejiang University SCIENCE B, 2012, 13(3): 221-230. DOI:10.1631/jzus.B1100063 (0) |
[2] | ZHAO Guoying, 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. DOI:10.1109/TPAMI.2007.1110 (0) |
[3] | WANG Yandan, SEE J, PHAN R C W, et al. LBP with six intersection points: reducing redundant information in LBP-TOP for micro-expression recognition[C]//Proceedings of the 12th Asian Conference on Computer Vision. Singapore, Singapore, 2014: 525-537. (0) |
[4] |
卢官明, 杨成, 杨文娟, 等. 基于LBP-TOP特征的微表情识别[J]. 南京邮电大学学报(自然科学版), 2017, 37(6): 1-7. LU Guanming, YANG Cheng, YANG Wenjuan, et al. Micro-expression recognition based on LBP-TOP features[J]. Journal of Nanjing University of Posts and Telecommunications (natural science edition), 2017, 37(6): 1-7. (0) |
[5] | WANG Sujing, YAN Wenjing, LI Xiaobai, et al. Micro-expression recognition using dynamic textures on tensor independent color space[C]//Proceedings of the 22nd International Conference on Pattern Recognition. Stockholm, Sweden, 2014: 4678−4683. (0) |
[6] | WANG Sujing, YAN Wenjing, LI Xiaobai, et al. Micro-expression recognition using color spaces[J]. IEEE transactions on image processing, 2015, 24(12): 6034-6047. DOI:10.1109/TIP.2015.2496314 (0) |
[7] | XU Feng, ZHANG Junping, WANG J Z. Microexpression identification and categorization using a facial dynamics map[J]. IEEE transactions on affective computing, 2017, 8(2): 254-267. DOI:10.1109/TAFFC.2016.2518162 (0) |
[8] | LIU Yongjin, ZHANG Jinkai, YAN Wenjing, et al. A main directional mean optical flow feature for spontaneous micro-expression recognition[J]. IEEE transactions on affective computing, 2016, 7(4): 299-310. DOI:10.1109/TAFFC.2015.2485205 (0) |
[9] |
张轩阁, 田彦涛, 郭艳君, 等. 基于光流与LBP-TOP特征结合的微表情识别[J]. 吉林大学学报(信息科学版), 2015, 33(5): 516-523. ZHANG Xuange, TIAN Yantao, GUO Yanjun, et al. Micro-Expression recognition based on feature combination of optical flow and LBP-TOP[J]. Journal of Jilin University (information science edition), 2015, 33(5): 516-523. (0) |
[10] | OH Y H, LE NGO A C, SEE J, et al. Monogenic Riesz wavelet representation for micro-expression recognition[C]//Proceedings of 2015 IEEE International Conference on Digital Signal Processing. Singapore, Singapore, 2015: 1237−1241. (0) |
[11] | WU Qi, SHEN Xunbing, FU Xiaolan. The machine knows what you are hiding: an automatic micro-expression recognition system[C]//Proceedings of the 4th International Conference on Affective Computing and Intelligent Interaction. Memphis, TN, USA, 2011: 152−162. (0) |
[12] | ZHANG Peng, BEN Xianye, YAN Rui, et al. Micro-expression recognition system[J]. Optik, 2016, 127(3): 1395-1400. DOI:10.1016/j.ijleo.2015.10.217 (0) |
[13] | PATEL D, HONG Xiaopeng, ZHAO Guoying. Selective deep features for micro-expression recognition[C]//Proceedings of the 23rd International Conference on Pattern Recognition. Cancun, Mexico, 2016: 2258−2263. (0) |
[14] | PENG Min, WANG Chongyang, CHEN Tong, et al. Dual temporal scale convolutional neural network for micro-expression recognition[J]. Frontiers in psychology, 2017, 8: 1745. DOI:10.3389/fpsyg.2017.01745 (0) |
[15] | VERMA M, VIPPARTHI S K, SINGH G, et al. LEARNet: dynamic imaging network for micro expression recognition[J]. IEEE transactions on image processing, 2019, 29: 1618-1627. (0) |
[16] | WOO S, PARK J, LEE J Y, et al. CBAM: convolutional block attention module[C]//Proceedings of the 15th European Conference on Computer Vision. Munich, Germany, 2018: 3−19. (0) |
[17] | HE Kaiming, ZHANG Xiangyu, REN Shaoqing, et al. Deep residual learning for image recognition[C]//Proceedings of 2016 IEEE Conference on Computer Vision and Pattern Recognition. Las Vegas, USA, 2016: 770−778. (0) |
[18] | LIN T Y, GOYAL P, GIRSHICK R, et al. Focal loss for dense object detection[C]//Proceedings of 2017 IEEE International Conference on Computer Vision. Venice, Italy, 2017: 2980−2988. (0) |
[19] | LIONG S T, SEE J, WONG K S, et al. Less is more: micro-expression recognition from video using apex frame[J]. Signal processing: image communication, 2018, 62: 82-92. DOI:10.1016/j.image.2017.11.006 (0) |
[20] | GAN Y S, LIONG S T, YAU W C, et al. OFF-ApexNet on micro-expression recognition system[J]. Signal processing: image communication, 2019, 74: 129-139. DOI:10.1016/j.image.2019.02.005 (0) |
[21] | YAN Wenjing, LI Xiaobai, WANG Sujing, et al. CASME II: an improved spontaneous micro-expression database and the baseline evaluation[J]. PLoS One, 2014, 9(1): e86041. DOI:10.1371/journal.pone.0086041 (0) |
[22] | LUCEY P, COHN J F, KANADE T, et al. The extended cohn-kanade dataset (ck+): a complete dataset for action unit and emotion-specified expression[C]//Proceedings of 2010 IEEE Computer Society Conference on Computer Vision and Pattern Recognition-Workshops. San Francisco, CA, USA, 2010: 94−101. (0) |
[23] | LIONG S T, SEE J, PHAN R C W, et al. Subtle expression recognition using optical strain weighted features[C]//Proceedings of the Asian Conference on Computer Vision. Singapore, Singapore, 2014: 644-657. (0) |
[24] |
孔慧芳, 钱世超, 闫嘉鹏. 基于不均衡数据与迁移学习的面部微表情识别[J]. 合肥工业大学学报(自然科学版), 2020, 43(7): 895-900. KONG Huifang, QIAN Shichao, YAN Jiapeng. Image based facial micro-expression recognition using transfer learning on imbalanced data[J]. Journal of Hefei University of Technology (natural science edition), 2020, 43(7): 895-900. DOI:10.3969/j.issn.1003-5060.2020.07.006 (0) |