人脸表情识别方法及人脸表情识别系统与流程

文档序号:14911740发布日期:2018-07-10 23:36阅读:315来源:国知局
本申请涉及一种人脸表情识别方法及人脸表情识别系统,属于人脸表情识别
技术领域

背景技术
:人的情感的产生是一个很复杂的心理过程,情感的表达也伴随多种表现方式,常被计算机学家用于研究的表达方式主要有三种:表情、语音、动作。在这三种情感表达方式中,表情所贡献的情感比例高达55%,随着人机交互技术的应用日益广泛,在人机交互领域中,人脸表情识别技术具有非常重要的意义。作为模式识别与机器学习领域的主要研究方法之一,己经有大量的人脸表情识别算法被提出。然而人脸表情识别技术也有其弱点:1、不同的人表情变化:人脸表情会根据不同的人表现方式的区别而产生差异性;2、同一人上下文变化:同一个人的表情在现实生活中的实时性;3、外界的条件,如:背景,光照、角度、距离等对表情识别影响较大。以上这些都会影响到人脸表情识别的准确性。技术实现要素:针对现有技术中人脸表情识别不精确,影响到人脸表情识别的准确性的技术问题,本申请目的在于提供一种人脸表情识别方法及系统,可以实现表情的精确识别。为实现上述目的,本发明提供了一种人脸表情识别方法。所述人脸表情识别方法,其特征在于,包括:从原始图像中检测出人脸;对检测的人脸进行人脸对齐和特征点定位;从人脸图像中提取出面部特征信息;根据获取的特征数据,进行表情分类,实现人脸表情识别。所述人脸检测:即从各种场景的原始图像中检测出人脸的存在,并准确分离出人脸区域。进一步地,所述从原始图像中检测出人脸包括:基于局部二进制模式逐行扫描原始图像,得到响应图像;采用AdaBoost算法对所述响应图像进行人脸检测,检测出人脸的存在;采用AdaBoost算法进行人眼检测,分离出人脸区域。可选地,所述采用AdaBoost算法进行检测过程中按照1.25-0.9进行多尺度检测。进一步地,所述对检测的人脸进行人脸对齐和特征点定位包括:采用局部约束模型对面部特征点进行标注。可选地,利用所述局部约束模型对面部特征点进行标注,获取到特征点坐标后,选取体现各类表情之间差异性的区域,提取基于形变的表情特征和基于运动的表情特征的两种类型的特征;采用递归特征消除及线性向量机做特征评估,对选取的特征进一步进行特征选择。进一步地,所述从人脸图像中提取出面部特征信息包括:选取体现各类表情之间差异性的区域,提取基于形变的表情特征和基于运动的表情特征的两种类型的特征;采用递归特征消除及线性向量机做特征评估,对选取的特征进一步进行特征选择。可选地,所述体现各类表情之间差异性的区域包括眼睛、鼻尖、嘴角点、眉毛以及人脸各部件轮廓点。进一步地,所述从人脸图像中提取出面部特征信息还包括:对提取的面部特征信息进行特征选择,获取面部特征子集,保存面部特征信息,用于表情识别。进一步地,所述根据获取的特征数据,进行表情分类,实现人脸表情识别包括:根据提取的面部特征信息,选取样本,利用先验知识训练表情分类器,每个样本对应相应的表情标签;通过表情分类器,采用最小二乘规则,实现表情分类。进一步地,所述根据获取的特征数据,进行表情分类,实现人脸表情识别还包括:用已知标签的表情特征制造基向量空间,待测表情通过将其特征投影到此空间来判断表情类别,进行人脸表情识别。作为一种具体的实施方式,所述人脸表情识别方法,所述方法包括以下步骤:(1)从原始图像中检测出人脸;(2)对检测的人脸进行人脸对齐和特征点定位;(3)从人脸图像中提取出面部特征信息;(4)根据获取的特征数据,进行表情分类,实现人脸表情识别。其中,步骤(1)进一步包括:(11)基于局部二进制模式逐行扫描原始图像,得到一响应图像;(12)采用AdaBoost算法对所述响应图像进行人脸检测,检测出人脸的存在;(13)采用AdaBoost算法进行人眼检测,分离出人脸区域。进一步,采用AdaBoost算法进行人脸检测或人眼检测过程中按照1.25-0.9进行多尺度检测。步骤(2)进一步包括:采用局部约束模型对面部特征点进行标注。步骤(3)进一步包括:(31)选取嘴、眉毛、眼睛三个体现各类表情之间差异性的主要区域,提取基于形变的表情特征和基于运动的表情特征的两种类型的特征;(32)采用递归特征消除及线性向量机做特征评估,对选取的特征进一步进行特征选择。进一步,对提取的面部特征信息进行特征选择,获取面部特征子集,保存面部特征信息,用于表情识别。步骤(4)进一步包括:(41)根据提取的面部特征信息,选取样本,利用先验知识训练表情分类器,每个样本对应相应的表情标签;(42)通过表情分类器,采用最小二乘规则,实现表情分类。进一步,用已知标签的表情特征制造基向量空间,待测表情通过将其特征投影到此空间来判断表情类别,进行人脸表情识别。本申请的另一方面,提供了一种人脸表情识别系统,其特征在于,所述系统包括:人脸检测模块、特征点定位模块、特征提取模块、人脸表情识别模块;所述人脸表情识别模块,用于从原始图像中检测出人脸;所述特征点定位模块与所述人脸检测模块相连,用于对检测的人脸进行人脸对齐和特征点定位;所述特征提取模块与所述特征点定位模块相连,用于从人脸图像中提取出面部特征信息;所述人脸表情识别模块与所述特征提取模块相连,用于根据提取的面部特征信息,将待识别的人脸表情数据通过所训练的表情分类器进行最大可能性的预测,找出可能性最高的表情类别,实现人脸表情识别。可选地,所述人脸检测模块基于局部二进制模式逐行扫描原始图像,得到响应图像;采用AdaBoost算法对所述响应图像进行人脸检测,检测出人脸的存在;采用AdaBoost算法进行人眼检测,分离出人脸区域。可选地,所述采用AdaBoost算法进行检测过程中按照1.25-0.9进行多尺度检测。可选地,所述特征点定位模块采用局部约束模型对面部特征点进行标注。可选地,所述特征提取模块选取体现各类表情之间差异性的区域,提取基于形变的表情特征和基于运动的表情特征的两种类型的特征;采用递归特征消除及线性向量机做特征评估,对选取的特征进一步进行特征选择。可选地,所述体现各类表情之间差异性的区域包括嘴、眉毛、眼睛、鼻尖中的至少一个。可选地,所述特征提取模块对提取的面部特征信息进行特征选择,获取面部特征子集,保存面部特征信息,用于表情识别。可选地,所述人脸表情识别模块根据获取的特征数据,进行表情分类,实现人脸表情识别包括:根据提取的面部特征信息,选取样本,利用先验知识训练表情分类器,每个样本对应相应的表情标签;通过表情分类器,采用最小二乘规则,实现表情分类。可选地,所述人脸表情识别模块用已知标签的表情特征制造基向量空间,待测表情通过将其特征投影到此空间来判断表情类别,进行人脸表情识别。本申请能产生的有益效果包括:本申请通过人脸检测、特征点定位、特征提取,表情分类从而进行人脸表情进行最大可能性的预测,保证了表情识别的准确性,具有广泛的应用前景。附图说明图1为本申请所述人脸识别方法的流程示意图。图2为本申请所述人脸识别系统的架构示意图。具体实施方式下面结合实施例详述本申请,但本申请并不局限于这些实施例。实施例1下面结合附图对本发明提供的人脸表情识别方法及系统做详细说明。参考图1,本发明所述人脸表情识别方法的流程示意图。所述方法包括以下步骤:S11:从原始图像中检测出人脸;S12:对检测的人脸进行人脸对齐和特征点定位;S13:从人脸图像中提取出面部特征信息;S14:根据获取的特征数据,进行表情分类,实现人脸表情识别。以下结合附图对上述步骤进行详细说明。S11:从原始图像中检测出人脸。人脸检测:即从各种场景的原始图像中检测出人脸的存在,并准确分离出人脸区域。作为优选的实施方式,步骤S11进一步可以采用下述步骤完成:11)基于局部二进制模式逐行扫描原始图像,得到一响应图像;12)采用AdaBoost算法对所述响应图像进行人脸检测,检测出人脸的存在;13)采用AdaBoost算法进行人眼检测,分离出人脸区域。局部二进制模式(LBP)作为一种有效的纹理描述算子,其对图像局部纹理特征具有卓越描绘能力。应用LBP算子过程类似于滤波过程中的模板操作,逐行扫描原始图像;对于原始图像中的每一个像素点,以该点的灰度值为阈值,对其周围3×3的8领域进行二值化;按照一定的顺序将二值化的结果组成一个8位二进制数,以此二进制数的值(0~255)作为该点响应。如表1所示一实施例中原始图像对应灰度值,对于表1中的3×3区域的中心点,以其灰度值88作为阈值,对其8领域进行二值化,并从左上点开始按照顺时针方向(顺序可以任意,但要统一)将二值化的结果组成一个二进制数10001011,即十进制的139,作为中心的响应。在整个逐行扫描过程结束后,得到一个LBP响应图像,这个响应图像可以作为后续工作的特征;所得响应图像对应灰度值如表2所示。180525213887915884156表1一实施例中原始图像对应灰度值。10011390101表2所得响应图像对应灰度值。AdaBoost算法是Freund和Schapire根据在线分配算法提出的,AdaBoost算法允许设计者不断地加入新的弱分类器,直到达到某个预订的足够小的误差率。在AdaBoost算法中每个训练样本都被赋予一个权重,表面它被某个分量分类器选入训练集的概率。如果某个样本点已经被准确地分类,那么在构造下一个训练集中,它被选中的概率就被降低;相反,如果某个样本点没有被正确分类,那么它的权重就得到提高。通过T轮这样的训练,AdaBoost算法能够聚焦于那些较困难的样本上,综合得出用于目标检测的强分类器。AdaBoost算法描述如下:1)给定标定的训练样本集(x1,y1),(x2,y2),……(xL,yL)。其中,gj(xi)代表第i个训练图像的第j个Haar-Like特征,xi∈X,表示输入的训练样本,yi∈Y={1,-1}分别表示真假样本。2)初始化权重w1,i=1/2m,1/2n,其中m,n分别表示真、假样本的数据,总样本数L=m+n。3)对于T轮训练,Fort=1,2,…,T。对于所有样本的权重进行归一化:对于每个样本中的第j个Haar-Like特征,可以得到一个简单分类器,也就是确定阈值θj和偏置Pj,使得误差εj达到最小:其中,偏置Pj决定不等式方向,只有±1两种情况。在确定的简单分类器中,找出一个具有最小误差εt的弱分类器ht。4)对所有的样本的权重进行更新:其中,βt=εt/(1-εt),如果xi被hi正确分类,则ei=0,反之ei=1。5)最后得到的强分类器为:其中,αt=ln(1/βt)是根据ht的预测错误衡量的。至此,通过上述步骤就可以对人脸进行检测了。在检测过程中可以按照1.25-0.9进行多尺度检测,最后合并窗口,输出结果。在检测到人脸的基础上,将AdaBoost算法用于人眼检测。人眼检测的基本原理与人脸检测相同,此处不再赘述。在人眼检测过程中,可以按照1.25-0.9进行多尺度检测,并建立剔除机制(可根据人眼的位置,大小等特征建立)。S12:对检测的人脸进行人脸对齐和特征点定位。特征点定位:即根据输入的人脸图像,自动定位出面部关键特征点,如眼睛、鼻尖、嘴角点、眉毛以及人脸各部件轮廓点。作为优选的实施方式,步骤S12进一步可以采用下述步骤完成:采用局部约束模型对面部特征点进行标注。局部约束模型(CLM)通过初始化平均脸的位置,然后让每个平均脸上的特征点在其邻域位置上进行搜索匹配来完成人脸特征点检测。整个过程分两个阶段:模型构建阶段和点拟合阶段。模型构建阶段又可以细分两个不同模型的构建:形状模型构建和Patch模型构建。形状模型构建就是对人脸模型形状进行建模,它描述了形状变化遵循的准则。而Patch模型则是对每个特征点周围邻域进行建模,建立一个特征点匹配准则,判断特征点的最佳匹配。局部约束模型(CLM)算法描述如下:1)形状模型构建计算训练集中所有人脸样本对齐后的平均形状。假设有M张图片,每张图片有N个特征点,每个特征点的坐标假设为(xi,yi),一张图像上的N个特征点的坐标组成的向量用x=[x1y1x2y2…xNyN]T表示,可得所有图像的平均脸:计算每个样本图像的形状向量和平均脸的差值,可以得到一个零均值的形状变化矩阵X:对矩阵X进行PCA变换便可以得到决定人脸形状变化的主要成分,即求得主要的特征值λi和对应的特征向量pi。因为较大的特征值对应的特征向量一般都包含了样本的主要信息,因此选择最大的k个特征值对应的特征向量组成正交矩阵P=(p1,p2,…,pk)。形状变化的权重向量b=(b1,b2,…,bk)T,b的每个分量表示其在对应的特征向量方向的大小:则对任意的人脸测试图像,其样本形状向量可以表示为:2)Patch模型构建假设训练样本中有M幅人脸图像,在每个图像上选择N个人脸关键特征点,在每个特征点周围选取固定大小的patch区域,将包含特征点的patch区域标记为正样本;然后在非特征点区域截取同样大小的patch标记为负样本。假设每个特征点总共有r个patch,将其组成一个向量(x(1),x(2),…x(r))T,对样本集中的每幅图像有那么输出就只有正样本和负样本,即patch为特征点区域和非特征点区域。那么y(i)={-1,1}i=1,2,…r,其中y(i)=1为正样本标记,y(i)=-1为负样本标记。则训练的线性支持向量机为:其中xi表示样本集的子空间向量,即支持向量,αi是权重系数,Ms是每个特征点支持向量的数量,b为偏移量。可得:y(i)=wT·x(i)+θwT=[w1w2…wn]是每个支持向量的权重系数,θ就是偏移量。这样就为每个特征点建立了patch模型。3)点拟合通过在当前估计的特征点位置的限制区域内进行局部搜索,对每个特征点生成一个相似响应图,标识为R(X,Y)。对响应图拟合一个二次函数,假设R(X,Y)是在邻域范围内(x0,y0)处得到最大值,我们对这个位置拟合一个函数,使得位置和最大值R(X,Y)一一对应。二次函数可以描述如下:r(x,y)=a(x-x0)2+b(y-y0)2+c其中a,b,c是二次函数的系数,求解方法就是使二次函数r(x,y)和R(X,Y)之间的误差最小,即完成一个最小二乘法计算:有了参数a,b,c,那么r(x,y)就是一个关于特征点位置的目标代价函数,然后再加上一个形变约束代价函数就构成了特征点查找的目标函数,目标函数如下所示:每次优化这个目标函数得到一个新的特征点位置,然后在迭代更新,直到收敛到最大值,就完成了人脸点拟合。S13:从人脸图像中提取出面部特征信息。特征提取:即从归一化后的人脸图像中提取出人脸具有代表性的特征信息。作为优选的实施方式,步骤S13进一步可以采用下述步骤完成:(31)选取嘴、眉毛、眼睛三个体现各类表情之间差异性的主要区域,提取基于形变的表情特征和基于运动的表情特征的两种类型的特征;(32)采用递归特征消除及线性向量机做特征评估,对选取的特征进一步进行特征选择。利用局部约束模型对面部特征点的标注,获取到特征点坐标后,选取嘴巴、眉毛、眼睛三个主要区域的形状特征,即计算这三个区域内关键点之间的相关斜率信息,提取基于形变的表情特征。同时对三个区域内的关键点进行跟踪,提取相应位移信息,并提取了表情图片的特定特征点之间的距离信息,将距离均与平静图片作差,得到距离的变化信息,提取基于运动的表情特征。采用递归特征消除及线性向量机做特征评估,采用支持向量机计算的权值大小作为排序准则,对选取的特征进一步进行去噪。特征选择算法描述如下:输入:训练样本集l为类别数输出:特征排序集R1)初始化原始特征集合S={1,2,…,D},特征排序集R=[]2)生成(l(l-1))/2个训练样本:在训练样本中找出不同类别的两两组合得到最后的训练样本:循环一下过程直至S=[]:3)获取用l个训练子样本Xj(j=1,2,…,(l(l-1))/2);分别用Xj训练支持向量机,分别得到wj(j=1,2,…,l);计算排序准则得分找出排序准则得分最小的特征更新特征集R={p}∪R;在S中去除此特征S=S/p.S14:根据获取的特征数据,进行表情分类,实现人脸表情识别。分类:即人类表情被大致分为七类,分别是喜悦、愤怒、悲伤、厌恶、惊讶、恐惧以及中性。作为优选的实施方式,步骤S14进一步可以采用下述步骤完成:(41)根据提取的面部特征信息,选取样本,利用先验知识训练表情分类器,每个样本对应相应的表情标签;(42)通过表情分类器,采用最小二乘规则,实现表情分类。训练表情分类器:利用支持向量机算法对提取的面部特征进行训练,训练完成后就会得到一个表情分类器。支持向量机(SVM)算法描述:输入训练集其中xi∈RD,yi∈{+1,-1},xi为第i个样本,N为样本量,D为样本特征数。SVM寻找最优的分类超平面w·x+b=0。SVM需要求解的优化问题为:s.t.yi(w·xi+b)≥1-ξii=1,2,…,Nξi≥0,i=1,2,…,N而原始问题可以转化为对偶问题:其中,αi为拉格朗日乘子。最后w的解为:SVM的判别函数为:表情分类:把提取到的面部特征信息输入训练好的分类器,让分类器给出一个表情预测的值。即应用最小二乘法规则,通过最小化误差的平方和寻找数据的最佳函数匹配。至此,一个完整的人脸识别流程就完成了。参考图2,本发明所述人脸表情识别系统的架构示意图;所述系统包括:一人脸检测模块21、一特征点定位模块22、一特征提取模块23以及一人脸表情识别模块24。所述人脸检测模块21,用于从原始图像中检测出人脸。所述人脸检测模块21可以基于局部二进制模式逐行扫描原始图像,得到一响应图像;再采用AdaBoost算法对所述响应图像进行人脸检测,检测出人脸的存在;然后采用AdaBoost算法进行人眼检测,分离出人脸区域。人脸检测具体实现方式参照前述方法流程,此处不再赘述。所述特征点定位模块22与所述人脸检测模块21相连,用于对检测的人脸进行人脸对齐和特征点定位。采用局部约束模型对面部特征点进行标注,定位出面部关键特征点,如眼睛、鼻尖、嘴角点、眉毛以及人脸各部件轮廓点。特征点定位具体实现方式参照前述方法流程,此处不再赘述。所述特征提取模块23与所述特征点定位模块22相连,用于从人脸图像中提取出面部特征信息。所述特征提取模块23可以通过选取嘴、眉毛、眼睛三个体现各类表情之间差异性的主要区域,提取基于形变的表情特征和基于运动的表情特征的两种类型的特征;之后采用递归特征消除及线性向量机做特征评估,对选取的特征进一步进行特征选择。特征提取阶段对提取的面部特征信息进行特征选择,获取面部特征子集,保存面部特征信息,用于表情识别。具体实现方式参照前述方法流程,此处不再赘述。所述人脸识别模块24与所述特征提取模块23相连,用于根据获取的特征数据,进行表情分类,实现人脸表情识别。所述特征提取模块24可以根据提取的面部特征信息,选取样本,利用先验知识训练表情分类器,每个样本对应相应的表情标签;之后通过表情分类器,采用最小二乘规则,实现表情分类。所述分类过程就是用已知标签的表情特征制造基向量空间,待测表情通过将其特征投影到此空间来判断表情类别,进行人脸表情识别。其具体实现方式参照前述方法流程,此处不再赘述。实施例2人脸表情识别方法本实施例中的人脸表情识别的方法如下步骤:步骤11:从原始图像中检测出人脸;在本步骤中,一种具体的实施方式包括步骤101、步骤102和步骤103。步骤101:基于局部二进制模式逐行扫描原始图像,得到一响应图像。步骤102:采用AdaBoost算法对所述响应图像进行人脸检测,检测出人脸的存在。步骤103:采用AdaBoost算法进行人眼检测,分离出人脸区域。在一种具体的方式中,采用AdaBoost算法进行人脸检测或人眼检测过程中按照1.25-0.9进行多尺度检测。步骤12:对检测的人脸进行人脸对齐和特征点定位;在本步骤中,一种具体的实施方式为:采用局部约束模型对面部特征点进行标注。步骤13:从人脸图像中提取出面部特征信息;在本步骤中,一种具体的实施方式包括步骤301和步骤302。步骤301:选取嘴、眉毛、眼睛三个体现各类表情之间差异性的主要区域,提取基于形变的表情特征和基于运动的表情特征的两种类型的特征;在本步骤中,另一种具体的实施方式为:选取眼睛、鼻尖、嘴角点、眉毛以及人脸各部件轮廓点体现各类表情之间差异性的主要区域,提取基于形变的表情特征和基于运动的表情特征的两种类型的特征;步骤302:采用递归特征消除及线性向量机做特征评估,对选取的特征进一步进行特征选择。在一种具体的实施方式中,对提取的面部特征信息进行特征选择,获取面部特征子集,保存面部特征信息,用于表情识别。步骤14:根据获取的特征数据,进行表情分类,实现人脸表情识别。在本步骤中,一种具体的实施方式包括步骤401和步骤402。步骤401:根据提取的面部特征信息,选取样本,利用先验知识训练表情分类器,每个样本对应相应的表情标签;步骤402:通过表情分类器,采用最小二乘规则,实现表情分类。在一种具体的实施方式中,用已知标签的表情特征制造基向量空间,待测表情通过将其特征投影到此空间来判断表情类别,进行人脸表情识别。本实施例中涉及的各种算法同实施例1。实施例3人脸表情识别系统本实施例中的人脸表情识别系统包括:人脸检测模块、特征点定位模块、特征提取模块、人脸表情识别模块;所述人脸表情识别模块,用于从原始图像中检测出人脸;一种具体的实施方式中,所述人脸检测模块基于局部二进制模式逐行扫描原始图像,得到响应图像;采用AdaBoost算法对所述响应图像进行人脸检测,检测出人脸的存在;采用AdaBoost算法进行人眼检测,分离出人脸区域。其中一种具体的实施方式中,所述采用AdaBoost算法进行检测过程中按照1.25-0.9进行多尺度检测。所述特征点定位模块与所述人脸检测模块相连,用于对检测的人脸进行人脸对齐和特征点定位;一种具体的实施方式中,所述特征点定位模块采用局部约束模型对面部特征点进行标注。所述特征提取模块与所述特征点定位模块相连,用于从人脸图像中提取出面部特征信息;一种具体的实施方式中,所述特征提取模块选取体现各类表情之间差异性的区域,提取基于形变的表情特征和基于运动的表情特征的两种类型的特征;采用递归特征消除及线性向量机做特征评估,对选取的特征进一步进行特征选择。其中一种具体的实施方式中,所述选取体现各类表情之间差异性的区域包括眼睛、鼻尖、嘴角点、眉毛以及人脸各部件轮廓点。所述人脸表情识别模块与所述特征提取模块相连,用于根据提取的面部特征信息,将待识别的人脸表情数据通过所训练的表情分类器进行最大可能性的预测,找出可能性最高的表情类别,实现人脸表情识别;一种具体的实施方式中:所述人脸表情识别模块根据获取的特征数据,进行表情分类,实现人脸表情识别包括:根据提取的面部特征信息,选取样本,利用先验知识训练表情分类器,每个样本对应相应的表情标签;通过表情分类器,采用最小二乘规则,实现表情分类。一种具体的实施方式中,所述人脸表情识别模块根据获取的特征数据,进行表情分类,实现人脸表情识别包括:根据提取的面部特征信息,选取样本,利用先验知识训练表情分类器,每个样本对应相应的表情标签;通过表情分类器,采用最小二乘规则,实现表情分类;所述人脸表情识别模块用已知标签的表情特征制造基向量空间,待测表情通过将其特征投影到此空间来判断表情类别,进行人脸表情识别。本实施例中涉及的各种算法同实施例1。以上所述,仅是本申请的几个实施例,并非对本申请做任何形式的限制,虽然本申请以较佳实施例揭示如上,然而并非用以限制本申请,任何熟悉本专业的技术人员,在不脱离本申请技术方案的范围内,利用上述揭示的技术内容做出些许的变动或修饰均等同于等效实施案例,均属于技术方案范围内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1