微表情识别研究综述
2021-01-11张人,何宁
张 人,何 宁
1.北京联合大学 北京市信息服务工程重点实验室,北京100101
2.北京联合大学 智慧城市学院,北京100101
面部表情作为人表现情感的主要方式之一,在过去的几十年里,关于各种表情识别的研究已经取得重要的进展[1-6]。这几年,关于自发式的表情(spontaneous expression)的识别成为了新的研究热点[7-8],而微表情往往是在人想压抑自己感情时产生的,这既无法伪造也无法抑制[9]。完整的面部表情通常持续0.5~4 s[10],比较容易被人识别。然而,心理学认为,当一个人试图隐藏自己真实情感时,偶尔会有情感泄露出来。微表情首次发现于1966年[11]。三年后,Ekman等人[12]在分析一段试图自杀的病人的采访视频时使用了微表情这个词。微表情通常在1/25~1/2 s[13]之间不受控制地变化,并且出现频率较低,未经过训练的个体对其识别能力并不高[14]。而不同的研究者报告的结果也存在着较大的差异[15-16]。在这之后,Ekman和Friesen于1979年提出了短暂表情识别测验(Brief Affect Recognition Test,BART)[17]。在后续的实验中他们发现了被试者的微表情识别能力与谎言识别能力成正相关[18]。之后,进行了日本人与高加索人短暂表情识别测验(Japanese and Caucasian Brief Affect Recognition Test,JACBART)[19-20],该实验也验证了被试者的微表情识别能力与谎言识别能力成正相关[21],可以证明微表情能有效的帮助人们识别谎言。
人脸的微表情识别涉及图像处理和分析、计算机视觉、人工智能、心理学、生物学等方向。Ekman等人[15]在2002 年开发出微表情识别的工具——METT(Micro Expression Training Tool)。研究表明,METT工具平均可以提高个体对于微表情识别能力的30%~40%。此外,还设计了面部动作编码系统(Facial Action Coding System,FACS)[22],根据人脸的解剖学特点,将其划分成若干既相互独立又相互联系的运动单元(Action Unit,AU),并分析了这些运动单元的运动特征及其所控制的主要区域以及与之相关的表情,并给出了大量的照片说明。尽管人类的情绪复杂多样,但仍可分成6个基本情绪类别[23-24],因此研究人员将不同的运动单元组合编码形成FACS码来对应不同的表情,主要分为开心、愤怒、恐惧、悲伤、惊讶和其他。当人们在表达内心状态和心理需求时,就会产生大量面部表情[25],但由于微表情存在的时间过短,不容易被人眼所察觉,因此可使用计算机来解决这个问题。
1 微表情识别相关技术
微表情是人面部微小的动作变化,其中包括纹理变化。微表情的动作太过微小且持续时间短,不容易被人眼所捕捉,因此可以借助机器视觉的方法对面部的微表情进行研究。根据以上的特点,微表情识别的几种主流的方法有,卷积神经网络(Convolutional Neural Networks,CNN)[26]、光流(Optical Flow)法、以及局部二值模式(Local Binary Pattern,LBP)[27]。
1.1 卷积神经网络
卷积神经网络(Convolutional Neural Networks,CNN)[26]自诞生以来在机器视觉、语音识别等各个领域广泛应用。通常CNN被用作对图像类输入的特征提取和深度特征提取,在对提取的特征进行分析后可以得到所需的输出结果。微表情的特点是面部运动比较微小,若使用卷积神经网络通常需要使用其他辅助方法更改网络的输入,或更改优化网络结构,使网络能提取到更有用的特征,从而提高对微表情识别的准确率。
1.2 光流法
光流(Optical Flow)是空间运动物体在观察成像平面上的像素运动的瞬时速度。光流法有几个假设条件:首先要亮度恒定,一个像素点随着时间的变化,其亮度值(像素灰度值)是恒定不变的。其次是小幅度运动,时间的变化不会引起位置的剧烈变化。这样才能利用相邻帧之间的位置变化引起的灰度值变化进行光流特征提取。光流法是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。微表情具有面部动作较为微小,不易察觉的特点,因此光流法作为检测微小运动的常用方法,对微表情的面部动作识别有很大优势。在检测到面部微表情的运动信息后,配合其他方法可对微表情进行有效的识别。
1.3 局部二值模式及其改进方法
局部二值模式(Local Binary Pattern,LBP)[27]可以有效地处理光照变化,在纹理分析、纹理识别等方面被广泛应用,具有灰度不变性和旋转不变性等显著优点。中心像素的LBP值反映了该像素周围区域的纹理信息,如图1所示。由于该特征具有简单易算性,因此得到了广泛的使用。
图1 LBP算法描述
对于视频图像来说,传统的LBP算法无法应用于视频信号,因此,需要对LBP 算法进行一些改进。其中Zhao 等[28]提出了一种鲁棒的动态纹理描述子,对3 个正交平面进行局部二进制模式(Local Binary Patterns from Three Orthogonal Planes,LBP-TOP),已广泛应用于面部表情。为了同时考虑视频的空间和时间信息,LBP-TOP扩展了LBP。相比LBP,此方法考虑了3种类型的平面(XY、XT、YT)而不是一个平面(空间XY)。给定一个视频序列,可以将其分别看作沿时间T轴、空间Y轴和空间X轴的XY、XT和YT平面的堆栈。分别从三种类型的平面导出3个直方图,并连接成一个直方图作为动态视频纹理描述符,如图2所示[28]。
图2 LBP-TOP特征提取
LBP-TOP 将LBP 算法的应用扩展到更高维度,可识别时序上的面部纹理,通过此方法关联前后帧之间的信息,使LBP 算法应用的更加广泛。LBP-TOP 包含LBP的性质,如在像素值集体增大或减小相同数值时对LBP-TOP 没有影响,对于自然平行光的环境对图像产生的干扰可以忽略,因此这种方法应用到现实生活中的时候鲁棒性较高。但这种方法是基于像素的,因此会增加提取特征的维度。 LBP最初的应用是中心点像素与半径为R的邻域的P个像素点进行对比,所产生的维度是2P,因此R为1时中心像素点和邻域8个像素点所产生的维度是28=256。而在随后的发展中,邻域半径R的不再是1,维度也呈指数增长,为了解决这一问题,Ojala等[27]提出了采用一种“等价模式”(Uniform Pattern)来对LBP 算子的模式种类进行降维。Ojala 等认为,在实际图像中,绝大多数LBP模式最多只包含两次从1到0或从0到1的跳变。因此,将“等价模式”定义为:当某个LBP 所对应的循环二进制数从0 到1 或从1 到0 最多有两次跳变时,该LBP所对应的二进制就称为一个等价模式类。这种方法使原始的256种减少为58种,即它把值分为59 类,58 个uniform pattern 为一类,其他的所有值为第59类。因此,这种方法将维度由原来的2P变为P(P-1)+2,直方图从原来的256维变成59维。这使得特征向量的维数更少,并且可以减少高频噪声带来的影响。而LBP-TOP 是LBP 在时间维度的应用,因此维度为3×59,而在计算时,通常会将一幅图像分为4×4 的blocks,每个block都会生成一个59×3的数组,最后生成的特征的维数是4×4×59×3=2 832,由此可见,LBP-TOP是一种高维特征,这对计算速度有着严重的影响,并且影响准确率。
2 微表情识别方法
2.1 基于CNN对微表情识别的方法
CNN 是在处理图像信号时常用的方法,但由于微表情变化较为微小,仅使用CNN效果并不是很好,因此一些文献选择对输入的图像进行处理。传统的微表情特征提取既需要考虑空间上的图像特征,也需要考虑时间上的时序序列,一般都会对微表情从开始到结束的所有帧进行特征提取,而Liong 等[29]提出了微表情阶段分类器。首先利用时间信息将微表情分为起始、高峰、偏移三个阶段,之后利用空间信息检测强度变化。对比传统的微表情特征提取方法,此方法仅用一段微表情的峰值(Apex)帧与初始(Onset)帧提取特征,增加了有效帧的数量,减少了计算量,并且效果超过了其他传统方法。除此之外,刘汝涵等[30]提出一种基于眼部干扰消除的视频放大方法,并利用卷积神经网络实现微表情识别任务。首先将数据放大,提取其中的眼部位置坐标。之后将使用原始眼部视频替换到放大视频中进行图像融合,以实现对眼部干扰的消除。最后使用VGG16 的思想设计卷积神经网络模型网络,实现对情绪的识别。文中所应用的局部放大技术在减少噪声干扰后可以将微表情动作放大,使肉眼都可看出运动的趋势,可增加CNN网络对微表情识别的准确率。这两种方法从不同的角度对输入的图像进行处理,使CNN 网络能够更好的提取特征,提高识别的准确率。
而另一些文献则选择改变网络结构,从而提高网络对微表情识别的准确率。Peng 等[31]提出双时间尺度卷积神经网络(Dual Temporal Scale Convolutional Neural Network,DTSCNN)。DTSCNN 是一个双流网络,采用不同的DTSCNN流来适应不同帧速率的微表情视频片段。他们将Slow Fusion 模型和C3D 工具结合在一起以进行微表情识别。DTSCNN是由DTSCNN64和DTSCNN128组成的两流卷积网络。在这个网络中每一个流都由独立的浅层网络组成,可以有效避免过拟合问题。网络的不同流的设计可以适应不同的帧速率,这可以使整个网络对输入数据的帧速率具有鲁棒性。而赖振意等[32]提出了结合空洞卷积对微表情进行识别。结合空洞卷积核及人脸自动校正算法,完善CNN 网络特征提取过程,通过自动人脸矫正适应实际应用中的实时识别分类。文中空洞卷积的优势在于弥补了池化过程当中丢失信息的缺陷,可以提升网络精度。目前微表情识别的网络结构多为维卷积神经网络,而梁正友等[33]提出了一种用于微表情识别的三维卷积神经网络进化(Three-Dimensional Convolutional Neural Network Evolution,C3DEvol)的方法。这种方法能有效提取微表情在时间域和空间域上的特征,其采用的全局搜索和优化能力的遗传算法对C3D的网络结构进行优化,获取最好的C3D 网络结构和避免局部优化。以上方法在对网络结构进行更改优化后,可提高网络对微表情识别的准确率。
目前基于CNN对微表情特征提取大多都与光流方法提取相结合,这也是CNN 框架的优点之一。但若使用CNN 进行深度学习,对于目前的数据集来说仍然无法实现,在现存的几个数据集中所拥有的数据量无法满足深度学习网络的需求,容易造成过拟合,这导致CNN的巨大优势无法发挥。
2.2 基于光流法对微表情识别的方法
光流可检测微小的动作变化,Li等[34]提出了一种基于深度多任务学习的微表情检测方法,研究了一种深度多任务学习方法来进行面部地标定位,并将面部区域分割成感兴趣区域(ROIS)。面部肌肉的运动会产生微表情,因此,将稳健的光流方法与HOOF(Histograms of Oriented Optical Flow)[35]特征相结合来评估面部肌肉的运动方向。最后,采用支持向量机(SVM)作为微表情检测的分类器。FACS 作为识别微表情的重要工具,需要眉毛、嘴角等各个面部位置的运动记录。这种方法将ROIS 与HOOF 特征共同使用,所得出的结果与AU所对应,可对微表情较为精确的做出识别。
对于微表情检测往往是独立的,而Shreve等[36]提出了一种由宏、微表情组成的长视频人脸表情自动识别(时间分割)方法。该方法利用表情过程中非刚性运动对面部皮肤产生的应力,用中心差分法计算每个受试者面部几个区域(下巴、嘴、脸颊、前额)观测到的强而密的光流场的应变量级。这种方法能够成功地检测和区分宏表情和快速局部的微表情,对运用在复杂场景下的微表情检测提供了巨大的帮助。
现有的识别方法在处理细微的面部位移方面往往是无效的,因为被观察的个体会不断移动。为了解决这一问题,Xu 等[37]提出了一种新的面部动力学映射方法来描述微表情在不同粒度下的运动。这种算法解决了在识别目标移动的情况下如何对微表情进行识别,这对之后微表情识别的应用有着很大的作用。
随着科技的发展和社会的需要,对于微表情识别应用于社会生活中的需求也越发迫切。光流法提取的特征主要为几何特征,因此特征维度并不算高,可以作为实时微表情检测的重要方法。其本身对于亮度较为敏感,当亮度变化较大时,此方法就会失效,但在复杂场景中这种现象无法避免,对于光流法来说,除了提高微表情识别准确度,还要增强其泛化能力,使其能更好的应用于社会生活中。
2.3 基于局部二值模式改进方法对微表情识别的方法
LBP-TOP算法对X、Y、T三平面进行特征提取,之后引用LBP算法进行纹理分析,因此可以对视频进行识别。但LBP-TOP 存在两个关键问题,会导致微表情分析的性能下降。首先,它通常从两个像素之间基于符号的差异中提取外观和运动特征,但没有考虑其他有用的信息。此外,LBP-TOP通常使用经典模式类型,但在某些应用中,这些模式类型对于局部结构可能不是最优的。因此,Huang 等[38]提出了一种用于面部微表情分析的时空完整局部量化模式(STCLQP)。首先,STCLQP提取包含符号、幅度和方向分量的3 个兴趣信息。其次,在外观域和时间域对每个分量进行有效的矢量量化和码本选择,以学习用于推广经典模式类型的紧凑和有区别的码本。最后,基于区分码本,提取并融合符号、幅度和方向分量的时空特征,基于特征子空间将3个分量的特征连接成一个特征。STCLQP 根据LBP-TOP 所存在的问题,增加了幅度和方向分量等信息,提取了更多有用的信息,并且最终能将提取的信息融合成一个特征向量,提高了对于图像特征的利用率。相对比LBPTOP,STCLQP 方法提取了更多的信息,因此会造成更高的维度。而文中使用了LQP[39]技术,对比随着邻域半径R 增大,维度呈指数型增加的LBP,LQP 采用将提取后的特征映射到查找表,当R增大时,维度不再呈现指数型增长。因此这种方法对R数值需要增加时较为适用,也因为LQP技术,缓和了一些之前提取更多维度信息所导致的高维特征。而Wang等[40]则提出了一种基于中心点上三条相交线的六交点局部二值模式(LBP-SIP)描述子,将高斯多分辨率金字塔合并到提出的方法中,并把所有金字塔层次上的模式串联起来。LBP-SIP 减少了LBP-TOP 模式中的冗余,提供了更紧凑和轻量级的表示,并且提高了准确性,降低了计算复杂度。与LBP-TOP不同,此方法仅采用了t时刻某一像素点的上下左右4 个像素点和t-1 与t+1 时刻同位置的6 个像素点,因其所提取的特征少,所以当图像较多、时间较长时较为适用,且运算较LBP-TOP 更快。其速度是LBPTOP 的2.8 倍[40]。此方法提取特征用时15.88 s,比LBPTOP方法约快2.4 s,识别时间为0.208 s,比LBP-TOP方法快0.3 s。相比LBP-TOP方法,LBP-SIP减少了可观的时间,但对于之后实际的应用,这个时间仍然太过漫长,无法做到实时检测。但提供了一种思路减少处理的时间。除此之外,卢官明等[41]提出了一种对LBP-TOP 提取的特征进行降维,之后使用SVM 进行分类的方法。这种方法首先采用LBP-TOP 算子来提取微表情特征,然后提出一种基于ReliefF 与局部线性嵌入(Locally Linear Embedding,LLE)流形学习算法相结合的特征选择算法,可有效地降低提取后的特征维度。最后使用径向基函数(Radial Basis Function,RBF)核的SVM 分类器进行分类,得到了较好的结果。这种方法是基于LBP-TOP 方法进行特征向量提取,因此所适用的环境与LBP-TOP一致。分别用过滤式(Filter)的方法排除无关的特征,之后用封装式(Wrapper)的方法筛选出影响较大的特征,避免了维度灾难,计算量也相应减少,这种方法给予未来发展方向一种启示,对于LBP-TOP 这种逐像素进行特征提取的方法,可以对提取后的特征进行筛选,提高分类时识别的精确度。
对于LBP-TOP 冗余的特征,以上几种方法分别采用了不同的思路进行降维,但对于实际应用到现实生活中还远远不够,逐像素提取特征的方法容易造成维度灾难,因此在识别之前对于特征和特征提取方式的选取尤为重要。只有当处理速度减少,才有机会将这类方法应用于社会生活当中。
3 微表情识别方法性能分析与比较
3.1 基于CNN的微表情识别方法分析比较
使用CNN 进行微表情识别时,需要关注的是表情变化的状态,其中Kim等[42]提出了一种与微表情阶段分类器[29]的想法较为相似的方法,这种方法将微表情阶段分类器和LSTM相结合。首先利用卷积神经网络(CNN)对微表情在不同表情状态(起始、起始到顶点、顶点、顶点到偏移和偏移)下的空间特征进行编码。在目标函数中考虑表达状态,提高学习特征表示的表达类可分性。然后,将学习到的具有表情状态约束的空间特征转化为学习微表情的时间特征。时间特征学习利用长-短期记忆(LSTM)递归神经网络对微表情不同状态的时间特征进行编码。
除此之外,Khor等[43]提出了一种丰富的长期递归卷积网络(Enriched Long-term Recurrent Convolutional Network,ELRCN),该网络首先通过CNN模块将每个微表情帧编码成一个特征向量,然后通过将特征向量通过长短期记忆模块(LSTM)进行预测。长短期记忆模块对于视频检测有较好的优势,利用门控制可以保留较长时间前的信息,结合之前对于面部信息的检测,可以更好地检测出表情变化。
这两种方法都想到利用LTSM 网络。实验结果证明,将LSTM网络和卷积神经网络结合对视频类的微表情识别有较好的效果,如表1所示[44-45]。
表1 CNN方法性能比较
表2 局部二值模式改进方法性能比较
3.2 基于光流法的微表情识别方法分析比较
光流法配合ROI方法可以对应FACS系统检测出表情的动作变化,因此Li等[34]提出了一种与基于深度多任务学习的微表情检测方法相似的算法,这种新的微表情自动识别算法结合了用于检测面部标志点的多任务卷积网络和用于估计微表情光流特征的融合深卷积网络[46]。首先,利用深度多任务卷积网路来侦测具有多重相关作业的人脸地标,并利用这些地标来分割人脸区域。之后,利用融合卷积网络从包含肌肉变化的面部区域提取微表情时的光流特征。最后利用增强光流对特征信息进行细化,并利用支持向量机分类器(SVM)对细化后的光流特征进行分类识别。基于深度多任务学习的微表情检测方法[34]使用光流法和HOOF[35]特征结合来评估面部肌肉变化,HOOF 是一种基于光流的特征,该特征表示每个时刻的动作轮廓,并且与运动的尺度和方向无关。HOOF 将视频中每一帧的光流与横轴夹角进行分档,并且根据其大小进行加权,每一档就是一个bin,bin的数量是可选参数,HOOF对光流方向进行加权统计,得到光流方向信息直方图。与基于深度多任务学习的微表情检测方法[34]不同的是,检测面部标志点的多任务卷积网络和用于估计微表情光流特征的融合深卷积网络[46]在之前的检测方法的基础上进行改进,由于HOOF[35]中不同bin 内的特征缺少主方向光流的比例信息,于是添加了比例P作为Bmax区域内的特征,其中Bmax是bin内最大数量的光流特征。这种方法中的光流矢量最大幅度和方向代表每个区域中肌肉变化的主要部分,并且比例P补偿了变化强度的信息。
Liu 等[47]提出了一种简单有效的主方向平均光流(MDMO)特征用于微表情识别,将稳健的光流方法应用于微表情视频片段,并基于部分动作单元将面部区域划分为感兴趣区域(ROI)。MDMO 是一种基于ROI 的归一化统计特征,它同时考虑了局部统计运动信息和空间位置。此外,为了减少由头部运动引起的噪声影响,还提出了一种光流驱动的方法来对齐微表情视频剪辑的所有帧。最后,采用具有MDMO 特征的支持向量机分类器进行微表情识别。MDMO的一个显著特点是其特征维数小。总的来说以上几种方法采取的策略基本一致,需要从先将面部划分感兴趣区域(ROI),之后使用光流的方法分辨面部为小动作,最后使用支持向量机对所得到的特征进行分类。将面部分成不同区域,更容易使用FACS 系统,让机器使用FACS 进行对微表情进行判别,而光流则负责检测每一个区域内的微小动作变化,对于每部分的变化对应一个动作单元,不同运动单元的变化即可判别出表情的变化。对HOOF 进行修改可以使准确率相应提高,见表2(ROI+HOOF[34]方法使用留一法(Leave-One-Subject-Out,LOSO)对数据集进行准确率测试,因此准确率会较高)。但光流法对于环境的要求较为苛刻,需要在此基础上进行修改才可以应用到数据库之外部分。
3.3 基于改进局部二值模式的微表情识别方法分析比较
面部图像积分图(integral projection)可以对面部不同部位进行识别,是图像识别的常用技术,由Huang 等人[48]提出的一种新的基于时空表情的微表情分析框架。首先,采用基于差分图像的积分投影方法获得水平和垂直投影,既保留了人脸图像的形状属性,又提高了对微表情的识别率,并证明原始的积分投影(STLBPOIP)不能保留微表情的判别信息。有必要对积分投影法进行改进,以获得微表情的类信息。因此提出了一种新的基于积分投影的时空局部二值模式,即带积分投影的时空局部二值模式(STLBP-IP)[48]。此外,还利用局部二值模式算子来提取水平和垂直投影的外观和运动特征。非常适合于提取微表情纹理。
而Huang 等[48]则指出常用的时空局部二值化模式考虑了动态纹理信息来表示人脸图像,而忽略了人脸图像的形状属性。另一方面,从全局人脸区域提取时空特征,忽略了两个微表情类之间的区别信息。上述问题严重限制了时空局部二值模式在微表情识别中的应用,因此Huang等[49]在STLBP-IP的基础上提出了一种基于改进的积分投影的判别性时空局部二值模式(STLBPIIP)。首先,提出了一种改进的积分投影法来保持微表情的形状属性,然后提高对微表情识别特征的识别能力。此外,改进的积分投影与跨时空的局部二值模式算子相结合。具体来说,将形状属性融入到时空纹理特征中,提取新的时空特征,其中还将STLBP-IIP 与LBPTOP 和STCLQP[38]进行了比较。研究发现,STLBP-IIP在识别惊讶类和紧张类方面表现较好,而在识别厌恶类和压抑类方面表现不如STCLQP。最后为了提高微表情的识别率,提出了一种基于拉普拉斯方法的特征选择方法,在拉普拉斯方法的基础上,研究了STLBP-IIP 的判别群特征,进一步提高了STLBP-IIP 的判别能力,如表2所示。
3.4 CNN、光流法和局部二值模式改进方法对微表情识别的分析比较
3.4.1 局部二值模式改进方法与光流法对微表情识别的分析比较
局部二值模式可以根据某像素点的数值与周围的数值进行对比,从而进行编码。这类方法是基于表观特征(appearance based)的方法,也就是基于像素值的方法。优点是损失的信息量较少,以此为代价的是它的特征维度通常较高。
光流法有较好的识别物体运动趋势的能力,根据某些特征点或特征区域的位移作为结果。这类方法是基于几何特征(geometric based)的方法,不考虑像素点而转为考虑特征区域的位移。因此,所得出的结果通常是维度较小的物体运动趋势。
两种方法各有优劣,在对微表情的识别中都有着不错的效果。如之前提到的MDMO[46]方法进行特征提取,使用LBP-TOP[28]方法对视频进行3个维度的局部二值模式从而提取特征的方法,使用留一法(LOSO)对微表情进行识别都取得了不错的成果,见表1、表2。
3.4.2 CNN 与光流法、局部二值模式改进方法对微表情识别的分析比较
CNN 是一种优秀的对图像问题进行处理的方法,但对于不同的问题需要对网络结构进行调整。使用CNN 通常要先进行特征提取,在提取特征后再进行进一步处理。而无论是光流法还是局部二值模式改进方法,都是使用不同的方法对特征进行提取。而对特征图可以使用CNN继续提取深层特征,因此CNN与光流法和局部二值模式改进方法的使用本身并不冲突。
对于视频类型的文件,通常在使用CNN 时可以选择与循环神经网络的一种流行形式,称为长短期记忆(Long Short-Term Memory,LSTM)[50]模块搭配使用,LSTM 对于视频类型的输入有较好的效果。比起单独使用CNN,将CNN 作为一种框架更为合适,CNN 可以和各种方法相结合,使改进的网络识别的效果更好。如Khor 等[43]在使用CNN+LSTM 方法的同时,在输入端使用TV-L1[51]方法提取光流图像与原始图像叠加作为输入,之后将提取后的特征送入LSTM 网络,进行微表情识别。而文献[52]则使用ROI方法后,配合FlowNet 2.0光流法进行特定区域的光流识别,最终使ROI+Revised HOOF[46]配合FACS识别出不同的表情。这两种方法使用了不同的光流方法,但TVL1+LSTM方法[43]的主体是CNN,光流法只是作为与原始图像共同的输入,增加识别的准确率,见表2、表3。由此可见CNN 作为一个框架,包容性很强,可以与多种方法共同结合使用,是解决图像问题的良好工具。
3.5 CNN、光流法和局部二值模式改进方法的适用场景分析
目前已存在的微表情识别方法都是基于数据集的识别方法,对于现实中的微表情识别泛化能力并不高,无法应用于现实环境,但可以根据已有方法的特点对所需环境和适用场景等进行预估。
就目前的发展来看,CNN 无疑是在使用的网络中发展门类较多,且较为细化的一类网络,因此现有对于多目标、多尺度、多任务等检测的网络已经较为成熟。若将现有多种网络融合入微表情识别的检测当中可以对复杂场景进行检测,如商场、地段较为重要的街道、监狱等。现有的微表情识别方法在结合其他网络后可以自动地对人群中行人进行多种特征检测,保证精度提高。
表3 光流方法性能比较
基于光流法的灰度不变假设,光流法无法对亮度有变化的场景或物体进行检测,对环境有着较为严格的要求,且摄像头旋转不能过快。因此可在审讯室、谈判室等亮度相对固定且目标无需移动的区域进行微表情识别。微表情是目标以压抑自己表情为前提的,但在面对特定场景时,目标可能会存在宏表情和微表情相结合的问题。而Shreve 等[36]提出的工作用光流法为这类问题提出了一个解决方案,让微表情识别更适合审讯室、光流室等更为严格的场所。光流法相对其他方法的提取的特征维度较小,是目前最有可能用于实时检测的方法,对于审讯室、谈判室这种对目标表情分析速度需求较高的场景较为适合。
对于局部二值模式改进方法,如LBP-TOP 等逐像素分析的方法,环境整体的亮度变化对其影响并不大,因此可以作为光流法的互补,但其明显的缺点是提取的特征维数太高,计算负担较大,无法进行实时检测,因此可以将其作为幕后的微表情校准和识别的工具。随着目前的研究,对此类方法提取的特征维度减少到可实时后,可能需要对目标的面部特定部位进行提取,需要尽量减少目标的重点需检测部位的遮挡,因此,将此类方法用于管理较为严格的看守所或者军队等对目标的行为以及穿搭进行严格管理的地区,可能较为适用。
4 结束语
4.1 评价
本文对微表情识别采用的主要方法:卷积神经网络及其改进、光流法及其改进、局部二值模式及其改进进行了分析和介绍。关于卷积神经网络本身的改进也可优化对于微表情信息的识别。在对图像进行特征提取后,对网络结构或输入进行优化,卷积神经网络对于微表情识别也可以发挥很好效果。
目前对微表情识别的方法中,光流法是一种主流的方法,其特性是检测微小运动的目标,很适合用于微表情的检测。但存在的问题也很明显,要求被检测目标的亮度恒定,而这点在实际应用中往往很难做到,因此需要对算法进行改进和优化。但不可否认的是,光流仍是一种很好的对面部微表情进行识别的方法。
LBP-TOP结合了3个平面,可以很好地对视频进行识别。其中关于LBP-TOP的修改,减少了冗余的参数,能有效识别面部纹理特征,并提高识别准确度。LBP及其改进对纹理识别有很好的作用,因此将LBP的改进方法用于微表情识别是个好方法。
4.2 展望
微表情识别目前已经有了一定的发展,但技术方面仍有很大的进步空间,下面对微表情不同方法存在的问题进行分析和展望:
(1)卷积神经网络作为处理图像的传统方法被广泛应用,目前主流的思想还是配合光流法作为输入,与LSTM相结合,可以达到较好的效果。但使用卷积神经网路进行深度学习存在着致命的问题,目前使用的数据集的样本数量不高,对于卷积神经网络来说,属于小样本问题,因此在计算时需要数据增强,或进行跨域实验,同时可以提高鲁棒性。在之后的过程中可尝试使用迁移学习,可以一定程度缓和过拟合问题,除此之外还可以使用如对抗神经网络等方法生成一些样本再去训练,可以一定缓和样本数据量小的问题。
(2)光流法很适合识别微表情这种微小动作的行为,但光流对基于灰度不变假设,容易受外界光照的影响,并且在相机无法大尺度移动,转动角度不能过快,这些都会导致提取的特征对识别造成影响,目前的微表情数据集内的数据都是满足以上的要求。但对于自然场景来说,这点是不能保证的,因此在算法中需要对这点进行优化,保证在实际中的应用。使用光配合ROI方法对感兴趣的区域进行识别是目前常用的方法,配合FACS 系统可以对表情进行识别,但对于脸部对齐等问题,在实践中无法轻易达成,而注意力机制对于微表情识别来说也是一种方式达到ROI的效果,因此可以尝试将注意力机制和光流法进行融合,使其鲁棒性更高。
(3)局部二值模式作为经典的纹理分析算法,以算法简单为特点被广泛应用,LBP-TOP 将LBP 算法扩展到视频。但目前逐像素提取特征所得到的特征太多,在浪费计算量的同时降低准确率。在图像中面部区域的特征并不是全部都有用的,如在表情变化中与上一帧变化不明显的图像。针对这个问题,可以采取提取关键帧后进行特征提取的方法,提高识别率。而在STLBPIP[48]中采用图像积分的方法可以对脸的五官进行区分,若关注其中重要部分的纹理变化,配合FACS 系统,可以对微表情进行有效的识别。根据FACS 系统,眼睛、嘴巴、鼻子等周围会显示出纹理的变化,因此其他位置的纹理变化检测也可以适当精简。除了以上几种方法,在未来的改进过程中还可以对提取后的特征进行筛选。特征筛选的方法主要分3 种:过滤式(filter)、封装式(wrapper)和嵌入式(embedded)。过滤式特征选择方法对每个维度的特征赋予权重,然后依据权重将特征进行排序;封装式特征选择方法将子集选择看作为一个优化问题,生成不同的组合,对组合进行评价,再与其他组合进行比较;嵌入式特征选择方法则在模型既定的情况下挑选出那些对模型的训练有重要意义的特征。这3种主流筛选方法分别针对不同的情况,过滤式特征选择方法直接利用所有训练样本的统计性能来评价各个特征的重要性,与后续分类算法无关,并不保证选择出的特征子集对分类性能是最优的,但其优势在于可排除大量无关性能,通用性好,可用于特征的预筛选。封装式特征选择方法需要与后续分类算法结合,依据分类器的准确率评价每个特征的重要性,筛选出对于特定的分类算法最优的特征子集。嵌入式特征筛选方法类似过滤法,但它是通过机器学习训练来确定特征的优劣,而不是直接从特征的统计学指标来确定特征的优劣。和包装法相比,嵌入法也是用机器学习的方法来选择特征,区别是不通过不停地筛掉特征来进行训练,每次迭代使用的都是特征全集。嵌入式特征选择方法是将特征选择过程与学习器训练过程融为一体,两者在同一个优化过程中完成,即在学习器训练过程中自动完成了特征选择。3 种方法各有优劣,因此可以相互结合使用。利用好预处理方法并针对分类器方法的各自的优点,筛选出最优的特征子集,从而提高对微表情识别的准确率。
4.3 结论
对于微表情识别还有一些方法,这里就不一一列举,总的来说是根据面部的纹理以及微小的动作变化对提取特征的方法进行调整。微表情的应用范围很广泛,如婚姻关系预测[53]、交流谈判[54]、教学评估[55-56]等,尤其对于国家安保工作[57],通过分析人的微表情可以发现他的真实意图,及时制止危险分子的不法行为,对于犯人是否说谎、是否有暴力行为等都可以有很好的预测,从而保护国家长治久安。