结合改进卷积神经网络与自编码器的表情识别

2022-02-18 13:53赟,李
小型微型计算机系统 2022年2期
关键词:识别率编码器人脸

魏 赟,李 栋

(上海理工大学 光电信息与计算机工程学院,上海 200093)

1 引 言

人脸表情识别算法可分为传统机器学习方法和基于深度学习的方法.深度学习方法可以获取更复杂、抽象的特征,因此性能较传统机器学习方法有所提升.

在人脸表情识别(FER)问题中,基于深度学习方法的神经网络模型最终学习到的特征表示对最后的分类准确率有着很大的影响.许多基于深度学习的表情识别模型都是建立在单分支CNN框架上的[1-3],性能相较于传统FER算法得到了很大的提升,但也存在着难以从原始的整体图像中精确地学习面部特征等问题.何俊[4]等人通过深度残差网络与支持向量机相结合实现对人脸表情的识别,改善了浅层网络无法提升效果的问题,但由于现有表情数据样本不足导致网络结构加深时需要采取迁移学习等方法来克服过拟合的问题.顾等人[5]构建了特征提取的双通道体系结构,利用VggNet和ResNet分别提取特征;Yan等人[6]将LBP特征图像和原始特征图像进行结合,作为CNN的输入去提取更深层的特征,这些方法通常比使用单一类型的特征能得到更好的识别效果.赖阳文等人[7]通过嵌入注意力机制模型来改进深度神经网络对人脸表情图像的特征提取方式,其研究表明注意力机制思想也适用于人脸表情识别这一任务.张志禹等人[8]的研究表明自编码器能够在人脸表情识别任务上带来图像降噪等性能方面的提升,Zeng等人[9]使用稀疏的自编码器网络进行特征学习和分类,探索了人脸表情识别的新方法.此外,Wang等人[10]以及Chollet等人[11]使用深度可分离卷积替换Inception网络中的模块得到Xception网络结构,从而降低了网络的复杂程度,同时Octavio等人[12]的研究表明Xception网络结构在能够在有效减少参数的情况下保证一定的人脸表情识别率.上述研究表明利用深度学习进行人脸表情识别容易因为人脸表情数据量较少而出现过拟合的问题,且多个网络集成效果通常会优于单一网络结构;而轻量级的卷积神经网络能够在较短的训练时长下保证一定的表情识别率,同时自编码器网络以及注意力机制也适用于人脸表情识别这一任务.因此本文提出了一种应用于人脸表情识别的双通道结构:采用引入了深度可分离卷积和注意力机制模块的轻量级卷积神经网络提取深层次特征;利用卷积自编码器进行预训练得到最佳滤波器来达到降低特征图噪声和保持空间信息的目的.同时也引入了BN层及Dropout技术,改善了梯度消失和过拟合的问题,能够进一步提高表情识别效果.

2 方 法

本文提出了结合改进的深度可分离卷积网络和卷积自编码器预训练网络的双通道人脸表情识别算法.具体网络模型如图1所示.本文模型为双通道特征融合模型,分为ASCNN通道和CAE通道.其中,ASCNN通道为改进后的轻量级卷积神经网络通道,包含了深度可分离卷积以及注意力机制模块.而自编码器通道能够得到无监督预训练权重固定后的滤波器,在特征提取方面可以弥补单一网络通道性能不足的问题.

图1 本文方法流程图Fig.1 Model flow chart

2.1 ASCNN通道

卷积神经网络结构在增加模型深度超过一定限度之后会导致过拟合和低鲁棒性等问题,为此本文提出了基于注意力机制[13]的深度可分离卷积神经网络[12](ASCNN).其结构图如图2所示,部分结构参数如表1所示.

图2 改进后的卷积神经网络(ASCNN)Fig.2 Improved model of convolution neural network(ASCNN)

表1 ASCNN结构参数Table 1 Structure parameters of ASCNN

本文中的轻量级卷积神经网络结构采用了深度可分离卷积结构,其形式可理解为对标准卷积的分解.在标准卷积中,每个特征输入通道都必须和特定的卷积核进行卷积,最终得到的结果是所有通道卷积运算后的结果之和.而深度可分离卷积分为深度卷积和逐点卷积.深度卷积负责滤波,作用在输入的每个通道上,逐点卷积负责转换通道,作用在深度卷积的输出特征映射上.假设N个Dk×Dk×M的标准卷积,其参数量为(Dk×Dk×M)×N;而深度卷积参数量为(Dk×Dk×1)×M,逐点卷积参数量为(1×1×M)×N,深度可分离卷积参数量是标准卷积的:

(1)

本文中的ASCNN通道模型受到文献[12,13]的启发,结合了残差模块思想、深度可分离卷积以及文献[13]中压缩奖惩模块.其中,残差模块修改两个后续层之间的期望映射,使得学习到的特征成为原始特征映射与期望特征的区别.因此,为了解决更容易学习的问题F(x),修改期望特征H(x)为:

H(x)=F(x)+x

(2)

本文中引入的注意力机制模块为文献[13]的压缩奖惩(Squeeze-and-Excitation)模块,该模块使得模型能够学习特征图通道之间的相关性,在减少参数量的同时也能够提升网络性能.设输入特征图矩阵X′∈RW′H′c′,操作公式如下.

首先,全局平均池化操作用于屏蔽特征图空间上的信息分布,关注通道上的关联性:

(3)

之后再接两个全连接层,将C′个通道值压缩成C′/r个通道,通过超参数r=16进行降维,然后采用ReLu激活,最后的全连接层恢复原始的维度,从而训练出和通道相关的权重系数,使模型对各个通道的特征更有辨别力.

s=σ(g(z,W))=σ(W2δ(W1z))

(4)

Fscale(X′c,sc)=sc,X′c

(5)

此外,本文在卷积层后引入了BN层,通过规范化的手段把偏离的输入值分布拉回到标准的分布状态,避免梯度消失,加快网络的训练.BN层的前向传导公式为:

(6)

(7)

(8)

其中xl∈RH×W×C代表第l层的输出,μl∈RH×W为关于输出的均值,m为一个训练子集中的样本个数,在本文实验中取32,σl2为方差,γ和β分别是缩放和平移参数可通过训练进行调整来标准化均值和方差.

2.2 卷积自编码器通道

自编码器是一种能够通过无监督学习,学习输入数据高效表示的人工神经网络.其基本形式为:

(9)

本文的自编码器是在卷积自编码器基础上进行的改进,由于传统的自编码器在数据切片和数据堆叠操作中会导致有效信息的大量丢失,因此本文采用了卷积自编码器.卷积自编码器在运算过程中放弃了堆叠数据,从而使图像数据在输入时能够保持空间信息不发生变化.本文还采用了WTA(Winner-Take-ALL)方法加入了稀疏约束条件,在降低计算量的同时也能够有效地提取特征信息.为了进一步达到减少计算量的效果,在预训练之后选择固定预训练后的网络权重.此外,由于人脸表情图像的特殊性,在进行无监督预训练时采用相应预处理方法来降低人脸图像这一输入数据的冗余,在不降维的情况下使得经过本文自编码器处理的数据更接近原始数据,最终让模型学习得到性能更好的滤波器模块,本文所用编码器模块参数如图3所示.

图3 卷积自编码器预处理流程Fig.3 Preprocessing flow of CAE

3 实 验

3.1 实验说明

本文训练所使用硬件配置为NVIDIA GeForce1060显卡,8GB内存,基于Keras深度学习框架.分别在FER2013和CK+表情数据集上进行了实验,为了尺度统一,将两个数据集的图像尺寸归一化为48×48大小.FER2013数据集包含35886张人脸表情图片,由生气、厌恶、害怕、高兴、悲伤、惊讶和中性7种表情组成.该数据库存在错误标签,非对齐人脸等噪声的影响,识别难度较大,所以本文着重对比该数据集上的实验结果.CK+数据集的样本来自不同国家不同性别,样本差异性小于FER2013数据集,且由于该数据库是在实验室条件下获取的,较为严谨可靠,可以用于衡量模型的泛化能力.

3.2 实验结果分析

为了简便,后续实验结果中未加注意力机制的CNN通道记为SCNN,加了注意力机制的SCNN通道记为ASCNN,双通道模型记为ASCNN+CAE(ASECNN).

3.2.1 FER2013数据集对比实验

