一种基于Ricci曲率流的三维人脸识别方法与流程

文档序号:15852769发布日期:2018-11-07 10:23阅读:323来源:国知局
一种基于Ricci曲率流的三维人脸识别方法与流程

本发明属于三维人脸识别方法技术领域,具体涉及一种基于ricci曲率流的三维人脸识别方法。

背景技术

生物特征是人类所特有的且可以唯一标识个人身份,包括生理特征和行为特征,如虹膜、手形、指纹、脸、声音等。生物特征不会随着人的转移、人的意志发生改变或是年龄的增长而改变,同时具备不易丢失、无需特别携带等特点,是人类固有的特征,并且随着生命的发展变得愈发稳定。由于生物识别技术的种种优势,其相关技术在全球范围内受到了高度关注,各国对生物认证的研究投入了大量的科研力量,也取得了重要的进展,部分生物识别技术已付诸实践。我们国家早在2008年北京奥运会就采用了基于虹膜、声音和步态的融合技术用于身份识别,以消除危险和犯罪的威胁和破坏,确保大会的顺利运转。

人脸识别技术是通过提取人脸的面部特征作为对比标准的一种生物识别技术。人脸识别具有自然、友好以及精确的优点。虽然基于虹膜和指纹特征的识别技术取得了非常准确的结果,但与人脸识别相比,仍然存在一些固有的缺陷,阻碍了更广泛的应用。但现有的人脸识别技术无论是基于整体特征直接匹配还是基于局部特征的人脸识别亦或是融合整体与局部特征的人脸识别技术等,都会因为三维人脸数据庞杂的数据量而造成系统运行效率的缓慢,而直接使用二位人脸图像又会造成人脸三维信息的丢失,使系统针对表情、光照等变化的鲁棒性降低。故如何保证在将三维人脸模型降维的过程中保持三维人脸模型的三维特征尽量被保留,同时保证系统针对光照、表情等变化具有较高的鲁棒性使现阶段研究最主要的问题。



技术实现要素:

本发明的目的是解决当前人脸识别技术中由于提取二维人脸模的过程中所造成的人脸曲面三维信息的丢失而造成系统在运行过程中容易受到姿态、表情、光照等因素影响的问题;同时由于直接采用三维人脸模型计算时容易由三维人脸模型中过于庞杂的数据量造成的系统运行过于缓慢的问题。针对上述三维人脸识别系统的局限性,提出一种基于ricci曲率流的三维人脸识别方法。

为解决上述技术问题,本发明采用的技术方案为:

一种基于ricci曲率流的三维人脸识别方法,包括如下步骤:

s1,提取待识别三维人脸模型的鼻尖点;

s2,使用ricci曲率流将待识别三维人脸模型共形映射至二维平面圆盘之中,得到共形映射后的待识别二维人脸圆盘;

s3,以鼻尖点为圆心,将待识别二维人脸圆盘划分为刚性区域、半刚性区域以及非刚性区域,并确定待识别二维人脸圆盘的刚性区域、半刚性区域和非刚性区域的权重;

s4,根据待识别二维人脸圆盘的刚性区域、半刚性区域和非刚性区域中每个点的能量值,计算待识别二维人脸圆盘的刚性区域、半刚性区域和非刚性区域的能量直方图;

s5,分别计算待识别二维人脸圆盘的刚性区域、半刚性区域和非刚性区域的能量直方图与三维人脸数据库中的每个二维人脸圆盘的刚性区域、半刚性区域和非刚性区域的能量直方图之间的相似度;

s6,根据待识别二维人脸圆盘的刚性区域、半刚性区域和非刚性区域的权重和其与三维人脸数据库中的每个二维人脸圆盘的刚性区域、半刚性区域和非刚性区域的能量直方图之间的相似度,在三维人脸数据库中确定与待识别三维人脸模型最相似的人脸模型,既完成了三维人脸识别。本发明通过同心圆的加权划分,并针对划分出的不同区域赋予不同权值,以此来尽最大可能的规避人脸面部表情变化对系统识别效率的影响;通过使用ricci曲率流将三维人脸模型共形映射至二位平面圆盘中,使三维人脸模型中的三维特征在降维过程中被最大程度的保留;创新性的通过提取并统计共形映射后模型各点所特有的能量值,并生成能量直方图完成特征提取。

