以下为《基于卷积神经网络的人脸表情识别》的无排版文字预览,完整格式请下载
下载前请仔细阅读文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。
基于卷积神经网络的人脸表情识别
摘要
第1章 绪论
研究背景及意义
近年来随着计算机技术的不断发展,人们已经越来越离不开计算机,计算机已经影响到人们的生活、娱乐、工作等方方面面。随着大数据,人工智能的快速发展,人们对计算机提出越来越多的要求,如人们寄希望于计算机具有情感思维能力,能够准确识别用户的情绪,并给出恰当的反馈,从而实现更好的人机交互。
在日常生活中,人类会无意识地表露自己的情感,准确理解别人的情感并给予适当的反应有利于拉近人与人之间的距离,增加人的信任感,情感的表达与理解是人类必备的技能之一。我们主要通过三种方式传递个人情感,分别是语言、声音和面部表情,心理学家Mehrabian[1]发现,人在交流的时候通过面部表达的感情最多,在实验者传递的信息中,55%左右是面部表情信息,38%是声音信息,而借助语言传递的信息仅为总信息的7%。由此可见,相对于语言和声音信息,面部表情在人与人之间的交际过程中占有重要地位。如今,面部表情识别己成为一个非常热门的研究课题,在人身安全、医疗卫生和教育等领域具有广泛的应用前景,如:
(1)人身安全领域:对于车床加工人员、电工和司机等涉及生命健康的工作,如果操作者注意力不集中或疲劳打瞌睡,就很容易出现无可挽回的灾难事故。若采用表情检测系统,便能够协助企业搞好安全生产和安全运输等工作,实时检测企业员工的面部表情状态,当发现员工不在状态或十分疲惫时,立即发出警报,提醒员工在工作时不能三心二意,并将信息反馈给监督者。另外,表情检测系统同样适用于车站、机场和会场等公共场所的安检口,当发现来往旅客或客人流露出不安或愤怒表情时,及时提示在场工作人员做好重点盘查工作,从而尽量避免发生公共安全问题。
(2) 医疗卫生领域:面部表情识别常用来辅助感知患者的情绪状态或判断其是否有心理疾病等。对于一些重症病人或手脚无法运动的病人,在无人照看的情况下一旦出现危险情况但又不能及时按下呼叫按钮,就有可能会因此错过救治的最佳时间,并付出生命的代价。若采用表情检测系统便可以实时跟踪病人的面部肌肉动作,当发现病人流露出痛苦的表情时,自动将信息传递给医疗工作者,这样使得患者能够得到及时的救治。
(3) 教育领域:随着计算机技术和多媒体技术的普及,越来越多的人已习惯于通过在线教学系统补充营养知识。该系统不仅降低了老师的教学负担,而且使得学习者的学习不再受场地和时间的约束。然而,该系统无法分析学生的精神状态,不能及时纠正学生注意力不集中或玩手机等不良行为。若采用表情监测系统,一旦察觉到个别学生在较长时间内不在状态,便有针对性地采取警告措施,督促学生认真学习,从而提高在线教学质量。
国内外研究现状
1.2.1国外研究现状
Ekman与Friesen等1971年提出了世界上最早的表情库,其中共包括六种表情即愤怒(anger)、高兴(happiness)、悲伤(sadness)、惊讶(surprise),厌恶(disgust)和恐惧(fear),为了表现这六种不同的情感,把这六种情感称为基本情感。Ekman和Friesen还结合解剖学的思想,提出人脸运动编码系统FACS (Facial Action Coding System),这个系统实质上是一种描述人脸面部表情运动的方法,并且在该方法中定义了基本形变单元AU(Action Unit),我们可以理解人类的脸部表情的变化可以以形变单元为单位来衡量,划分这个形变单元的时候是根据肌肉的变化来划分的,也就是说,如果想要分析一个人的面部表情可以根据肌肉形变单元来进行研究。Lanitis等提出利用几何特征的方法来进行面部表情是识别,他们的方法主要是标记人的眼睛、鼻子和嘴巴的关键位置点,通过计算这些关键位置点的运动情况来分析所表达的是哪种面部表情,以此识别人脸表情。Praseeda等提出结合Gabor小波和SVM的面部表情识别方法,主要是先利用Gabor滤波器实现对表情图像的滤波以及提取面部表情特征,接着再利用SVM进行训练表情识别的分类器。LeCun等提出以深度卷积神经网络为基础的面部表情识别方法,其中基础结构是感知机,并且利用反向传播算法取得较好的识别效果。Kuo C M等提出了一种利用图像帧和图像序列来完成人脸表情识别任务的方法,该方法的主要特点是在保证网络识别人脸表情的性能不降低的前提下,用很少的卷积核,并且结合混合光照增强方案,这样不仅大大减少了实验储存问题出现的频率,而且也降低了训练模型时出现过拟合的频率。
1.2.2国内研究现状
在我国,人脸表情识别的研究最早是从1997年开始的,高文教授作为先驱者,带领自己的团队成为国内首批研究人脸表情识别的研究者。王某某等在2003年将人脸表情识别与机器人学相结合,研究机器人的情感控制。郑文明等提出基于偏最小二乘回归的人脸表情识别算法。姚某某、郭某某等提出了一种对人脸局部遮挡图像进行用户无关表情识别的方法,主要是利用生成对抗网络补全人脸被遮挡的部分,以及建立一个表情识别网络,在表情任务与身份识别任务之间形成对抗关系,提取用户表情特征实现表情的分类。张瑞、蒋某某等提出一种基于稀疏特征挑选和概率线性判别分析的表情识别方法,首先使用稀疏的方法将与人脸面部表情有关的区域挑选出来,形成面部表情特征集;然后利用概率线性判别分析对面部表情特征集进行进一步筛选,去除一些非表情特征信息,使用仅有表情特征的信息集合去进行表情识别分析,大大提高了表情识别的准确度。张良、李玉等提出一种LBP-GD算子,这个算子是融合了梯度,解决了对于局部二值模式(LBP)不能描述纹理方向变化的问题。
1.3 本文的主要研究内容
卷积神经网络的相关理论
2.1 人工神经网络
2.1.1 神经元
神经元是神经网络最基本的组成部分,负责对上一层的神经元进行接受,对数据进行处理,然后输出处理结果。它包括线性求和模块和激励模块。神经元的基本结构如图2.1所示。其中,输入
??
1
,
??
2
,
??
3
…
??
??
分别对应权值参数
??
1
,
??
2
,
??
3
…
??
??
。
/
图2.1神经元结构图
线性求和输出为:
??=
??
1
??
1
+
??
2
??
2
+…+
??
??
??
??
+??=
??=1
??
??
??
??
??
+?? (2.1)
记??=[
??
1
,
??
2
,…
??
??
],??=
[
??
1
,
??
2
,…,
??
??
]
′
,则上述表达式可以转换为矩阵形式:
??=????+?? (2.2)
激励模块的输出为:
??=??
??
=??
????+??
(2.3)
2.1.2神经网络模型
(1)感知器
传感器由输入层和输出层两层神经元组成,其中输入层神经元只负责转发数据信息,不具备操作能力,只有一个神经元接收到输入信号,输出层又称信息处理层,其中每个神经元是一个小的处理单元,它计算上层的数据信息并处理外部输出的结果,而不相互影响。包含n个输入神经元和m个输出神经元的传感器如图2.2所示。
/
图2.2 感知器模型
在单层感知器中,n个神经元接收外部信息,形成输入向量??,??=
(
??
1
,
??
2
,…
??
??
,…,
??
??
)
′
m个神经元向外输出信息,形成输出向量o,??=
(
??
1
,
??
2
,…,
??
??
,…
??
??
)
′
,输入层与输出层的第j个神经元之间的连接权值用权向量
??
??
表示,
??
??
=
(
??
1??
,
??
2??
,…,
??
????
,…,
??
????
)
??
,??=1,2,…,??,m个权向量
??
??
是感知器W的权值矩阵,??=(
??
1
,
??
2
,…,
??
??
,…,
??
??
)。输出层第j个神经元的输出:
??
??
=??????
??=1
??
??
??
??
??
+
??
??
=??????
??
??
??
??+
??
??
(2.4)
当实际输出与期望输出不一致时,进入权值和偏差参数的校正阶段,参数调整的方法称为训练。感知器的训练过程如下:
首先进行初始化,对权值
??
1??
,
??
2??
,…,
??
????
,…,
??
????
和偏置
??
??
随机赋予一个很小的非零值,其中,??=1,2,…??;
输入样本对{
??
??
,
??
??
},其中
??
??
=(
??
1
??
,
??
2
??
,…
??
??
??
),
??
??
表示期望输出向量,样本集中共有??个样本,上标p表示的是第p个样本,??=1,2,…??;
计算输出层每一个神经元的真实输出;
??
??
??
=??????
??
??
??
??
??
??
,??=1,2,…,??;
2.5
计算输出层每个神经元的真实输出与期望输出之差:
??=
??
??
??
?
??
??
??
2.6
对每个神经元的参数进行修正:
??
??
??+1
=
??
??
??
+?
??
??
=
??
??
??
+??
??
??
??
??
?
??
??
??
??
??
??
??
??
??+1
=??
??
+?
??
??
=
??
??
??
+??
??
??
??
??
?
??
??
??
??
??
??
(2.7)
(2)前馈神经网络
前馈神经网络是一种单向信息传输的神经网络,每层神经元只接受前一层的输入,输出结果是单向传输到下一层,网络中没有反馈信号。上述感知器也是一种特殊的前馈神经网络,它只包含一个计算层:输出层。在输入层和输出层的中间,增加一个或多个中间计算层,即隐层,形成多层前馈神经网络。与单层感知器不同,多层前馈神经网络可以无限逼近任意函数,从而解决线性不可分问题。具有隐藏层的多层前馈神经网络如图2.3所示。
/
图2.3前馈神经网络结构图
多层前馈神经网络有两个重要的结构参数:隐层神经元数和隐层数目。如果隐层中的神经元数目太少,网络就不能有效地训练。随着隐层神经元数目的增加,模型的数据拟合能力更强,识别精度更高。同时,它将显著增加网络参数的数量,使网络模型更加复杂,增加网络的训练时间。因此,需要根据实际问题合理选择隐层神经元的数目。一般原则是在保证识别精度的前提下,尽可能少地选取神经元,避免过拟合问题。在隐层数的选择上,一般来说,隐层数越多,所学习的特征越抽象,识别特征的能力就越强,神经网络所能解决的问题就越复杂。但是,这也增加了网络训练的难度,很难获得一组最优的模型参数值。
2.2卷积神经网络
2.2.1 卷积神经网络特点
(1)局部链接
Huber等学者发现,生物对周围环境的认识是研究生物视觉传递系统过程中的一个渐进过程。首先观测一个局部细节区域,然后逐步整合各个区域的信息,掌握全局信息。而不是从一开始就从全局的角度来感知图像信息。感知图像信息的渐进方式是因为图像的像素在空间上是局部相关的,相邻的像素是紧密相关的,但是相距较远的像素之间没有相关性。在生物视觉系统中,单个神经元只接受一个很小的局部区域的刺激,这个区域也被称为感受野。基于生物感受野的相关理论,研究人员对神经元的全连接进行了改进,使每一层的神经元只与前一层的部分神经元连接,即采用局部连接。
图2.4显示了卷积神经网络的局部连接和完全连接的比较图。第n-1层有5神经元,n层有3个神经元。采用完全连接的方法,N层中的每个神经元J连接到上一层的所有神经元,包含5个权重参数,因此N层中的参数总数为5x3=15,如图2.4(a)所示:使用局部连接方法,N层的每个神经元连接到一层中的3个相邻神经元,包含3个权重参数,因此第n层的参数总数为3x3=9,如图2.4(a)所示。通过比较,可以看出,采用局部连接方法可以减少参数的数量,降低了对计算机计算能力的要求。
/
图2.4 全连接和局部链接
(2)权值共享
虽然使用局部连接连接前后两层神经元的参数数目明显减少,但当神经元数目较大时,网络中包含的参数数目仍然很大。为了进一步减少网络参数的个数,研究学者提出了一种权值共享策略,即同一网络层的每个神经元使用相同的权值参数来提取前一层的局部特征。该层的参数总数始终保持不变,并且参数总数与该层中任何神经元的参数数目一致。图2.5显示了卷积神经网络的权重分配。采用权值共享后,第n层的三个神经元共享同一组权值参数。每个神经元包含三个参数。由于参数的复用,参数总数也只有3个。相反,为每个神经元设置一组独立的权重参数。当且仅当每个参数使用一次时,层中的参数总数为9。通过比较可以看出,权重分配大大降低了参数数量。逑
/
图2.5权值共享示意图
2.2.2 卷积神经网络基本结构
(1)卷积层
卷积神经网络中的卷积层主要存在于隐层。隐层中的几个卷积单元构成了CNN中最重要的特征提取结构。卷积层使权值具有数值性,然后通过反向传播算法对权值参数进行逐步优化。通过逐层卷积,可以提取出多种不同的图像特征。除了一些底层特征如线条、轮廓颜色等,更深层次的网络甚至可以提取出更负责任的图像特征,通过调整体积积核的大小、步长等一系列卷积参数也可以提高其特征提取能力和计算速度。卷积过程如图2.6所示。
/
图2.6 卷积过程示意图
(2)池某某
池某某也叫下采样层,一般存在于一个卷积操作之后,下一个卷积操作之前,通过池化对提取到的特征图像进行压缩,主要作用是压缩数据和参数,并且在池化过程中还可以保持特征不变形,在空间范围中对特征的维度做了缩减,从而使得神经网络可以提取到更加深层次范围的特征,还能降低参数,使得下一层的输入数据减少,提高运算速度,而且在一定程度上可以达到减小过拟合的作用。
池的结构类似于卷积层。将特征图按指定的大小划分为多个矩形块,然后对每个矩形块进行合并。常见的池功能包括最大池化和平均池化。最大池是输出每个矩形块中的最大值,而平均池是将每个矩形块的值平均然后输出。其原理图如图2.7所示。
/
图2.7 池化示意图
(3)全连接层
为了提高神经网络的分类性能,在网络经过几层卷积池运算后,一般在网络的后面加一层完全连通的层。每个神经元与前一层和后一层的所有神经元相连。该连接用于集成上述特征参数,此时网络中的参数将不再冗余。完全连接层通常位于网络的最后几层。对融合后的特征参数进行综合,学习所有参数,为下一步分类器分类做准备。全连接结构图如图2.8所示。
/
图2.8全连接结构图
2.2.3激活函数
(1)sigmoid函数
这是传统神经网络中最常用的激活函数之一,对应的公式和图像如图2.9所示。
/
图2.9 sigmoid函数
sigmoid 函数的优点在于,它的输出映射在(0,1)内,单调连续,非常适合用作输出层,并且求导比较容易。但是,它也有缺点,因为软饱和性,一旦输入落入饱和区, f'(x)就会变得接近于 0,很容易产生梯度消失。
(2)tanh函数
Tanh函数对应的公式和图像如图2.10所示。
/
图2.10 tanh函数
tanh函数,也被称为双曲正切函数。该函数关于原点对称,输出数据的均值为0,其范围为(?1,1)。在原点附近时,该函数与??=??函数相似,可以直接进行矩阵运算,训练相对容易。tanh 函数也具有软饱和性。因为它的输出以 0 为中心,收敛速度比 sigmoid 要快。但是仍无法解决梯度消失的问题。
(3)relu函数
relu函数是目前卷积神经网络中应用最广泛的激活函数。该函数是一个分段函数:(1)当x为0时,输出等于输入,导数值始终为1,可以保证梯度不衰减,有效地解决了梯度消失的问题(2)当x小于0时,输出值始终为0,相应的梯度也为0,神经元将不被训练,这使得被激活的神经元变得稀疏,削弱了神经元之间的互联,有助于过滤数据的本质特征。
??
??
=max?(0,??)
/
图2.11 relu函数
第3章 人脸表情数据采集及预处理
第4章 基于VGGNet的人脸表情识别算法改进
4.1 VGGNet模型
VGGNet是由牛津大学计算机研究小组和Google deepmind联合提出的一种非常经典的深度卷积神经网络。在2014年的ImageNet比赛中,不仅获得了图像识别任务的第二名,还获得了图像定位任务的冠军。该网络具有很强的特征提取能力,常被用作卷积神经网络的主干,用于提取图像的固有特征。VGGnet的结构图如图4.1所示。
/
图4.1VGGNet-16网络结构图
VGGNet使用小卷积核,这使它具有以下优势:
更多的激活函数、更丰富的特征,更强的辨别能力。卷积后都伴有激活函数,更多的卷积核的使用可使决策函数更加具有辨别能力,此外就卷积本身的作用而言,3x3比7x7就足以捕获特征的变化:3x3的9个格子,最中间的格子是一个感受野中心,可以捕获上下左右以及斜对角的特征变化。主要在于3个堆叠起来后,三个3x3近似一个7x7,网络深了两层且多出了两个非线性ReLU函数,(特征多样性和参数参数量的增大)使得网络容量更大(关于model capacity,AlexNet的作者认为可以用模型的深度和宽度来控制capacity),对于不同类别的区分能力更强(此外,从模型压缩角度也是要摒弃7x7,用更少的参数获得更深更宽的网络,也一定程度代表着模型容量,后人也认为更深更宽比矮胖的网络好);
卷积层的参数减少。相比5x5、7x7和11x11的大卷积核,3x3明显地减少了参数量,这点可以回过头去看上面的表格。比方input channel数和output channel数均为C,那么3层conv3x3卷积所需要的卷积层参数是:3x(Cx3x3xC)=27C^2,而一层conv7x7卷积所需要的卷积层参数是:Cx7x7xC=49C^2。conv7x7的卷积核参数比conv3x3多了(49-27)/27x100% ≈ 81%;
小卷积核代替大卷积核的正则作用带来性能提升。作者用三个conv3x3代替一个conv7x7,认为可以进一步分解(decomposition)原本用7x7大卷积核提到的特征,这里的分解是相对于同样大小的感受野来说的。关于正则的理解我觉得还需要进一步分析。
/
图4.2 内容过长,仅展示头部和尾部部分文字预览,全文请查看图片预览。 改进:
不再使用局部响应归一化层:在深度卷积神经网络中,加入LRN层,一方面不能提升网络性能,另一方面,会额外增加内存消耗量,并使得网络训练变得很慢。
小卷积核;没有再使用诸如5×5和11×11等大尺寸的卷积核,而是将全部卷积核尺寸统一固定为3x3,串联多个小卷积核(3×3)等效替代大卷积核,在减少参数量的同时增强了网络的拟合能力。
小池化核:不再使用池化窗口大小为3x3、滑动步长为2×2的池某某,而采用池化窗口大小为2×2池某某,从而获得更加细腻的特征。
网络的卷积层个数及特征图的通道数更多:在Alexnet网络中,仅含有6个卷积层,输出特征图的通道数均不超过384,而在VGGNet网络中,最多含有16个卷积层,从前往后,特征图的通道数逐渐增多,由最初的64通道逐渐翻倍到512通道,并证明了增加网络深度可以提升性能表现,降低分类任务的错误率。
全连接转卷积:在测试阶段,将最后的3个全连接层全部换为3个卷积层,使得网络的输入图片尺寸不再受全连接层的束服。因此,任意高和宽的测试图片都可以直接作为网络的输入,这免去了测试图片的尺寸归一化步骤。
第5章 实验设计与分析
第6章 结论与展望
[文章尾部最后500字内容到此结束,中间部分内容请查看底下的图片预览]请点击下方选择您需要的文档下载。
以上为《基于卷积神经网络的人脸表情识别》的无排版文字预览,完整格式请下载
下载前请仔细阅读上面文字预览以及下方图片预览。图片预览是什么样的,下载的文档就是什么样的。