一种减小表情影响的快速三维人脸识别方法

文档序号:6458684阅读:234来源:国知局
专利名称:一种减小表情影响的快速三维人脸识别方法
技术领域
本发明涉及一种三维人脸识别方法,尤其涉及一种以侧面轮廓线匹配作为排除算法并利用人脸刚性区域进行精确匹配的减小表情影响的快速三维人脸识别方法。

背景技术
自动人脸识别技术在国家安全、军事安全、公共安全和家庭娱乐等领域具有广泛的应用前景,过去几十年中,人脸识别得到深入广泛的研究。然而,基于图像的二维人脸识别技术仍然面临巨大挑战,在光线、姿态和表情变化的情况下,二维人脸识别的准确性还远远不能让人满意。
三维人脸识别技术有望从根本上解决基于图像的人脸识别方法所面临的“受姿态、光线和表情影响”的难题。基于三维数据已经获取的前提,三维人脸识别受光线的影响很小。由于三维数据具有显式的几何形状,三维人脸识别更具克服姿态变化的潜力。然而,三维人脸一般以点云形式保存,数据多,计算量大,导致人脸识别速度较慢,影响了识别的实时性。并且表情变化改变了三维人脸模型的形状,造成人脸局部区域的非刚性变形,从而降低了三维人脸识别的性能。因此,如何减小识别运算量、降低表情影响是三维人脸识别中的关键问题和挑战。现有的技术尚无法在各种表情变化情况下达到快速、准确的识别性能。


发明内容
本发明提供一种基于人脸侧面轮廓线和局部刚性区域匹配的由粗到细的减小表情影响的快速三维人脸识别方法。
本发明采用如下技术方案 一种减小表情影响的快速三维人脸识别方法,该方法的主要步骤如下 步骤1以鼻尖至鼻根之间的测试人脸模型侧面轮廓线线段作为测试人脸模型中的有价值侧面轮廓线,从测试人脸模型中提取测试人脸模型中的有价值侧面轮廓线,从库集模型的各个三维人脸模型中提取用于匹配的侧面轮廓线且该用于匹配的侧面轮廓线覆盖鼻尖至鼻根之间的三维人脸模型侧面轮廓线线段; 步骤2使用迭代最近点算法,从库集模型中选择出能与测试人脸模型中的有价值侧面轮廓线相匹配的库集模型中的三维人脸模型,组成剩余库集模型; 步骤3从库集模型的各个三维人脸模型中提取出匹配区域,该匹配区域为以鼻尖为球心的球所包含的人脸区域,再利用剩余库集模型中的三维人脸模型的索引,从所提取出的匹配区域中,选取出属于剩余库集模型中的三维人脸模型的匹配区域,组成剩余库集模型匹配区域; 步骤4从测试人脸模型中切割第一刚性区域和第二刚性区域,所述的第一刚性区域为包含鼻子的区域,所述的第二刚性区域由两眼之间的区域以及与两眼之间区域相连的部分额头区域、部分鼻子区域组成; 步骤5将第一刚性区域与剩余库集模型匹配区域中第一个模型匹配区域相匹配,得到第11匹配结果d11,将第二刚性区域与剩余库集模型匹配区域中第一个模型匹配区域相匹配,得到第21匹配结果d21,将第一刚性区域的匹配结果d11与第二刚性区域的匹配结果d21采用加法规则融和,得到测试模型与剩余库集模型中的第一个模型的匹配结果d1;将第一刚性区域与剩余库集模型匹配区域中第二个模型匹配区域相匹配,得到第12匹配结果d12,将第二刚性区域与剩余库集模型匹配区域中第二个模型匹配区域相匹配,得到第22匹配结果d22,将第一刚性区域的匹配结果d12与第二刚性区域的匹配结果d22采用加法规则融和,得到测试模型与剩余库集模型中的第二个模型的匹配结果d2;依此类推,将第一刚性区域与剩余库集模型匹配区域中第n′个模型匹配区域相匹配,得到第1n′匹配结果d1n′,将第二刚性区域与剩余库集模型匹配区域中第n′个模型匹配区域相匹配,得到第2n′匹配结果d2n′,将第一刚性区域的匹配结果d1n′与第二刚性区域的匹配结果d2n′采用加法规则融和,得到测试模型与剩余库集模型中的第n′个模型的匹配结果dn′,其中,n′为剩余库集模型中的模型个数, 第一刚性区域与剩余库集模型匹配区域中的各个模型匹配区域相匹配的匹配方法,与第二刚性区域与剩余库集模型匹配区域中的各个模型匹配区域相匹配的匹配方法采用相同的匹配方法并得到相应的匹配结果,该相同的匹配方法为 (1)在测试人脸模型中取点集i=1,2,...,np,

分别表示点集Pik中的点pik的坐标值,上标k表示第k次迭代,k≥1,np表示点集Pik中点的个数,P为主轴坐标系下的测试人脸模型的点集,所述的主轴坐标系以鼻尖为原点O,以人脸的朝向轴为z轴,以位于人脸对称平面内且与朝向轴垂直的轴为y轴,以垂直于对称平面的轴为x轴; (2)采用基于映射和邻域搜索相结合的搜索算法查找库集模型点云中的对应点使得||Gjk-Pjk||最小,并组成对应点对{(Pik,gjk)},共np对,其中,j=1,2,...,ng,