进一步,所述s1,提取待识别三维人脸模型的鼻尖点,由步骤s1.1~s1.2完成:

s1.1,选取待识别三维人脸模型中两点连线最长的两条线段所在的平面作为xoy平面所在平面;

s1.2,在与xoy平面垂直的平面上查找z值最大的点作为待识别三维人脸模型的鼻尖点。

更进一步,所述s2,使用ricci曲率流将待识别三维人脸模型共形映射至二维平面圆盘之中,得到共形映射后的待识别二维人脸圆盘,由步骤s2.1~s2.10完成:

s2.1定义边长:将代表网格的离散度量,边eij处的边长为记为lij;定义顶点半径:将顶点vi处的半径定义为定义网格边上的反转距离:将代表circlepacking中的两圆圆心所在的三角网格边长的权值定义为反转距离,记为i(ci,cj);定义内角,将顶点vi处的面fijk的内角记为定义顶点高斯曲率:将顶点vi处的高斯曲率记为ki,用户自定义的高斯曲率为k'i;

s2.2,通过初始三角网格的边长可在每个顶点定义初始黎曼度量的半径,如公式2.2所示:

则在顶点vi处circlepacking的半径为:

s2.3,使用余弦定理以及初始黎曼度量的半径以及对应三角网格的边长可计算出每个边上的反转距离,如公式2.3所示,在共形映射的计算过程中只改变圆模式半径的大小但是保持每边反转距离不变,

s2.4,计算网格的所有内角如公式2.4所示:

s2.5,为每个顶点计算离散的高斯曲率ki,如公式2.5所示:

s2.6,通过对每点所定义初始黎曼度量半径的大小取对数值,定义每个顶点初始能量值的大小,如公式2.6所示:

ui=logγi(2.6)

s2.7,定义曲面中每一点的高斯曲率为k',在此由于要把曲面共性映射至二维平面圆盘中,此处将目标高斯曲率定义为0,根据初始高斯曲率的大小以及目标曲率之间的差值,改变每点能量值的大小,从而改变每点圆的半径大小,如公式2.7所示:

ui'=ui+(k'-k)(2.7)

s2.8,通过新的圆模式的半径大小以及相邻点原模式的大小和两点所在边反转距离的计算公式,可反推出当前三角网格度量的边长,如公式2.8所示:

由推算出新的平面度量的长度,可以再次计算出当前各顶点角度值;

s2.9,迭代s2.2-s2.8,直至遍历完成曲面上所有的点;

s2.10,遍历完模型上全部点后,可得到与原有三维人脸模型中的三角网格度量共形等价的平面度量,将平面度量按照三角网格边角关系,重新嵌入平面圆盘中,便可得到经过共形映射后的二维人脸圆盘。该过程可以在将原三维人脸模型共形映射至二位平面圆盘实现降维的过程中,最大可能的保持原三维模型的三维几何信息不被丢失。

再进一步,所述s3,以鼻尖点为圆心,将待识别二维人脸圆盘划分为刚性区域、半刚性区域以及非刚性区域,具体方法为:以鼻尖点为圆心,将待识别二维人脸圆盘的0-0.4r的区域作为刚性区域、0.7r-r的区域作为半刚性区域,0.4r-0.7r的区域作为非刚性区域,其中,r为待识别二维人脸圆盘的半径。该部分可通过将共形映射后的二位平面圆盘划分为三个区域,将对系统影响较大的人脸表情变化较大的区域分割出来,并通过计算在后续的步骤中针对不同区域加以不同的权值,以提高系统对表情变化的鲁棒性。

再进一步,所述s3,确定待识别二维人脸圆盘的刚性区域、半刚性区域和非刚性区域的权重,由步骤s3.1和s3.2完成:

s3.1,将待识别二维平面圆盘的刚性区域、非刚性区域、半刚性区域进行提取并进一步与现有三维人脸模型库中的对应区域进行匹配并计算匹配成功率;

s3.2,将各区域的匹配成功率进行归一化对比,计算得出针对于各区域的相似度在最终融合计算时的权重大小。该步骤通过具体实验结果,通过将原实验结果对比并归一化,计算并得到针对于不同区域所应有的权值大小。

