计算机论文哪里有?本文基于多任务学习算法和注意力机制对人脸识别和表情识别任务展开研究,在相关任务的主流数据集上都取得了不错的识别效果,能够在一个模型中同时完成两个任务。
1 绪论
1.2 研究现状
1.2.1 人脸识别研究现状
人脸识别任务可以分为基于传统方法和基于深度学习的方法两大类。本节将分别介绍这两种方法下的研究现状和发展趋势。
(1)基于传统方法的人脸识别
传统的人脸识别算法主要是利用手工提取特征,比如图像的边缘和纹理信息,然后结合主成分分析、线性判别分析以及支持向量机等机器学习方法来实现特征降维和人脸分类。早期的特征提取算法专注于将人脸图像作为一个整体来提取特征,如Matthew Turk等人[4]提出的基于主成分分析(Principal Components Analysis, PCA)的Eigenfaces, Belhumeur等人[5]提出的基于线性判别分析(Linear Discriminant Analysis, LDA)的FisherFace,以及其它基于子空间理论的一些混合方法如Jianming Zhang等人[6]提出的一种基于Gabor特征和支持向量引导字典学习(GSVGDL)的稀疏表示人脸识别算法,通过提取人脸图像多方向多尺度的Gabor特征,并将Gabor特征作为增广矩阵来构建初始字典,同时学习结构字典和线性分类器。提取整体特征的方法是将人脸图像先进行投影操作,然后将人脸图像降维至一组投影向量,最后将低维特征送入支持向量机(SVM)等机器学习分类器进行人脸分类。相比于全局人脸特征,局部人脸特征具有更好的身份不变性和鲁棒性,因而研究者们开始使用局部特征来表示人脸,比如,芬兰奥卢大学的T.Ojala等人[7]最先提出局部二值模式(Local Binary Patterns, LBP),以中心像素的灰度值作为阈值,将中心像素与它的邻域一一相比较,大于中心像素的取1,小于则取0,最后得到对应的二进制码来表示局部纹理特征。在LBP的基础上,几种改进后的人脸分析描述符相继被提出来,比如正交差分局部二进制模式[8](Orthogonal Difference-Local Binary Pattern, OD-LBP)、基于邻域和中心差分的 LBP 算法[9](Neighborhood and Center Difference-based-LBP, NCDB-LBP)和完全正交组合局部二值模式[10](Complete Orthogonally Combined Local Binary Pattern, COC-LBP),进一步优化了特征描述符。LBP算子最大的优点就是对光照不敏感,降低了光照对人脸图像的影响,因此目前基于深度学习的人脸识别算法中也常有结合LBP算子来增强模型对光照条件下的鲁棒性。
3 基于硬参数共享和注意力机制的人脸识别及表情识别算法
3.2 人脸检测模块算法研究
为了排除数据集中的人脸图像由于尺寸不一、角度不一和其它背景对人脸识别和表情识别产生影响,对训练数据中的每一张人脸图像,须先进行人脸检测和人脸对齐,以获取人脸区域和关键点位置,然后裁剪至标准像素大小。 人脸图像预处理是为后续模型训练提供标准大小的图像输入。本文后续章节所使用数据集的图像预处理算法在本节详细介绍,后续章节将不再赘述。
3.2.1 MTCNN算法
MTCNN[84]的主要思路是级联多个卷积神经网络,使用多任务的形式训练网络参数。尽管越来越多优秀的人脸检测模型被相继提出,但目前MTCNN模型及其变种在工业界和学术界仍广泛用于人脸技术中实现人脸检测和对齐,常在相关的识别网络中作为头部用于人脸图像预处理,其网络结构主要包含三部分,如图3.1所示。
三个阶段的级联子网络分别是P-Net(Proposal Network)、R-Net(Refine Network) 和 O-Net(Output Network),在整体网络训练时,P-Net、R-Net和O-Net依次连接,前一阶段网络的输出作为下一阶段网络的输入。其中,P-Net为第一阶段,是一个全卷积网络,由三个卷积层和一个最大池化层组成,完成人脸的分类、边界框的回归以及人脸关键点的定位三个任务,训练时采用的输入图像大小为12×12,主要用于获取人脸区域的候选框;
5 人脸识别及表情识别系统的设计与实现
5.1 引言
自然场景下的人脸识别和表情识别任务是现实生活中应用广泛的计算机视觉任务,为智慧医疗、疲劳驾驶检测、刑侦破案、门禁准入、金融支付等诸多领域提供底层的技术保障。第三章和第四章对人脸识别和表情识别算法进行研究,利用多任务学习进行建模,提出了HPSSA-MTL和SPSA-MTL模型,经过实验验证,在多任务学习下人脸识别任务和表情识别任务可以通过不同参数共享方式学习到一个有额外监督信号的共享表示,并且提高单个任务的性能,有效地实现了多任务下的人脸识别和表情识别,本章应用第三章和第四章训练好的检测模型和多任务识别模型,基于Py Qt5设计并实现了一个人脸识别和表情识别系统,该系统在复杂的自然场景下仍能表现出较好的识别效果。
5.2 系统的可行性分析
本小节从技术可行性和经济可行性两个角度对本章的人脸识别及表情识别系统的可行性进行简要分析。
(1)技术可行性
本文提出改进版本的人脸检测模型MTCNN-SE与人脸识别及表情识别的多任务模型HPSSA-MTL和SPSA-MTL都是在TensorFlow2.4.0深度学习框架上搭建和训练的,基于Python语言使用PyCharm(社区版)集成开发环境完成代码的编写,图形用户界面是基于开源的Py Qt5工具包完成。以上涉及的技术框架、编程语言和开源工具包都较为主流,可以从对应官网上轻松获取。
(2)经济可行性
对于开发者而言,本系统的研发与设计是在个人笔记本上完成的,不需要其他昂贵的设备作为支撑;对于用户来说,检测和识别的网络模型对计算机的性能要求不高,可以轻松满足,只需配置好对应的软件环境即可,没有其他额外复杂配置,因此能够满足用户方便且经济地使用。
6 总结与展望
6.2 未来展望
本文工作主要是从多任务角度来对人脸识别和表情识别进行研究,首先对人脸检测算法进行了改进,然后搭建了两种人脸识别及表情识别的多任务网络模型,使得多任务模型中的单个任务在识别效果上具有一定的提升,并且在资源利用率和耗时上得到优化。但研究中还存在一些问题,需要在今后的学习和研究中进行优化和改进。
(1)本文研究是基于几个主流的公开数据集进行实验的,但数据集中不同表情的类别分布不均衡,尤其是几种负类表情的占比很少,虽然在图像预处理时通过数据增强增加了样本的数量,但样本的多样性仍然不足,可能会使得训练的模型泛化性能不好。在后续的研究当中考虑使用生成对抗网络来生成新的表情数据或者采用半监督学习的方式为没有标签的表情图像打上伪标签,以增加训练样本的多样性,来帮助模型学习更鲁棒的特征,提高其泛化性能。
(2)本文的表情识别任务主要是针对静态的人脸图像进行训练并取得了不错的效果,但现实生活中表情通常是一个连贯性的动作,这种对静态图像的识别可能忽略了表情在时间上维度上的变化,具有一定的局限性,因此后续需改进算法将模型应用到动态的视频帧序列上进行表情识别的相关研究,改进模型的鲁棒性和扩展性。
(3)考虑到在实际应用场景中可能不止人脸的身份识别和表情识别这两个任务,比如还需要性别识别、年龄预测以及人脸属性的识别等,需要对多任务模型的任务数进一步扩充来满足实际的应用,因此后续的研究中希望将该多任务模型扩展到3个及以上的多任务场景中,并进一步研究多目标下的优化。
参考文献(略)