分别表示点集Gjk中的点gjk的坐标值,ng表示点集Gjk中点的个数,G为主轴坐标系下的库集人脸模型的点集,||·||为欧氏范数; (3)利用(2)中得到的对应点对集合,计算最优的旋转矩阵Rk和平移向量Tk,使得目标函数最小; (4)利用(3)得到的最优的旋转矩阵Rk和平移向量Tk更新测试模型点集Pik为Pik+1 (5)计算Pik+1和Gjk之间的对应点对的平均距离dk+1 (6)如果dk-dk+1不小于给定的阈值τ,该阈值τ为0.01,令dk=dk+1,返回(2),直至dk-dk+1<τ为止,以此距离dk+1为最近点平均距离,并以此最近点平均距离dk+1为匹配结果,为使第一次迭代顺利进行,应为初始对应点对的平均距离d1设定初值,设为d1=100mm。
所述的用于查找库集模型点云中的对应点的基于映射和邻域搜索相结合的搜索算法为 (1)主轴坐标系下的测试人脸模型的点集为i=1,2,...,np,np表示点集Pik中的点pik的个数,主轴坐标系下的库集人脸模型的点集为j=1,2,...,ng,ng表示点集Gjk中的点gjk的个数; (2)点集Pik和Gjk在主轴坐标系下的xoy平面上的投影分别为i=1,2,...,np,j=1,2,...,ng,pik′表示点pik在xoy平面上的投影点,gjk′表示点gjk在xoy平面上的投影点,对投影Pik′、Gjk′栅格化,定义围绕在pik′周围的3*3的方格为pik′的邻域V(pik′),Gjk′中的搜索邻域V′(gjk′)定义为围绕在gjk′周围的5*5的方格; (3)采用全局搜索法搜索出点集Pik中的第一个点在点集Gjk中的距离最近的点,组成第一组对应点对,所述的全局搜索法为对点集Pik中的一个点pmk,m=1,2,....,np,计算其与点集Gjk中每个点的距离,以距离最小的点gj′k作为最近点,组成一组对应点对(pmk,gj′k),1≤j′≤ng; (4)点集Pjk中此后的每个点Pik在Gjk中的最近点gjk的搜索方法为判断投影点pik′是否位于投影点pi-1k′的邻域V(pi-1k′)之中,当投影点pik′位于投影点pi-1k′的邻域V(pi-1k′)中时,在pi-1k的对应点gj-1k的投影点gj-1k′的邻域V(gj-1k′)所对应的三维空间的点集中寻找与pik距离最小的点gjk,并与pik组成对应点对(pik,gjk);当投影点pik′位于投影点pi-1k′的邻域V(pk-1k′)之外时,采用全局搜索法搜索邻域搜索法未能搜索到的pik的Gjk中最近点。
步骤6采用最近邻分类器,从步骤5得到的匹配结果中选出相似度最高的一个作为三维人脸识别的结果,其中,以最近点平均距离作为相似性度量,认为最近点平均距离小的相似性高,最近点平均距离大的相似性低。
本发明首先提取简单又有较好表征性的人脸特征——人脸侧面轮廓线进行粗匹配,在识别初期快速排除部分库集对象,在随后的精确匹配过程中选取人脸刚性区域采用改进的迭代最近点算法进行匹配,提高了识别速度,同时减小了表情变化带来的影响。该方法主要有以下优点 (1)传统的单纯基于曲率提取人脸特征点的方法,容易产生一个特征点多个候选区域的情况,造成特征点定位困难。本发明在提取人脸特征点时,依据人脸形状特征,首先将人脸置于主轴坐标框架下,根据人脸在主轴坐标系下均呈现相同的正面姿态的特点,先利用坐标信息确定大致的人脸特征点候选集,然后再根据曲率信息精确定位特征点。
(2)相比较一些人脸识别算法中的网格化处理,本发明主要针对三维扫描系统得到的人脸原始点云模型,不需要任何的网格化处理,适用性广,速度快。
(3)在对人脸模型进行识别之前,首先设计一个简单的排除算法——侧面轮廓线匹配算法快速排除部分库集模型,在后续精确匹配时,测试模型只需与剩余库集模型匹配,大大提高了识别速度。
(4)在排除算法中,截取侧面轮廓线中鼻尖到鼻根这一区域段的侧面轮廓线段作为有价值侧面轮廓线进行匹配,采用有价值侧面轮廓线进行匹配,减少了匹配对象点集的点数,提高了识别速度,同时该段轮廓线受表情变化影响较小,具有较强的稳定性,使用该段轮廓线匹配可以避免表情变化引起的将正确对象排除的情况,提高识别精度。
(5)在精确匹配阶段,选取人脸模型中相对刚性的区域进行匹配,可减小表情变化产生的影响,提高三维人脸识别的性能。
(6)在基于刚性区域匹配时,结合三维人脸的形状特性,采用基于投影和邻域搜索的改进ICP算法,加快了对应点对的查找过程,提高了识别速度。