再进一步,所述s6,根据待识别二维人脸圆盘的刚性区域、半刚性区域和非刚性区域的权重和其与三维人脸数据库中的每个二维人脸圆盘的刚性区域、半刚性区域和非刚性区域的能量直方图之间的相似度,在三维人脸数据库中确定与待识别三维人脸模型最相似的人脸模型,由步骤s6.1~s6.3完成:

s6.1,提取原三维人脸模型在共形映射时所产生的特有的能量值,并进行统计,生成刚性区域、半刚性区域和非刚性区域的能量直方图完成特征提取;

s6.2,通过卡方统计计算待匹配人脸模型与模型数据库中已有人脸模型在对应区域的能量直方图的相似度;

s6.3,依据步骤s3中所计算出的各区域权重的大小,将s6.2中计算得到的对应区域相似度大小进行加权融合,得到最终模型之间的相似度,并输出对应相似度最高的模型,即完成对三维人脸的识别。该步骤创新性的通过提取人脸模型中各点在完成共形映射后各点能量值得不同完成特征提取的部分,直接使用人脸模型的几何特征进行相似度计算,从而避免光照对系统产生的影响,提高系统运行效率。

本发明采用以上技术方案,使用纽约州立大学宾汉姆顿分校所研发建立的bu-3dfe三维人脸表情数据库,通过opengl框架完成整个软件系统的编写工作,实现了在使用同一人脸模型的不同表情的情况下,确保系统在人脸表情发生变化时仍具有一定的鲁棒性。与此同时,在完成三维人脸模型的共形映射过程后,需要及时进入人脸模型的匹配与识别的过程,在保证三维数据信息被完整的保存下来的同时尽可能提高识别系统的运行效率。具有一定应用价值。

附图说明

图1是本发明流程图;

图2是原模型数据展示;

图3是原模型三维数据贴图;

图4是原模型数据类型截图;

图5是所选取三维人脸模型elise的共形映射结果图;

图6是三维模型elise对应的能量特征直方图;

图7是所选取三维人脸模型bella的共形映射结果图;

图8是三维模型bella对应的能量特征直方图;

图9是同心圆划分效果图;

图10是经过同心圆划分后,模型中不同区域所对应特征直方图结果;

图11是针对人脸表情变化的实验图;

图12是人脸表情变化实验中,模型各区域对应的能量特征直方图。

具体实施方式

下面通过附图和具体实施例对本发明做进一步的阐述和说明,但本发明的保护范围不受以下实施例的限制。

基于ricci曲率流的三维人脸识别方法,包括如下步骤:

s1,提取待识别三维人脸模型的鼻尖点:由步骤s1.1~s1.2完成;

s1.1,选取待识别三维人脸模型中两点连线最长的两条线段所在的平面作为xoy平面所在平面;

s1.2,在与xoy平面垂直的平面上查找z值最大的点作为待识别三维人脸模型的鼻尖点;

s2,使用ricci曲率流将待识别三维人脸模型共形映射至二维平面圆盘之中,得到共形映射后的待识别二维人脸圆盘:由步骤s2.1~s2.10完成:

s2.1,定义边长:将代表网格的离散度量,边eij处的边长为记为lij;定义顶点半径:将顶点vi处的半径定义为定义网格边上的反转距离:将代表circlepacking中的两圆圆心所在的三角网格边长的权值定义为反转距离,记为i(ci,cj);定义内角,将顶点vi处的面fijk的内角记为定义顶点高斯曲率:将顶点vi处的高斯曲率记为ki,用户自定义的高斯曲率为k'i;

s2.2,通过初始三角网格的边长可在每个顶点定义初始黎曼度量的半径,如公式2.2所示:

则在顶点vi处circlepacking的半径为:

s2.3,使用余弦定理以及初始黎曼度量的半径以及对应三角网格的边长可计算出每个边上的反转距离,如公式2.3所示,在共形映射的计算过程中只改变圆模式半径的大小但是保持每边反转距离不变,

s2.4,计算网格的所有内角如公式2.4所示:

s2.5,为每个顶点计算离散的高斯曲率ki,如公式2.5所示:

s2.6,通过对每点所定义初始黎曼度量半径的大小取对数值,定义每个顶点初始能量值的大小,如公式2.6所示:

ui=logγi(2.6)

