一种基于深度学习的人脸表情识别方法与流程

文档序号:14911770发布日期:2018-07-10 23:36阅读:269来源:国知局

本发明属于设智能图型分析技术领域,特别涉及一种基于深度学习的人脸表情识别方法。



背景技术:

随着技术的发展,人脸表情识别逐渐成为了研究的热门方向。在人与人之间的交流当中,人脸表情所传递的信息占据着相当大的比重。人脸表情映射着人类内心世界丰富的情感活动,是人体行为信息与情感的重要载体。对人脸表情识别进行更为深入的研究,能够帮助我们更好的了解人类内心情感的真实状态。而对于计算机来说,如果可以通过技术手段做到类似人类那样具有分析和理解人脸表情、获取人脸所表达的情感,那么就可以使计算机实现效果更好的人机交互,从而更加智能的、高效的为人类服务。

经过多年的发展,围绕人脸表情识别的研究已经有很多,研究者们也提出了各种不同而有效的方法。目前,由于深度学习方法具有无监督特征学习能力的突出优点,深度学习的应用也越来越多。但是,对于深度学习在人脸表情识别方面的应用研究,国内外还很少见。研究如何将深度学习的方法有效应用于人脸表情识别既是对表情识别研究领域的一种方法的拓展与提高,也是对深度学习应用领域的拓展。

公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。



技术实现要素:

本发明的目的在于提供基于深度学习的人脸表情识别方法,从而克服上述现有技术中的缺陷。

为实现上述目的,本发明提供了基于深度学习的人脸表情识别方法,包括如下步骤:

S1、实时获取视频信号,将视频信号分解为按时间排序的图像序列;

S2、对S1得到的图像序列,中值滤波后转换到YCgCr颜色空间,并建立肤色模型,对图像进行肤色检测,并进行形态学处理后去除背景区域,获得候选肤色区域;

S3、基于S2的肤色检测,采用Adaboost算法训练基于Haar-like特征的人脸分类器对候选肤色区域进行人脸检测,得到人脸区域;

S4、对S2得到的人脸区域图像进行预处理得到人脸表情图像,其中预处理包括:仿射变换、Gamma校正、图像剪裁、归一化;

S5、从人脸表情图像中提取LBP特征,用深度信念网络DBNs对初级特征和 LBP进行学习和训练,得到更高层次的抽象特征;

S6、在DBNs训练完成之后,将其最后一层隐层的网络权重最优值用于初始化传统多层感知器MLP模型的隐层网络权重值,被初始化的MLP模型具有和 DNBS模型相同的参数;

S7、使用初始化的MLP模型作为分类器来进行人脸表情识别,即把深度信念网络与多层感知器融合起来进行人脸表情识别。

S8、预先设定7种基本表情,高兴、悲伤、愤怒、恐惧、惊讶、厌恶、自然,如果识别为悲伤、愤怒的表情,则向终端设备发出警报。

本发明进一步限定的技术方案为:

优选地,上述技术方案中,S2在YCgCr颜色空间下的建立肤色模型,对图像进行肤色检测,获得候选肤色区域,其过程如下:

S2.1通过如下公式将S1的图像序列转换到YCgCr颜色空间:

其中Y表示明亮度,Cg和Cr表示色度,RGB表示红、绿、蓝三个通道的颜色,R、G、B取值范围均为0~255。

S2.2皮肤颜色在YCgCr颜色空间呈高斯分布,建立高斯肤色模型,获得灰度图像,其中高斯分布函数ρ(Cg,Cr)表达式为:

ρ(Cg,Cr)=exp[-0.5(a-M)TC-1(a-M)];

其中a是肤色样本在YCgCr颜色空间中的值,M为肤色样本像素在YCgCr 颜色空间中的均值,C为肤色相似度协方差矩阵,均值M和协方差矩阵C可通过以下公式求出:m=E(a),a=(Cr,Cg)T,C=E[(a-m)(a-m)T];

肤色高斯模型中均值M和协方差矩阵C一般取值为:M=[116.09 148.7319];

2.3按照一定阈值对灰度图像进行二值化操作,大于阈值的像素点置为1 表示肤色区域,小于阈值的像素点置为0表示非肤色区域;

2.4对二值化处理后采用先膨胀后腐蚀的形态学操作,得到候选肤色区域。

优选地,上述技术方案中,S3中采用Adaboost算法训练基于Haar-like特征的人脸分类器,首先选取与人脸灰度分布有较好耦合性的Haar-like特征用来表示人脸,每一个Haar-like特征都是一个弱分类器,通过Adaboost算法将这些若弱分类器进行有效的组合,获得可用于人脸检测的强分类器,最后将训练好的人脸分类器用于候选肤色区域检测判断是否存在人脸。

