2021574
表情[1]是一种自发的面部表情,持续时间短(通常在0.04~0.20s之间[2]),局部变化且变化强度低[3],极少人能用裸眼观察到微表情。微表情通常发生在人试图隐藏自己的真实情绪时,无法伪造也不能抑制[4]。微表情能够反映人的真实情感,在刑侦审判、教学评估、婚姻关系预测、国家安全等领域都有潜在应用。
基于Apex帧光流和卷积编码器的微表情识别
温杰彬1,杨文忠1,2,马国祥3,张志豪1,李海磊1
1.新疆大学信息科学与工程学院,乌鲁木齐830046
2.中国电子科学研究院社会安全风险感知与防控大数据应用国家工程实验室,北京100041
3.新疆大学软件学院,乌鲁木齐830091
摘要:针对跨库微表情识别问题,提出了一种基于Apex帧光流和卷积自编码器的微表情识别方法。该方法包括预处理、特征提取、微表情分类三部分。预处理部分对微表情进行Apex帧定位以及人脸检测和对齐;特征提取部分首先计算预处理过的Apex帧的TVL1光流,然后使用得到的水平和竖直光流分量图像
训练卷积自编码器得到最优结构和参数;最后将两个分量自编码器中间层的特征融合后作为微表情的特征;微表情分类就是使用支持向量机(Support Vector Machine,SVM)对上一步中提取到的特征进行分类。实验结果较基准方法(LBP-TOP)有了很大的提高,UF1提高了0.1344,UAR提高了0.1406。该方法为微表情特征提取和识别提供了新的思路。
关键词:微表情识别;Apex帧;光流;卷积自编码器;支持向量机(SVM)
文献标志码:A中图分类号:TP391doi:10.3778/j.issn.1002-8331.1911-0399
Micro-expression Recognition Based on Apex Frame Optical Flow and Convolutional Autoencoder WEN Jiebin1,YANG Wenzhong1,2,MA Guoxiang3,ZHANG Zhihao1,LI Hailei1
1.College of Information Science and Engineering,Xinjiang University,Urumqi830046,China
2.National Engineering Laboratory for Public Safety Risk Perception and Control by Big Data(PSRPC),China Academy
of Electronics and Information Technology,Beijing100041,China
3.School of Software,Xinjiang University,Urumqi830091,China
Abstract:Aiming at the problem of cross-database micro-expression recognition,a micro-expression recognition method based on Apex frame optical flow and convolutional autoencoder is proposed.The method includes three parts:prepro-cessing,feature extraction and micro-expression classification.The preprocessing section performs Apex frame positioning, face detection and alignment on the micro-expressions.The feature extraction section first calculates the TVL1optical flow of the pre-processed Apex frame,then uses the obtained horizontal and vertical optical flow component images to train the convolutional autoencoder to obtain the optimal structure and parameters,finally combines the two components from the features of the middle layer of the encoder as the features of the micro-expressions.In section of micro-expression classification,a Support Vector Machine(SVM)classifier is used to classify the features extracted in the previous step. The experimental results have been greatly improved compared to the baseline method(LBP-TOP).Among them,UF1 has increased by0.1344,and UAR has increased by0.1406.This method provides new ideas for micro-expression fea-tures extraction and recognition.
Key words:micro-expression recognition;Apex frame;optical flow;convolutional autoencoder;Support V ector Machine(SVM)
基金项目:国家自然科学基金(U1603115);社会安全风险感知与防控大数据应用国家工程实验室主
任基金项目;四川省科技计划项目(WA2018-YY007)。
作者简介:温杰彬(1994—),男,硕士研究生,研究领域为微表情识别、网络安全,E-mail:;杨文忠(1971—),通信作者,男,博士,副教授,CCF会员,研究领域为舆情分析、网络安全、机器学习;马国祥(1993—),男,硕士研究生,研究领域为计算机视觉、视频异常检测;张志豪(1995—),男,硕士研究生,研究领域为突发事件预警、信息安全;李海磊(1994—),男,硕士研究生,研究领域为自然语言处理、网络安全。
收稿日期:2019-11-27修回日期:2020-04-03文章编号:1002-8331(2021)04-0127-07
127
2021574
1978年,Ekman等人建立了面部动作编码系统[5-6](Facial Action Coding System,FACS),用来
编码面部肌肉运动和情感类别的对应关系。该系统可用于识别每个动作单元(Action Unit,AU)开始和结束的确切时间。第一个出现的AU称为Onset,最后结束的AU称为Offset,Apex代表AU达到峰值或面部运动的最高强度。2002年,Ekman设计了一套专业的微表情训练工具METT训练学员识别微表情,然而成功毕业的学员对微表情识别准确率也不到50%[7]。
微表情的识别要消耗大量的人力物力,且识别准确率不高。随着计算机视觉的发展,越来越多的研究者开始使用机器学习的方法进行微表情的自动化识别。微表情自动识别系统通常包括三个阶段:预处理、特征提取和分类[8]。预处理阶段主要包括人脸检测、人脸特征点对齐、感兴趣区域划分、重要帧选取和运动放大等。特征提取就是在保留重要微表情信息的情况下提取到低维的图像或视频特征。分类阶段就是用各种分类器对上一阶段提取的特征分类为具体的情绪类别。特征提取被很多研究者认为是微表情识别中最重要的步骤。如何在不损失关键信息的情况下设计低维的特征是特征提取的关键,恰当的特征表示方法可以大大提高识别的准确率。按照特征的不同,传统的微表情识别方法有基于LBP(Local Binary Pattern)的方法[9]和基于光流的方法[10-12]。但是由于微表情持续时间短、运动强度低的特点,很难到合适的特征描述子,因此传统手工特征方法的识别率依然不高。本文提出一种结合传统方法和深度学习的微表情识别方法,实验结果表明该方法较传统方法在识别性能上有了很大的提高。
1相关工作
1.1基于Apex帧光流的微表情识别
大多数的研究中微表情都被当作一个视频序列来处理。常规的特征提取方法考虑整个视频序列或者采用时域插值模型[13](Temporal Interpolation Model,TIM)处理过的部分序列。以Liong等人[12]为代表的研究者认为高帧率下的微表情序列并不是每一帧都是必要的,相反可能会带来一些计算上的冗余。他们提出了一种只用两帧(起始帧和峰值帧)图像来表示微表情的特征提取方法(Bi-WOOF),并且提出了一个Divide&Conquer[12]算法实现Apex帧的定位,之后计算起始帧(参照帧)到Apex帧的光流图像。在以上工作的基础上,Liong等人结合卷积神经网络提出了OFF-ApexNet[8],对计算出的水平和竖直光流分量图像分别通过两层的卷积神经网络提取特征,将两部分的特征拼接,再经过两个全连接层后使用softmax进行分类。作者在3个数据集SMIC[9]、CASME II[14]和SAMM[15]的组合数据集上使用LOSOCV (Leave-One-Subject-Out Cross-Validation)协议进行验证,达到了74.6%的准确率和71.04%的F1值。最近的研究中Liong等人[16]拓展了OFF-ApxeNet,使用Apex帧光流推导出了光学应变(Optical Strain)等相关衍生特征。
Apex帧代表了面部微表情运动变化的峰值,含有很具判别性的特征。使用Apxe帧光流方法可以减少计算量,大量的研究也验证了该方法的出性能。由于只选取两帧图像代表微表情,会损失一些时域上微表情变化的信息,而且Apex帧定位的准确性也对微表情识别的准确率有较大影响。
1.2基于深度学习的微表情识别
深度学习在很多计算机视觉任务中取得了很大的进步,很多研究者采用端到端的卷积神经网络(Convolutional Neural Networks,CNN)和长短期记忆网络(Long Short Term Memory,LSTM)提取微表情序列的空间和时间特征。近几年出现了大量使用卷积神经网络进行微表情识别的研究,按照其网络架构的不同大致可以分为3DCNN[17-19]结构、递归卷积网络[20-22]结构、双流网络[8,23]结构。
基于深度学习的微表情识别方法取得了比手工方法更好的性能。然而,深度学习通常需要大量的数据进行训练,由于微表情样本的不足,经常出现过拟合的问题,导致微表情的识别率很难继续增长。为解决微表情数据集不足引起的模型过拟合问题,很多研究采用了迁移学习[19,24-26]的方法进行微表情识别。Liong等人[16]还使用生成对抗网络(Generative Adversarial Network,GAN)进行了Apex帧光流数据增强的尝试。目前尚未发现有研究者采用卷积自编码器和Apex帧光流来实现微表情的特征提取,因此本文提出一种新的基于Apex帧光流和卷积自编码器的微表情识别方法。
1.3跨库微表情识别
由于数据集样本不足,一些学者尝试将数据集进行组合来增加微表情样本的数量。公共的跨库微表情数据集最早出现在MEGC2018挑战赛[27]上,CASME II[14]和SAMM[15]被重新组合为5个表情类别。第二届MEGC[28]挑战赛上,融合数据集中又增加了SIMC[9]数据集,为了使所有3个数据集可以一起
使用,使用了一组共同的简化情感类别(“积极”“消极”“惊讶”),并使用了其原始情感类别的适当映射。Peng等人[24]使用迁移学习的方法,使用ImageNet上预训练好的ResNet10网络模型首先在5个宏表情数据集上进行训练,达到99.35%的准确率后,再使用微表情数据集进行微调,在融合数据集上结果达到了74.7%的准确率和64%的F1值。
跨库数据集可以更加真实地拟合现实场景。首先它增加了对象的个数,而且对象来自更多的地域、种族、拍摄环境,更多的微表情样本更加有利于深度学习等数据驱动方法的应用;其次使用减少的常规情绪类别以更好地适应不同刺激和环境设置引起情绪差异。本文采用MEGC2019[28]融合数据集,在增加训练样本的同时也有利于提升算法的泛化能力,使其更适用于真实场景。
128
2021574
2基于Apex帧光流和卷积自编码器的微表情识别本文提出的基于Apex帧光流和卷积自编码器的微表情
识别方法包括3个阶段:预处理、特征提取、微表情分类。如图1所示,原始微表情序列通过预处理进行Apex 定位,特征提取阶段首先计算TVL1光流(u和v分别代表计算出的光流水平和垂直分量),然后使用光流图像训练卷积自编码器,将两个训练好的自编码器的中间层的隐藏向量拼接后作为最终的特征,输入到SVM (Support Vector Machine)分类器中完成最后的分类。
2.1Apex帧光流计算
光流(Optical Flow)是图像对象在两个连续帧之间由对象或相机的运动所引起的视觉运动的模式,能够反映图像中物体运动的方向速度,通常用于基于运动的对象检测和跟踪系统。
光流的定义要满足两个基本假设:(1)物体的像素强度在帧间不改变。(2)相邻像素具有相似的运动。微表情变化幅度低,帧间的相对位移很小,相邻像素之间有相似的运动;微表情持续时间非常短,即便从起始帧到Apex帧的时间差也不超过0.1s,帧间图像的亮度基本不发生改变,因此微表情满足光流的两个基本假设。
在计算Apex帧光流之前,首先要对Apex帧进行定位。其中CASME II[14]和SAMM[15]数据集中已经标注了Apex帧的位置,直接取出数据集中对应的标注帧作为Apex帧;而SMIC[9]中没有提供Apex帧的标注。本文为减少计算量直接选取微表情序列的中间帧作为Apex帧。
考虑一个像素I(x,y,t)在起始帧的光强度(其中t 代表其所在的时间维度),它在Δt时间内移动了(Δx,Δy)的距离到达Apex帧。因为是同一个像素点,根据假设(1)认为该像素在运动前后的像素强度(亮度)是不变的,即:
I(x,y,t)=I(x+Δx,y+Δy,t+Δt)(1)将式(1)右端进行一阶泰勒展开,得:
I(x,y,t)=I(x,y,t)+∂I∂xΔx+∂I∂yΔy+∂I∂tΔt+ε(2)
其中,ε代表二阶无穷小项,可忽略不计。再将式(2)代入式(1)后同除Δt,可得:
∂I
∂x
Δx
Δt+
∂I
∂y
Δy
Δt+
∂I
∂t
Δt
Δt=0(3)设p、q分别为沿水平方向与竖直方向的速度分量,得:
p=
d x
d t,q=
d y
d t(4)
令I x=
∂I
∂x,I y=
∂I
∂y,I t=
∂I
∂t分别表示像素(x,y,t)沿各个方向的偏导数。综上,式(3)可以写为:
I x p+I y q+I t=0(5)其中,I x、I y、I t均可由图像数据求得,(p,q)即为所求Apex帧的光流矢量。Liong等在文献[16]中验证了五种光流算法对于微表情识别的影响,结果证明TVL1[29]光流算法在微表情识别任务中能取得最好的效果。因此本文采用TVL1光流算法,使用OpenCV(Open Source Computer Vision Library)实现光流的计算,并返回光流的水平和竖直分量。
2.2卷积自编码器
自编码器(Autoencoder,AE)是一个学习将输入复制到输出的神经网络。AE通过训练网络忽略信号“噪声”来学习一组数据的隐含表示(编码),通常用于特征提取和降维。它由两个主要部分组成:将输入映射到编码中的编码器,以及将编码映射到原始结构的解码器。如图2所示。
本文采用的卷积自编码器的编码器和解码器都是CNN网络,如图2所示。编码器的卷积网络学习将输入图像编码为一组隐藏空间表示,然后解码器CNN尝试重构输入图像。其中CNN作为通用特征提取器进行工作,学习如何最好地捕捉输入特征。光流图像输入卷积自编码器之前,
首先对其进行归一化。卷积自编码器的⋱
Onset Apex
Input Reconstructed input
图1基于Apex
帧光流和卷积自编码器的微表情识别整体框架
CNN CNN
输入重构输入
解码器CNN
编码器CNN重构输入
输入
图2自编码器结构
129
2021574
输入为归一化为28×28像素的灰度光流图像,输出为重构后的28×28像素的光流图像。
对于单通道光流输入x,第k个特征图的潜在表示h k为:
h k=σ(x∗w k+b k)(6)其中,σ为激活函数,∗代表2D卷积操作,w k为卷积
核,b k为偏置。将得到的h k进行特征重构,可以得到重构图像y:
y=σ(h k∗w k+c)(7)其中,w k为解码器的卷积核,c为偏置。将输入的光流图像x和最终重构得到的结果y进行欧几里德距离比较,通过反向传播算法进行优化,就完成了卷积自编码器的训练。
E=12n∑(x i-y i)2(8)
最小化损失函数E就可以得到一个最佳的隐藏空间表示,这个最佳隐藏空间表示作为该光流分量图像的特征。本文TVL1光流的水平和竖直分量图像分别通过训练好的自编码器,得到水平和竖直两个隐藏空间表示。
微表情分类阶段将两个隐藏空间表示拼接起来作为最终的微表情特征向量。特征向量输入到SVM分类器中,输出微表情的类别。其中SVM采用RBF核函数,两个超参数通过网格搜索得到。
3实验和分析
3.1实验数据
实验采用了MEGC2019融合数据集进行验证。融合数据集由SMIC[9]、CASME II[14]和SAMM[15]组合而成。3个数据集的详细信息如表1所示,SMIC总共记录了20名受试者,并从16名受试者中发现了164个微表情片段,三种感情类别分别为“积极”“消极”“惊讶”。CASMEII数据集包括来自35个受试者的247个微表情样本并提供了5个情感标注:“高兴”“厌恶”“惊讶”“压抑”“其他”。CASME II也是样本最多和使用最为广泛的自发微表情数据集。SAMM收集了来自不同人的32名受试者的微表情,包含159个微表情片段,视频的帧率为200f/s,分辨率为2040×1088,标注了7个情感类别:“高兴”“惊讶”“悲伤”“愤怒”“恐惧”“厌恶”“轻蔑”。因3个数据集的情绪类别标注不同,融合数据集统一为3个类别(“积极”“消极”“惊讶”),其中“高兴”类别被重新标注为“积极”,“厌恶”“压抑”“愤怒”“轻蔑”“恐惧”被重新标注为“消极”,“惊讶”类别则保持不变。融合后的数据集包含来自68个对象的442个微表情序列。来自每个数据集的具体数量详见表2,很容易看出
融合后的数据集中“惊讶”“积极”“消极”的比例大约为1∶1.3∶3,数据集还存在严重的数据类别不平衡问题。
3.2评价标准
本文采用LOSOCV实验协议,能够模仿真实场景——对象来自不同的背景(种族、性别、情感的敏感
性),保证对象独立评估。融合数据集中共包含68个对象,因此实验分为68折。每折选取1个对象的微表情序列作为测试集,剩下67个对象的所有微表情序列作为训练集。由于融合数据集中表情类别的不平衡问题,评价标准采用无权F1值(Unweighted F1-score,UF1)和无权平均召回(Unweighted Average Recall,UAR)。UF1在多分类问题中是一个很好的选择,因为它可以同等强调稀有类。为了计算UF1,首先要计算每个类别c的F1值。UF1就是每个类别F1值的平均值。
F1c=2TP c
2TP c+FP c+FN c(9)UF1=1C∑
C
F1c(10)其中,C为类别数;F1c为类别c分类结果的F1值;TP c、FP c、FN c分别为类别c分类结果中真正、假正、假负的数量,即实际类别为c预测类别也为c的数量、实际类别不是c但预测类别是c的数量,实际类别是c预测类别不是c的数量。
UAR也称“平衡准确率”,是一种代替标准准确率(或加权平均召回)的更合理的评价标准,因为标准准确率的预测更偏向于较大类别的结果。
UAR=1C∑
C
Acc c(11)
Acc c=TP c N
c
(12)
其中,C为类别数;N c为类别c样本的总数;Acc c为类别c的准确率,即c类中预测正确的数量占c类样本总数量的比例。UAR为所有类别的准确率的平均值。3.3Apex光流计算
本文使用开源计算机视觉库OpenCV4.1.0中的DualTVL1OpticalFlow接口计算Onset到Apex之间的TVL1光流,如图3所示,为三种类别的Apex光流的水平和竖直分量。从生成的光流图上大致能看出人脸的轮廓和变化幅度。其中不同的微表情类别的局部运动变化的区域是不同的。“积极”微表情的局部变化主要集中在眼睛和嘴角;“惊讶”微表情的变化主要表现在额头和眼睛区域;而“消极”微表情变化最大的是下巴部位。从图中可以看出本文提取的TVL1光流可以反映微表情的局部变化特征。
数据集SMIC CASME II SAMM
分辨率
640×480
640×480
2040×1088
帧率/(f⋅s-1)
100/25
200
200
受试者
20
35
32
情绪类别
3
5
7
标注方法
情绪
情绪/FACS
情绪/FACS
表13个自发微表情数据集
数据集
SMIC
CASME II
SAMM
融合数据集
对象
16
24
28
68
积极
51
32
26
109
消极
70
88
92
250
惊讶
43
25
15
83
共计
164
145
132
442
表2实验采用的融合微表情数据集
130
20215743.4卷积自编码器进行多次的超参数(包括自编码器的层数、每层卷积核的尺寸和个数)选取并验证,实验采用的最优卷积自编码器结构如表3所示。自编码器共由5个卷积层、2个最大池化层和2个上采样层组成。其中编码器包含2个3×3的卷积层和2个2×2的最大池化层,卷积核的个数分别为16、8。解码器包括3个3×3个卷积层和2个2×2的上采样层,卷积核的个数分别为8、16、1。
由于LOSO 交叉验证需要消耗的时间太长,在正式实验之前首先对融合数据集使用RBF 核的SVM 分类器做5折交叉验证,通过交叉验证的方式可以比较快地到卷积自编码器合适的超参数。卷积自编码器中编码器两层卷积核的个数和不同训练轮数下的实验结果如图4所示。可以明显看出编码器两个卷积层的卷积核个数为16、8时效果最好,卷积自编码器训练600轮后在融合数据集上进行5折交叉验证的准确率最高达到了89.89%,因此,采用这一准确率最高的卷积自编码器模型在融合数据集上进行LOSO 交叉验证分类任务。
卷积自编码器的作用主要是特征的选择和降维,选择出最重要的特征并且丢弃掉无关的冗余特征。为了进一步验证卷积自编码器中间层特征的效果,对原始光流图像和使用特征重构的光流图像做了简单的可视化。如图5所示,上层4张图像为自编码器的输入光流图像,下层4张图像为通过解码器重构输出的光流图像。通过中间层特征重构的图像能够较好地还原输入图像。因此,本文训练的卷积自编码器能够较好地提取判别性强的微表情特征。卷积自编码器也可以根据需
要通过改变中间层卷积核个数等超参数来控制最终微表情特征的维度。
未识别的网络
3.5结果对比
表4为使用最优卷积自编码器模型进行LOSOCV
的实验结果。其中LBP-TOP 方法为基准方法,SA-AT [26]、ATNet [22]和CapsuleNet [30]是3个有代表性的深度学习方法。表4中对比了五种方法在融合数据集(Full )和3个单独的数据集部分的UF1和UAR 。所有对比结果均使用相同的融合数据集、实验协议和验证方法。从中可以明显看出,提出的基于Apex 帧光流和卷积自编码器的跨库微表情识别方法(Apex-OFCAE )相对于基准方法性能有了很大的提升,UF1达到了0.7226,UAR 达到了0.7191,分别提高了0.1344和0.1406。提出的Apex-OFCAE 方法在融合数据及和各单独数据集部分的UF1和UAR 指标均优于其他3个深度学习方法,由此看出提出的结合Apex 光流和卷积自编码器的微表情识别方法具有较强的特征提取和表示能力,且具有优秀的泛化性能,在各个数据集上都有了很大的提升。从表中可以明显看出所有方法在CASME II 上的效果都是最好的,原
因是该数据集中的样本量最多,而SMIC 和SAMM 的识别工作还存在更大的挑战。
为进一步分析Apex-OFCAE 方法在不同数据集中
卷积核个数32、16卷积核个数16、8卷积核个数8、40
10
20
30
40
5006007008009001000
1100训练轮数
1.000.980.960.940.920.900.880.860.840.820.80
5折交叉验证准确率0.8989
图4
卷积核数和训练轮数对分类结果的影响
(b )CASME II 中“消极”的光流图(c )SAMM 中“积极”
的光流图
(a )SMIC 中“惊讶“的光流图图3
计算出的Apex 光流图
Layer conv2d_1max_pooling2d_1
conv2d_2max_pooling2d_2up_sampling2d_1
conv2d_3up_sampling2d_2
conv2d_4conv2d_5
Filter size 3×32×23×32×22×23×32×23×33×3
Kernel size
16—8——8—161
Output size 28×28×1614×14×1614×14×87×7×814×14×814×14×828×28×828×28×1628×28×1
表3
最优卷积自编码器结构
图5卷积自编码器重构图像
131