1、第26卷第11期2023年11月软件工程 S O F T W A R E E N G I N E E R I N GVol.26 No.11Nov.2023文章编号:2096-1472(2023)11-0059-04DOI:10.19644/ki.issn2096-1472.2023.011.013收稿日期:2 0 2 3-0 3-0 7基于V G G N e t的人脸表情识别研究廖清江,刘 婷,张星月,董 祺,李乐乐,刘嘉豪(天津商业大学信息工程学院,天津 300134);摘 要:针对传统卷积神经网络(C o n v o l u t i o n a l N e u r a l N e t w
2、 o r k,C N N)在人脸表情识别中有效特征提取不够、泛化能力不强及识别准确性不高等缺点,研究选用具有更小卷积核和更深池化层的视觉几何组网络(V i s u a l G e o m e t r y G r o u p N e t w o r k,V G G N e t)进行人脸表情识别系统的设计。为了验证识别效果,在传统C N N和V G G N e t框架下进行人脸表情识别系统的搭建,使用F E R 2 0 1 3公开数据集进行训练和测试,并对测试结果进行对比分析。实验表明,传统C N N模型在人脸表情识别任务中的识别率仅为8 8%,而V G G N e t则能够取得高达9 8%的识别
3、率。此外,利用真人实际测试验证了研究搭建的V G G N e t模型具有很好的表情识别效果。关键词:深度学习;卷积神经网络;V G G N e t;人脸表情识别;F E R 2 0 1 3中图分类号:T P 3 9 1 文献标志码:AR e s e a r c h o n F a c e E x p r e s s i o n R e c o g n i t i o n B a s e d o n V G G N e tLIAO Qingjiang,LIU Ting,ZHANG Xingyue,DONG Qi,LI Lele,LIU Jiahao(School of In f ormation
4、 Engineering,Tianjin University of Commerce,Tianjin 300134,China);A b s t r a c t:Given the shortcomings of traditional Convolutional Neural Networks(CNN)in face expression recognition,such as insufficient effective feature extraction,weak generalization ability,and low recognition accuracy,this pap
5、er proposes to design a face expression recognition system by using Visual Geometry Group Network(VGGNet),which has smaller convolutional kernel and deeper pooling layer.To verify the recognition effect,the face expression recognition system is built under the framework of traditional CNN and VGGNet
6、,the FER2013 public dataset is used for training and testing,and the testing results are analyzed and compared.The experiments show that the recognition rate of the traditional CNN model in the task of face expression recognition is only 88%,while the recognition rate of the VGGNet is as high as 98%
7、.In addition,test with real persons verifies that the VGGNet model proposed in this paper has a very good expression recognition effect.K e y w o r d s:deep learning;CNN;VGGNet;face expression recognition;FER20130引言(I n t r o d u c t i o n)面部表情是除语言性交流以外的另一种传递信息的身体语言符号,是人们情感状态的重要体现之一,可以表达出个体的心态和情感。随着
8、人工智能技术与计算机视觉领域的迅速发展,人脸表情识别技术成为当下图像识别研究领域的热点之一。人脸表情识别作为人脸识别技术的进一步发展,现已被广软件工程2023年11月泛应用于心理学1、疼痛表情识别2、课堂状态检测3、安全监控4等领域。早期的人脸表情识别方法基于面部的几何特征,主要依赖手工的特征提取和分类算法,容易漏掉分类识别时的关键特征,存在较大的局限性。研究者尝试将人脸表情识别建模为模板,实现对表情的识别与分类,但其泛化能力和对非刚性变形的适应性相对有限。随着机器学习技术的不断发展,研究者发现深度学习具有引入数据集规模大、能够表示复杂特征的特点,因此在人脸表情识别中应用卷积神经网络(C o
9、n v o l u t i o n a l N e u r a l N e t w o r k,C N N)5、视觉几何组1 6(V i s u a l G e o m e t r y G r o u p 1 6,V G G 1 6)6、残差神经网络5 0(R e s i d u a l N e u r a l N e t w o r k 5 0,R e s N e t 5 0)7、三维卷积神经网络(C o n v o l u t i o n a l 3 D,C 3 D)8成为目前的主要研究方向。为了更好地完成人脸表情识别任务,本研究选择V G G N e t进行人脸表情识别的设计,为了对比识
10、别效果,对传统C N N网络和V G G N e t网络进行框架搭建,针对同一数据集F E R 2 0 1 3分别进行测试分析,对比其损失率及识别率。为了验证V G G N e t在真实环境中的识别效果,本研究还进行了真人实时表情测试,测试表明本文设计的方案能很好地完成人脸表情识别任务。1C N N 基本原理(C N N b a s i c p r i n c i p l e s)卷积神经网络是一种深度学习模型,最早被应用于图像数据处理,现不仅广泛应用于计算机视觉领域的图像和视频处理,还应用于自然语言处理和语音识别。不同于传统的机器学习,C N N包含多个层次的处理单元,由输入层、卷积层、池化
11、层(下采样层)、全连接层和输出层组成。其中,C N N的核心是卷积操作,即在输入数据上进行卷积操作,使用滤波器提取图像特征,使C N N具有局部感知性和参数共享的特点,从而减少了需要训练的参数数量,提高了模型的效率和泛化能力。C N N的工作原理是通过模仿人类大脑的视觉系统达到自动从图像中提取特征,并进行分类、分割、检测操作。图1为卷积神经网络的结构图。图1 卷积神经网络的结构图F i g.1 S t r u c t u r e d i a g r a m o f c o n v o l u t i o n a l n e u r a l n e t w o r k s2V G G N e t
12、原理及结构(P r i n c i p l e a n d s t r u c t u r e o f V G G N e t)V G G N e t是由牛津大学的研究团队K a r e n S i m o n y a n和A n d r e w Z i s s e r m a n等在2 0 1 4年提出的一种深度卷积神经网络模型,该模型在2 0 1 4年的I m a g e N e t图像识别竞赛中取得了分类任务第2名和定位任务第1名的好成绩,证明增加卷积神经网络的层数可以在一定条件下影响网络最终的性能,使图片分类识别错误率大大降低,同时提升了卷积神经网络的拓展性。V G G N e t的网
13、络结构包含多个连续的33卷积层代替5 5卷积层,每个卷积层后面紧跟着一个2 2的最大池化层进行下采样,便于提取多尺度的图像特征。V G G N e t由多个卷积层和池化层组成,最后连接全连接层进行分类。通过深层堆叠的卷积层和池化层的设计,使得网络在不增加太多参数的情况下增加网络的深度,提高网络的深层表达能力。常用的版本是V G G 1 6和V G G 1 9,本研究选用V G G 1 6结构。3基于V G G N e t的人脸表情识别的设计(D e s i g n o f f a c i a l e x p r e s s i o n r e c o g n i t i o n b a s e
14、 d o n V G G N e t)3.1系统设计流程本研究主要对人脸表情进行识别,通过人脸表情判断当前测试者所处的精神状态和情绪诉求,在输入端进行人脸检测,在输出端显示检测者包括中性(N e u t r a l)、高兴(H a p p y)、生气(A n g r y)、惊讶(S u r p r i s e)、厌恶(D i s g u s t)、难过(S a d)和恐惧(F e a r)的情绪类别。系统流程图如图2所示。图2 系统流程图F i g.2 S y s t e m f l o w c h a r t3.2数据集选择采用F E R 2 0 1 3公开数据集,该数据集最初是在2 0 1
15、 3年的K a g g l e竞赛中进行面部表情分类而创建的,它包含3 5 8 8 7幅灰度图像,每幅图像的大小为4 84 8像素。F E R 2 0 1 3公开数据集中的每幅图像都被标记为7个不同的情绪类别之一,包括中性(N e u t r a l)、高兴(H a p p y)、生气(A n g r y)、惊讶(S u r p r i s e)、厌恶(D i s g u s t)、难过(S a d)和恐惧(F e a r)。每个样本都有1个对应的情绪标签。F E R 2 0 1 3公开数据集分为2 8 7 0 9幅图像的训练集、3 5 8 9幅图像的验证集及3 5 8 9幅图像的测试集;它的
16、特点在于质量较高、图像样本更具有多样性。一些图像可能存在模糊、光照不均匀、遮挡等问题,这使得面部表情分类任务具有一定的挑战性。06第 26卷第 11期廖清江等:基于 VGGNet 的人脸表情识别研究数据集包含逗号分隔值(C o mm a-S e p a r a t e d V a l u e s,C S V)文件,该文件将图片转化为像素数据以方便存储。首先使用P y h t o n对C S V文件提取标签实现可视化,其次创建映射表并重新加载数据集,最后进行图像预处理。3.3图像预处理虽然F E R 2 0 1 3公开数据集中的各个图形都已经很清晰,但是拍摄角度、光线以及摄像机所自带的噪音等都会
17、对图像的清晰度、图像的识别率产生影响,为了避免出现因图像有噪音或角度等问题而引发的识别错误问题,需要对图片进行预处理。3.3.1高斯模糊高斯模糊去噪处理的目的是降低细节层次以及图像的毛细瑕疵;工作原理是将图像从中间划分为两半,利用高斯分布的特性进行图像模糊操作,然后将图像中细分的像素周围的适当范围内乘以一个高斯系数。O p e n c v库函数框架下的c v 2.G a u s s i a n B l u r(i m g,(k s i z e x,k s i z e y),0)可以对图像实现高斯模糊,其中i m g表示输入的人脸表情原图像,(k s i z e x,k s i z e y)表示
18、高斯模糊核的大小,而0表示通过k s i z e写出的s i g m a决定以何种方式表示高斯核。在图像预处理时,通常会将红绿蓝(R e d G r e e n B l u e,R G B)的彩色图像转换为灰度图,其原因是R G B彩色是一个三通道空间,在预处理时容易产生交互影响,并且彩色图像所占空间远远大于灰度图所占空间,在人脸表情识别中,灰度图不仅容易展示人脸表情轮廓,而且节省空间资源。基于以上考虑,在人脸表情预处理时将图像转换为灰度图。在O p e n c v中,转换关系为如下:g r a y_i m g=c v 2.c v t C o l o r(i m g,C O L O R_B G
19、 R 2 G R A Y)(1)其中:c v 2.c v t C o l o r()函数表示转换为灰度图,i m g表示输入的原图像,C O L O R_B G R 2 G R A Y表示将彩色图像转换为灰度图。3.3.2直方图均衡化为了增强图像对比度以及减少光线对图像分析的影响,可以对图像进行直方图均衡化,同时直方图均衡化在提高对比度的同时,还能提高特征提取率。在O p e n c v库中,使用直方图代码如下:e q u=e q u a l i z e H i s t(i m g)(2)其中:e q u a l i z e H i s t()表示直方图均衡化;i m g表示原图像。3.3.3
20、数据类型转换在P y T o r c h框架下,t o r c h数据类型是最基本的数据类型,输入变量的数据类型由t e n s o r类型转化为t o r c h类型,其代码实现过程如下所示。f a c e_t e n s o r=t o r c h.f r o m_n u m p y(f a c e_n o r m a l i z e d)#将p y t h o n中的n u m p y数据类型转化为t e n s o r数据类型f a c e_t e n s o r=f a c e_t e n s o r.t y p e(t o r c h.F l o a t T e n s o r)#
21、指定为t o r c h.F l o a t T e n s o r型,避免数据类型不匹配4实验及结果分析(E x p e r i m e n t a n d r e s u l t a n a l y s i s)4.1实验环境本研究采用的深度学习框架为T e n s o r f l o w 2.1 2.0,语言为P y t h o n 3.1 0.9,集成开发环境为P y C h a r m 2 0 2 3.1版本,选择C P U版本的 P y T o r c h框架,导入N u m p y库、M a t p l o t l i b库、t q d m库、O p e n c v库等,所有实验
22、均在W i n d o w s 1 0操作平台下进行。4.2网络搭建和模型训练4.2.1传统C N N定义时继承t o r c h.n n.M o d u l e类,从中调取卷积神经网络的结构。首先进行前向传播,训练数据样本作为卷积神经网络的输入,经过3次卷积和3次池化,图像特征信息进入3层全连接层进行整合,使用D r o u p o u t防止过拟合现象,每层设置激活函数进行激活,并传递到全连接层,得到对应的预测值。其次运用损失函数计算损失值衡量模型预测与真实标签之间的具体差异。这里将计算的误差记为p,具体计算过程如下:p=z-y(3)其中:z为真实值,y为预测值。最后反向传播沿着网络的层级
23、关系逆向传播梯度,将梯度信息传递回网络中的每一层。这样根据梯度更新网络中的权重和偏置,减小损失函数的值,从而训练出用于人脸表情识别的网络模型。C N N网络训练过程如图3所示。图3 C N N训练过程图F i g.3 D i a g r a m o f C N N t r a i n i n g p r o c e s s4.2.2V G G N e t执行迁移学习,使用P y T o r c h引入经过训练的V G G模型,继承n n.M o d u l e的V G G N e t,并修改网络中标准交叉熵损失、学习率等参数。训练得到人脸表情识别系统模型,并引入t r a n s f o r
24、m进行图形的裁剪、旋转、缩放和亮度调节,提高模型的泛化性和抗拒性。引入预训练模型过程如图4所示。图4 预训练模型引入图F i g.4 I n t r o d u c t i o n d i a g r a m o f t h e p r e-t r a i n e d m o d e l4.3结果对比分析训练过程中将学习率设置为0.0 1。根据数据集样本数量特点,先选取6 0次作为迭代参数在F E R 2 0 1 3公开数据集上进行实验。经过实验验证,在迭代6 0次以后,传统C N N的识别率为8 8%,V G G N e t的识别率为9 8%,二者的训练集与验证集的识别率对比如图5所示。迭代
25、6 0次以后,传统C N N的损失率为1 8.8 1%,而V G G N e t的损失率则减小至7.8 4%,两个网络的训练集与验证集损失率对比如表1所示。16软件工程2023年11月(a)传统C N N识别率(b)V G G N e t识别率图5 传统C N N与V G G N e t识别率对比图F i g.5 C o m p a r i s o n o f r e c o g n i t i o n r a t e s b e t w e e n t r a d i t i o n a l C N N a n d V G G N e t表 1 传统C N N与V G G N e t损失率对
26、比表Tab.1 Comparison table of loss rates between traditional CNN and VGGNet网络类型损失率/%传统C N N1 8.8 1V G G N e t7.8 44.4现实应用能力评估为测试模型在现实场景中的应用能力,保存在F E R 2 0 1 3公开数据集上训练的网络模型,并运用该模型对研究团队中的成员进行面部表情识别,识别结果如图6所示。从识别结果来看,本文所提模型能准确识别现实生活中的人物表情。从整体效果来看,模型泛化能力较好。(a)开心(b)中性(c)惊讶(d)难过图6 现实场景中的人脸表情识别图F i g.6 F a c
27、 i a l e x p r e s s i o n r e c o g n i t i o n i m a g e s i n r e a l-l i f e s c e n a r i o s5结论(C o n c l u s i o n)在T e n s o r f l o w 2.1 2.0深度学习框架下,利用P y t h o n 3.1 0.9语言,P y C h a r m 2 0 2 3.1集成开发环境,以准确识别人脸表情为目的,在F E R 2 0 1 3公开数据集上搭建基于V G G N e t的人脸表情识别系统,并对比了基于传统C N N和V G G N e t两种不同网
28、络模型在人脸表情识别中的性能。同时,在现实场景中验证了所提模型的有效性。文中提出的人脸表情识别方案优势明显,但在某些方面仍有不足:(1)训练时间长:本文所提系统进行人脸表情训练时需要耗费大量时间,在训练期间,对特征信息提取能力和计算能力要求较高,要求使用有强算力的G P U、T P U等图像处理器。(2)数据集依然有待提高:虽然F E R 2 0 1 3公开数据集拥有3 0 0 0 0余幅人脸表情图像,但是运用于实际时,依然会出现不能精确识别等问题,应采取更多其他人脸表情识别数据集训练网络,以达到提高识别精确度及不同人群的适用性的目的。参考文献(R e f e r e n c e s)1 金辉
29、,高文.人脸面部混合表情识别系统J.计算机学报,2 0 0 0,2 3(6):6 0 2-6 0 8.2 卢官明,宋统帅,楼亦墨,等.基于图的半监督深度学习及其在新生儿疼痛表情识别中的应用J.南京邮电大学学报(自然科学版),2 0 2 2,4 2(1):5 3-6 1.3 李燕苹,李一凡.基于表情识别的课堂状态检测分析J.工业控制计算机,2 0 2 3,3 6(1):1 1 6-1 1 8.4 吴家宝,张运喜,刘强,等.戴口罩多人脸识别系统研究J.天津职业技术师范大学学报,2 0 2 3,3 3(2):7-1 3.5 孙歌,王剑雄,欧琪,等.基于C N N和面部关键点的表情分析研究J.河北建筑
30、工程学院学报,2 0 2 2,4 0(4):1 4 8-1 5 3.6 方犇,童强.基于V G G 1 6网络的参数优化方法研究J.湖北师范大学学报(自然科学版),2 0 2 3,4 3(1):4 4-5 0.7 张洁,穆静,钱智哲.改进的R e s N e X t 5 0神经网络面部表情识 别 方 法 J.西 安 工 业 大 学 学 报,2 0 2 2,4 2(6):6 1 0-6 1 9.8 R A J A G O P A L S D,R AMA C HA N D R A N B.3 D f a c e e x-p r e s s i o n r e c o g n i t i o n w
31、 i t h e n s e m b l e d e e p l e a r n i n g e x p l o r i n g c o n g r u e n t f e a t u r e s a m o n g e x p r e s s i o n sJ.C o m p u t a t i o n a l I n t e l l i g e n c e,2 0 2 2,3 8(2):3 4 5-3 6 5.作者简介:廖清江(2 0 0 2-),女,本科生。研究领域:智能信号与信息处理。刘 婷(1 9 8 1-),女,博士,副教授。研究领域:智能信号与信息处理。张星月(2 0 0 4-),女,本科生。研究领域:智能信号与信息处理。董 祺(2 0 0 4-),女,本科生。研究领域:智能信号与信息处理。李乐乐(2 0 0 2-),女,本科生。研究领域:智能信号与信息处理。刘嘉豪(2 0 0 2-),男,本科生。研究领域:智能信号与信息处理。26