微表情识别系统在低分辨率环境下的应用研究
作者: 王瑾 黄晓华 李航 洪杰
摘要:近几年,微表情识别系统的研发处于计算机视觉的热门领域。然而,由于微表情在数据量上稀疏而且其面部变化微弱,给微表情识别研究带来了挑战。众所周知,在计算机视觉领域的研究人员陆续提出一系列新型的深度网络提取面部微表情特征并给予识别。随着微表情未来的应用,严酷的应用环境,比如遮挡、光照变化和低分辨采集环境,给微表情识别带来了一系列难题。因此,文章重点研究低分辨率对于微表情识别的影响。文章在特征提取方面,充分利用了卷积神经网络提取低分辨率图像中含有的和微表情相关的主要特征信息,在时间维度层面,使用长短期记忆网络对微表情进行时空建模与预测。本文在公开的微表情数据集进行充分的实验,实验结果表明,随着分辨率的降低,深度网络的性能逐渐下降,证实了低分辨率对于微表情识别系统的实际应用具有关键的影响。
关键词:低分辨率图像;长短期记忆网络;卷积神经网络;微表情识别
中图分类号:TP18 文献标识码:A
文章编号:1009-3044(2022)20-0081-02
1 引言
近年来,随着深度学习的不断发展,基于深度网络的情感计算研究越来越受到研究人员的重视。在情感计算领域,情绪分析通过对人类能够表达的各种生物信号进行分析,比如语音、姿态和表情。心理学家的研究结果表明,人们传递信息总量的55%是由面部表情来传达的[1],表明了表情蕴含了人类情绪中的大部分信息。从表情的呈现幅度,表情可以分为宏表情和微表情两类,其中宏表情是人们日常容易观察到的情绪,包括7种表情(高兴、惊讶、生气、中性、厌恶、害怕、伤心) 。相对于宏表情,微表情是一种短暂的、自发的情绪,并且由于微表情难以伪造且通常人们不会下意识抑制微表情的产生。因此,微表情大多数反应的是人们当前真实内在的情绪。微表情在国家安全、医疗等领域具有潜在的应用。
近年来,研究者们提出了大量的机器学习、深度学习等方法来实现微表情识别技术。比如,Huang[2]等人提出了向量化编码的局部二元模式算法(STCLQP) 提取微表情的时空特征。Patel[3]等人采用特征选择的方法对深度卷积特征选取具有鉴别性特征(Selective) 。Khor[4]等人采用了VGG网络提取特征,并将特征输入长短期记忆网络进行识别。Zhou等人提出了特征细化的深度学习模型提升微表情的识别性能[5]。Li等人提出了基于峰值帧的全局与局部特征融合的深度网络对微表情进行识别[6]。
虽然现有的微表情识别算法在微表情数据库获得了良好的识别性能,但其性能在很大程度上取决于人脸视频片段的质量。例如,用于微表情识别的CASME2数据集[7]是在[640×480]分辨率的摄像头采集得到。然而,在实际应用过程中,常规监控视频远距离捕捉到的图像序列的人脸分辨率往往在[40×40]分辨率以下。低分辨率图像会丢失了大量的纹理信息,导致从低分辨率图像序列中提取可用特征变得困难。本文在微表情识别算法[1]的基础上研究分辨率对基于深度网络的微情识别的影响。
2 微表情识别系统框架
微表情识别系统包含两个主要的部件:特征提取与时空建模(如图1所示) 。在系统中,特征提取主要从图像中提取人脸微表情的特征,而时空建模重点将视频中每帧的前向信息进行建模并分类。前人的工作[2]将特征提取与时空建模融合成一个模块(STCLQP) ,Zhou[3]等人提取峰值帧与中性帧的光流信息,实现时空建模。在本文中,借鉴Khor等人的方法,在构建微表情识别系统的过程中,笔者采用VGG网络[8]和长短期记忆网络[9]分别对微表情面部特征的提取与时空建模。
2.1 特征提取
笔者采用了VGG16[8]的网络对微表情图像进行提取。其输入为[224×224×3]的图像。输入层方面,网络由13个卷积层、5个最大池化层、3层全连接层和一个softmax层组成。卷积层方面,在VGG16中均采用一样的卷积核,具体来说,在本文中,卷积层使用[3×3]卷积核,从而能够达到快速计算;最大池化层和卷积层一样使用的是相同的池化核参数,且其大小都为[2×2]。模型是由卷积层和池化层互相连接的方式构成,16层的层数,使其网络不会很深,从而导致过拟合的出现,但又能提取出大部分的有效特征。
2.2 时空建模
使用传统的RNN来处理时序相关的问题时容易引发一个问题,由于RNN无法向后看且向前只能观看一小段“记忆”的处理机制,导致RNN很容易忘记前面比较久远的时间段信息,因此RNN网络中越近的时间点,对于此刻的输入的影响越大。这就导致RNN很容易将拥有时序的数据中某一个时间序列的损失过分放大或缩小,相对应地就会导致梯度爆炸和梯度消失问题。为了克服这样的问题,笔者采用长短期记忆网络(Long Short-Term Memory,LSTM) [8]。
LSTM和RNN相比,其不同之处在于设计了三个控制器输入控制器、遗忘控制器和输出控制器,其中,输入控制器主线会按照分线的重要程度将分线写入主线中进行分析,遗忘控制器则是在分线与主线不同时,以一定程度对主线进行遗忘按一定比例用分线替换现在的主线,最后输出控制器会根据当前的主线和支线判断具体的输出。因此LSTM可以解决RNN(循环神经网络) 中存在的长期依赖问题。
下面将具体介绍三个控制器及其实现方法:
遗忘控制器:遗忘门主要决定支线,在主线运行时如果存在有一定的影响需要改变此时的主线,那么遗忘门则有权力决定这个影响是否会加入主线。
输入控制器:结合上一个阶段输出门产生的输出[h(t-1)]和当前的输入[x(t)],通过一定的函数,确定当前哪些影响因素会加入主线。公式如(2) ~ (4) 所示:
[i(t)=σ(Wih(t-1)+Uxx(t)+bi)] (2)
[a(t)=tanh(Wah(t-1)+Uax(t)+ba)] (3)
[C(t)=C(t-1)⊙f(t)+i(t)⊙a(t)] (4)
其中[C(t)]为细胞状态,[f(t)]为遗忘门的输出,[i(t)]和[a(t)]为使用Sigmoid激活函数和tanh激活函数所得的结果。
输出控制器:输出门主要用于决定下一个隐藏状态什么,它由上一个隐藏状态和本列数据通过和激活函数一起运算得到。公式如(5) ~ (6)所示:
[o(t)=σ(Woh(t-1)+Uox(t)+bo)] (5)
[h(t)=o(t)⊙tanh(C(t))] (6)
LSTM的特点是:通过遗忘门、输入门和输出门对状态[C(t)]的影响,最终决定每一个时间点要忘记多少、记住多少、输出多少,最后把这个状态一直传递下去,从而达到可以控制其不会忘记遥远的重要信息,也不会把附近不重要的信息看得太重的作用。
LSTM的优点是加入三种控制器机制使得网络能在一定程度上抑制梯度爆炸和梯度消失问题。作为一个非线性模型,它能够适应更大更深的网络模型,因此在处理时序相关的问题有着不错的性能。与此同时,LSTM的缺点在于虽然其在一定程度上缓和了RNN中梯度的问题,但并没有实质上解决这类问题,LSTM在小量级中确实有着优越的性能,但是在处理大量级的问题时仍然会因为其复杂的网络或跨越过大,导致其效果没有那么明显。但是,在微表情识别中,通常只需要考虑视频中一幅画面上下100帧左右的变化,而不用关联到几分钟前或几分钟后的变化状态,因此,微表情识别的实际应用解决了LSTM的这个问题。
2.3 损失函数的构建
笔者使用交叉熵损失函数来评估分类的准确度:
[Loss=k=0C-1yilog(pi)] (7)
其中,每个元素[pi]表示样本属于第[i]类的概率。
3 实验设计与分析
3.1 数据库的简介
为了测试网络性能,笔者使用了公开的CASMEⅡ[9]微表情数据库。该数据库是由中国科学院心理所收集的微表情数据集(包含26名参考者) ,采用了帧率为200fps、分辨率为[640×480]的摄像机,共采集了247个微表情样本。CASMEⅡ中的微表情使用AU进行标记,将样本分类成五个类别的情感标签,即开心、惊讶、压抑、厌恶和其他。
3.2 低分辨率图像的仿真
为了研究低分辨率图像对微表情识别的影响,本文采用下采样的方式对图像进行预处理,仿真出从低分辨摄像机采集到的微表情图像(如图2所示) 。具体过程如下:将原始大小为[W×H]的微表情图像,进行缩放使得其尺寸变为[Wx×Hx]的图像,其中[x]为图像的缩放系数。因此,在图像进行下采样过程中,对于下采样后得到的像素值为:
[Ik=i∈win(k)IiS2] (8)
其中,[win(k)]为区域k,S为区域大小,[Ii]代表区域中索引[i]的像素值。
从图2中可以看到,随着缩放倍数的增加,微表情图像变得越来越模糊,尤其是在[32×32]分辨率条件下,眼睛、嘴巴的纹理信息逐渐丢失,当缩放到[16×16]的条件,只能大概知道人脸图像的存在,而丢失了大部分面部微表情的特征,这在某一程度上,很好地仿真实际应用过程中低分辨率的摄像头采集的质量。
3.3 参数设置
在实验过程中,笔者使用两张V100GPU进行训练,设置批大小为128,VGG模型的训练迭代次数为10,LSTM模型的迭代次数为40,学习率为0.00001,学习率衰减为0.000001。
为了分析低分辨率的影响,笔者采用了Leave-one-subject-out验证策略对网络进行训练与测试。具体地,笔者选择属于一个人的所有微表情样本作为测试,其他人的微表情样本作为训练;由于CASME Ⅱ数据库包含了27个人的样本,整个测试过程重复27次。
3.4 实验分析
笔者的实验考虑了四种不同的分辨率,分别是[128×128]、[64×64]、[32×32]和[16×16]。表1给出了微表情识别系统在上述四种分辨率条件下的识别率。从表1中可以看出,在常规分辨率(即[128×128]) 情况下,识别率达到了60%。与STCLQP[2]、Selective[3]比较,性能分别提升了1.61%和12.7%,可以看出,VGG与LSTM的融合网络可以达到较好的性能。随着分辨率的下降,当分辨率为[32×32]的时候,识别率下降了7.39%;在[16×16]的时候,识别率大幅度下降(下降幅度为12.17%) 。实验结果表明,随着微表情图像的分辨率下降,能够给VGG与LSTM提供的面部关键信息已经丢失了,导致深度网络不能够较好地提取鉴别特征。另一方面,实验结果证明了低分辨率对于微表情识别的实际应用具有较大的影响,在未来的工作中,需要对低分辨率进行深入的研究。
4 结论与展望