图1是减小表情影响的快速三维人脸识别流程图; 图2是特征点提取流程图; 图3是侧面轮廓线提取示意图,(a)是提取的人脸对称面,(b)是提取的人脸侧面轮廓线,(c)实线框包含的侧面轮廓线段为库集模型用于匹配的侧面轮廓线,虚线框包含的侧面轮廓线为测试模型的有价值侧面轮廓线; 图4是人脸区域切割示意图,(a)是三维人脸模型,(b)是库集模型匹配区域,(c)是测试模型第一刚性区域,(d)是测试模型第二刚性区域; 图5是基于投影和邻域搜索的改进迭代最近点算法流程图;
具体实施例方式 下面参照说明书附图,对本发明的具体实施方式
做出更为详细地说明 1、三维人脸模型侧面轮廓线提取 侧面轮廓线提取通过三步完成,首先确定人脸主轴坐标系,然后检测鼻尖点和内眼角点,最后根据特征点确定人脸对称面以提取侧面轮廓线。
(1)确定人脸主轴坐标系 人脸主轴坐标系是指由三维人脸数据的三个主轴所构成的坐标系,三个主轴分别对应人脸的朝向轴(z轴)、人脸对称平面上与朝向轴垂直的轴(y轴),以及垂直于对称平面的轴(x轴),三个轴符合右手坐标系,在该坐标系下,人脸均为相同的正面姿态,如图4(a)所示。观察人脸点云的基本形状,我们发现人脸点云是一张上下方向较长,左右跨度居中,前后厚度较小的曲面,近似于半椭球的形状。设人脸点集为M1={pi1∈R3/1≤i≤n1},其中pi1表示人脸点集M1中的点,n1表示人脸点集M1中点的个数,我们对人脸点集分布做主元分析(PCA),可以得到一个平均点和三个主方向(特征向量),这三个特征向量分别对应从大到小排序的三个特征值,按PCA的特征值与特征向量的关系,最大特征值对应的主方向是点集散度最大的方向,最小特征值对应的主方向是点集散度最小的方向。由以上分析可知如果三维人脸数据严格对称,三个特征向量应分别对应人脸主轴坐标系的x,y,z轴。边缘数据会造成人脸三维模型不对称,但是对绝大多数三维人脸模型来说,以鼻尖点为球心的一定半径内的数据仍然是对称的,因此本发明先对整个三维人脸模型使用PCA方法求模型主轴方向,构成一个直角坐标系,该坐标系基本反映了人脸的姿态,求得人脸模型在该坐标系下的坐标,在该坐标系下,z坐标最大点近似为鼻尖点,然后对落在以z坐标最大点为球心,半径为50mm的球体内的点集,第二次使用PCA求其主轴方向,即可得到较为精确的人脸主轴坐标系。具体步骤如下 1)对人脸点集M1={pi1∈R3/1≤i1≤n1}进行PCA运算,求得原始人脸数据的三个主轴(v′1,v′2,v′3),其中n1表示人脸点集M1中点的个数; 2)将点集M1={pi1∈R3/1≤i1≤n1}转换到以(v′1,v′2,v′3)为坐标轴的坐标系下,得到M2={pi2∈R3/1≤i2≤n1}, pi2=(v′1,v′2,v′3)Tpi1(1) 3)点集M2={pi2∈R3/1≤i2≤n1}中,落在以鼻尖点(z坐标最大点)为中心,以r=50mm为半径的球面内的点组成新的点集M3={pi3∈R3/1≤i3≤n3},其中pi3表示新的点集M3中的点,n3表示新的点集M3中点的个数,对M3={pi3∈R3/1≤i3≤n3}进行第二次PCA运算,得到三个精确主轴(v″1,v″2,v″3)。
4)综合上述,人脸主轴坐标系的三个坐标轴(v1,v2,v3)为 (v1,v2,v3)=(v′1,v′2,v′3)(v″1,v″2,v″3)(2) 5)对于三维人脸上的每个点pi1,在人脸主轴坐标系下的坐标fi1为 fi1=(v1,v2,v3)Tpi1(3) 6)平移人脸主轴坐标系下的三维模型,使其z坐标最大点平移到人脸主轴坐标系的原点,即使鼻尖点处在坐标系的原点。
fi1′=(v1,v2,v3)Tpi1-pnt(4) 其中pnt表示鼻尖点。至此,将三维人脸模型转换到其主轴坐标系下,本发明中用于匹配的模型都是基于主轴坐标系下的人脸模型。
(2)检测鼻尖点和内眼角点 总的来说,三维人脸特征点定位方法绝大部分都是基于人脸特征的,如对称性、几何特征(如鼻尖点特别凸,而眼角处特别凹)等。本发明的特征点检测方法首先根据人脸模型中特征点几何分布的特性,确定其在主轴坐标系下的坐标信息,从而可确定特征点候选点集,然后通过计算特征点候选点集中每个点的曲率特征(Shape Index值),精确确定标志点。考虑人脸模型的几何结构特征,并参照人脸主轴坐标系信息,可知鼻尖点pnt在人脸主轴坐标系原点附近,内眼角点pet在人脸主轴坐标系y轴方向原点以上人面部三分之一距离处,在x轴方向应分布在距离原点为人脸宽度的十分之一距离处。1)特征点候选点集确定在三维人脸点云中,依据点在主轴坐标系中的坐标信息确定鼻尖候选点集Snt和内眼角候选点集Set,确定方法如下 Snt={p/||p-O||<R1,p∈C}(5) Set={p/|xp|<t1,t2<yp<t3,p∈C}(6) 其中,O表示主轴坐标系原点,C表示主轴坐标系下的人脸点集,p表示点集C中的点,||·||表示欧氏范数,R1表示鼻尖候选区域的半径,取为10mm,Lwidth表示人脸模型横向宽度,Llongth表示人脸模型纵向长度,对于不同的库集模型可通过训练得出。
2)Shape Index值计算 计算候选点集Snt、Set中每个点的Shape Index值。Shape Index值代表的是人脸的曲率信息,与坐标系独立,且与刚体运动无关,该特征能够真实反映人脸表面的凹凸特征,能够有效的分离出凹凸特征明显的鼻尖、眼角区域。首先在候选集每个点p周围寻找与该点距离小于某一阈值的m个邻近点,由该m个邻近点组成点p的邻近域,根据邻近域点集构造点p的微切平面,确定三维人脸模型曲面在点p处法向量n,以n为z轴建立切平面坐标系,将邻近域点都置于切平面坐标系下,采用最小二乘法在转换后的邻近域点集内拟合一个二次曲面,利用二次曲面系数计算曲面在顶点p处的最大主曲率κ1(p)和最小主曲率κ2(p),最后计算点p的Shape Index值 3)阈值分割及特征点选择 对每个点的邻近域点集的Shape Index值取均值作为该点的Shape Index特征,对这个特征进行阈值分割。在Snt中选取Shape Index值在0.85~1之间的点组成的联通域,作为鼻尖区域,鼻尖点定位为该联通区域的质心。在Set中ShapeIndex值在0~0.27之间的点组成联通域,联通域大于等于两个,选取其中关于yoz平面对称的两个区域作为内眼角区域,分别选取两个联通域的质心作为内眼角点。
(3)人脸对称面确定 人脸对称面穿过鼻梁,将人脸分为左右对称的两部分。本发明中人脸对称面提取方法如下首先由(2)检测鼻尖点和内眼角点方法可确定鼻尖点及其法向量,在主轴坐标系下的三维人脸模型点集中从鼻尖到眼角区域的竖直方向上寻找法向量与鼻尖点法向量最近似共面的点,这些点组成了鼻梁线,过鼻梁线和鼻尖点法向量的平面即定为人脸对称面,侧面轮廓线的求取只需计算对称平面与三维人脸点云的交,如图3(a)、(b)所示。
2、基于侧面轮廓线匹配的排除算法 三维人脸模型数据量很大,造成识别速度慢,严重影响了识别的实时性,寻找一个简单的匹配算法,能在短时间内将相似度低的部分库集(gallery)模型对象预先排除,在后续精确匹配时,测试模型只需与剩余gallery模型匹配,可大大提高识别速度。
侧面轮廓线是指侧面朝向时人脸前面部分的轮廓线,如图3(c)所示。侧面轮廓线可以表达人脸的细节结构,且轮廓线包括的点数较少,匹配简单,选取受表情变化影响较小的轮廓线段,进行匹配,作为排除算法,可收到较好的效果。
(1)侧面轮廓线匹配 匹配测试模型和gallery模型的侧面轮廓线,计算两个模型间对应点对的平均距离作为两者的相似度,排除库集中相似度较低的部分模型,主要步骤如下所示 1)侧面轮廓线重采样 由于轮廓线上各点间距不统一,为了使匹配更精确,本发明首先对轮廓线进行统一间距,即重新在轮廓线上进行点采样,用采样点来描述侧面轮廓线。我们设定间距ds=0.5mm,从侧面轮廓线端点开始,每隔0.5mm采样一个点,直到轮廓线末端。对于弧长为Ls的曲线其采样个数ns为 该ns个点组成了重采样后的轮廓线。
2)有价值侧面轮廓线和用于匹配的侧面轮廓线提取 为防止在预先匹配时将正确的gallery对象排除,保证算法对表情变化的人脸识别具有较好的稳定性,选取人脸相对刚性区域的侧面轮廓线进行匹配,而鼻尖到鼻根点之间的轮廓线区域受各种表情的变化都是最小的,是人脸中最稳定的区域,本发明选取该段侧面轮廓线为有价值侧面轮廓线。在轮廓线匹配时采用迭代最近点法(ICP)算法,ICP算法要求两个匹配模型中,一个是另外一个的子集,故gallery模型中的用于匹配的侧面轮廓线要包含测试模型有价值轮廓线,如图4(c)所示,虚线框内轮廓线部分为本发明中截取的测试模型有价值侧面轮廓线Lp,实线框内轮廓线部分为本发明中截取的gallery模型中用于匹配的侧面轮廓线Lg。具体定义如下所示 其中,L表示对称面与三维人脸模型的交线即侧面轮廓线,pL表示侧面轮廓线上的点,ynb表示鼻根点的y轴坐标,鼻根点定义为过两内眼角连线的与人脸对称面垂直的面与侧面轮廓线的交点,ynt表示鼻尖点的y轴坐标,式中单位为毫米(mm)。
3)轮廓线匹配 轮廓线匹配采用ICP算法,ICP算法是三维数据配准中主要和广泛应用的一种算法,该算法实质上是基于最小二乘法的最优匹配方法,它重复进行“确定对应关系点集-计算最优刚体变换”的过程,直到某个表示正确匹配的收敛准则得到了满足。具体步骤如下 步骤一对测试人脸有价值侧面轮廓线Lpk1中的每个点lpj1k1,计算其与gallery模型中用于匹配的侧面轮廓线Lgk1中每个点的距离,选取距离最小的点lgm1k1,组成对应点对{(lpj1k1,lgm1k1)},共