优选地,上述技术方案中,其中人脸分类器的训练又分为以下步骤:

S3.1提取Haar-like特征,Haar-like特征由黑白矩形区域组成,其特征值为白色矩形区域内像素值的和与黑色矩形区域内像素值的和的差值, Haar-like特征表达式如下:

其中h表示弱分类器的值,若h的值为1表示此区域是人脸,值为0则表示此区域为非人脸,k是待检测子窗口,f(k)表示子窗口k的特征值计算函数,ρ是一个符号因子,θ是分类器的阈值;根据该表达式获得表情图像的Haar-like 特征;

S3.2Haar-like特征的积分图计算,采用积分图的方法计算图像的 Haar-like特征,图像序列中点(i,j)处的积分图的值ii(i,j)是点(i,j)与图像原点组成区域内所有像素的和,

S3.3构造分类器,Adaboost算法通过迭代的方法从众多的Haar-like特征中挑选出合适的特征,然后将这些挑选出来的弱分类器组合得到分类能力很强的强分类器;

对待检测的图像进行人脸检测时,需要遍历图像中固定大小的所有矩形区域,并计算不同尺度下的Haar-like特征,并且Haar-like特征数量众多,在这样的情况下检测一副图像的人脸区域需要花费大量的时间。

优选地,上述技术方案中,S3.2中积分图的构建过程如下:

S3.2.1用s(i,j)表示行方向的累加和,初始化s(i,-1)=0;

S3.2.2用ii(i,j)表示一个积分图像,初始化ii(-1,i)=0;

S3.2.3逐行扫描图像,递归计算每个像素(i,j)行方向的累加和s(i,j)和积分图像ii(i,j)的值s(i,j)=s(i,j-1)+f(i,j);ii(i,j)=ii(i-1,j)+s(i,j);

S3.2.4扫描图像一遍,当到达图像右下角像素时,积分图像ii就构造好了。

S3.3中训练弱分类器迭代过程如下:

选定n个训练样本:(x1,y1),(x2,y2),......,(xn,yn);其中xi表示输入的待训练图像,而yi∈{0,1}表示该训练样本为非人脸(yi=0)或者人脸(yi=1);

首先对样本权重进行初始化:对所有的yi∈{0,1},其权值有其中m表示负样本的个数,l表示正样本的个数,m+l=n。对于t=1,2,3,…….,T(T 为迭代次数),进行以下循环:

S3.3.1首先归一化权值:使得ωt,i>0,其中ωt,i表示概率分布;

S3.3.2计算弱分类器hj的分类误差εj=∑ωi|h(xi)-yi|;

S3.3.3挑选出分类错误最小的分类器ht;

S3.3.4按照弱样本xi被正确分类,ei取0,否则ei为1的原则更新权值:其中

S3.3.5最后输出强分类器:

优选地,上述技术方案中,S4中采用仿射变换对检测到的人脸区域进行旋转校正,使得人脸的两只眼睛在同一水平线上,从而使人脸进行对齐,大大提高恃征的有效性;

S4中采用Gamma校正来对人脸区域图像进行光照规整,公式如下:

G(c,d)=F(c,d)γ

其中F(c,d)为原人脸区域图像校正前的像素点(c,d)的的灰度值,G(c,d) 为校正后对应像素灰度值,γ为校正因子。

优选地,上述技术方案中,S4中的图像剪裁,其剪裁依据为:首先对检测到的人脸区域图像中的眼睛嘴巴鼻子进行标定,如果两个眼睛瞳孔之间距离为 d,那么裁剪的大小就为2.2d*1.8d。

优选地,上述技术方案中,S5中提取LBP特征,对LBP特征向量进行提取的步骤如下:

S5.1首先将检测窗口划分为16×16的小区域cell;

S5.2对于每个cell中的一个像素,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于中心像素值,则该像素点的位置被标记为1,否则为0。这样,3*3邻域内的8个点经比较可产生8位二进制数,即得到该窗口中心像素点的LBP值;

S5.3然后计算每个cell的直方图,即每个数字出现的频率,这里假定每个数字是十进制数LBP值,然后对该直方图进行归一化处理;

S5.4最后将得到的每个cell的统计直方图进行连接成为一个特征向量,也就是整幅图的LBP纹理特征向量。

优选地,上述技术方案中,步骤5中对DBNs的训练过程如下:

S5.5对第一层RBM,以LBP纹理特征为输入,对RBM进行无监督训练,获得该层最优的参数;

S5.6高层RBM以低一层RBM输出数据为输入,对RBM进行无监督训练,获得 RBM网络最优的参数值;

