结合关键点与权重分配残差网络的表情识别

2022-09-06 11:09姜月武张玉金施建新
计算机工程与应用 2022年17期
关键词:关键点残差分配

姜月武,张玉金,施建新

上海工程技术大学 电子电气工程学院,上海 201620

表情是人们情绪变化的载体,通过表情状态可以判断人们的心情,传递交流中的情感信息。将情感赋能于机器已经成为人工智能领域的研究热点。Ekman 在其发表的跨文化研究[1]中定义了六种人类基本表情情绪:生气、厌恶、害怕、高兴、伤心和惊讶。尽管文化和种族存在差异,但是这些表情都是人类共同的情感表达方式。

早期表情识别技术一般采用“手工特征提取+分类决策”的技术路线,识别性能主要依赖于特征的有效性。典型的特征包括局部二值模式(local binary pattern,LBP)[2]、Gabor 小波特征[3]、方向梯度直方图(histograms of oriented gradient,HOG)[4]等。这些特征在实验室数据集上能够取得良好的性能,然而面对样本复杂、场景多样的表情数据集识别性能显著下降。手工特征还易受光照、背景、噪声等因素的影响导致算法的识别精度较低,模型的泛化能力不足。

近年来深度网络在图像识别问题上取得突破性进展,为表情识别研究提供了借鉴。深度卷积网络对人脸的位置变化和尺度变化具有较强的鲁棒性。文献[5]使用卷积神经网络(convolutional neural network,CNN)作为基础网络有效地解决了人脸表情识别中尺度不变性问题。Bargal 等[6]提出了集合最优表情识别网络,通过串联特征一维输出层进行表情分类。Lv 等[7]利用级联结构设计了新的人脸表情识别网络,使用DBNs[8]检测人脸表情区域,用堆叠式自动编码器对这些面部单元进行分类。上述方法通过设计不同网络结构、加深网络层次等方法提高表情识别性能。然而,它们易受非表情内容的干扰,对类间差异较小的表情识别精度不高。

针对非表情内容干扰问题,Li 等[9]提出了一种基于眼部关键点的裁剪方法结合CNN 网络进行表情分类,该方法使用固定关键点作为裁剪点,对于不同的人脸样本关键点会发生位置变化,可能会造成表情信息的损失。Kim等[10]使用viola-jones人脸检测器结合面部关键点消除背景因素影响。褚晶辉等[11]使用了面部区域截取方案通过截取眼睛、鼻子、嘴巴部位作为输入来去除非表情内容,表情内容的全局特征会受到影响,造成表情信息损失。针对类间差异微小的表情(如生气、伤心、害怕)分类,表情类别信息一般分布在局部区域,需要引导网络对这些有区分力的局部特征进行提取。注意力机制借鉴了人类的注意力思维,通过加权关注图像的局部细节信息,抑制无关信息。Jaderberg等[12]提出STN网络使用多种空间变换作用于整个特征输入,实现对关键区域特征的提取。Hu 等[13]提出了SE 模块,该模块在通道上进行注意权重分配,使网络关注信息量较大的通道特征。Wang 等[14]对SENet 进行改进提出了一种有效通道注意力网络ECA,通过局部信道交互和自适应选择卷积核的方式实现网络性能的提升。张爱梅等[15]通过ECA网络结合分层双线性池化构建深度网络,学习具有强分辨能力的面部表情特征。STN网络关注空间信息,缺少对通道上的刻画。SENet、ECA仅关注了通道上的特征形态,对空间上的局部表情特征刻画能力不足。

针对上述两个问题,本文提出了结合面部关键点与权重分配残差网络的表情识别方法,本文的工作主要体现在以下两方面:

(1)为了有效消除非表情内容的干扰,提高网络学习表情特征的效率,提出了最大表情范围裁剪方法,根据每个样本的68 个关键点构造外接矩形,最大限度保留全局表情特征,有效避免了表情信息缺失。

(2)融合空间和通道上的权重分配机制,引导深度残差网络学习对表情具有鉴别力的局部特征。空间权重分配可引导网络关注局部表情特征,通道权重分配主要关注表情特征形态,有效改善了类间差异微小的表情识别性能。

本文方法在CK+[16]和FER2013[17]数据集上进行验证,实验结果与近期提出的方法相比有一定的优越性。