对,其中,

为测试人脸有价值侧面轮廓线Lpk1上点的个数,上标k1表示第k1次迭代,k1≥1; 步骤二利用步骤一中得到的对应点对集合,计算最优的旋转矩阵R1k1和平移向量T1k1,使得目标函数最小。其中,

分别为点lpj1k1的x、y、z轴坐标,

分别为点lgm1k1的x、y、z轴坐标; 步骤三利用步骤二得到的最优的旋转矩阵R1k1和平移向量T1k1更新测试模型的侧面轮廓线Lpk1为Lpk1+1,即 其中,

分别为更新后的侧面轮廓线Lpk1+1上点lpj1k1+1的x、y、z轴坐标; 步骤四 计算Lpk1+1和Lgk1之间的对应点对平均距离其中

表示测试模型有价值侧面轮廓线Lpk1+1上的点数; 步骤五如果ldk1-ldk1+1不小于给定的阈值τ1(τ1=0.01),令ldk1=ldk1+1,返回步骤一,继续循环迭代,直至ldk1-ldk1+1<τ1为止,以此距离ldk1+1为最近点平均距离,并以此最近点平均距离ldk1+1为匹配结果,为使第一次迭代顺利进行,应为初始对应点对的平均距离ld1设定初值,本发明中设为ld1=100mm。
ICP算法对两个匹配模型的初始位置要求较高,如果初始位置相差太大,其匹配结果是不可靠的,因为此时ICP收敛的方向是不确定的。然而,本发明中在采用PCA计算人脸主轴坐标系后已经将人脸模型都置于主轴坐标系中,人脸在主轴坐标系下有统一的姿态,相当于已经建立了两个三维人脸模型的初始对应关系,所以可以直接匹配。对于所提取的测试模型有价值侧面轮廓线Lp和库集模型用于匹配的侧面轮廓线Lg,两者的相似度量计算如下 Sim(Lp,Lg)=RMS(Lp,Lg)(14) 其中表示最近点平均距离,lpi为轮廓线Lp上的点,lgi为轮廓线Lg上的点,且(lpi,lgj)为最终匹配时的对应点对,