S5.7最后利用全局训练的方法对训练好的各层参数微调,使得DBN收敛到全局最优。

优选地,上述技术方案中,该训练方法绕过了全局训练的复杂性,通过快速散度ContrastiveDivergence,CD训练RBM获得DBN各层的最优参数,降低了学习目标过拟合的风险,使得网络具有更好的数据预测能力。

与现有技术相比,本发明具有如下有益效果:

(1)针对其在现实场景中人脸检测正确率低的问题,提出了一种基于YCgCr 颜色空间肤色检测的AdaBoost人脸检测算法,该检测算法具有更高的人脸检测正确率。(2)该发明提出了一种深度信念网络与多层感知器(MLP)融合的人脸表情识别新方法。因此,使得深度信念网络模型具有人脸表情识别的能力,提高人脸表情识别率。(3)该发明可以被广泛应用在公共安全、心理测谎,智能家居等场景,计算机可以通过识别表情来为人类提供更加人性化的服务。有着非常广泛的应用场景以及非常好的应用前景。

附图说明:

图1为本发明的人脸表情识别流程示意图;

图2为本发明的基于YCgCr颜色空间肤色检测的Adaboost人脸检测算法流程图;

图3为本发明的人脸分类器级联示意图;

图4为本发明的肤色区域图像预处理示意图;

图5为本发明的多层感知器神经网络模型。

具体实施方式:

下面对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。

除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。

首先将获得的视频信号分解为按时间排序的图像序列,将其转换到YCgCr 颜色空间下,建立肤色模型进行肤色检测,并经过形态学处理后去除背景区域,获得候选肤色区域;然后采用基于YCgCr颜色空间肤色模型的Adaboost人脸检测算法,训练基于Haar-like特征的人脸分类器并对候选肤色区域进行人脸检测,得到人脸区域;接着对人脸区域图像进行仿射变换、Gamma校正等预处理得到人脸表情图像;最后从表情图像中提取LBP特征,用深度信念网络DBNs对其进行学习和训练,得到更高层次的抽象特征,在DBNs训练完成之后,将其最后一层隐层的网络权重最优值用于初始化传统多层感知器MLP模型的隐层网络权重值,使用初始化的MLP模型作为分类器来进行人脸表情识别。该发明是一个集计算机视觉技术、机器学习及模式识别等技术为一体的范畴,可以被广泛应用在公共安全、心理测谎等领域,比如在人机交互领域,面部表情可以作为更方便自然的命令来控制计算机,或者计算机可以通过识别表情来为人类提供更加人性化的服务。应用场景广泛,应用前景广阔。如图1所示,本发明基于深度学习的人脸表情识别方法的流程包括以下步骤:

步骤1、实时获取视频信号,将视频信号分解为按时间排序的图像序列;

步骤2、对步骤1得到的图像序列,采用基于YCgCr颜色空间肤色检测的 Adaboost人脸检测算法训练基于Haar-like特征的人脸分类器,得到人脸区域,详见图2,其中人脸分类器的级联过程详见图3;

步骤3、对步骤2得到的人脸区域图像进行预处理得到人脸表情图像,其中预处理包括:仿射变换、Gamma校正、图像剪裁、归一化,详见图4;

步骤4、从人脸表情图像中提取LBP特征,用深度信念网络DBNs对初级特征进行学习和训练,得到更高层次的抽象特征;

步骤5、在DBNs训练完成之后,将其最后一层隐层的网络权重最优值用于初始化传统多层感知器MLP模型的隐层网络权重值,被初始化的MLP模型具有和DNBS模型相同的参数,其中多层感知器MLP模型详见图5;

步骤6、使用初始化的MLP模型作为分类器来进行人脸表情识别,即把深度信念网络与多层感知器融合起来进行人脸表情识别。

如图2所示,本发明基于深度学习的人脸表情识别方法的基于YCgCr颜色空间肤色检测的Adaboost人脸检测算法流程图,其算法思想是:首先将图像序列滤波处理后转换到YCgCr颜色空间,并建立肤色模型,对图像进行肤色检测,进行形态学处理后去除背景区域,获得候选肤色区域,然后采用Adaboost算法训练基于Haar-like特征的人脸分类器对候选肤色区域进行人脸检测,最终得到人脸区域。

其中人脸分类器的训练又分为以下步骤:

1)提取Haar-like特征

Haar-like特征由黑白矩形区域组成,其特征值为白色矩形区域内像素值的和与黑色矩形区域内像素值的和的差值,Haar-like特征表达式如下:

其中h表示弱分类器的值,若h的值为1表示此区域是人脸,值为0则表示此区域为非人脸,k是待检测子窗口,f(k)表示子窗口k的特征值计算函数,ρ是一个符号因子,θ是分类器的阈值。根据该表达式获得表情图像的Haar-like 特征。

2)Haar-like特征的积分图计算

采用积分图的方法计算图像的Haar-like特征,图像序列中点(i,j)处的积分图的值ii(i,j)是点(i,j)与图像原点(选取图像左上角位置为原点)组成区域内所有像素的和,积分图的构建过程如下:

A)用s(i,j)表示行方向的累加和,初始化s(i,-1)=0;

B)用ii(i,j)表示一个积分图像,初始化ii(-1,i)=0;

C)逐行扫描图像,递归计算每个像素(i,j)行方向的累加和s(i,j)和积分图像ii(i,j)的值s(i,j)=s(i,j-1)+f(i,j);ii(i,j)=ii(i-1,j)+s(i,j)

D)扫描图像一遍,当到达图像右下角像素时,积分图像ii就构造好了。

3)构造分类器

Adaboost算法通过迭代的方法从众多的Haar-like特征中挑选出合适的特征,然后将这些挑选出来的弱分类器组合得到分类能力很强的强分类器。训练弱分类器迭代过程如下:

选定n个训练样本:(x1,y1),(x2,y2),......,(xn,yn)。其中xi表示输入的待训练图像,而yi∈{0,1}表示该训练样本为非人脸(yi=0)或者人脸(yi=1)。

首先对样本权重进行初始化:对所有的yi∈{0,1},其权值有其中m表示负样本的个数,l表示正样本的个数,m+l=n。对于t=1,2,3,…….,T(T 为迭代次数),进行以下循环:

A)首先归一化权值:使得ωt,i>0,其中ωt,i表示概率分布

B)计算弱分类器hj的分类误差εj=∑ωi|h(xi)-yi|;

C)挑选出分类错误最小的分类器ht;

D)按照弱样本xi被正确分类,ei取0,否则ei为1的原则更新权值:其中

E)最后输出强分类器:

如图3所示,本发明基于深度学习的人脸表情识别方法的人脸分类器级联示意图,对待检测的图像进行人脸检测时,需要遍历图像中固定大小的所有矩形区域,并计算不同尺度下的Haar-like特征,并且Haar-like特征数量众多,在这样的情况下检测一副图像的人脸区域需要花费大量的时间。为解决这个问题,在分类器中引入了级联结构。{1,2,...,N}是N层强分类器,将它们串联在一起用于分类。在级联结构中,前面几层的强分类器相对简单,弱分类器数量也相对较少,起到粗检测的作用。后面几层的强分类器逐级复杂,包含更多的弱分类器,可以对待检测图片做更精细的判断。

级联分类器的训练过程如下:

(1)预先设定每一层的最大可接受误检率和每一层最小可接受的检测率;

(2)设定整个系统分类器可接受的误检率

(3)初始化设置,检测正确率FPR=1,误检率TPR=1;

(4)在此步骤循环。如果当前添加一层AdaBoost分类器,且该分类器训练过程中没有达到该层最大误检率,就继续添加新的特征,并且在添加新特征时降低阈值,使分类器的检测率大于给定值,然后更新;

(5)每一级分类器使用的训练集是上一级分类器判定的正确样本,而其中的错分被当作负样本。这使得下一级的分类器更加关注那些难以区分的样本。

如图4所示,本发明基于深度学习的人脸表情识别方法的肤色区域图像预处理示意图,其中仿射变换是二维图像之间的线性变换,将原图像的二维坐标映射到目标的二维坐标,它可以实现图像的平移、缩放和旋转。使用矩阵A和矩阵B对二维向量U=[u,v]T做变换,矩阵A和B如下所示:

变换矩阵M为:

则:或T=M.[u v 1]T

由上述公式可看出,不共线的三对坐标确定了唯一的一个仿射映射矩阵。因此进行仿射变换时,需要原图以及目标图片中对应的H个坐标点。根据这两组三点求出矩阵M之后,再将其应用到图中所有的点来进行变换。至于基准样本像,本发明选取了一张相对水平的人脸图像,选用两眼的中也点以及嘴部的中心点作为基准点来计算仿射变换矩阵。

如图5所示,本发明基于深度学习的人脸表情识别方法的多层感知器神经网络模型,它是一种前馈人工神经网络模型,由三大部分组成,即一个输入层、多个隐含层和一个输出层。在同一层内,神经元节点相互独立使得信号在网络中从前往后单方向的传播,本发明的神经元节点采用Sigmoid激励函数,可以有效地反应了输入与输出之间的映射关系。

前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1