1 本文方法

本文提出的人脸表情识别算法主要由预处理和权重分配残差网络两部分构成,算法流程如图1所示。在预处理阶段,进行最大表情范围的获取。使用旋转、变换和翻折策略进行数据增强。在输入深度网络之前进行图像的归一化和标准化。将经过预处理的表情图像输入权重分配深度残差网络进行模型训练。

图1 本文算法流程Fig.1 Algorithm flow of this paper

1.1 预处理层

背景因素、非表情内容、光照等都影响着深度网络对表情特征的学习,本文使用面部关键点裁剪获取最大表情范围,使用直方图均衡化、Z-score变换对图像的亮度和对比度进行归一化操作,使用数据增广技术增强训练样本的多样性。上述预处理可有效改善图像质量、去除背景和噪声干扰等,为深度网络进行特征提取提供良好的数据基础。

1.1.1 最大表情范围

人类通过控制面部肌肉变化实现表情切换。如图2所示,人脸表情的变化部位主要位于关键点所围区域,该区域的表情信息最为丰富,本文将该区域定义为最大表情范围(maximum expression range,MER)。关键点检测是获得最大表情范围的关键一步。本文使用面部关键点裁剪获取最大表情范围,减小背景、前额、头发等非表情内容影响。

图2 表情范围和关键点的位置Fig.2 Expression range and position of key points

级联回归树是一种较为稳健的关键点检测方法[18],使用两层回归建立数学模型以优化关键点坐标,模型经过训练后可准确、快速地获取面部关键点。令某一个样本面部关键点记为:

其中,关键点坐标矩阵M是一个大小为68×2的二维数组,矩阵M的每一行表示其中一个面部关键点。本文在上下左右四个方向取最远关键点构成外接矩形,即可将表情丰富的区域最大限度保留。具体地,分别取{xi} (i=1,2,…,68) 中的最大值xmax和最小值xmin,{yi} (i=1,2,…,68)中的最大值ymax和最小值ymin。由这些最值点可以组成四个坐标点a(xmin,ymin) 、b(xmax,ymin)、c(xmax,ymax)和d(xmin,ymax),则最大表情范围S可表示为:

由式(1)、(2)和(3)可获取最大表情范围,图3为最大表情范围的计算流程图。

图3 最大表情范围的计算流程Fig.3 Calculation process of maximum expression range

1.1.2 数据的标准化与增强

数据标准化使数据具有可比性,数据之间的相对关系转换成标准模式,有利于网络收敛。本文首先采用直方图均衡化进行光照的标准化。直方图均衡化是一种利用灰度变换自动调节图像对比质量的方法,通过灰度级的概率密度函数求出灰度变换函数。变换函数T(r)与原图像概率密度函数pr(r)之间的关系:

其中,T(r)要满足0 ≤T(r)≤1。

由于直方图均衡化会降低有用信号的对比度,接下来,本文使用Z-score 标准化来增强对比度。为了直观地显示图像标准化后的效果,图4给出了一幅人脸表情图像经过直方图均衡和Z-score 处理后的结果。由图4(b)可以看出,直方图均衡化增强了过亮或过暗的人脸表情细节。使用Z-score对直方图均衡化后的表情图像进行处理的结果如图4(c)所示,表情图像的细节和对比度得到进一步的增强。

图4 图像标准化Fig.4 Image normalization

本文通过数据增广技术(图像随机翻折、旋转等操作)对样本进行扩充,增加训练样本的多样性,增强网络的泛化性。本文选取线上增广技术在数据输入模型前进行批量操作,该过程可以通过GPU进行加速处理。

1.2 权重分配残差网络

本节主要介绍权重分配残差网络的结构,基础网络选取更易优化的残差网络[19]。残差网络可以有效缓解网络性能衰减和梯度弥散问题,通过捷径连接支路构建恒等映射形成残差单元。对于一个堆积层结构,当输入为x时,其学习到的特征记为H(x)。直接拟合H(x)比较困难,将问题转化为学习一个残差函数F(x)=H(x)-x,原始学习特征此时为F(x)+x。残差单元通过恒等映射的方式在未引入额外参数和未增加计算量的情况下解决网络性能退化问题。接下来,引入权重分配模块引导网络关注有益于表情分类的特征区域,抑制无关特征信息。