为Lp上点的个数。
(2)排除算法 在进行精确匹配之前首先将测试模型有价值侧面轮廓线与gallery中的全部N个模型用于匹配的侧面轮廓线匹配,得出N个匹配结果,该N个匹配结果组成一个N维向量ld,对向量ld规则化后,采用排除法则得出排除后的剩余库集模型集S ld={ldm1/1≤m1≤N}(15) S={Mm2/ld′m2<δrej,1≤m2≤N′}(17) 式中,ldm1表示每次匹配的结果,ld′表示规则化后的匹配结果向量,ld′m2为规则化后的结果,在0-1之间,N′表示经剩余库集模型个数(N′<N),Mm2表示剩余库集模型中的第m2个模型,δrej表示排除阈值。在后续匹配中,只将测试模型与剩余库集模型集S中的N′个模型匹配,来完成识别。通过设定不同的阈值δrej,可以决定N′的大小。取较大的阈值δrej,可以避免将正确模型排除,但是会导致排除算法效率不高,若取较小的阈值δrej,可以排除较多gallery对象,提高识别速度,但是有时会将正确对象排除。本发明通过离线训练,确定δrej为0.4。本发明通过统计学的手段减少了精确匹配时gallery模型的个数,提高了识别速度。
3、人脸刚性区域的自动提取 如果将三维人脸模型分成多个子区域,各个子区域对人脸表情的敏感程度是不同的。总的来说,前额、眼睛附近和鼻子区域受表情影响最小,而脸颊、嘴巴附近区域最容易受表情影响。通过将人脸划分为不同的子区域,对带有表情的人脸每个子区域进行匹配,选取类内差异与类间差异比值最小的子区域作为本发明中所用的刚性区域。在离线时经过上述训练,最终选取Mrp1,Mrp2两个子区域作为第一刚性区域和第二刚性区域,所述的第一刚性区域为包含鼻子的区域,所述的第二刚性区域由两眼之间的区域以及与两眼之间区域相连的部分额头区域、部分鼻子区域组成,如图4(c)、(d)所示。在接下来的匹配中采用基于投影和邻域搜索的改进ICP算法,ICP算法要求两个匹配模型中,一个是另外一个的子集,故gallery模型中匹配区域选择较大区域为Mrg,该匹配区域为以鼻尖为球心的球所包含的人脸区域(图4(b)),具体选择方法如下 Mrp1={p/||p-O1||<35,p∈M}(18) Mrp2={p/||p-O2||<40,p∈M}(19) O1={p/xp=0,yp=20,p∈M} (20) O2={p/xp=0,yp=30,p∈M} (21) Mrg={p/||p-O||<100,p∈M} (22) 其中,p表示三维人脸模型M上的点,xp、yp分别表示点p的x、y轴坐标,O表示主轴坐标系的原点,式中的坐标信息都是基于人脸主轴坐标系下的,单位为毫米(mm),||·||表示欧氏范数。
Gallery模型中的匹配区域是在数据离线处理时提取的,识别时,一部分gallery模型被基于侧面轮廓线匹配的排除算法排除,只是剩余模型与测试模型匹配。利用剩余库集模型中的三维人脸模型的索引,从所提取出的匹配区域中,选取出属于剩余库集模型的三维人脸模型的匹配区域,组成剩余库集模型匹配区域。在接下来的精确匹配中,测试模型的刚性区域分别与每个剩余库集模型匹配区域进行匹配。
4、基于人脸刚性区域的精确匹配 ICP算法以其算法简单,能对物体实施任意方向的刚性变换在三维数据配准中得到了广泛应用。但是ICP算法在每次迭代中,都要在两个点集之间建立最近点对应关系。当要匹配的两个模型的点数分别是np1,ng1时,原始的ICP算法的时间复杂度是O(np1·ng1),而实际处理的三维人脸模型一般点数在一万点以上,这样即使在快速的计算机上也会耗费很长时间。
邻域搜索法是假设在两个点集P1和G1之间存在邻域的关系。在找p1i(p1i∈P1)的最近点时,先看看在它的邻域中有没有已匹配点,假设有已匹配点p1k,并且p1k的最近点是g1k(g1k∈G1),则在g1k的邻域中寻找p1i的最近点g1i,否则就在点集G1中进行全局查找。如果点集P1和G1中的点数分别为np1和ngi,这种最近点邻域搜索法在最好情况下的时间复杂度是O(np1),最差的情况是每次都是全局搜索,时间复杂度为O(np1·ng1)。该方法在二维图像的搜索中应用很广,但是在三维人脸模型空间中进行最近点搜索时,效果不是很好,因为三维空间点的邻域确定非常复杂,并且对于三维人脸模型来讲,几乎所有点只在一个曲面上密集分布,而在人脸模型立方体的其他位置都是没有点的,所以采用三维空间最近点搜索难以收到好的效果。观察人脸,我们发现如果将我们提取的对象匹配区域映射到与人脸对称面垂直的平面,原来点的邻域关系在映射平面里仍然是保持的,即在三维点云中临近的两个点在投影到与人脸对称面垂直的平面后仍然是临近的,而在二维平面里建立邻域关系较三维空间来讲更容易。因此,在本发明中,我们采用基于投影和邻域搜索的改进ICP算法,将主轴坐标系下的三维人脸映射到xoy平面,在xoy平面上确定每个点的邻域关系,即在ICP匹配查找最近点时,是借助于投影的平面内建立的邻域信息进行的。具体的基于人脸刚性区域的精确匹配过程如下 将第一刚性区域与剩余库集模型匹配区域中第一个模型匹配区域相匹配,得到第11匹配结果d11,将第二刚性区域与剩余库集模型匹配区域中第一个模型匹配区域相匹配,得到第21匹配结果d21,将第一刚性区域的匹配结果d11与第二刚性区域的匹配结果d21采用加法规则融和,得到测试模型与剩余库集模型中的第一个模型的匹配结果d1;将第一刚性区域与剩余库集模型匹配区域中第二个模型匹配区域相匹配,得到第12匹配结果d12,将第二刚性区域与剩余库集模型匹配区域中第二个模型匹配区域相匹配,得到第22匹配结果d22,将第一刚性区域的匹配结果d12与第二刚性区域的匹配结果d22采用加法规则融和,得到测试模型与剩余库集模型中的第二个模型的匹配结果d2;依此类推,将第一刚性区域与剩余库集模型匹配区域中第n′个模型匹配区域相匹配,得到第1n′匹配结果d1n′,将第二刚性区域与剩余库集模型匹配区域中第n′个模型匹配区域相匹配,得到第2n′匹配结果d2n′,将第一刚性区域的匹配结果d1n′与第二刚性区域的匹配结果d2n′采用加法规则融和,得到测试模型与剩余库集模型中的第n′个模型的匹配结果dn′,其中,n′为剩余库集模型中的模型个数。
第一刚性区域与剩余库集模型匹配区域中的各个模型匹配区域相匹配的匹配方法,与第二刚性区域与剩余库集模型匹配区域中的各个模型匹配区域相匹配的匹配方法采用相同的匹配方法并得到相应的匹配结果(图5),该相同的匹配方法为 (1)在测试人脸模型中取点集i=1,2,...,np,

