基于带权重局部旋度模式的三维人脸表情识别方法与流程

文档序号:17928397发布日期:2019-06-15 00:36阅读:194来源:国知局
基于带权重局部旋度模式的三维人脸表情识别方法与流程

本发明属于计算机视觉中三维图像识别的领域,具体涉及一种基于带权重局部旋度模式的三维人脸表情识别方法。



背景技术:

三维人脸表情识别技术指的是基于人脸的三维数据,计算机实现对人脸表情识别的技术。这项技术在人机交互和心理学研究等领域具有巨大的应用潜力。与二维数据相比,人脸的三维数据不受光线、姿态、角度等因素的影响,同时包含更丰富的几何信息和拓扑特征,因此基于三维人脸数据的表情识别研究近年来获得了更广泛的关注。三维人脸表情识别算法可分为两类:基于概率模型的识别算法和基于特征的识别算法。前者指的是将不同形式的概率模型(包括通用模型和形变模型等)用于三维人脸的拟合,以提取面部形变信息和表情信息,进而实现表情识别的算法;后者指的是在三维人脸上提取点或曲面的几何特征用于描述表情变化下的人脸形变,以实现表情识别的算法。二者相比,后者具有更低的计算复杂度,同时对拓扑结构的变化(例如嘴部的开合)有更好的鲁棒性,因此具有更高的应用价值。

然而,基于特征的三维人脸表情识别算法研究仍面临多重困难。特征提取是研究中的难题之一。在当前三维人脸表情识别研究中,学者们广泛应用的特征有两类,第一类特征的构造依赖于五官特征点的准确位置,这类特征包括特征点间欧式距离、局部形状分析(localshapeanalysis,lsa)、梯度方向直方图(histogramoforientedgradients,hog)、几何散射表示(geometricscatteringrepresentation,gsr)、尺度不变特征变换(sift)、图形拉普拉斯特征(graphlaplacianfeatures,glf)。然而由于当前三维人脸特征点定位算法的精度仍有较大提升空间,因此这类特征的可靠性不高。第二类特征不需要借助五官特征点的位置,而是基于人脸的三维数据提取能够描述人脸形变的几何特征,这类特征包括法向量、曲率和形状指数等。由于第二类特征的提取避免了特征点定位的步骤,因此这类特征稳定性较好,算法的应用价值较高。然而,法向量、曲率和形状指数等特征对人脸形变的描述仍不够全面,对表情变化的敏感程度不够高,表情识别效果仍有待提升。

特征的权重计算是三维人脸表情识别技术研究中的另一难题。由于人脸不同区域对表情的敏感程度不同,导致不同区域对表情识别的贡献能力有较大差异。通过划分人脸子区域并根据各区域的贡献大小赋予其权重,可以显著提高表情识别的效果。当前最普遍的人脸划分方法是将三维人脸映射到二维灰度图像后,进行规则化的方块式划分。这种做法虽简单易操作,但却破坏了五官的完整结构,模糊了人脸各子区域的边界,削弱了表情权重的可靠性。



技术实现要素:

发明目的:为了解决现有技术的问题,本发明提供一种在无需借助人脸特征点定位的情况下,自动地提取三维人脸的局部旋度模式特征,表征面部的表情信息,提高三维人脸表情识别的准确率的基于带权重局部旋度模式的三维人脸表情识别方法。

技术方案:本发明给出的基于带权重局部旋度模式的三维人脸表情识别方法的步骤如下:

(1)计算输入的人脸各点的三维向量场,设输入的三维人脸点云为p,

p={p1,p2,…,pn},其中点pi的法向量为ni=[nix,niy,niz]t其计算的表达式为:

其中是包含pi点在内的pi邻域点集合,即其中1m+1指的是(m+1)×1维的单位矩阵;d指的是平面si表达式中的常数项;根据最小二乘法求解上式获得ni;

(2)根据人脸各点的法向量,计算人脸各点的旋度值;其计算表达式为:

其中,ci为旋度,l为点集qi围成的闭合曲线,s为曲线l所围成闭合区域的面积;根据上式,旋度的方向向量由点的法向量决定;

(3)首先将输入的三维人脸点云p的存储格式写成矩阵形式,生成旋度分量图像;

(4)基于旋度分量图像对旋度进行编码,提取局部旋度模式特征;

(5)采用icnp算法将输入的人脸与标准模板人脸进行点对匹配,提取输入人脸的11个子区域;

(6)利用最小投影偏差算法计算输入的人脸11个子区域的每一子区域的表情权重,其表情权重w(pi)表达式为:

其,ei为最小投影偏差,其表达式为:

其,pi(lcpsl)和ri(lcpsl)分别指输入的人脸子区域pi和标准模板人脸子区域ri的lcpsl特征值;

(7)将输入的人脸每一区域的局部旋度模式特征乘以对应区域的表情权重,获得带权重的lcps特征,并将其输入到分类器中完成表情识别。

进一步,所述人脸的任一点的长度标量等于

进一步,所述步骤(4)中编码的方法为:

(41)在旋度分量图像中,以人脸上任一点为中心,定位其外层的8个邻域点;

(42)将邻域点的旋度分量值与中心点的旋度分量值相减,如果差值大于等于0,则邻域点的旋度分量编码值为1,反之则邻域点的旋度分量编码值为0,将邻域点的编码值按一定顺序进行连接,得到中心点的局部旋度模式特征值;

(43)重复以上步骤,得到人脸各点的lcps特征。

进一步,所述的lcps特征包含x方向、y方向、z方向以及长度分量。

进一步,所述步骤5中基于icnp的点对匹配方法为:

(51)将标准模板人脸的第1个子区域记为r_1,r_1={r_i}_(i=1)^n,r_1的单位法向量集设为{β_i}_(i=1)^n,其中r_i和β_i分别指r_1中第i个点的三维坐标和单位法向量,n为r_1中点的个数;计算输入人脸p与r_1欧式距离最短的n个点,记为点集〖{p_k^c}〗_(k=1)^n;

(52)以p_1^c点为中心,搜索其邻域内法向量与β_1夹角最小的点,记为p_1^cn,p_1^cn与r_1的欧式距离记为d_1;

(53)将d_1输入到二维维纳滤波器,滤波后的距离记为g(d_1),cnp更新为p_1^cn'=r_1+g(d_1),而当p_1^cn'并不处于p上时,利用kd-tree算法搜索p中与p_1^cn'欧式距离最短的点替代p_1^cn'作为匹配点;