1.2.1 权重分配网络

类间差异微小的表情类别(如害怕、伤心、生气)表情特征通常聚集于局部区域,不仅需要关注有益于表情分类的特征形态还需要关注具体的局部特征。引入通道注意力机制与空间注意力机制[20]实现在通道和空间维度上的注意权重推断,进而实现不同区域的权重分配(weight allocation mechanism,WAM)。权重分配机制有效挖掘对表情分类有意义的局部区域,实现局部特征学习强化,引导网络利用聚合特征进行表情识别。

通道注意力机制在通道上实现权重分配,特征图上每一个通道表示一个检测器,通道注意力机制关注最有意义的特征是什么形态。输入一个特征图F∈RC×H×W(C为通道数,H为高度,W为宽度),通过使用平均池化和最大池化方法来进行特征信息聚合,最后得到平均池化后的特征图Favg和最大池化后的特征图Fmax。将得到的特征图输入到权重共享网络,该共享网络为有一个隐含层的感知机构成,输出层的大小为1×1×C。将两个新得到的特征图相加经过Sigmod激活函数得到权重系数Mc∈RC×1×1,将权重系数和原始输入特征相乘即得到基于通道注意力的新特征。具体计算方式如下:

其中,σ表示Sigmod 激活函数,W0和W1表示多层感知机的权重。

空间注意力机制在图像空间上进行权重分配,利用特征间的关系构建空间注意力机制来寻找对于表情较有区分力的局部特征信息。输入一个特征图F∈RC×H×W,使用平均池化和最大池化生成两个二维的特征图Fasvg∈R1×H×W和Fmsax∈R1×H×W,将新生成的两个二维特征图连接后输入到一个卷积核为7×7 的标准卷层,经过Sigmod 激活函数得到二维空间权重推断系数Ms∈RH×W,与原特征相乘即得到基于空间注意力的新特征。Ms的计算方式如下:

其中,σ表示Sigmod激活函数,Conv7×7为卷积核为7×7的标准卷积层。

将通道注意力与空间注意力机制进行融合,构成权重分配模块,实现通道和空间上的注意权重推断。输入特征F,经过通道注意加权后得到Fc,再将Fc传入空间注意力机制加权后得到Fs,将新特征输入到网络中相乘获得经过权重分配的特征Fc+s,权重分配结构如图5 所示,经过权重分配后的特征计算方式如式(7)所示,其中⊗表示同位元素对应相乘。

图5 权重分配网络结构Fig.5 Weight allocation network structure

1.2.2 权重分配残差网络结构

深度残差网络通过残差单元有效缓解梯度弥散和网络性能衰减。本文以深度残差网络为基础网络,引入权重分配机制,实现通道和空间的注意权重分配。深度网络的层次结构如图6 表示。首先使用一个卷积层进行特征的初步提取,将特征输入权重分配模块得到权重分配系数。使用原始特征与权重系数进行同位元素对应相乘获得经过权重分配的新特征。将新特征依次输入到8个残差模块、2个全连接层中进行特征学习,在全连接层之后再次进行权重分配运算。最后接入softmax层进行分类,整个基础网络共19 个卷积层。残差模块包含2个卷积层、2个BN(batch normalization)层和2个Relu 层,网络中使用两种不同的残差模块(如图7 中的残差模块结构1 和2)。残差模块结构2 在连接支路加入1×1卷积(步长为2,填充为1)与BN层以实现输入输出的尺寸统一。为了使网络实现权重分配的同时保持残差单元的完整性,将两个权重分配模块插入在第一层卷积输出后和softmax 分类层之前。残差网络有效缓解网络性能退化问题,权重分配模块引导网络寻找表情变化突出的特征区域,更好地区分类间差异小的表情类别。

图6 权重分配残差网络结构Fig.6 Residual network structure of weight allocation

图7 不同结构的残差单元Fig.7 Residual units of different structures

2 实验结果与分析

本文实验硬件平台为台式工作站,其配置如下:Ubuntu18.04系统、CPU主频2.3 GHz的Intel Xeon Silver 4110 和NVIDIA RTX2080Ti 显卡。实验中保持了超参数的一致,迭代次数(epoch)均设为250 次,初始学习率设为0.01,在迭代50 次后学习率以0.9 倍进行衰减。使用SGD优化器,权重衰减系数为5E-4,动量设为0.9。