分别表示点集Pik中的点pik的坐标值,上标k表示第k次迭代,k≥1,np表示点集Pik中点的个数,P为主轴坐标系下的测试人脸模型的点集,所述的主轴坐标系以鼻尖为原点O,以人脸的朝向轴为z轴,以位于人脸对称平面内且与朝向轴垂直的轴为y轴,以垂直于对称平面的轴为x轴; (2)采用基于映射和邻域搜索相结合的搜索算法查找库集模型点云中的对应点使得||Gjk-Pik||最小,并组成对应点对{(pik,gjk)},共np对,其中,j=1,2,...,ng,

分别表示点集Gjk中的点gjk的坐标值,ng表示点集Gjk中点的个数,G为主轴坐标系下的库集人脸模型的点集,||·||为欧氏范数; (3)利用(2)中得到的对应点对集合,计算最优的旋转矩阵Rk和平移向量Tk,使得目标函数最小; (4)利用(3)得到的最优的旋转矩阵Rk和平移向量Tk更新测试模型点集Pik为Pik+1 (5)计算Pik+1和Gjk之间的对应点对的平均距离dk+1 (6)如果dk-dk+1不小于给定的阈值τ,该阈值τ为0.01,令dk=dk+1,返回(2),直至dk-dk+1<τ为止,以此距离dk+1为最近点平均距离,并以此最近点平均距离dk+1为匹配结果d,为使第一次迭代顺利进行,应为初始对应点对的平均距离d1设定初值,本发明中设为d1=100mm。
所述的用于查找库集模型点云中的对应点的基于映射和邻域搜索相结合的搜索算法为 (1)主轴坐标系下的测试人脸模型的点集为i=1,2,...np,np表示点集Pik中的点pik的个数,主轴坐标系下的库集人脸模型的点集为j=1,2,...ng,ng表示点集Gjk中的点gjk的个数; (2)点集Pik和Gjk在主轴坐标系下的xoy平面上的投影分别为i=1,2,...np,j=1,2,...ng,pik′表示点pik在xoy平面上的投影点,gjk′表示点gjk在xoy平面上的投影点,对投影pik′、Gjk′栅格化,定义围绕在pik′周围的3*3的方格为pik′的邻域V(pik′),Gjk′中的搜索邻域V′(gjk′)定义为围绕在gjk′周围的5*5的方格; (3)采用全局搜索法搜索出点集Pik中的第一个点在点集Gjk中的距离最近的点,组成第一组对应点对,所述的全局搜索法为对点集Pik中的一个点pmk,m=1,2,....np,计算其与点集Gjk中每个点的距离,以距离最小的点gj′k作为最近点,组成一组对应点对(pmk,gj′k),1 ≤j′≤ng; (4)点集pik中此后的每个点pik在Gjk中的最近点gjk的搜索方法为判断投影点pik′是否位于投影点pi-1k′的邻域V(pi-1k′)之中,当投影点pik′位于投影点pi-1k′的邻域V(pi-1k′)中时,在pi-1k的对应点gj-1k的投影点gj-1k′的邻域V(gj-1k′)所对应的三维空间的点集中寻找与pik距离最小的点gjk,并与pik组成对应点对(pik,gjk);当投影点pik′位于投影点pi-1k′的邻域V(pi-1k′)之外时,采用全局搜索法搜索邻域搜索法未能搜索到的pik在Gjk中的最近点。
剩余库集模型中有n′个模型,在完成上述匹配过程后将产生n′个匹配结果d1,d2,...,dn′,分别表示了测试模型与剩余库集模型对应点对的平均距离。
5、识别 采用最近邻分类器,从匹配结果中选出相似度最高的一个作为三维人脸识别的结果,其中,以对应点对平均距离作为相似性度量,认为对应点对平均距离小的相似性高,对应点对平均距离大的相似性低。在匹配结果d1,d2,...,dn′中求最小值dmin,该最小值在剩余库集模型中对应的模型即为识别结果。
权利要求
1、一种减小表情影响的快速三维人脸识别方法,其特征在于该方法的主要步骤如下
步骤1以鼻尖至鼻根之间的测试人脸模型侧面轮廓线线段作为测试人脸模型中的有价值侧面轮廓线,从测试人脸模型中提取测试人脸模型中的有价值侧面轮廓线,从库集模型的各个三维人脸模型中提取用于匹配的侧面轮廓线且该用于匹配的侧面轮廓线覆盖鼻尖至鼻根之间的三维人脸模型侧面轮廓线线段;
步骤2使用迭代最近点算法,从库集模型中选择出能与测试人脸模型中的有价值侧面轮廓线相匹配的库集模型中的三维人脸模型,组成剩余库集模型;
步骤3从库集模型的各个三维人脸模型中提取出匹配区域,该匹配区域为以鼻尖为球心的球所包含的人脸区域,再利用剩余库集模型中的三维人脸模型的索引,从所提取出的匹配区域中,选取出属于剩余库集模型中的三维人脸模型的匹配区域,组成剩余库集模型匹配区域;
步骤4从测试人脸模型中切割第一刚性区域和第二刚性区域,所述的第一刚性区域为包含鼻子的区域,所述的第二刚性区域由两眼之间的区域以及与两眼之间区域相连的部分额头区域、部分鼻子区域组成;
步骤5将第一刚性区域与剩余库集模型匹配区域中第一个模型匹配区域相匹配,得到第11匹配结果d11,将第二刚性区域与剩余库集模型匹配区域中第一个模型匹配区域相匹配,得到第21匹配结果d21,将第一刚性区域的匹配结果d11与第二刚性区域的匹配结果d21采用加法规则融和,得到测试模型与剩余库集模型中的第一个模型的匹配结果d1;将第一刚性区域与剩余库集模型匹配区域中第二个模型匹配区域相匹配,得到第12匹配结果d12,将第二刚性区域与剩余库集模型匹配区域中第二个模型匹配区域相匹配,得到第22匹配结果d22,将第一刚性区域的匹配结果d12与第二刚性区域的匹配结果d22采用加法规则融和,得到测试模型与剩余库集模型中的第二个模型的匹配结果d2;依此类推,将第一刚性区域与剩余库集模型匹配区域中第n′个模型匹配区域相匹配,得到第1n′匹配结果d1n′,将第二刚性区域与剩余库集模型匹配区域中第n′个模型匹配区域相匹配,得到第2n′匹配结果d2n′’,将第一刚性区域的匹配结果d1n′与第二刚性区域的匹配结果d2n′采用加法规则融和,得到测试模型与剩余库集模型中的第n′个模型的匹配结果dn′,其中,n′为剩余库集模型中的模型个数,
第一刚性区域与剩余库集模型匹配区域中的各个模型匹配区域相匹配的匹配方法,与第二刚性区域与剩余库集模型匹配区域中的各个模型匹配区域相匹配的匹配方法采用相同的匹配方法并得到相应的匹配结果,该相同的匹配方法为
(1)在测试人脸模型中取点集i=1,2,...,np,
分别表示点集pik中的点pik的坐标值,上标k表示第k次迭代,k≥1,np表示点集pik中点的个数,P为主轴坐标系下的测试人脸模型的点集,所述的主轴坐标系以鼻尖为原点O,以人脸的朝向轴为z轴,以位于人脸对称平面内且与朝向轴垂直的轴为y轴,以垂直于对称平面的轴为x轴,
(2)采用基于映射和邻域搜索相结合的搜索算法查找库集模型点云中的对应点使得||Gjk-Pik||最小,并组成对应点对{(pik,gjk)},共np对,其中,j=1,2,...,ng,
分别表示点集Gjk中的点gjk的坐标值,ng表示点集Gjk中点的个数,G为主轴坐标系下的库集人脸模型的点集,||·||为欧氏范数,
(3)利用(2)中得到的对应点对集合,计算最优的旋转矩阵Rk和平移向量Tk,使得目标函数最小,
(4)利用(3)得到的最优的旋转矩阵Rk和平移向量Tk更新测试模型点集Pik为Pik+1
(5)计算Pik+1和Gjk之间的对应点对的平均距离dk+1
(6)如果dk-dk+1不小于给定的阈值τ,该阈值τ为0.01,令dk=dk+1,返回(2),直至dk-dk+1<τ为止,以此距离dk+1为最近点平均距离,并以此最近点平均距离dk+1为匹配结果,为使第一次迭代顺利进行,应为初始对应点对的平均距离d1设定初值,设为d1=100mm,
所述的用于查找库集模型点云中的对应点的基于映射和邻域搜索相结合的搜索算法为
(1)主轴坐标系下的测试人脸模型的点集为i=1,2,...np,np表示点集Pik中的点Pik的个数,主轴坐标系下的库集人脸模型的点集为j=1,2,...ng,ng表示点集Gjk中的点gjk的个数,
(2)点集Pik和Gjk在主轴坐标系下的xoy平面上的投影分别为i=1,2,...np,j=1,2,...ng,pik′表示点pik在xoy平面上的投影点,gjk′表示点gjk在xoy平面上的投影点,对投影Pik′、Gjk′栅格化,定义围绕在pik′周围的3*3的方格为pik′的邻域V(pik′),Gjk′中的搜索邻域V′(gjk ′)定义为围绕在gjk′周围的5*5的方格,
(3)采用全局搜索法搜索出点集Pik中的第一个点在点集Gjk中的距离最近的点,组成第一组对应点对,所述的全局搜索法为对点集Pik中的一个点pmk,m=1,2,....,np,计算其与点集Gjk中每个点的距离,以距离最小的点gj′k作为最近点,组成一组对应点对(pmk,gj′k),1≤j′≤ng,
(4)点集Pik中此后的每个点pik在Gjk中的最近点gjk的搜索方法为判断投影点pik′是否位于投影点pi-1k′的邻域V(pi-1k′)之中,当投影点pik′位于投影点pi-1k′的邻域V(pi-1k′)中时,在pi-1k的对应点gj-1k的投影点gj-1k′的邻域V(gj-1k′)所对应的三维空间的点集中寻找与pik距离最小的点gjk,并与pik组成对应点对(pik,gjk);当投影点pik′位于投影点pi-1k′的邻域V(pi-1k′)之外时,采用全局搜索法搜索邻域搜索法未能搜索到的pik的Gjk中最近点;
步骤6采用最近邻分类器,从步骤5得到的匹配结果中选出相似度最高的一个作为三维人脸识别的结果,其中,以最近点平均距离作为相似性度量,认为最近点平均距离小的相似性高,最近点平均距离大的相似性低。
全文摘要
一种以侧面轮廓线匹配作为排除算法并利用人脸刚性区域进行精确匹配的减小表情影响的快速三维人脸识别方法首先提取三维人脸模型的鼻尖和内眼角特征点,根据特征点确定人脸对称面,人脸对称面与三维人脸点云的交构成了侧面轮廓线。在测试人脸模型侧面轮廓线上截取有价值侧面轮廓线,将测试人脸模型有价值侧面轮廓线与库集人脸模型用于匹配的侧面轮廓线采用迭代最近点算法匹配,根据匹配结果排除库集中部分不相似模型。然后提取测试人脸第一刚性区域和第二刚性区域,并分别与剩余库集模型匹配区域匹配,匹配采用基于投影和邻域搜索的改进迭代最近点算法,匹配结果采用加法规则融合,最后通过最近邻分类器得出识别结果。
文档编号G06K9/64GK101315661SQ20081002233
公开日2008年12月3日 申请日期2008年7月18日 优先权日2008年7月18日
发明者达飞鹏, 李晓莉 申请人:东南大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1