(54)分别以p_2^c,p_3^c,…,p_n^c为中心重复步骤(51)至(53),得到输入人脸与r_1匹配的n个点,记为输入人脸的第1个子区域p_1=〖{p_z^cn'}〗_(z=1)^n;

(55)重复以上步骤,获得输入人脸与标准模板人脸r_2~r_11匹配的10个点集,完成输入人脸11个子区域的划分。

有益效果:本发明提取三维人脸的旋度向量,并依据局部二值模式(localbinarypattern,lbp)的编码原则对其各分量进行编码,得到局部旋度模式特征(localcurlpatterns,lcps)。lcps特征与原始的旋度向量相比,不仅维度降低、便于后续计算,而且其对曲面的描述能力大大增强,表情识别能力得到较大提升。同时,本发明将icnp算法与最小投影偏差算法结合,分别实现三维人脸子区域的划分与表情权重的计算。icnp算法基于点对的法向量关系进行配准,鲁棒性较好。采用icnp算法将输入人脸与事先完成子区域划分的参考人脸进行点对的匹配,可以准确地划分出输入人脸的11个子区域,且划分结果保留了五官结构的完整性。完成划分之后,计算输入人脸与中性表情参考人脸各对应子区域之间的最小投影偏差值,并根据此值为输入人脸各子区域的lcps特征分配权重。由于最小投影偏差值反映了表情(高兴、惊讶、悲伤、害怕、愤怒和厌恶)与中性表情之间的差异,因此能够较准确地反映输入人脸的表情变化程度,求得权重的可靠性较高。最终,基于带权重的lcps特征实现人脸的表情识别。本发明针对特征提取和特征的权重分配分别提出了改进,使得识别算法获得了系统化地优化,在识别实验中取得了较好的效果。

附图说明

图1是实验中所用的bu-3dfe人脸库部分人脸的示例图;

图2是本发明的人脸表情识别方法流程图;

图3是本发明的旋度计算的原理图;

图4是本发明的旋度分量图;

图5是本发明的lcps特征的提取过程示意图;

图6是本发明的基于icnp算法的三维人脸子区域划分流程图;

图7是本发明的最小投影偏差的示意图;

图8是本发明的人脸识别准确率的验证统计示意图。

具体实施方式

下面结合附图和具体实施例,进一步阐明本发明。

本发明在windows操作系统下选用matlabr2015b作为编程工具,基于binghamtonuniversity于2006年发布的bu-3dfe三维人脸表情库测试本发明所提出的方法。图1展示了bu-3dfe库中某对象的中性表情和6种基本表情的示例图。首先从bu-3dfe库中任选20个对象用于训练分类器,本实例选用本领域研究中最广泛使用的分类器——支持向量机(svm),作为分类器;完成训练之后,选择库中剩余的80个对象用于测试。同时,每个对象都只选用6种表情的最高强度的人脸样本用于训练和测试。该实例的被测样本个数较为充足(共480张)且包含全部6种表情,证实本专利提出的识别方法的有效性。

如图2所示,本发明的一种基于带权重局部旋度模式的三维人脸表情识别方法的具体识别步骤如下:

步骤1:获取人脸的三维向量场,而三维人脸对应的三维向量场,其本质上是一个包含各点法向量的向量场,因此首先需要计算各点法向量。输入的三维人脸点云记为p,p={p1,p2,…,pn},其中任一点pi的法向量为ni=[nix,niy,niz]t,ni可以视作下面优化问题的解:

minni,j(pi,qi,ni),

该式中qi为点pi的m个邻域点的点集{qi1,qi2,…,qim};式中的代价函数j(pi,qi,ni)取作qi到局部平面si=nixx+niyy+nizz+d的距离,其中si的法向量等于ni。将上式可以转换成下式进行求解:

其中是包含pi点在内的pi邻域点集合,即其中1m+1指的是(m+1)×1维的单位矩阵(元素全为1);d指的是平面si表达式中的常数项。根据最小二乘法求解上式获得ni,即人脸各点的法向量。

步骤2:根据人脸各点的法向量,计算人脸各点的旋度值。如图3所示,求得法向量ni后,任一点pi对应的旋度ci根据下式计算:

其中l指的是点集qi围成的闭合曲线,s指的是曲线l所围成闭合区域的面积。根据上式,旋度的方向向量(x、y和z)由点的法向量决定,而长度标量(length)等于

步骤3:生成旋度分量图像。首先将输入的人脸点云p的存储格式写成矩阵形式,即p={pij(x,y,z)},其中pij(x,y,z)(1≤i≤m,1≤j≤n)表示点的三维坐标。将上述矩阵元素替换成旋度向量,即得到点云p对应的旋度矩阵:c(p)={c(pij(x,y,z))}m×n,其中c(pij(x,y,z))=(cijx,cijy,cijz,length(cij))t.拆解c(p)的x、y、z和length4个分量,生成4个旋度分量矩阵,构成4张旋度分量图像,如图4所示。

步骤4:基于旋度分量图像对旋度进行编码,提取局部旋度模式(localcurlpatterns,lcps)特征。

步骤4.1:在旋度分量图像中,以人脸上任一点pij为中心,定位其外层的8个邻域点pijd(d=1,2,…,8);矩阵形式的图像存储格式,使得邻域点定位迅速且准确。

步骤4.2:将邻域点的旋度分量值与中心点的旋度分量值相减,即cijdk-cijk,(其中cijdk和cijk分别表示邻域点pijd和中心点pij的旋度k分量值,k=x,y,z,length),当cijdk-cijk≥0,则pijd位置旋度k分量的编码值为1;反之则为0。将邻域点的编码值按一定顺序进行连接,即可得到中心点pij的局部旋度模式特征值(localcurlpatterns,lcps)。对旋度各分量都进行上述编码操作,因此lcps特征值将包含lcpsx,lcpsy,lcpsz和lcpsl4个分量。图4以lcpsx为例说明编码过程,图中pij点旋度的x分量值为0.45,lcpsx(pij)为(10001000)2,如图5所示。

步骤4.3:重复以上步骤,得到三维人脸各点的lcps特征。

步骤5:采用icnp算法将输入的人脸点云p与标准模板人脸进行点对匹配,提取输入人脸的11个子区域。标准模板人脸指的是一张中性表情的人脸,并已事先在线下完成11个子区域的划分。

步骤5.1:人脸模板的第1个子区域为r1,r1的单位法向量集设为其中ri和βi分别指r1中第i个点的三维坐标和单位法向量,n为r1中点的个数。计算输入人脸p与r1欧式距离最短的n个点,记为点集

步骤5.2:首先以点为中心,搜索其邻域内法向量与β1夹角最小的点,即法向量最近点(closestnormalpoint,cnp),记为与r1的欧式距离记为d1。

步骤5.3:为了去除噪声,将d1输入到二维维纳滤波器,滤波后的距离记为g(d1),cnp更新为而当并不处于p上时,利用kd-tree算法搜索p中与欧式距离最短的点替代作为匹配点。

步骤5.4:分别以为中心重复步骤5.1至5.3,得到输入人脸与r1匹配的n个点,记为输入人脸的第1个子区域

步骤5.5:重复以上步骤,获得输入人脸与参考人脸r2~r11匹配的10个点集,完成输入人脸11个子区域的划分,如图6所示。

步骤6:基于最小投影偏差算法计算输入人脸各子区域的表情权重。设x、y为两个相同维数的向量,x在y所在方向的投影为αy,x与αy之间的距离‖x-αy‖2,称作x与y向量的投影偏差,如图7所示。当x的投影方向使得向量x-αy与y垂直时,投影偏差取得最小值,即:

其中<·,·>表示两向量的内积。将上式中的α值代入‖x-αy‖2,即得最小投影偏差值此值衡量了向量x与向量y的相似程度。同样地,输入人脸各子区域与标准模板人脸对应子区域的最小投影偏差值ei,反映了输入人脸表情与中性表情的相似程度。由于步骤4中提取到的lcps特征值,其第4个分量lcpsl在一定程度上代表了人脸形状,故可基于lcpsl特征值计算最小投影偏差值ei,其中pi(lcpsl)和ri(lcpsl)分别指输入人脸子区域pi和标准模板人脸子区域ri的lcpsl特征值。ei值越大,pi与中性表情的差异越小,对表情识别的贡献越大,对应的表情权重则越大。因此,输入人脸子区域的权重为

步骤7:输入人脸各区域的原始lcps特征乘以对应区域的权重w,获得带权重的lcps特征,将其输入到分类器中完成表情识别。

对本实施例进行效果验证:选用本领域研究中最广泛使用的分类器——支持向量机(svm),作为分类器。从bu-3dfe库中任选20个对象用于训练分类器,剩下的80个对象用于测试6类表情的识别率。bu-3dfe是三维人脸表情识别领域中最常用的数据库,其中包含100个对象(其中56个女性、44个男性),每个对象有25张样本,包括:中性表情样本1张;6类基本表情样本,每类表情各有4种强度的人脸样本。每个对象都只选用6种表情的最高强度的人脸样本用于训练和测试,因此训练集样本数为120,测试集样本数为480。为减小误差,重复测试20次,取平均值作为最终的识别率。计算6类表情识别率的平均值,获得平均识别率,为89.67%,如图8所示的验证效果。

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