s2.7,定义曲面中每一点的高斯曲率为k',在此由于要把曲面共性映射至二维平面圆盘中,此处将目标高斯曲率定义为0,根据初始高斯曲率的大小以及目标曲率之间的差值,改变每点能量值的大小,从而改变每点圆的半径大小,如公式2.7所示:

ui'=ui+(k'-k)(2.7)

s2.8,通过新的圆模式的半径大小以及相邻点原模式的大小和两点所在边反转距离的计算公式,可反推出当前三角网格度量的边长,如公式2.8所示:

由推算出新的平面度量的长度,可以再次计算出当前各顶点角度值;

s2.9,迭代s2.2-s2.8,直至遍历完成曲面上所有的点;

s2.10,遍历完模型上全部点后,可得到与原有三维人脸模型中的三角网格度量共形等价的平面度量,将平面度量按照三角网格边角关系,重新嵌入平面圆盘中,便可得到经过共形映射后的二维人脸圆盘。如图5、图6所示,共形映射后的二维平面圆盘相较于原三维人脸模型,产生的畸变较小,在一定程度上保留了原三维模型中的几何信息;

s3,以鼻尖点为圆心,将待识别二维人脸圆盘划分为刚性区域、半刚性区域以及非刚性区域:将待识别二维人脸圆盘的0-0.4r的区域作为刚性区域、0.7r-r的区域作为半刚性区域,0.4r-0.7r的区域作为非刚性区域,其中,r为待识别二维人脸圆盘的半径;并确定待识别二维人脸圆盘的刚性区域、半刚性区域和非刚性区域的权重:由步骤s3.1和s3.2完成:

s3.1,将待识别二维平面圆盘的刚性区域、非刚性区域、半刚性区域进行提取并进一步与现有三维人脸模型库中的对应区域进行匹配并计算匹配成功率;

s3.2,将各区域的匹配成功率进行归一化对比,计算得出针对于各区域的相似度在最终融合计算时的权重大小。如图7、图8所示,通过同心圆加权算法可较为良好的实现人脸中受表情变化影响较大的非刚性区域与受表情变化影响较小的刚性区域、半刚性区域的良好分割;

s4,根据待识别二维人脸圆盘的刚性区域、半刚性区域和非刚性区域中每个点的能量值,计算待识别二维人脸圆盘的刚性区域、半刚性区域和非刚性区域的能量直方图,如图9与图10所示,通过提取模型中各点能量值而生成的能量直方图由所选取模型的不同而具有较大差异;

s5,分别计算待识别二维人脸圆盘的刚性区域、半刚性区域和非刚性区域的能量直方图与三维人脸数据库中的每个二维人脸圆盘的刚性区域、半刚性区域和非刚性区域的能量直方图之间的相似度,如图7、图8所示,经过同心圆加权后的算法所提取出的能量特征直方图可较为明显的将原模型中刚性区域、半刚性区域、非刚性区域进行划分,s6,根据待识别二维人脸圆盘的刚性区域、半刚性区域和非刚性区域的权重和其与三维人脸数据库中的每个二维人脸圆盘的刚性区域、半刚性区域和非刚性区域的能量直方图之间的相似度,在三维人脸数据库中确定与待识别三维人脸模型最相似的人脸模型:由步骤s6.1~s6.3完成:

s6.1,提取原三维人脸模型在共形映射时所产生的特有的能量值,并进行统计,生成刚性区域、半刚性区域和非刚性区域的能量直方图完成特征提取;

s6.2,通过卡方统计计算待匹配人脸模型与模型数据库中已有人脸模型在对应区域的能量直方图的相似度;

s6.3,依据步骤s3中所计算出的各区域权重的大小,将s6.2中计算得到的对应区域相似度大小进行加权融合,得到最终模型之间的相似度,并输出对应相似度最高的模型。如图11、图12所示,从图中可以看出,当所提取到的人脸模型有表情差异时,其所对应的特征直方图的对应区域虽在一定程度上存在较大差异,但是由于针对不同区域分配了不同的权值,从而在最大程度上避免了其对匹配结果的影响,由此可以证明本系统对人脸表情变化具有一定鲁棒性。因此,本方法在运行过程中受人脸表情变化影响较小。

既完成了对三维人脸的识别。

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