采用Transformer网络的视频序列表情识别

陈港,张石清,赵小明*

1.台州学院智能信息处理研究所,台州 318000;
2.浙江理工大学机械与自动控制学院,杭州 310018

人脸表情在人际交往中是不可忽视的重要信息载体,表情使人与人之间的沟通更加自然。人脸表情识别技术的进步促进着人机交互技术的发展。如何提升人脸表情识别性能是智慧医疗、聊天机器人和学生专注度监测等人机交互系统中一个重要的热点研究课题。目前已有的人脸表情识别技术(李珊和邓伟洪,2020)可以分为基于静态图像的表情识别和基于动态视频序列图像的表情识别两类。基于静态图像表情识别的方法大多考虑如何提取有效的空间特征(王善敏 等,2020)以及通过注意力机制关注各局部区域关键信息(Li等,2019)和互相关性(Li等,2020)来提高模型的识别性能。刘帅师等人(2011)采用Gabor滤波器从图像中提取不同尺度的多方向特征,再将多个多方向Gabor特征进行融合,并分块计算每块的直方图用于人脸表情识别。相比于静态图像,视频序列是由若干帧静态图像组成的,并且每帧图像的人脸表情强度具有一定的差异。因此,基于视频序列的人脸表情识别方法不仅要考虑每帧人脸表情图像的空间维度信息,还要关注视频序列包含的时间维度信息以及每帧图像对于整个视频表情识别的重要性的不同。在当前短视频流行背景下,视频包含的人脸表情信息相比静态图像更加丰富,视频序列的人脸表情识别比静态图像更具有挑战性。De Silva和Ng(2000)对每个视频序列特征采用一对速度和位移特征向量表示,并采用光流算法(Anandan,1989)跟踪视频序列中的特征运动,实现了基于视频序列的表情识别。为了从每帧图像中提取有效的人脸表情特征,付晓峰等人(2015)对局部二值模式(local binary pattern,LBP)进行方向编码,形成局部方向角模式(local oriented pattern,LOP),再扩展到3维空间,提出时空局部方向角模式,以提取视频的全局表示特征进行视频人脸表情识别。然而,上述方法采用的手工特征是低层次的,可靠性不够,导致训练出的模型泛化能力不强。

随着深度学习技术的发展,提出了一系列可用于提取视频人脸表情特征的深度神经网络,代表性的有卷积神经网络(convolutional neural network, CNN)(李彦冬 等,2016)和长短时记忆网络(long short-term memory network,LSTM)(Sun等,2016)。王晓华等人(2020)采用堆叠LSTM的方式学习视频序列数据的分层表示,使用注意力机制进行相应的权重分配,构建出有效的情感层次特征表示,提高了模型的识别准确率。Hu等人(2019)提出一个基于级联的局部增强运动历史图像(Ahad等,2012)和CNN-LSTM网络集成结构的视频表情识别方法。其中,CNN用于提取每帧图像的空间特征,LSTM用于学习视频图像帧之间的时间维度信息表示。该集成框架用于提取视频人脸表情的全局特征,较大程度地改善了识别模型的性能。Fan等人(2016)提出一个混合网络框架,分别采用循环神经网络(recurrent neural network,RNN)和3D卷积神经网络对外观和运动信息进行编码。其中RNN的输入为CNN从每帧图像学习到的特征,然后将RNN和3D卷积神经网络输出的特征进行级联,用于实现视频情感分类。

现有基于深度学习方法的视频表情识别模型大多具有较强的特征提取能力,同时也考虑了视频序列的时间维度信息,但很少关注视频序列中每帧图像对视频表情识别的重要性。对此,以自注意力机制(self-attention)为核心的Transformer(Bahdanau等,2016;
Brown等,2020;
Dosovitskiy等,2021)方法提出了解决方案。Transformer模型将注意力机制作为编解码器的核心执行翻译操作,并成功应用于自然语言处理领域,取得了很好的机器翻译性能。Dosovitskiy等人(2021)提出一个视觉Transformer模型,将处理文本序列的Transformer模型成功应用在图像识别领域,取得了不错的图像识别性能。考虑到Transformer强大的注意力特征的学习能力,本文提出一种基于Transformer的视频表情识别方法。首先采用在ImageNet数据集(Deng 等,2009)预训练好的深度残差网络(residual network,ResNet)学习出视频片段序列中每帧图像的人脸表情特征,并将其作为后续LSTM模块和Transformer模块的输入。然后将LSTM学习到的时间维度特征和Transformer输出的注意力特征进行级联,构建出一个视频片段注意力特征,输入到softmax层,得到每个片段的分类分数值。最后将一个视频中所有片段的表情分类分数值(classification scores)进行最大池化,得到视频样本的表情类别。该方法融合Transformer机制对视频序列中的每帧表情图像进行加权特征学习,学习出不同帧图像对视频表情识别的作用力差异性,提取到判别力强的视频表情注意力特征。在两个公开视频表情数据集BAUM-1s(Bahcesehir University multimodal)(Zhalehpour等,2017)和RML(Ryerson Multimedia Lab)(Wang等,2012)的实验结果表明,本文方法能取得较好的识别准确率。

