基于过渡帧概念训练的微表情检测深度网络
Deep micro-expression spotting network training based on concept of transition frame
收稿日期: 2019-10-19
Received: 2019-10-19
作者简介 About authors
付晓峰(1981—),女,副教授,博士,从事计算机视觉、模式识别、人工智能等研究.orcid.org/0000-0003-4903-5266.E-mail:
为了更准确地从视频中检测面部微表情,针对微表情数据库样本规模较小的特点,采用迁移学习方法将深度卷积神经网络应用于微表情检测问题. 选取预训练过的深度卷积神经网络模型,保留卷积层及预训练参数,添加全连接层和分类器,构造一个二分类的微表情检测深度网络(MesNet). 为了去除微表情数据库中影响网络训练的噪声标签,提出过渡帧的概念和自适应识别过渡帧算法. MesNet在CASME II、SMIC-E-HS与 CAS(ME)2数据库上的曲线下面积(AUC)分别达到0.955 6、0.933 8与0.785 3,其中在CASME II短视频数据库和 CAS(ME)2长视频数据库上均取得最优结果,表明MesNet具有高精度和广适用范围的特点;过渡帧对比实验结果表明,构造训练集时从原始视频中去除过渡帧能够有效提高MesNet微表情检测性能.
关键词:
A deep convolutional neural network was applied in view of the small sample size of micro-expression databases, in order to spot facial micro-expressions more accurately from videos through transfer learning. A pre-trained deep convolutional neural network model was selected, and the convolutional layers and the pre-trained parameters were reserved. The full connected layer and the classifier were added after these layers to construct a deep binary classification micro-expression spotting network (MesNet). The concept of transition frame and an adaptive recognition algorithm of transition frames were proposed to remove the noisy labels from micro-expression databases that disturbed the network training. Experimental results show that the AUC values of MesNet on CASME II, SMIC-E-HS and CAS(ME)2 reach 0.955 6, 0.933 8 and 0.785 3, respectively. Among three databases, MesNet achieves state-of-the-art results both on CASME II which is a short video database and CAS(ME)2 which is a long video database. It shows that the proposed MesNet has the characteristics of high accuracy and wide application range. Comparison experiment results of the transition frame show that removing the transition frames from original videos when constructing the training set can effectively improve the micro-expression spotting performance of MesNet.
Keywords:
本文引用格式
付晓峰, 牛力, 胡卓群, 李建军, 吴卿.
FU Xiao-feng, NIU Li, HU Zhuo-qun, LI Jian-jun, WU Qing.
近年来,Liong等[12]提出一种利用面部光学应变特征检测微表情的方法. Li等[13]提出一个含有4层卷积层的神经网络,并结合定向光流直方图(directional optical flow histogram,HOOF)特征检测微表情. Diana等[14]提出一种微表情分析系统,包括高速图像采集装置和软件系统,通过计算帧差异(frame differences)特征检测微表情. Zhang等[15]提出一种特征矩阵处理方法,与卷积神经网络相结合,从长视频中检测微表情峰值帧. 已有微表情检测算法普遍存在的问题是微表情检测精度较低或者适用范围偏小. 常用于微表情检测的数据库有CASME II[16]、SMIC-E-HS[17]和 CAS(ME)2[18],尚没有一种微表情检测算法同时在3个数据库上得到验证的相关报道.
为了提高微表情检测性能,本研究通过迁移学习(transfer learning)[24]将深度卷积神经网络应用于微表情检测问题. 迁移学习是指调整某个问题上训练好的模型,使其适用于相近领域的新问题. 同时,针对监督学习中噪声标签的概念,本研究提出微表情过渡帧的概念和自适应识别过渡帧算法. 另外,由于微表情数据库中的视频直接放入神经网络训练效果不佳,本研究提出一种对微表情视频进行数据预处理的方法,并证明该方法的有效性.
1. 方 法
1.1. 迁移学习与微表情检测
实验采用CASME II、SMIC-E-HS和CAS(ME)2数据库,构建微表情检测深度网络(micro-expression spotting network,MesNet). 以CASME II数据库中编号为20_EP15_03f的一段视频为例描述MesNet训练流程. 如图1所示,步骤1)是对原始视频进行数据预处理;步骤2)是使用自适应识别过渡帧算法去除过渡帧; 步骤3)是将去除了过渡帧之后的2类样本输入MesNet网络进行训练, MesNet第一部分为在ImageNet数据库上预训练好的CNN模型;步骤4)是在预训练模型之后连接一定数量的全连接层; 步骤5)是在网络最后一层添加Logistic分类器.
图 1
以I表示输入MesNet网络的微表情帧和中性帧样本,则
式中:
式中:F为全连接层;以
式中:Output为全连接层,也为输出层. 以全连接层F为输入,
MesNet网络使用logistic分类器,损失函数为
式中:m为参与一次迭代的样本数,y(i)为第i个训练样本的真实标签值,标签为1代表正样本微表情帧,0代表负样本中性帧.
MesNet网络优化采用学习率自适应的Adam算法. 算法1给出了MesNet网络优化具体步骤.
算法1 MesNet网络优化算法
1)初始化参数值:学习率α = 0.001;一阶矩估计的指数衰减速率ρ1 = 0.9,二阶矩估计的指数衰减速率ρ2 = 0.999;用于数值稳定的小常数δ= 10–8;一阶矩变量s = 0,二阶矩变量r = 0;迭代次数t = 0;使用Xavier方法[25]初始化模型参数θ.
2)从训练集中取出一个包含m个样本的批次{x(1),…,x(m)},x(i)对应的标签为y(i).
3)计算梯度:
式中:k(x(i);θ)表示当网络模型参数为θ时,输入样本x(i)得到的输出.
4)更新迭代次数:
5)更新有偏一阶矩估计和有偏二阶矩估计:
式中:
6)修正一阶矩偏差和二阶矩偏差:
7)计算梯度更新:
应用梯度更新:
8)如果没有到达停止准则,返回步骤2);否则终止训练. MesNet网络优化停止准则为当L在1000次循环内没有进一步改善时终止训练.
1.2. 过渡帧的概念
图 2
在监督学习中,训练数据所对应的标签质量对学习效果具有重要影响. 从微表情数据库制作过程可知,在200帧/s的高速拍摄条件下,无法以100%的准确率判断起始帧和结束帧附近的帧是微表情帧还是中性帧. 因此,第86帧和第181帧附近的帧可能带有噪声标签,如果把带有噪声标签的帧放入训练集,会干扰模型训练. 本研究将起始帧和结束帧附近带有噪声标签的帧定义为过渡帧,并对训练集做去除过渡帧的处理.
1.3. 自适应识别过渡帧
实际上,1.2节2个假设成立是无法被证明的. 在不做任何假设的条件下,为了识别和去除过渡帧,本研究提出自适应识别过渡帧算法. 算法流程如图3所示,具体步骤见算法2.
图 3
算法2 自适应识别过渡帧算法
1) 考虑到过渡帧比例不会超过训练集样本总数50%. 那么,如图2所示,初始化L1∶L2 = L3∶L4 = L5∶L6 = L7∶L8 = 1∶1. 以UT表示过渡帧样本集合,以UT0表示待去除过渡帧样本集合,则UT0 = U2∪U3∪U6∪U7;
2) 如图3所示,U4∪U5作为微表情帧样本,U1∪U8作为中性帧样本,训练MesNet,得到模型C;
3) 使用模型C预测UT0中的样本x(i),属于正样本微表情帧的概率为Pi,若Pi接近0,则样本为中性帧,若Pi接近1,则样本为微表情帧. 那么过渡帧判别公式为
式中:Pmin,Pmax∈(0,1),Pmin、Pmax具体取值将在下文讨论;
4) U2、U3、U6、U7去除过渡帧之后的样本集合分别为U2-、U3-、U6-、U7-. 则放入训练集的微表情帧样本集合为
中性帧样本集合为
将UT0总共24 454个样本输入模型C进行预测,得到对应的24 454个概率值. 为了确定最优阈值Pmin、Pmax,作概率分布图如图4所示。图中,横坐标P为预测概率,纵坐标N为样本数量. 概率分布在[0,0.05]区间内的16 616个样本,模型C判断其为微表情帧的概率不高于0.05,即为中性帧的概率不低于0.95;概率分布在[0.95,1.00]的5 429个样本,模型C判断其为微表情帧的概率不低于0.95. 样本预测概率值越接近0.5,说明模型C越难以判断其类别,预测结果可信度越低,此类样本即为过渡帧. 结合概率分布情况,分布在[0,0.05]的样本数量远多于(0.05,0.10]的,而分布在(0.05,0.10]的样本数量没有远多于(0.10,0.15]的,可以确定Pmin取值为0.05,同理可确定Pmax取值为0.95. 采用自适应识别过渡帧算法从CASME II数据库训练集共48 670个样本中去除2 409个过渡帧样本,占训练集样本总数约4.950%. 对SMIC-E-HS与 CAS(ME)2数据库的处理与此类似.
图 4
图 4 待去除过渡帧样本概率分布图
Fig.4 Probability distribution of samples waiting to remove transition frames
1.4. 数据预处理
图 5
如图6所示,设2个外眼角坐标编号分别为36和45,利用这2点的横纵坐标可计算得出人脸的偏斜角度. 设第36和45关键点坐标分别为(x1, y1)和(x2, y2),则
水平差量:
垂直差量:
人脸偏转角度:
图 6
图 7
图 8
2. 实 验
2.1. 微表情检测算法性能评价指标
微表情检测算法主要评价指标包括受试者工作特性(receiver operating characteristics,ROC)曲线和曲线下面积(area under curve,AUC),其次为Precision、Recall、F-Measure和Accuracy. 根据测试集的真实标签和MesNet预测标签,可得如图9所示的微表情检测二分类混淆矩阵.
图 9
正样本为微表情帧,负样本为中性帧. 如果一个测试集的正样本被MesNet预测为正,记作True Positive,被预测为负记作False Negative;如果测试集的负样本被MesNet预测为负,记作True Negative,被预测为正记作False Positive. 用TP代表True Positives,FN代表False Negatives,TN代表True Negatives,FP代表False Positives. Precision、Recall、F-Measure和 Accuracy计算方法如下:
ROC曲线描述了收益(True Positive)和成本(False Positive)之间的相对权衡,横坐标为False Positive Rate(FPR),纵坐标为True Positive Rate(TPR),计算方法如下:
ROC空间中每个点代表一个分类器. 如果一个点在另一个点左上方,这个点所代表的分类器性能比另一个点更好. 当分类器阈值取不同值时,可得到一系列(FPR, TPR)点,即为ROC曲线[27]. 本研究使用python机器学习库scikit-learn中的roc_curve函数、auc函数分别作ROC曲线图和计算AUC.
2.2. 训练集和测试集的构造
CASME II数据库共包含26个受试者,每个受试者有数量不等的视频,总共255段视频,每段视频包含时长不等的微表情片段,视频平均长度为252帧. 随机选取视频总数80%左右(194段)的视频作为训练集,其余(61段)作为测试集. 类似地,SMIC-E-HS中视频平均长度为590帧,有124段视频作为训练集,33段视频作为测试集. CAS(ME)2中视频平均长度为2 478帧,有55段视频作为训练集,14段视频作为测试集.
CASME II训练集去除过渡帧后共有12 992个微表情帧样本和33 269个中性帧样本. 实验中发现,保持训练集2类样本数量均衡可以提高模型性能. 因此从33 269个中性帧样本中随机选取12 992个作为中性帧类别,其余中性帧样本不参与训练. 则本研究CASME II训练集2个类别共计25 984张图片,测试集共计15 512张图片. 对SMIC-E-HS和 CAS(ME)2数据库的处理与CASME II类似.
图像数据增强作为一种扩大样本规模进而避免过拟合的方法被广泛地运用在神经网络的训练中. 典型的图像数据增强方法有翻转、旋转、缩放、随机裁剪或补零等. 实验中发现,对微表情数据采用以上方法做数据增强,微表情检测实验结果变化甚微,且训练过程中损失函数难以收敛,因此本研究不采用上述数据增强的方法.
2.3. 实验环境及参数设置
1) 在windows10下配置GPU深度学习环境,GPU型号为NVIDIA Titan XP;深度学习框架为tensorflow-gpu-1.9.0;编程语言为python3.6.
2) MesNet全连接层的层数先后设置为1、2,每层神经元数量先后设为256、512、1 024. 通过大量实验发现,全连接层层数设为1或2时模型性能没有明显差异. 神经元数量起初设置256个,增加为512个后性能有小幅提升,继续增加为1 024个后没有明显变化. 最终确定MesNet全连接层部分的配置为1层全连接层,包含512个神经元.
3)使用VGGNet、Google Inception Net、ResNet、Inception-ResNet V2分别搭建MesNet-VGG、MesNet-Inception、MesNet-Res和MesNet-Inception-Res网络. 表1列出了在CASME II数据库上训练各版本MesNet时所需图片输入尺寸、训练迭代次数、模型大小及终止训练时的L,以及在过渡帧比例设定为10%的前提下的测试集AUC.
表 1 CASME II数据库上各种版本MesNet网络训练细节及AUC
Tab.1
模型 | 图片输入尺寸 | 训练迭代次数 | 模型大小/MB | L | AUC |
MesNet-VGG-19 | 224×224×3 | 767 | 1 096 | 0.029 0 | 0.837 7 |
MesNet-Inception V3 | 299×299×3 | 1 239 | 115 | 0.028 9 | 0.920 0 |
MesNet-Inception V4 | 299×299×3 | 1 558 | 184 | 0.000 1 | 0.887 6 |
MesNet-Res V2-50 | 224×224×3 | 124 | 109 | 0.008 5 | 0.787 1 |
MesNet-Res V2-101 | 224×224×3 | 319 | 182 | 0.001 5 | 0.844 8 |
MesNet-Res V2-152 | 224×224×3 | 231 | 242 | 0.006 9 | 0.844 8 |
MesNet-Inception-Res-V2 | 299×299×3 | 5 362 | 235 | 0.011 5 | 0.952 6 |
2.4. MesNet采用不同CNN结构的性能比较
图 10
图 10 CASME II上5种MesNet网络的ROC曲线
Fig.10 ROC curves of 5 MesNet models on CASME II
由表1及图10可见,不同网络性能差异较为明显. MesNet-Res V2-50曲线下面积相对最小,性能相对最差. MesNet-Inception V3性能较好,明显领先于MesNet-Inception V4. 相比 MesNet-Res V2-50,增加了卷积层数的MesNet-Res V2-101和MesNet-Res V2-152模型性能有一定的提升,而101层和152层网络表现相近,说明在微表情检测问题上,适当增加网络卷积层的数量能提高网络性能,但是当大于某个阈值后再增加网络深度则无法继续提升性能. MesNet-Inception-Res-V2结合Inception和ResNet的优点,曲线下面积最大,性能最优. 本研究通过迁移学习方法,可以灵活使用多种不同的CNN结构提取图像特征,从而找到最适合微表情检测的CNN结构构建MesNet. 后文MesNet均特指MesNet-Inception-Res-V2.
2.5. 过渡帧对MesNet性能的影响
表 2 MesNet采用不同去除过渡帧方法的AUC
Tab.2
方法 | AUC | ||
CASME II | SMIC-E-HS | CAS(ME)2 | |
0% | 0.938 6 | 0.906 2 | 0.752 8 |
10% | 0.952 6 | 0.918 0 | 0.763 9 |
20% | 0.944 9 | 0.901 7 | 0.742 1 |
30% | 0.916 2 | 0.888 3 | 0.736 1 |
自适应 | 0.955 6 | 0.933 8 | 0.785 3 |
图 11
图 11 SMIC-E-HS和CAS(ME)2数据库上不同去除过渡帧方法的ROC曲线
Fig.11 ROC curves of different methods to remove transition frames on SMIC-E-HS and CAS(ME)2
2.6. 预处理有效性验证
表 3 预处理不同阶段的AUC对比
Tab.3
预处理阶段 | AUC | ||
CASME II | SMIC-E-HS | CAS(ME)2 | |
0.613 4 | 0.574 5 | 0.532 8 | |
0.770 5 | 0.721 1 | 0.603 1 | |
0.938 6 | 0.906 2 | 0.752 8 |
2.7. MesNet与现有算法的对比
2.7.1. 算法精度对比
表 4 CASME II数据库上MesNet与已有方法的性能对比
Tab.4
表 5 SMIC-E-HS数据库上MesNet与已有方法的性能对比
Tab.5
表 6 CAS(ME)2数据库上MesNet与已有方法的性能对比
Tab.6
2.7.2. 算法适用范围对比
本研究使用CASME II、SMIC-E-HS和CAS(ME)2数据库,使MesNet算法的高性能在长视频和短视频上都得到充分验证. 如表7所示,本研究实验测试集中,最短视频(CASME II数据库编号为14_EP09_03),长度仅为51帧,经测试AUC达到0.983 2. 最长视频(CAS(ME)2数据库编号为31_0401girlcrashing),长度达到3 712帧,测试AUC达到0.789 3.
表 7 长视频与短视频的性能对比
Tab.7
视频 | 数据库 | 时长/s | 帧总数 | Precision | Recall | F-Measure | Accuracy | AUC |
14_EP09_03 | CASME II | 0.26 | 51 | 0.837 2 | 1.000 0 | 0.911 4 | 0.862 7 | 0.983 2 |
31_0401girlcrashing | CAS(ME)2 | 123.7 | 3 712 | 0.978 4 | 1.000 0 | 0.989 1 | 0.978 4 | 0.789 3 |
3. 结 语
本研究通过迁移学习方法,提出高精度和广适用范围的MesNet微表情检测网络,在CASME II和CAS(ME)2数据库上取得最优结果,在SMIC-E-HS数据库上取得第二优的结果. 首次明确提出微表情过渡帧的概念,放大到监督学习领域,则过渡帧概念对应于噪声标签的概念. 提出自适应识别过渡帧算法,实验结果表明该算法可有效提高微表情检测性能. 提出的对原始视频进行数据预处理的方法,对今后微表情数据预处理有一定的借鉴意义.
在实用性方面,MesNet本质是二分类网络,检测微表情帧不依赖帧时序关系. 因此MesNet不仅可以从微表情数据库完整视频中检测微表情帧,也可以从给定的任意帧集合中检测微表情帧,还可以判断给定的单帧是否为微表情帧. 另外,对MesNet网络输出层神经元数量和分类器稍加改动,可得到一个结构与MesNet相似且同样基于迁移学习方法的微表情种类判别网络,与MesNet网络组合起来使用,便构成一个完整的微表情检测识别系统.
针对微表情数据样本规模较小的问题,正在开展制作新的微表情数据库,使用生成式对抗网络(generative adversarial networks,GAN)做数据增强等研究工作. 未来的工作,将围绕跨数据库跨人种的微表情检测和识别问题进行,以提高微表情检测和识别算法在实际应用场景中的通用性.
致谢 本研究使用的泰坦Xp显卡由英伟达公司捐赠。(The Titan Xp used for this research was donated by the NVIDIA Corporation.)
参考文献
Fuzzy histogram of optical flow orientations for micro-expression recognition
[J].
微表情自动识别综述
[J].
Survey on automatic micro expression recognition methods
[J].
Nonverbal leakage and clues to deception
[J].DOI:10.1080/00332747.1969.11023575 [本文引用: 1]
Reading between the lies: identifying concealed and falsified emotions in universal facial expressions
[J].DOI:10.1111/j.1467-9280.2008.02116.x [本文引用: 1]
How to tell if a particular memory is true or false
[J].DOI:10.1111/j.1745-6924.2009.01140.x [本文引用: 1]
A pilot study to investigate the effectiveness of emotion recognition remediation in schizophrenia using the micro-expression training tool
[J].DOI:10.1348/014466505X90866 [本文引用: 1]
Sex differences in negotiating with powerful males
[J].DOI:10.1007/s12110-005-1013-4 [本文引用: 1]
小数据样本深度迁移网络自发表情分类
[J].
Classification of small spontaneous expression database based on deep transfer learning network
[J].
Spontaneous subtle expression detection and recognition based on facial strain
[J].DOI:10.1016/j.image.2016.06.004 [本文引用: 1]
High-speed video system for micro-expression detection and recognition
[J].DOI:10.3390/s17122913 [本文引用: 4]
SMEConvNet: a convolutional neural network for spotting spontaneous facial micro-expression from long videos
[J].DOI:10.1109/ACCESS.2018.2879485 [本文引用: 1]
CASME II: an improved spontaneous micro-expression database and the baseline evaluation
[J].
CAS(ME)2: a database for spontaneous macro-expression and micro-expression spotting and recognition
[J].DOI:10.1109/TAFFC.2017.2654440 [本文引用: 4]
A survey on transfer learning
[J].DOI:10.1109/TKDE.2009.191 [本文引用: 1]
Understanding the difficulty of training deep feedforward neural networks
[J].
An introduction to ROC analysis
[J].DOI:10.1016/j.patrec.2005.10.010 [本文引用: 1]
Towards reading hidden emotions: a comparative study of spontaneous micro-expression spotting and recognition methods
[J].DOI:10.1109/TAFFC.2017.2667642 [本文引用: 5]
A main directional maximal difference analysis for spotting facial movements from long-term videos
[J].DOI:10.1016/j.neucom.2016.12.034 [本文引用: 3]
/
〈 |
|
〉 |
