标题 | 基于迁移卷积神经网络的人脸表情识别 |
范文 | 刘伦豪杰 王晨辉 卢慧 王家豪 摘要:人脸表情识别在计算机视觉领域引起广泛关注,为了解决实际应用中出现的小数据集和硬件限制问题,引入迁移学习方法,将Image-Net上训练好的Inception_v3网络迁移到表情识别任务中,使用FER2013数据集进行参数学习完成表情识别任务,识别率达到了80.4%,且无过拟合现象,网络泛化效果好。基于迁移网络处理的是复杂度更大的分类问题,提取的抽象信息并不都对表情识别任务有利,进一步在迁移学习网络后加入了卷积层和池化层进行表情特征提取和冗余信息筛除,识别率提高到了87.5%。 关键词:表情识别;卷积神经网络;迁移学习 ;CK+ ;FER2013 中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2019)07-0191-04 Abstract: Facial expression recognition has attracted widespread attention in the field of computer vision, and it has played an important role in applications such as human-computer interaction. At the same time, the convolutional neural network method performs well in the graphics recognition task. Therefore, this paper firstly designs a convolutional neural network to complete the expression recognition task. The experimental results show that the recognition rate of the network on the CK+ dataset reaches 99.6%, but the recognition rate on the generalization set is only 21%, showing strong Fitting the phenomenon. In order to avoid over-fitting, the larger fer2013 database is used for training. Under the constraints of hardware conditions, convergence cannot be achieved, and the recognition rate is only 51.7%. In order to solve the small data set and hardware limitation problems in practical applications, this paper introduces the migration learning method, migrates the trained Inception_v3 network on Image-Net to the expression recognition task, modifies the final fully connected layer, and uses the FER2013 data set to perform parameters. After learning to complete the expression recognition task, the experimental results show that the recognition rate reaches 80.4%, and there is no over-fitting phenomenon, and the network generalization effect is good. However, the migration network deals with a more complex classification problem, and the extracted abstract information is not all beneficial to the expression recognition task. Based on this, the migration convolutional neural network designed in this paper adds the convolutional layer and the pooling layer to the expression feature extraction and redundant information screening after the migration learning network. The experimental results show that the recognition rate is increased to 87.5%. Key words: Expression recognition; Convolutional neural network; Migration learning; CK+; FER2013 人臉表情识别是人机交互与情感计算研究中的重要组成部分。随着人工智能的发展和机器人制造体系的成熟,人机交互领域显现出巨大的市场和应用前景。 最早的人脸表情识别研究方法主要基于几何特征,对人的眼睛、眉毛、嘴等位置变化特征进行表情识别。Lanitis[1]提取14个脸部特征点,建立可变形模型,通过特征点的位置和形状对人脸表情进行识别,达到74%的识别率。随着小波理论在图像识别逐渐成熟,日本九州大学[2]利用Gabor小波对面部表情信息进行压缩编码。美国CMU[3]采用隐马尔可夫模型(HMM)对人脸表情的细微变化分析,运用了特征点跟踪、流跟踪和边缘检测实现了面部表情信息的自动识别。以上传统的表情识别方法都需要人为设定特征,提取特征的信息量相当局限,准确率难以达到应用要求。 随着高性能服务器的发展,以卷积神经网络为代表的深度学习算法广泛应用到了计算机视觉、自动驾驶等领域中,取得了很好的效果。基于卷积神经网络的表情识别方法[4]通过数据驱动,构建卷积层从表情数据库中学习提取抽象的特征信息,最后使用全连接层分类。然而,深度卷积网络依赖于数据驱动,很多数据集中的静态面部表情图片太少,在无法得到上百万大规模数据集时,直接训练效果不够理想,容易产生过拟合,识别的泛化效果很差。基于此,提出了基于迁移卷积神经网络的人脸表情识别方法,将在Iamge-net大数据集上训练好的inception_v3图像分类网络迁移到人脸表情识别网络中,并在网络中加入了一层卷积层和池化层,再对人脸表情数据库的图片进行学习,取得了很好的效果。 1 卷积神经网络 卷积神经网络(CNN)是一种特殊的前馈神经网络,因主要功能单元卷积层实现特征提取而与普通全连接神经网络区分开来。神经元之间的连接模拟了动物的视皮层,在计算机视觉领域表现良好。CNN主要由卷积层、池化层和全连接层组成。 1.1卷积层 卷积层和传统的全连接层不同,该层包含一组滤波器,又称为卷积核。卷积核的大小一般为3x3或者5x5,这些卷积核在表示输入图像的三维矩阵上面滑动应用卷积,计算出卷积核和输入矩阵之间的点积,并生成二维激活映射,使得网络学习到因为侦测到输入位置空间上特定种类的特征而激活的卷积核。卷积核将通过上述滑动操作对整个图像进行扫描实现对图像信息的遍历,利用共享权值实现对图像特征的提取,不同的卷积核分别提取图像的不同特征。 卷积层试图将神经网络的每一小块进行深入的分析而得到抽象程度更高的特征,一般来说,经过卷积处理过的节点矩阵会变得更深,从图片中学习到的特征信息也更加丰富抽象。 1.2池化层 池化层也称下采样层,是对上一层提取的特征进行降维处理,可以在保留最重要特征的同时削减卷积输出,避免全连接层出现过拟合现象。池化中最经典的操作包括最大池和平均池化,本文采用最大池化,保留窗口中的最大值。最常见的池化大小是2x2,步幅为2,能够从输入映射中去除75%的激活,见图1。 1.3 全连接层 经过多轮卷积层和池化层处理后,图像中的信息已经被高度抽象为信息含量更高的特征,对于这些特征,利用全连接层完成分类任务。全连接层也称多层感知机,它的每一个神经节点都与前一层和后一层的所有节点相互连接,在不断的学习中,优化损失,反馈调节权重。 2 迁移学习 深度卷积神经网络CNN在每年一度的ImageNet图像识别大赛上大放光彩,其他传统机器学习方法逐渐被边缘化。但是该比赛和众多神经网络项目都是基于互联网产生,样本数量庞大,足以支撑深度学习的训练。对于数据集较少的应用领域如人脸表情识别,数据集中包含的标注样本即使通过图像增强与补偿技术也十分有限,构建大规模人脸数据成本也较高,不具有实际可操作性。基于此,将在大规模互联网数据上训练的CNN迁移到小样本目标数据集中的迁移学习方法成了图像研究领域的热门。 2.1 迁移学习概述 迁移学习的思路是将一个环境中学习到的知识来帮助完成新环境中的学习任务[5]。迁移学习定义为:给定一个源领域Ds和学习任务Ts,一个目标领域Dr和学习任务Tr,迁移学习通过学习任务Ts在源领域Ds中获取的知识,帮助学习任务Tr在目标领域Dr中的学习[5]。 2.2迁移学习在表情识别的应用 人脸表情识别数据集都十分有限,引入迁移学习将使得基于深度卷积神经网络的表情识别任务可以在已有的少量人脸数据集中训练学习到很好的效果。具体地,利用在ImageNet图像数据集上训练好的大型神经网络Inception_v3,修改其输出层,改用三层全连接网络,在任务数据集上训练,实现七分类问题。此外,源网络的任务是对两万多种事物进行分类,比七种表情识别任务复杂程度更高,因此Inception_v3抽象出的大量信息并不是都对表情识别起着积极作用,可能存在负迁移的破坏性影响。基于此,在全连接层前设计一层卷积层和池化层能够起到提取表情特征信息,剔除多余信息的作用,学习效果更好。 3 数据准备 3.1 数据来源 本文的实验数据选用fer2013人脸表情库和CK+人脸表情库。 fer2013数据集来自数据科学竞赛kaggle,该表情库由训练集、测试集与验证集三部分构成,其中训练集共包含28,709张48[×48]的灰度图像,将人脸表情分为生气、厌恶、恐惧、高兴、悲伤、惊讶和中性这7种。其构成如下: CK+数据集由Cohn Kanade 表情库扩展而来,与fer2013相比,其类别稍有不同,并且仅包含共988张人脸表情,其构成如下: 此外,选取来自其他数据集的一小部分人脸表情集作为泛化集,用来测试网络的泛化能力。 3.2 数据处理 相较于fer2013数据集,CK+的数据集太小,容易产生过拟合。对此采用数据增强来对CK+数据集进行拓展,本文利用随机裁剪的方式,在48x48的图片上四个角和中心裁剪出5个42x42的图片,再进行一次镜像操作,实现了数据集扩增10倍的目的。除此之外,在训练之前,还应该对数据库图像进行尺寸大小和深度调整以符合网络的输入条件。本文在tensorflow框架上利用openvc的resize函数将42x42x1的灰度图像转化为适合卷积神经网络输入的227x227x3的图像和卷积迁移网络输入的229x229x3的图像。 4 人脸表情识别方法 4.1 卷积神经网络模型 本文设计一种包含5个卷积层和3个全连接层的卷积神经网络,其网络结构如图x所示。输入为预处理完成的227*227*3的三通道图片,卷积层1的卷积核大小为11*11,步长为4,卷積层2的卷积核大小为5*5,步长为1,另外三个卷积层卷积核均为3*3,步长均为1,经过卷积层的输出特征图像大小为6*6*256,再通过3个全连接层,最终输出一个7*1的向量,完整的网络参数如表3。该网络设置学习率为0.001,权重衰减率为0.8,迭代次数为2000次。在训练数据不够多时,或者过度训练时,经常会导致过拟合。其直观的表现为,随着训练过程的进行,模型复杂度添加,训练集上的损失函数逐渐减小。但在验证集上的准确率却反而逐渐增大,为解决该问题采取了学习率随迭代次数衰减的机制,迭代一百次学习率衰减0.01。并选择Relu激活函数、交叉熵损伤函数和随机梯度优化器的组合对网络进行反馈学习,调整网络权重参数。Relu作为激活函数解决了Sigmoid在网络较深时的梯度弥散导致迭代一段时间后无法收敛的问题。此外,使用L1正则化,在损失函数后面再加上一个正则化项来不断削弱权重系数。训练时还在全连接层采用了Dropout随时忽略部分神经元,dropout值设置为0.8,每次随机忽略80%的神经元,一定程度上避免了过拟合。 将处理过的CK+数据集置于该网络中训练,使用mini-batch梯度下降算法对损失函数进行优化,该算法先将整个大的训练集划分为若干个小的训练集,称为 mini-batch,本文中设置为256,再分别对每一个batch进行梯度下降。使用 mini-batch梯度下降算法,一方面更新参数更快,有于更鲁棒地收敛,避免局部最优;另一方面,计算效率更高,可以帮助快速训练模型。 利用Nvidia GTX 1080 GPU在tensorflow框架下进行运算,调参训练后发现其在测试集中的准确率高达99.6%,而在泛化集中的准确率仅有21%。这是由于数据集中图片数量过少,网络参数过多,不可避免地产生了过拟合现象,因而不具备较好的泛化能力。 基于以上原因,采用数据量更大的FER2013训练该网络,结果显示其在测试集中的准确率仅能达到51.7%,并且损失值呈明显的上下震荡,无法收敛。 反复调参后发现,小数据集在batch-size为256时便能达到较好的收敛效果和准确率,而对于数据量较大的数据集则需要更大的batch-size,当batch-size到达1024时,计算机内存已达到瓶颈,此时的最高准确率为57.8%,需要寻找新的方法来弥补硬件性能的不足。 4.2 迁移网络模型 在计算机性能限制网络训练能力的情况下,借助迁移学习能够取得较好的效果。可以选择一个已经经大量数据训练好的网络层数庞大的卷积神经网络及其参数学习人脸表情集,获取抽象的、深层的表情特征,通过对输出特征的进一步提取与分类,更为简单准确地实现了人脸表情的识别工作。 在ImageNet数据集中训练好的Inception-v3网络中可以很好地区分两万种类别的图像,所以有理由认为该网络中每一个节点可以作为其他任何图像的一个更加精简且表达能力更强的特征向量。基于此,直接利用这个训练好的Inception-v3网络对人脸表情图像进行特征提取,然后再将提取得到的特征向量作为输入来训练一个七分类问题。在实际操作中,保留训练好的Inception-v3模型中所有卷积层的参数,只是替换最后一层全连接层,将输出神经元由1000个调整为7个。 结果显示,FER2013测试集中的准确率达到80.4%,在时间和准确度上都有显著的提升。 4.3 迁移卷积网络模型 一般来说,迁移学习所需训练时间与硬件要求远小于训练完整模型,但其训练效果不如完全重新训练,为进一步提高分类准确率,设计在Inception-v3后连接上新的网络,见图2。经过Inception-v3的输出数据为8*8*2048,通过一个卷积核为3*3,步长为1,全零填充的卷积层对表情特征进行提取,再通过一个过滤器为2*2,步长为2的最大池化层实现冗余信息的筛除,最后通过一个7个神经元的全连接层完成表情分类任务。实验发现,改进后的迁移卷积神经网络对人脸表情的分类能力得到明显提升,测试集准确率达到了87.5%,泛化集准确率也达到了80%以上,不会出现过拟合现象,能够很好地解决样本数量较少的图像数据集分类问题。 4.4 结果分析 使用最初设计的包含5个卷积层与3个全连接层的卷积神经网络,CK+测试集的准确率高达99.6%,但其泛化能力较差,在泛化集中的准确率仅为21%,这是由于CK+训练集数据有限,而网络结构过于复杂,参数过多,出现了过拟合的现象;基于此选择数据量更大的fer2013作为训练集,结果显示,测试集上的准确率受限于计算机性能,最高只能达到51.7%,基于此,最终选择已经在数据量庞大的数据集Imagenet上训练完成的Inception-v3进行迁移学习,结果显示,FER2013测试集的准确率达到80.4%。为避免负迁移的破坏性影响,设计改进的迁移卷积神经网络进一步将准确率提高到了87.5%,并在泛化集上也取得了很好的效果,说明设计的迁移卷积神经网络能够很好地应用于小样本分类问题,且不会出现过拟合现象,扩大了CNN的应用范围,具有实际的应用价值。 为了验证本文提出的迁移卷积网络的有效性,将本文算法的人脸表情识别准确率与其他已有算法在fer2013数据集上的准确率进行对比,包括隐马尔可夫模型(HMM)、支撑向量机(SVM)[6]、Gabor小波变换[7]、深度置信网络(DBN)、只包含一层3*3的卷积层的卷积神经网络(N1)、包含多层3*3及5*5的卷积神经网络(N2)、判别学习卷积神经网络[8](DLCNN)(见表4)。结果表明,本文改进的迁移卷积神经网络算法平均识别率提高了8.3%。 5 总结 本文首先利用卷积神经网络构建出卷积网络模型完成人脸表情识别任务,在CK+数据集上进行训练,通过调参,测试集达到了99.6%的准确率,但是由于CK+数据集非常小,容易产生过拟合现象,主要表现在泛化集上的识别率仅有21%。基于此,选择了fer2013数据集进行训练,在硬件设备的制约下,batch-size最大调节到1024,反复调节参数,网络无法达到收敛,最高僅能达到57.8%。因此,为了使人脸表情识别技术应用于小样本数据集中采用了迁移网络的学习方法,将在超大网络数据集ImageNet上训练完成的大型网络Inception_v3的网络结构和参数迁移到人脸表情识别任务,修改全连接层完成七种表情的分类,实验结果表明在FER2013数据集上的识别率达到了80.4%。进一步,后设计了迁移卷积神经网络,在迁移网络增加设计好的卷积层和池化层提取出和表情识别有关的信息,实验结果表明识别率提高到了87.5%。 参考文献: [1] Lanitis A.,IEEE Trans.PAMI, 1997, 19(7):743-756. [2] Bradski G R,IEEE Workshop Application of Computer Vision,1998:214-219. [3] Lien J J J,CMU- RI- TR- 98- 31,Ph.D.dissertation,1998. [4] 李思泉,张轩雄. 基于卷积神经网络的人脸表情识别研究[J].软件导刊,2018(1):28-31. [5] Pan S J,Yang Q.A Survey onTransferLearning[J].IEEETransactions on Knowledge & Data Engineering,2010,22(10):1345-1359. [6] 陈伟宏. 基于SVM的人脸表情识别[J]. 科学技术与工程,2008, 8(21):5850-5853. [7] 王冲, 李一民. 基于Gabor小波变换的人脸表情识别[J]. 计算机工程与设计,2009,30(3):643-646. [8] Li Z.A discriminative learning convolutional neural network for facial expression recognition[C]//2017 3rd IEEE International Conference on Computer and Communications (ICCC), Chengdu, 2017:1641-1646. 【通联编辑:唐一东】 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。