本文提出的端到端的CNN+LSTM+Transformer的视频人脸表情识别模型结构如图1所示,具体包括以下步骤:1)片段空间特征提取。将视频分成若干包含16帧的片段,通过深度残差网络学习出一个片段特征G∈RN×d并进行归一化处理。2)片段时间维度特征提取。将视频片段特征输入到LSTM模块中,学习出视频片段的时间维度特征信息e∈R1×d。3)片段帧注意力特征提取。将视频片段特征输入到Transformer模块中,学习得到一个片段帧注意力特征Zclass∈R1×d。4)视频表情分类。将时间维度特征和帧注意力特征进行级联后,输入到全连接层中,输出一个1×6维的片段分类分数值,然后采用最大池化操作,输出视频人脸表情的类别。

图1 CNN+LSTM+Transformer模型框架示意图

综上所述,本文方法不仅考虑了视频中每帧图像的空间特征,还考虑了时间维度特征。根据视频序列每帧图像中人脸表情强度的差异性,提出采用Transformer提取片段帧注意力特征,提高了模型的表情识别率。此外,采用交叉熵损失函数以端到端的方式训练情感识别模型,有助于模型学习到更有效的人脸表情特征。该损失函数定义为

(1)

式中,xi表示输入的第i个片段序列;
yi表示第i个片段的表情标签;
P(xi)表示模型预测值。

1.1 片段空间特征提取

为了有效提取视频片段中每帧的特征,采用在ImageNet数据集上预训练好的ResNet-18提取每帧图像的人脸表情特征。给定一个视频的帧为si∈RN×W×3,其中,H和W分别为每帧图像的高和宽,生成的特征为Gi∈R1×d,其中,d=1 024为片段特征的维度,残差网络表示为E(·),特征学习表示过程为

Gi=E(WResnet,si),i∈[1,N]

(2)

式中,WResnet为残差网络的可学习权重参数;
N=16为片段包含的帧数;
后文的N和d表示同一个含义。这样,每帧图像生成的特征是1 024维,一个片段含有16帧图像,因此,一个片段特征G的维度为16×1 024维。

1.2 片段时间维度特征提取

相比于静态的图像,视频片段中的时间维度特征信息有助于视频表情分类。因此,将LSTM网络用于视频片段中帧与帧之间的时间动态信息建模,以学习出视频片段的时间维度特征信息。给定输入一个视频片段图像序列N(G1,G2,…,GN),时间步长t∈[1,N],LSTM中的细胞(cell)单元处理序列数据过程为

It=fsigmoid(WI[Gt,Ht-1,Ct-1]+bI)

(3)

Ft=fsigmoid(WF[Gt,Ht-1,Ct-1]+bF)

(4)

Ot=fsigmoid(WO[Gt,Ht-1,Ct-1]+bO)

(5)

Ct=FtCt-1+Ittanh(WC[Gt,Ht-1]+bC)

(6)

Ht=Ottanh(Ct)

(7)

式中,It,Ft和Ot分别表示LSTM单元中的输入门、遗忘门和输出门。Gt表示当前LSTM单元当前时刻的输入;
Ht-1和Ht分别表示LSTM单元的上个时刻和当前时刻的隐藏状态;
Ct-1和Ct分别表示上个时刻和当前时刻的输出状态。W和b表示可学习的门权重参数和偏置项(下标表示对应的门);
sigmoid和tanh表示sigmoid激活函数和tanh函数。

给定输入序列G,将其输入到LSTM网络,相应的学习过程为

e=L(WLSTM,G)

(8)

式中,时间维度特征e∈R1×d由函数L(·)计算得到;
WLSTM为LSTM的可学习网络权重参数。考虑到LSTM的输入是N×d维的片段特征,所以选择1层结构的LSTM就可以提取出相关的时间维度特征信息。