由于FER2013数据集的特点,本文重点对其进行对比试验.随机抽取测试集的20%作为验证集,剩余作为训练样本,且训练集与验证集之间相互无交叉,采用即时数据增强如随机变换等方法对数据进行提升来防止过拟合,使用Adam算法进行优化,直到116个epoch后停止训练.实验对比了本文最终模型ASECNN以及基础网络SCNN的识别结果,图4为两个网络的验证集准确率曲线对比图.

首先,从图4可以看出在SCNN上的验证集准确率曲线达到第40个epoch时就趋于平缓,此后准确率不再明显波动;双通道ASECNN的验证集准确率曲线,在第75个epoch之前波动程度大于SCNN.同时在第75个epoch之后一段时间准确率趋于平稳,在第100个epoch之后准确率超过SCNN且曲线开始收敛,虽然收敛速度较改进之前变慢,但最终的识别率有了一定的提升.此外,对于单通道SCNN改进后得到的ASCNN进行了实验得出其验证集准确率以及相应的曲线收敛速度均介于SCNN和ASECNN之间;同时ASCNN保存的模型大小为837KB,SCNN保存的模型大小为877KB.综上分析可知,单通道SCNN在引入了注意力机制之后使得模型能够更加专注于重要的特征信息,在减少参数量的同时也能够提高表情识别率,并且双通道模型性能较改进之前也有了提升.

图4 改进后的准确率对比Fig.4 Comparison of accuracy after improvement

然后分别导入保存下来的模型文件,遍历验证集进行预测,计算出本文所提3种方法(SCNN、ASCNN、ASECNN)的混淆矩阵如图5(a)-图5(c)所示.在SCNN网络上的准确率为65%,ASCNN网络上的准确率为69%,ASECNN上的准确率为72.7%.其中矩阵坐标轴中的文字分别是AN:生气,DI:厌恶,SC:害怕,HA:高兴,SA:悲伤,SU:惊讶,NE:中性.从图5(a)和图5(b)两个混淆矩阵可以看出,两个模型对于开心和惊讶这两种表情识别效果最好,远超过其他种类表情的识别效果.通过观察FER2013这一数据集可以发现,厌恶这一类表情相较于其他种类的表情数量较少,导致了模型不能充分的学习到特征信息,而改进后的ASCNN能够提高厌恶这一类表情的识别率表明其可以在有限的资源下更好地提取有用的特征信息.对于其他识别效果较差的表情类别如害怕、悲伤等,本文在观察了相关类别的表情图像后得出,模型对于面部动作夸张,肌肉运动变化明显的表情识别效果较好,对于那些表情表征区别不明显的类别,识别率较低,猜想需要另外设计特征提取通道,进行更精确的分类.综合两个混淆矩阵的数据来看,改进后的ASCNN相较于SCNN在很多类表情的识别效果有了一定的提升,证明引入注意力机制能够在一定程度上提升表情识别效果.此外,经实验证明添加多个注意力机制模块与添加一个效果差别不大,在后续学习中将继续探索新的改进思路[14].

从图5(c)和图5(b)两个混淆矩阵可以看出,ASECNN的模型识别结果中,除了中性这一类表情之外其余种类的表情识别率都比ASCNN模型上的识别率要高.同时,对于害怕、悲伤这些表情表征区别不明显的类别,识别率也有了一定程度的提升,表明了ASECNN这一模型能够提取到更细微判别力更强的特征,从而在有限的资源条件下达到较好的表情识别率.将ASECNN这一模型与目前在FER2013数据集上常用的模型得出的准确率对比如表2所示.

图5 混淆矩阵对比图Fig.5 Comparison of confusion matrix

从表2对比可知,相比于轻量级卷积神经网络,如MobileNetV2等,本文模型在保障模型参数量精简的同时能够提高识别率.相较于参数多的并行卷积神经网络如徐琳琳[18]方法,本文模型的识别效果有显著提升.但由于上表所列数据其来源为多篇文献,诸多影响条件没有得到统一,为了使对比试验更具说服力本文将搭建目前比较流行的轻量级网络和本文所提的轻量级网络模型进行进一步的对比试验.

表2 各方法在FER2013数据集上的对比Table 2 Comparison among different methods on FER2013

3.2.2 轻量级网络对比实验

为了更进一步验证本文提出的轻量级网络模型的有效性,本文搭建了目前热门的参数较少的网络模型:MobileNet V2、DenseNet.将这两种轻量级网络在FER2013数据集上进行实验,在各自的损失值迭代至收敛后得到的相关实验对比数据如表3所示,相应的混淆矩阵结果如图5(d)、图5(e)所示.

