基于深度学习的人脸表情识别系统研究
来源:用户上传
作者:范文杰 田秀云
摘 要:针对深度卷积神经网络随着卷积层数增加而导致网络模型难以训练和性能退化等问题,提出了一种基于深度残差网络的人脸表情识别方法。采用改进后的ResNet18模型,结合数据增强、mixup、label smoothing等辅助策略对FER2013训练集进行300个epoch的训练,利用最优的权重,在FER2013的验证数据集上达到了72.09%的准确率;并结合YOLOv5Face预训练权重,实现了人脸检测和表情识别。
关键词:人脸表情识别;人脸检测;深度学习;ResNet18
中图分类号:TP391.4 文献标识码:A文章编号:2096-4706(2022)20-0090-05
Research on Facial Expression Recognition System Based on Deep Learning
FAN Wenjie, TIAN Xiuyun
(School of Electronics and Information Engineering, Guangdong Ocean University, Zhanjiang 524088, China)
Abstract: Aiming at the problems of network model training difficulty and performance degradation due to the increase of convolutional layers in deep convolutional neural network, a facial expression recognition method based on deep residual network is proposed. By using the improved ResNet18 model and combining auxiliary strategies such as data enhancement, mixup and label Smoothing, FER2013 training sets are trained for 300 epoch. Using the optimal weights, the accuracy of FER2013 validation data set reaches 72.09%.Combined with the weight of YOLOv5Face pre-training, face detection and expression recognition are realized.
Keywords: facial expression recognition; face detection; deep learning; ResNet18
0 引 言
人脸表情是人类个体行为心理信息以及个体面部特征在大量的面部肌肉共同作用下完成的,是在眼神接触、肢体接触、听说交流之外最重要的情感交流途径,且这些人类面部表情中透露出的信息与人的精神状况、健康状况、情感状况等信息高度相关。人脸表情识别可以广泛地应用到驾驶监督、医疗、安全、刑侦、教育等领域,若能够在这些领域中有效地提取人类面部表情表露出的信息,将给这些领域带来极大的便利。如表情识别应用到教育行业当中,能够帮助老师了解学生的心理状况或学生对老师授课内容的接受程度,信息的及时反馈能让老师们更好地调整自己的教学方式,从而更好地解决学生的疑惑或学生的心理矛盾等问题,且随着近年来疫情的影响,网络课堂已成为了一种新的常态,让老师或家长及时的获知孩子们的状态,对保护孩子们的身体、心理健康起着重要作用。因此人脸表情识别展现出了其独特而重要的研究价值和应用价值,从而成为了一个热门研究课题。
在研究方法上,深度学习的兴起为人工智能的研究提供了更强有力的工具,人脸表情识别与深度学习结合能够在人脸表情识别的速率、准确率、鲁棒性上获得很好的提升,有重要的实践意义。
1 系统框架
以ResNet18作为表情分类器,以YOLO5Face作为人脸定位器(如图1所示),最左侧的输入图像通过定位器确定人脸位置信息,根据位置信息提取人脸图像区域,统一缩放至48×48,送入分类器进行人脸表情分类,最后根据位置信息绘制人脸边界框并标注对应的表情分类结果,得到最右侧的输出图像。
1.1 定位器W络
YOLOv5(如图2所示)是单阶段目标检测算法YOLO[1]系列的最新版本,是在YOLOv4[2]的基础上添加了一些新的改进思路,如:灵活控制模型大小,加入hard-swish激活函数[3],以及多种新型数据增强方案,使得模型速度与精度都得到了极大的性能提升。
1.2 分类器网络
ResNet18[4]是针对大小为224×224输入图像进行设计的,因此Conv1中7×7的卷积层能有效提取图像的浅层特征,结合3×3最大池化层还会快速降低输入图像的分辨率,降低后续计算复杂度。但7×7大小的卷积核,若直接在FER2013数据集中48×48大小的图像上运算,会使分辨率下降过快,丢失大量信息;若直接将图像缩放为224×224,缩放过程中要生成的像素量过多。因此不论采用哪种方式,都会影响图片原有信息。本文将第一个Conv层卷积核尺寸改为3×3,并去掉其后的MaxPooling层(如表1所示)。
2 模型训练
2.1 数据集
nlc202211211600
Facial Expression Recognition 2013是由微软研究员负责收集并公开的人脸表情数据集[5]。该数据集由35886张人脸表情图片及其表情标签组成,其中测试用图片共28 708张(约占80%),验证用图片和测试用各3 589张(各占10%),每张图片都是大小固定为48×48的灰度图像,数据集中共7种表情标签,分别为:愤怒(Angry)、厌恶(Disgust)、恐惧(Fear)、高兴(Happy)、悲伤(Sad)、惊讶(Surprise)、中性(Neutral)。在FER2013数据集中部分图片展示中选取了数据集的部分数据进行展示(如图3所示)。
2.2 训练策略
2.2.1 数据增强
在研究中,将常见的变换组合在一起,以一定概率P施加到图像上,实现数据量扩增,并减少模型过拟合情况的发生。具体组合形式如表2所示。
2.2.2 Mixup
Mixup[6]是一种非常规的数据增强方法,通过随机选取输入数据进行叠加,可以增加模型泛化能力,还能提高模型应对对抗攻击(AdversialAttack)的鲁棒性。Mixup原理如下所示,非常简单但又超出一般的增强策略。
其中(xi,yi),(xj,yj)是数据集中的数据对(训练样本,标签),而λ则是随机数,有λ~Beta(α,α),且α∈[0,+∞],Mixup采用Beta分布是为了通过控制超参数α能获得多样化的分布。在本次研究中,有α≡1.0。
2.2.3 LabelSmoothing
机器学习领域的正则化方法除了常见的L1、L2和Dropout外,还有标签平滑[7](Label Smoothing)。标签平滑通常用于分类问题,防止模型对自身预测出的标签过于自信,改善模型泛化能力差的问题。
一般对于分类问题而言,通常认为真实标签的向量中真实类别的概率应为1,非目标类别概率应为0,也就是传统的独热编码,其形式如下:
在传统独热编码标签下进行学习的过程中,梯度下降法会鼓励模型预测目标类别概率尽可能地趋近1,非目标类别的概率趋近0,即使得模型向着尽可能使正确与错误类别预测间差值最大化的方向学习,使它在训练数据上过于自信。在训练数据不足以覆盖所有情况下,也是最常见的情况下,就会导致网络过拟合、网络泛化能力差。
标签平滑结合了均匀分布,使用如下的预测向量来代替原始预测向量:
其中K为类别总数,α是一个超参数,即
实际上在完成标签平滑后,相当于真实分布中加入了一定噪声,防止模型的预测中正负类别输出值差距无限增大,从而避免过拟合,提高模型的泛化能力。
2.3 训练环境与训练参数
本文采用的训练环境如下:
GPU:NVIDIA Tesla T4
环境:Ubuntu 18.04LTS,CUDA v10.0.130,Python 3.6.13
框架:PyTorch 1.4.0+cu100,Torchvision 0.5.0
本文采取的训练参数如下:
(1)使用SGDM优化器,初始学习率为0.1,动量为0.9,权重衰减为0.000 1;
(2)训练时,验证集精度连续5个epoch以上未能提升,则学习率衰减为先前的0.75。
(3)批量大小为128,训练epochs为300。
2.4 测试结果
从表3可以看到在NVIDIA RTX 3060上,ResNet18能够在每轮训练耗时63秒的情况下,取得0.720 9的Top-1准确率。
通过对ResNet18模型在测试集上得出的混淆矩阵(如图4所示)进行分析,可见模型对“高兴”“惊讶”“中性”表情的识别水平较高,而“愤怒”“厌恶”“恐惧”“伤心”的表情识别率水平较低,且模型较难区分开“愤怒”与“厌恶”,“恐惧”与“伤心”。
引起此问题的原因是数据集样本不均衡。对FER2013测试集图片类别统计如图5所示,“高兴”以外的表情图片数量都远低于“高兴”表情图片数量。而且“厌恶”表情数量最少,不到500张,是测试结果中模型对于“厌恶”表情的识别准确率最低的原因。
本文从分类错误的样本抽取一部分展示(如图6所示)。能发现数据集中存在表情标签标注不合理的情况,一定程度上导致了模型准确率下降。此外,由于表情解读是相对主观的,不同个体对同一表情的评价可能并不一致。最后,单个表情仅带有一个标签,使数据集标签粒度过粗,模型在其上训练后难以将学习到的细腻特征映射为单独的表情。
3 Y 论
本文结合ResNet及YOLO模型,参考R-CNN框架设计出的人脸表情识别系统,基于微软公开的FER2013数据集,采取数据增强、mixup、label smoothing等辅助策略训练ResNet18,且最终在测试集中取得了72.09% Top-1准确率。
在未来的研究工作中,可以从以下4个方面进一步开展研究:
(1)从信息量的角度出发,可以为系统加入人脸关键点识别、面部动作单元识别,提升表情分类的准确率与鲁棒性。
(2)从数据集的角度出发,可以考虑在已有数据集上标注缺失的数据标签,或重新收集大量数据进行标注,且可将分类标签改进为多维度的,使模型能够对表情轻重程度做出预测。
(3)从实际部署的角度出发,目前人工智能业界已经提出了诸如模型剪枝、模型量化等加速模型推理的方案,能够在尽量减少准确率下跌的情况,同时提供更高的推理速率。
(4)从系统设计的角度出发,可以采取知识蒸馏方法将已有框架学习到的信息蒸馏给小模型,或直接将信息蒸馏给一阶段检测模型,从而大幅提升性能。
nlc202211211600
参考文献:
[1] REDMON J,DIVVALA S,GIRSHICK R. You Only Look Once:Unified,Real-Time Object Detection [J/OL].(2022-06-09).https://arxiv.org/abs/1506.02640.
[2] BOCHKOVSKIY A,WANG C Y,LIAO H Y. YOLOv4:Optimal Speed and Accuracy of Object Detection [J/OL].(2022-06-09).https://arxiv.org/abs/2004.10934.
[3] HOWARD A,SANDLER M,CHU G,et al. Searching for MobileNetV3 [J/OL].(2022-06-09).https://arxiv.org/abs/1905.02244.
[4] HE K M,ZHANG X Y,REN S Q,et al. Deep Residual Learning for Image Recognition [J/OL].(2022-06-09).https://arxiv.org/abs/1512.03385.
[5] GOODFELLOW I J,ERHAN D,CARRIER P L,et al. Challenges in Representation Learning:A report on three machine learning contests [J/OL].(2022-06-09).https://arxiv.org/abs/1307.0414.
[6] ZHANG H,CISSE M,DAUPHIN Y N. mixup:Beyond Empirical Risk Minimization [J/OL].(2022-06-09).https://arxiv.org/abs/1710.09412.
[7] M?LLER R,KORNBLITH S,HINTON G. When Does Label Smoothing Help? [J/OL].(2022-06-09).https://arxiv.org/abs/1906.02629.
作者介:范文杰(2000―),男,汉族,广东清远人,本科在读,研究方向:区块链及深度学习;通讯作者:田秀云(1974―),女,汉族,广东湛江人,讲师,硕士,研究方向:光电技术。
nlc202211211600
转载注明来源:https://www.xzbu.com/1/view-15442407.htm