2.1 表情数据集

本文实验使用CK+和FER2013 表情数据集。CK+是由CK数据集扩展而来,包含了123个对象的593个图像序列。CK+数据集是在实验室环境下获取的表情数据,图像采集环境相对较好。FER2013人脸表情数据集由35 886 张人脸表情图片组成,其中训练集28 708 张,验证集和测试集各3 589 张,共包含7 种表情。与CK+数据集不同,FER2013数据集用中性类别取代了蔑视类别。FER2013数据集包含大量人脸遮挡图像、低对比度图像和非人脸图像,其识别难度高于CK+数据集。

2.2 实验结果分析

本节对所提算法的性能进行实验评估。首先对本文构建的基础网络进行对比实验,表1分别列举了三种典 型 深 度 网 络(AlexNet[21]、VGG-19[22]和Resnet[19])在CK+和FER2013数据集上的实验结果,结果表明Resnet比其他两种网络具有更高的识别精度,故本文选取Resnet网络作为基础网络。

表1 不同网络在FER2013和CK+的准确率Table 1 Accuracy of different algorithms in FER2013

2.2.1 网络结构的有效性

为了验证权重分配网络和最大表情范围裁剪方法的有效性,实验结果如表2 所示,其中Resnet 表示未加入任何模块的基础残差网络,MER 表示最大表情范围机制、WAM 表示权重分配机制。四种网络结构均在FER2013和CK+数据集上进行实验,CK+数据集实验使用十折(10-fold)交叉验证方法。从表2可以看出,最大表情范围裁剪和权重分配机制对两个数据集的识别准确率都有一定提升。最大表情范围获取表情信息丰富的局部图像作为输入,使得网络更有效地学习表情分类任务中的细微差异,提高识别准确率。权重分配机制则在空间和通道上进行注意权重的分配,引导网络关注有益于表情分类的局部特征。结合权重分配网络与最大表情范围在FER2013和CK+数据集上实现了74.14%和98.99%的准确率相较于基础网络分别提高了4.02 和4.04个百分点,说明了本文所提的最大表情范围和权重分配机制具有一定的有效性。

表2 不同网络结构的对比Table 2 Comparison of different network structures

类间差异微小的表情类别(如害怕、伤心、生气)是表情分类的难点,通过空间和通道上的注意权重分配,引导网络关注局部细节特征,提高类间差异微小表情的识别准确率。类间差异小的表情识别性能的变化可以通过混淆矩阵展现。

图8为不同网络在FER2013数据集上的混淆矩阵,由图8可看出:

(1)图8(a)为基础网络的混淆矩阵,可发现生气、害怕、伤心等容易造成相互间的误判,识别准确率分别为63%、52%、63%。原因在于表情类间差异较小,表情信息接近易造成误判。例如害怕误判为伤心的概率达到了20%,伤心误判为害怕的概率达到了12%,生气误判为伤心的概率达到15%。

(2)图8(b)为本文算法的混淆矩阵,相较于基础网络,嵌入权重分配和最大表情范围后生气、害怕、伤心和中性的识别准确率分别提升4、5、7、7 个百分点。类间差异小的类别之间的误判率也得到有效改善,害怕误判为伤心的概率为14%,伤心误判为害怕的概率为10%,生气误判为伤心的概率为12%。其余识别准确率均有小幅改善。该算法相较于基础网络(图8(a))总体识别准确率提高4.02 个百分点,生气、害怕、伤心、中性等类间差异小的表情识别性能得到有效改善。

(3)图8(c)和(d)分别为Resnet-WAM与Resnet-MER的混淆矩阵,二者的总体识别率分别比Resnet高出2.02和2.73 个百分点。由混淆矩阵可以看出,Resnet-MER在害怕和中性识别准确率提高5 和7 个百分点,Resnet-WAM 在伤心和厌恶上分别提高2 和4 个百分点。分别嵌入最大表情范围和权重分配都能有效地改善类间差异小的表情识别性能,提升总体识别准确率。