表3 轻量级网络在FER2013上的实验对比Table 3 Comparison of lightweight networks on FER2013

本文对比实验搭建的MobileNet V2网络,相较于V1版本的深度可分离卷积结构的堆叠,V2借鉴了残差网络的Shortcut思想,增加了Liner Bottleneck和Inverted Residuls结构.在低网络维度下,激活变换函数Relu可能会滤除有用信息,因此使用了Liner Bottleneck来替代原本的非线性激活变换;而Inverted Residul的思想是通过对通道数维度的扩展和压缩,在能够充分提取特征的基础上保证了网络的平衡,因此MobileNet V2网络结构的性能优于V1版本,能够满足移动端的需求.本文搭建的另一个网络DenseNet包含3个DenseBlock,每个Block有12层,用于连接DenseBlock的Transition层包含16个1×1卷积和步长为2的平均池化.DenseNet网络结构的基本思想是建立前面所有层与后面层的密集连接,通过特征在Channel上的连接来实现特征重用,能够在参数和计算成本更少的情况下实现更优的性能.通过对表3数据分析可知,MobileNetV2网络的参数量最多,运行时间较短,且验证集准确率能够达到69.6%.DenseNet网络的参数量较少,但由于层级的特征重用和连接次数增多会导致运行耗时较长、显存负担加重、准确率较低,因此该网络的性能较为一般.最后,本文所提出的方法将引入了注意力机制的深度可分离卷积神经网络以及卷积自编码器通道分别提取的特征信息相结合,保证了低参数量以及最高的识别准确率.FER2013数据集人为识别准确率为(65±5)%,本文模型的识别率已经超出这一范围,因此综合评价之下本文模型性能最优.

3.2.3 CK+数据集实验分析

由于CK+数据集为实验室环境下采集,在光照、背景和角度等参数上是一致的,所以表情图像较为严谨可靠,可用于衡量本文模型的泛化能力.实验结果和分析如下.

从图6可以看出当迭代至50个epoch,准确率曲线趋于稳定.说明这个时期之后模型在训练集上的误差已经很小,测试集上的结果趋于稳定的状态,不再有明显的变化,模型得到了充分的收敛.由于CK+数据集是在实验室条件下拍摄的,所以相较于FER2013收敛较快,同时识别率也更高.为了进一步衡量本文提出的双通道模型泛化性能,将这一模型与目前在CK+数据集上一些方法的准确率对比如表4所示.

图6 CK+上训练和测试准确率曲线Fig.6 Recognition rate comparisonon CK+

从表4对比结果可知,本文提出的模型识别率相较于传统的机器学习方法以及基于深度学习的方法都有一定的提升.因此,综合在CK+数据集上的实验结果图表可知,本文模型在保证识别率的同时也具有较强的泛化能力.

表4 各方法在CK+数据集上的识别率对比Table 4 Comparison among different methods on CK+

4 结 论

表情识别由于人脸图像数据的特殊性,导致其是一项复杂且非传统意义图像处理的研究.同时人类在表达情感时通常表现出的是多种情绪的集合,这也大大增加了在实际应用场景中的识别难度.本文为了克服单一神经网络模型提取表情特征困难等问题,将引入了注意力机制的深度可分离卷积神经网络以及卷积自编码器通道分别提取的特征信息相结合,提出了应用于人脸表情识别的双通道网络模型.通过实验可以得出该模型的性能较传统机器学习方法或者是一些深度学习方法均有一定的提升,但还存在一定的问题.在今后的学习中,会继续探索优化网络结构,对比不同的分类方式对于识别效果的影响,以及研究在部分遮挡等复杂环境下的表情识别方法.

猜你喜欢
识别率编码器人脸
基于ResNet18特征编码器的水稻病虫害图像描述生成
玻璃窗上的人脸
基于Beaglebone Black 的绝对式编码器接口电路设计*
智力考场:有趣的图片测试
档案数字化过程中OCR技术的应用分析
基于TMS320F28335的绝对式光电编码器驱动设计
基于PCA与MLP感知器的人脸图像辨识技术
科技文档中数学表达式的结构分析与识别
人工智能现状和发展
“领家系”可爱脸VS“高冷系”美人脸