1.3 片段帧注意力特征提取

1.3.1 位置嵌入编码

相比LSTM网络结构自身存在输入的位置信息,Transformer无法主动为片段中的每帧图像添加相应的位置信息。因此,本文采用位置嵌入(position embedding)编码方法为输入的每帧图像特征添加对应的位置信息。给定片段特征G∈RN×d,随机生成一个位置矩阵M∈RN×d,具体的位置编码过程为

Xi,j=Gi,j⊕Mi,j

(9)

式中,i∈[1,N],j∈[1,d];
位置矩阵Mi,j随训练过程更新;
X∈RN×d为带有位置信息的片段特征;
⊕代表按元素相加。

1.3.2 Transformer模块设计

Transformer模块的网络结构如图2所示。本文方法采用类似Dosovitskiy等人(2021)方法中的Transformer模块。该模块主要由1个线性映射层,1个可迭代的MHA(multi-head attention)层,1个由2个全连接层和2个GELU(Gaussian error linear unit)激活函数组成的多层感知器(multilayer perceptron, MLP),最后输出一个片段帧注意力特征Zclass∈R1×d,具体计算为

图2 Transformer模块结构示意图

(10)

Xl=MHA(LP(Xl-1))+Xl-1,l∈[1,L]

(11)

Zclass=LN(MLP(XL(0))+XL(0))

(12)

1.3.3 多头注意力机制

图3 多头注意力机制计算原理图

(13)

(14)

(15)

(16)

(17)

Z=hall·Wout

(18)

分别表示注意力矩阵对应的查询量(query)、键(key)和值(value);
hi表示注意力矩阵;
z表示注意力头数;
Wout表示可学习的权重参数;fsoftmax(·)表示softmax函数。

2.1 实验参数设置

实验平台为显存24 GB的NVIDIA GPU。识别模型训练时,batch设为4,学习速率开始设为5×10-5,最大循环次数设为80。实验测试采用与测试对象无关的交叉验证方法。对超过10个人的BAUM-1s数据集平均分成5组,进行5次交叉验证,对包含8个人的RML数据集采用8次交叉验证,最后取所有交叉验证结果的平均准确率作为实验的最终结果。

2.2 数据集

实验在视频表情数据集BAUM-1s(Zhalehpour等,2017)和RML(Wang等,2012)上进行。BAUM-1s是一个自然情感数据集,由31个人的8种基本表情组成,共1 222个视频片段。实验只采用其中6种基本表情,分别为生气(anger)、厌恶(disgust)、害怕(fear)、高兴(joy)、悲伤(sadness)和惊奇(surprise),共520个视频片段。视频中每帧图像的原始分辨率为720×576×3。图4为BAUM-1s数据集中的人脸图像样例。RML是一个模拟情感数据集,由不同国家的8个人组成,共720个视频片段,包含生气、厌恶、害怕、高兴、悲伤和惊奇6种基本表情,视频中每帧图像的分辨率为720×480×3。图5是RML数据集中的人脸图像样例。

图4 BAUM-1s数据集中的人脸图像样例

图5 RML数据集中的人脸图像样例

2.3 数据预处理

由于视频数据集的每个视频时长不一致,所以需要对数据集中的每个视频进行片段化处理。对每个视频样本采用MTCNN(multi-task convolutional neural network)网络模型(Zhang等,2016)进行人脸检测,首先将输入的图像进行不同尺寸的缩放,形成一个图像金字塔。图像中小的人脸通过放大进行检测,大的人脸通过缩小进行检测,从而对统一大小的人脸图像进行检测。然后将所有检测到的人脸图像的维度采样为112×112×3,再将视频的所有帧按间隔数φ提取到片段中,形成φ个包含16帧的片段。间隔数φ计算为

φ=[n/16]

(19)

式中,[]为取整函数;
n表示一个视频的所有帧数。

2.4 消融实验及分析

本文模型主要由CNN、LSTM和Transformer 3个模块组成。为了验证各模块的有效性,在BAUM-1s和RML数据集上按CNN与LSTM组合、CNN与Transformer组合及CNN与LSTM和Transformer组合进行3组实验,消融实验结果如表1所示。可以看出,CNN+LSTM模型在BAUM-1s和RML数据集上分别取得了57.73%和70.20%的表情识别准确率,CNN + Transformer模型在BAUM-1s和RML数据集上分别取得59.04%和74.96%的准确率,明显优于CNN + LSTM。由此可知,结合Transformer模型学习到的帧注意力特征的重要性大于时间维度特征。结合CNN + LSTM + Transformer模型表现最好,在BAUM-1s和RML数据集上分别取得60.72%和75.44%的准确率。说明CNN学习到的片段空间特征、LSTM学习到的时间维度特征与Transformer学习到的注意力特征三者存在一定互补性,三者结合能有效改善视频表情识别的性能。