图8 不同网络在FER2013数据集上的混淆矩阵Fig.8 Confusion matrix of different networks on FER2013 dataset

图9 为不同网络在CK+数据集的混淆矩阵,由图9可看出:

(1)从图9的混淆矩阵可知快乐、惊讶、厌恶等类间差异较大的表情在每个网络都保持较高的识别准确率,而生气、伤心、害怕等类间差异较小的表情误判率较高。图9(b)为本文算法的混淆矩阵,该算法近一步提升生气、伤心、害怕的准确率分别达到100%、99%、97%,相比基础网络(图9(a))分别提高8、4、7 个百分点。整体的识别准确率相较于基础网络提升4.05 个百分点。说明本文算法对类内差异较小的表情具有良好识别性能。

(2)Resnet-WAM(图9(c))、Resnet-MER(图9(d))的识别率相较于基础网络分别提升1.01 和2.02 个百分点,使用最大表情范围可以最大限度保留全局表情特征,有效避免表情信息缺失,提升表情识别准确率。在空间和通道上进行权重分配,引导网络关注表情变化突出的局部区域,提升类间差异小的表情识别准确率。

图9 不同网络在CK+数据集上的混淆矩阵Fig.9 Confusion matrix of different networks in CK+ dataset

本文使用Grad-CAM[23]技术对权重分配模块进行特征学习区域可视化,Grad-CAM 使用梯度来计算卷积层中空间位置的重要性,构建热力图直观地展示卷积神经网络学习到的特征,将模型的关注点通过热力图表现出来。图10为加入权重分配机制网络与基础网络的特征热力图。图10第二行中的热力覆盖范围相对集中于表情变化区域,而第三行中的热力覆盖范围分散于整个图像。可见权重分配机制有利于增强局部特征性能。图10最后一列蔑视的变化区域在口部周围,权重分配机制能很好地将特征权重分配到口部,将特征学习主要集中于口部周围,而Resnet网络的特征学习相对分散。因此权重分配机制可以很好地聚合对于表情分类有意义的特征,弱化其他特征。

图10 可视化权重分配机制的特征学习Fig.10 Feature learning of visual weight allocation mechanism

2.2.2 与现有方法对比

为了说明本文算法在类间差异微小的表情类别的识别性能,表3列举了本文算法与近期一些算法的实验结果对比,可见本文算法相较于其他算法在类间差异微小的表情类别上有明显的性能提升,使得整体表情识别准确率提高,验证了本文方法的有效性。文献[24]同样使用注意力机制关注通道信息,忽略了空间上的局部信息。文献[15]结合通道注意力和双线性残差网络,使用深层网络Resnet50作为基础网络,需要消耗更大的计算资源。可以总结出最大表情范围裁剪使网络聚焦于表情丰富区域,使用权重分配网络可从空间和通道上对有利于表情分类的局部特征进行权重加强,两种方法都有效提升了表情识别的准确率。

表3 本文算法与其他算法在CK+和FER2013数据集上的对比Table 3 Comparison between proposed algorithm and other methods on CK+ and FER2013 datasets

3 结语

本文提出基于面部关键点的最大表情范围提取方法,有效减少非表情内容影响。引入权重分配机制挖掘对分类有意义的区域,引导网络更好地学习局部特征。本文算法在FER2013 和CK+上的实验结果表明基于关键点的最大表情范围裁剪和权重分配策略可以有效提升表情识别准确率。本文算法有效改善了类间差异较小表情的识别效果。但实验中发现生气、害怕、中性等表情的误判率相较于其他类别仍然较高,高相似度表情识别有待进一步研究。FER2013 数据集为非实验室数据集,图像质量差数据环境复杂,多种方法在该数据集上的识别准确率较低。探索低质表情图像的识别算法也是下一步需要研究的问题。

猜你喜欢
关键点残差分配
基于残差-注意力和LSTM的心律失常心拍分类方法研究
基于双向GRU与残差拟合的车辆跟驰建模
论建筑工程管理关键点
肉兔育肥抓好七个关键点
建筑设计中的防火技术关键点
基于残差学习的自适应无人机目标跟踪算法
应答器THR和TFFR分配及SIL等级探讨
基于深度卷积的残差三生网络研究与应用
遗产的分配
一种分配十分不均的财富