表1 消融实验对比结果

2.5 与其他现有方法的对比

为了验证本文方法的性能,与其他方法进行对比,结果如表2所示,其中对比方法结果为文献数据。Zhang等人(2018)采用深度3D-CNN提取人脸表情特征用于人脸表表情识别,在BAUM-1s和RML数据集上分别取得50.11%和68.09%的识别准确率。Kansizoglou等人(2019)采用CNN与LSTM组合进行人脸表情特征提取,在BAUM-1s和RML上分别取得55.36%和70.55%的准确率。Cornejo和Pedrini(2019)首先采用局部约束的立体匹配算法对人脸图像进行处理,即census变换,用于减少光照差异引起的误匹配,然后采用基于CNN的census变换方法提取人脸表情特征,最后使用逻辑回归分类器进行人脸表情识别,在BAUM-1s和RML数据集上分别取得59.52%和75%的准确率。Ma等人(2019)首先利用3D-CNN从面部表情序列中提取特征,最后使用支持向量机(support vector machine,SVM)进行表情分类,在BAUM-1s和RML数据集上分别获得54.69%和73.88%的准确率。本文方法在BAUM-1s和RML数据集上分别获得60.72%和75.44%的平均准确率,优于现有其他方法。实验结果表明,本文提出的模型能有效进行视频人脸表情识别。

表2 不同方法在BAUM-1s和RML数据集上的准确率对比

为了更直观地观察本文方法对各类表情的识别情况,图6和图7分别给出了本文方法在BAUM-1s和RML数据集上获得最佳识别结果的混淆矩阵。由图6可见,高兴和悲伤的识别效果比较好,正确识别率分别为85.47%和78.36%,而生气和害怕的识别准确率较低,分别为8.93%和13.51%,这两种表情容易误判为悲伤,原因可能是这3种表情的区分度不高,造成网络模型误判。由图7可以看出,害怕的识别性能最低,正确识别率为37.5%,生气的正确识别率为65%,其他表情的识别效果较好,正确识别率超过70%。原因可能是RML数据集中害怕表情的样本数目比其他表情样本数目少很多,致使网络模型无法较好地识别此类表情。

图6 BAUM-1s数据集中CNN + LSTM + Transformer模型的识别结果混淆矩阵

图7 RML数据集中CNN + LSTM + Transformer模型的识别结果混淆矩阵

本文提出一种基于Transformer的视频序列表情识别模型,用于实现视频人脸表情识别。该方法集成了CNN、LSTM和Transformer模型,分别用于学习高层次的视频片段空间特征、视频片段时间特征以及视频片段帧注意力特征。在BAUM-1s和RML两个视频情感数据集上的实验结果表明,本文方法能有效改善视频人脸表情识别模型的性能。与对比方法相比,本文方法的整体性能占优,但识别某些数据样本数量较少的表情类别依然表现欠佳,并且在面对难以区分的两种表情时,如害怕和悲伤两种表情,本文方法表现一般。在以后的工作中,将尝试通过采用有效的数据增强技术扩大数据集,建立更具鲁棒性的深度注意力机制模型。同时,根据各类人脸表情存在的差异性,构建一个区分表情注意力模块,以进一步提高区分度不高的表情识别性能。

猜你喜欢 人脸注意力维度 理解“第三次理论飞跃”的三个维度当代陕西(2022年4期)2022-04-19让注意力“飞”回来小雪花·成长指南(2022年1期)2022-04-09有特点的人脸少儿美术·书法版(2021年9期)2021-10-20玻璃窗上的人脸奥秘(2021年5期)2021-06-15认识党性的五个重要维度当代陕西(2020年22期)2021-01-18浅论诗中“史”识的四个维度中华诗词(2019年7期)2019-11-25A Beautiful Way Of Looking At Things第二课堂(课外活动版)(2016年2期)2016-10-21“领家系”可爱脸VS“高冷系”美人脸米娜·女性大世界(2016年8期)2016-08-17长得象人脸的十种动物奇闻怪事(2014年5期)2014-05-13人生三维度吐鲁番(2014年2期)2014-02-28

推荐访问:序列 识别 采用