三维人脸上基于曲率分布的鼻尖点的检测方法及其系统与流程

文档序号:18923510发布日期:2019-10-19 03:47阅读:430来源:国知局
三维人脸上基于曲率分布的鼻尖点的检测方法及其系统与流程

本发明涉及三维人脸识别技术领域,尤其涉及一种三维人脸上基于曲率分布的鼻尖点的检测方法及其系统。



背景技术:

随着三维自动扫描和建模技术的发展,三维人脸的获取也日益成熟。三维人脸不受姿态、光照等因素的影响,在社会安检、法庭鉴别等领域有广泛的应用。在是三维人脸扫描过程中,获取的三维点云并非单纯人脸脸区,也包含颈部、头发以及衣服等部分,这给提取三维人脸特征带来了很大的不利影响。在人脸的所有器官中,鼻区最为突出,几何特征最为明显,不论是二维人脸和三维人脸检测中起着很大的桥梁作用。

三维人脸检测研究已经有十多年的研究历史,Colombo等[Colombo2006](Alessandro Colombo,Claudio Cusano,Raimondo Schettini.3D face detection using curvature analysis.Pattern Recognition 39(2006)444–455.)在rangeimage上计算高斯曲率和平均曲率,通过滤波得到眼区和鼻区的候选项,利用HK分类器进行学习,将所有候选区域分成四类,凹区域,凸区域,两种马鞍区域,再通过先验知识和凹凸性探测人脸区域。Bevilacqua等[Bevilacqua2008](Vitoantonio Bevilacqua,Pasquale Casorio,Giuseppe Mastronardi.Extending Hough Transform to a Points’Cloud for 3D-Face Nose-Tip Detection.Lecture Notes in Computer Science,2008,vol 5227,pp 1200-1209.)

利用哈夫变换在三维点云上探测,用投票法探测鼻尖点位置。Yang等[Yang2009](Yang Jun,Liao Zhi-Wu,etal.A Method for Robust Nose Tip Location across Pose Variety in 3D Face Data.Proceeding on International Asia Conference on Informatics in Control,Automation and Robotics,2009,pp114-117.)先在三维人脸上选取几个最大法向的候选点,将三维人脸旋转,使得鼻子在正向,用pca方法对齐,构建水平方向的曲线,具有极大值的曲线被确定为经过鼻尖点的曲线,其极大值点被定为鼻尖点。Bagchi等[Bagchi2012]在rangeimage上提出用带权重的网格中值滤波方法对三维人脸进行滤波处理,这种处理会增强鼻区的亮度,并将最亮的点定义为鼻尖点。Cai等[Cai2012](Parama Bagchi,Debotosh Bhattacharjee,etal.A novel approach for nose tip detection using smoothing by weighted median filtering applied to 3D face images in variant poses.Proceedings of the International Conference on Pattern Recognition,Informatics and Medical Engineering,2012,pp272-277.)利用平均曲率探测鼻尖点位置,他们发现人脸平均曲率最大的区域位于鼻尖附近,并利用这中信息探测三维鼻尖点。但这种发现在非单纯的人脸模型总并不总成立,并且极大值点也可能存在眼部和唇部。Priya等[Priya2012](M.V.Priya,R.Narayanan,etal.A Combined Approach for Face Detection with 3D Mesh and Eigen Face.Procedia Engineering 38(2012)298–305.)提出了特征脸的方法用于探测三维人脸,他们通过计算三维人脸对应的二维图像特征向量,求平均向量,并建立顶点的协方差矩阵分解协方差矩阵得到前n个最大的特征值和特征向量,利用这些特征向量对三维人脸进行分解,得到三维人脸的谱特征,在探测时也需要进行分解,根据阈值对比谱特征即可。Mukherjee等[Mukherjee2014]利用曲率和HK分类器来特征提取鼻尖点。这种方法现将曲率投影到曲面,得到曲率图像,并用曲率将曲率图像分块,定义三种模板,再用形态学方法进行处理,得到鼻尖点。KHADHRAOUI等[KHADHRAOUI2014](Taher KHADHRAOUI,Faouzi BENZARTI,etal.A Novel Approach to Nose-tip and Eye-corners Detection using HK-classification in case of 3D Face Analysis.Proceedings on World Congress on Computer Applications and Information Systems(WCCAIS),2014,pp1–4.)也是曲率与HK分类器相结合的方法探测人脸,与[Mukherjee2014](Debashis Mukherjee,Debotosh Bhattacharjee,etal.Curvature Based Localization of Nose Tip Point for Processing 3D-Face from Range Images.Proceedings on International Conference on Communication and Signal Processing,2014,pp046–050.)不同之处在于,他们在三维人脸上直接进行分类。Segundo等[Segundo2014](M.Pamplona Segundo,L.Silva,etal.Orthogonal projection images for 3D face detection.Pattern Recognition Letters50(2014)72–81.)用boost级联分类器探测rangeimage中的人脸,这种方法需要对人脸的大小进行标准化处理,还需要得到人脸多个正交投影方向的rangeimage,对多个rangeimage提取特征值,进行学习,最后进行三维人脸检测。

综上可知,现有,在实际使用上,显然存在不便与缺陷,所以有必要加以改进。



技术实现要素:

针对上述的缺陷,本发明的目的在于提供一种三维人脸上基于曲率分布的鼻尖点的检测方法及其系统,以使三维人脸的鼻尖点的检测更为简便。

为了实现上述目的,本发明提供一种三维人脸上基于曲率分布的鼻尖点的检测方法,所述检测方法包括如下步骤:

A、构造三维人脸的网格曲面,计算所述网络曲面上的顶点的曲率及曲率分布,并绘制所述曲率对应的曲率直方图;

B、根据所述曲率分布与所述曲率直方图的连通性对所述顶点进行三重滤波处理,获得过滤后的顶点集;

C、在所述过滤后的顶点集上拟合人脸主平面,并将所述人脸主平面上获取平面区域中的法向上的顶点定位为所述鼻尖点。

根据所述的检测方法,所述步骤A包括:

A1、对获取的三维人脸的图像进行初始化,构造所述三维人脸图像的网格曲面;

A2、对所述网格曲面进行去噪处理,并且计算所述网络曲面上的顶点的高斯曲率、平均曲率以及两个主曲率

A3、采用所述高斯曲率或者平均曲率或者两个主曲率计算对应的曲率分布,并绘制对应的曲率直方图。

根据所述的检测方法,所述步骤B包括:

B1、设定所述曲率直方图的上阈值th_t和下阈值th_b,根据所述曲率分布对所述曲率滤波;

B2、根据所述曲率直方图的上阈值th_t和下阈值th_b将所述顶点分成三类,其中,小于所述下阈值th_b的顶点集为顶点集VS0,处于所述下阈值th_b和上阈值th_t之间顶点集为顶点集VS1,大于所述上阈值th_t的顶点集为顶点集VS2;

B3、在所述顶点集VS0和顶点集VS2中,根据所述曲率直方图的连通性查找联通区域,对所述联通区域中的联通分量进行滤波,并只保留所述联通分量中的最大联通分量VS3,将所述最大联通分量VS3中的顶点集标记为VM;

B4、在所述顶点集VM中再次滤波,从所述顶点集VM中过滤掉所述顶点集VS2中的顶点集VS3,并只保留所述顶点集VM中的所述顶点集VS0中的顶点集VS4,并计算所述顶点集VS4的包围盒,标记为包围盒Box0。

根据所述的检测方法,所述步骤C包括:

C1、在所述顶点集VS4上拟合人脸主平面p0,并取所述包围盒Box0中的平面区域p1。

C2、在所述平面区域上p1中,取平面p1法向上最前的顶点定为人脸的鼻尖点。

根据所述的检测方法,所述曲率直方图为:

FRE={fre0,fre1,…,freM-1},

其中frej为FRE中的第j个元素,j∈{0,1…,M-1},N为顶点总数,M为直方图的等级数,len=(Cmax-Cmin),最大曲率Cmax={c|c=maxi∈v(ci)},最小曲率Cmin={c|c=mini∈v(ci)},v为顶点序号的集合{0,1,2…,N-1},ci为顶点vi处的曲率值,ci为所述高斯曲率、平均曲率和两个主曲率中的一种,max()和min()分别为计算最大值和最小值的函数,vi为第i个顶点,i为第i个顶点的序号。

为了实现本发明的另一发明目的,本发明还提供了一种三维人脸上基于曲率分布的鼻尖点的检测系统,所述检测系统包括:

计算模块,用于构造三维人脸的网格曲面,计算所述网络曲面上的顶点的曲率及曲率分布,并绘制所述曲率对应的曲率直方图;

过滤模块,用于根据所述曲率分布与所述曲率直方图的连通性对所述顶点进行三重滤波处理,获得过滤后的顶点集;

获取模块,用于在所述过滤后的顶点集上拟合人脸主平面,并将所述人脸主平面上获取平面区域中的法向上的顶点定位为所述鼻尖点。

根据所述的检测系统,所述计算模块包括:

构造子模块,用于对获取的三维人脸的图像进行初始化,构造所述三维人脸图像的网格曲面;

第一计算子模块,用于对所述网格曲面进行去噪处理,并且计算所述网络曲面上的顶点的高斯曲率、平均曲率以及两个主曲率

第二计算子模块,用于采用所述高斯曲率或者平均曲率或者两个主曲率计算对应的曲率分布,并绘制对应的曲率直方图。

根据所述的检测系统,所述过滤模块包括:

第一滤波子模块,用于设定所述曲率直方图的上阈值th_t和下阈值th_b,根据所述曲率分布对所述曲率滤波;

分类子模块,用于根据所述曲率直方图的上阈值th_t和下阈值th_b将所述顶点分成三类,其中,小于所述下阈值th_b的顶点集为顶点集VS0,处于所述下阈值th_b和上阈值th_t之间顶点集为顶点集VS1,大于所述上阈值th_t的顶点集为顶点集VS2;

第二滤波子模块,在所述顶点集VS0和顶点集VS2中,根据所述曲率直方图的连通性查找联通区域,对所述联通区域中的联通分量进行滤波,并只保留所述联通分量中的最大联通分量VS3,将所述最大联通分量VS3中的顶点集标记为VM;

第三滤波子模块,在所述顶点集VM中再次滤波,从所述顶点集VM中过滤掉所述顶点集VS2中的顶点集VS3,并只保留所述顶点集VM中的所述顶点集VS0中的顶点集VS4,并计算所述顶点集VS4的包围盒,标记为包围盒Box0。

根据所述的检测系统,所述获取模块包括:

拟合子模块,用于在所述顶点集VS4上拟合人脸主平面p0,并取所述包围盒Box0中的平面区域p1。

鼻尖点确定子模块,用于在所述平面区域上p1中,取平面p1法向上最前的顶点定为人脸的鼻尖点。

根据所述的检测系统,所述曲率直方图为:

FRE={fre0,fre1,…,freM-1},

其中frej为FRE中的第j个元素,j∈{0,1…,M-1},N为顶点总数,M为直方图的等级数,len=(Cmax-Cmin),最大曲率Cmax={c|c=maxi∈v(ci)},最小曲率Cmin={c|c=mini∈v(ci)},v为顶点序号的集合{0,1,2…,N-1},ci为顶点vi处的曲率值,ci为所述高斯曲率、平均曲率和两个主曲率中的一种,max()和min()分别为计算最大值和最小值的函数,vi为第i个顶点,i为第i个顶点的序号。

本发明的通过构造三维人脸的网格曲面,计算所述网络曲面上的顶点的曲率及曲率分布,并绘制所述曲率对应的曲率直方图;然后根据所述曲率分布与所述曲率直方图的连通性对所述顶点进行三重滤波处理,获得过滤后的顶点集;最后,在所述过滤后的顶点集上拟合人脸主平面,并将所述人脸主平面上获取平面区域中的法向上的顶点定位为所述鼻尖点。由此,可以使鼻尖点的检测更为简便,具体的不需要投影,不需要对齐,直接进行计算,算法的时间复杂度低,O(nlogn),对四种曲率而言,高斯曲率、平均曲率和最大主曲率效果较好。

附图说明

图1是本发明实施例提供的三维人脸上基于曲率分布的鼻尖点的检测系统的结构图;

图2是本发明实施例提供的三维人脸上基于曲率分布的鼻尖点的检测系统的结构图;

图3A是本发明实施例提供的高斯曲率计算示意图;

图3B是本发明实施例提供的平均曲率计算示意图;

图4A是本发明实施例提供的顶点P处的Voronoi面积示意图;

图4B是本发明实施例提供的顶点P处的Voronoi面积示意图;

图4C是本发明实施例提供的顶点P处的Voronoi面积示意图;

图5A是本发明实施例提供的原始人脸示意图;

图5B是本发明实施例提供的三维人脸表面的平均曲率分布示意图;

图5C是本发明实施例提供的带通滤波后的曲率分布示意图;

图5D是本发明实施例提供的曲率分布的最大联通分量示意图;

图5E是本发明实施例提供的人脸主平面示意图;

图5F是本发明实施例提供的原始人脸的主平面

图5G是本发明实施例提供的鼻尖点探测结果示意图;

图6是本发明实施例提供的三维人脸上基于曲率分布的鼻尖点的检测方法流程图;

图7是本发明实施例提供的三维人脸上基于曲率分布的鼻尖点的检测方法流程图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

参见图1,在本发明的第一实施例中,提供了一种三维人脸上基于曲率分布的鼻尖点的检测系统100,其特征在于,检测系统100包括:

计算模块10,用于构造三维人脸的网格曲面,计算所述网络曲面上的顶点的曲率及曲率分布,并绘制所述曲率对应的曲率直方图;

过滤模块20,用于根据所述曲率分布与所述曲率直方图的连通性对所述顶点进行三重滤波处理,获得过滤后的顶点集;

获取模块30,用于在所述过滤后的顶点集上拟合人脸主平面,并将所述人脸主平面上获取平面区域中的法向上的顶点定位为所述鼻尖点。

在该实施例中,由于三维人脸扫描中很难得到单纯的三维人脸,并且三维人脸的姿态并不确定,如何在不同姿态的人脸点云中探测三维人脸,用什么特征能稳定得到脸区是关键问题,而该实施例的技术方案主要解决在三维人脸上探测鼻尖点的问题。具体的,首先计算模块10构造三维人脸的网格曲面,计算所述网络曲面上的顶点的曲率及曲率分布,并绘制所述曲率对应的曲率直方图;过滤模块20则根据所述曲率分布与所述曲率直方图的连通性对所述顶点进行三重滤波处理,获得过滤后的顶点集;最后获取模块30在所述过滤后的顶点集上拟合人脸主平面,并将所述人脸主平面上获取平面区域中的法向上的顶点定位为所述鼻尖点。即在几何上,鼻尖点在正脸方向是最突出的点,可充分利用这一先验特征实现本对鼻尖点的检测。曲率在人脸上的分布尤其特点,在曲面变换平缓的区域其变化很小,而在曲面变换剧烈的区域变换较大,比如鼻区、眼区和嘴区。利用曲率的分布探测脸区。用三维扫描仪得到的三维人脸,并非单纯存在人脸数据,还会有头发、颈部、肩部等,可能也存在衣物的影像,通过验证发现,鼻区眼区和嘴区较大和较小曲率的分布具有一致性和连通性,而且占据的区域最大,利用这一特点将脸区区别于其他区域。

参见图2,在本发明的第二实施例中,所述计算模块10包括:

构造子模块11,用于对获取的三维人脸的图像进行初始化,构造所述三维人脸图像的网格曲面;

第一计算子模块12,用于对所述网格曲面进行去噪处理,并且计算所述网络曲面上的顶点的高斯曲率、平均曲率以及两个主曲率

第二计算子模块13,用于采用所述高斯曲率或者平均曲率或者两个主曲率计算对应的曲率分布,并绘制对应的曲率直方图。

所述过滤模块20包括:

第一滤波子模块21,用于设定所述曲率直方图的上阈值th_t和下阈值th_b,根据所述曲率分布对所述曲率滤波;

分类子模块22,用于根据所述曲率直方图的上阈值th_t和下阈值th_b将所述顶点分成三类,其中,小于所述下阈值th_b的顶点集为顶点集VS0,处于所述下阈值th_b和上阈值th_t之间顶点集为顶点集VS1,大于所述上阈值th_t的顶点集为顶点集VS2;

第二滤波子模块23,在所述顶点集VS0和顶点集VS2中,根据所述曲率直方图的连通性查找联通区域,对所述联通区域中的联通分量进行滤波,并只保留所述联通分量中的最大联通分量VS3,将所述最大联通分量VS3中的顶点集标记为VM;

第三滤波子模块24,在所述顶点集VM中再次滤波,从所述顶点集VM中过滤掉所述顶点集VS2中的顶点集VS3,并只保留所述顶点集VM中的所述顶点集VS0中的顶点集VS4,并计算所述顶点集VS4的包围盒,标记为包围盒Box0。

所述获取模块30包括:

拟合子模块31,用于在所述顶点集VS4上拟合人脸主平面p0,并取所述包围盒Box0中的平面区域p1。

鼻尖点确定子模块32,用于在所述平面区域上p1中,取平面p1法向上最前的顶点定为人脸的鼻尖点。

在该实施例中,构造子模块11对获取的三维人脸的图像初始化,包括构造网格曲面,第一计算子模块12去噪和计算顶点曲率,包括高斯曲率,平均曲率和两个主曲率。第二计算子模块13计算曲率分布。

其中,曲率的计算公式:

高斯曲率:

平均曲率:H(vi)=(∑j∈N(i)(cotαij+cotβij)(vi-vj))/Avoronoi (2)

其中公式(1)中vi为曲面上的第i个顶点,N为顶点Pi的邻接三角形数量,θj为第j个邻接三角形顶点vi的角度,Avoronoi为所有邻接三角形在顶点vi处的Voronoi图形面积之和,请见说明书附图3A-图3B。公式(2)中vi、vj分别为曲面上第i个和第j个顶点,N(i)为顶点vi的邻接顶点集合,αij和βij为两个邻接三角形中边ij的两个对角,Avoronoi为所有邻接三角形在顶点vi处的Voronoi图形面积之和,请见说明书附图4B,Avoronoi的计算请见说明书附图4A~图4C和说明书附图5A~图5G。具体的,从图5A所示为原始人脸开始,经过平均曲率分布计算后,获得图5B三维人脸表面的平均曲率分布;之后经过带通滤波后的曲率分布,如图5C所示;接着再进行曲率分布的最大联通分量处理,如图5D所示;接着依次提取人脸主平面和原始人脸的主平面,如图5E和图5F所示,最后探测到鼻尖点,如图5G箭头所示处即为鼻尖所示。

主曲率:其中H(v)和G(v)分别是顶点v处的平均曲率和高斯曲率。

在完成曲率计算后,第一滤波子模块21设定所述曲率直方图上阈值th_t和下阈值th_b,根据曲率分布对曲率滤波,分类子模块22根据th_t和th_b对顶点分成三类,小于th_b的顶点集VS0,th_b和th_t之间顶点集VS1以及大于th_t的顶点集VS2。第二滤波子模块23在顶点集VS0和顶点集VS2中根据图(请问是什么图)的连通性查找联通区域,对联通分量进行滤波,只保留最大联通分量,其顶点集标记为VM。第三滤波子模块24在顶点集VM中再次滤波,从VM中过滤掉VS2中的顶点集VS3,只保留VM中VS0中的顶点集VS4,其包围盒标记为Box0。

其中,曲率直方图定义为:

FRE={fre0,fre1,…,freM-1},

其中frej为FRE中的第j个元素,j∈{0,1…,M-1},N为顶点总数,M为直方图的等级数,len=(Cmax-Cmin),最大曲率Cmax={c|c=maxi∈v(ci)},最小曲率Cmin={c|c=mini∈v(ci)},v为顶点序号的集合{0,1,2…,N-1},ci为顶点vi处的曲率值,ci为所述高斯曲率、平均曲率和两个主曲率中的一种,max()和min()分别为计算最大值和最小值的函数,vi为第i个顶点,i为第i个顶点的序号。

而顶点集分类为:

顶点集VS0,VS0={vi|Ci≤th_b},0≤i<N};

顶点集VS1,VS1={vi|th_b<Ci<th_t},0≤i<N};

顶点集VS2,VS2={vi|Ci≥th_t},0≤i<N};

其中Ci为顶点vi处的曲率,N为顶点总数,i为正整数,th_b、th_t分别为曲率直方图的下阈值和上阈值。

而连通子集以及最大连通子集为:

VM=Max(len(VCi))

其中VCi为三维人脸上第i个连通子集,P(vk vh)为顶点vk、vh间的通道长度,VM为最大联通子集,Max()为最大值函数,Len()计算连通图子集顶点数量。

最大联通分量过滤为:

VS4=VM∩VS0;

Box0={P0 P1},P0=(x0 y0 z0),P1=(x1 y1 z1);

x0=maxX(vi),x1=minX(vi),y0=maxY(vi),

y1=minY(vi),z0=maxZ(vi),z1=minZ(vi)

vi∈VS4

最后,拟合子模块31在顶点集VS4上拟合人脸主平面p0,取包围盒Box0中的平面区域p1。鼻尖点确定子模块32在平面区域上p1中,平面p1法向上最前的顶点定为鼻尖点Nosetip。

其中,人脸主平面

p0:ax+by+cz+d=0,(a,b,c)为人脸主要平面p0的法向,

p1:ax+by+cz+d=0,x0≤x≤x1,y0≤y≤y1,z0≤z≤z1

(x0y0z0),(x1y1z1),分别是Box0的两个主对角顶点,p0为顶点集VS4上拟合人脸主平面,p1为包围盒Box0中的平面区域。

鼻尖点定义:

Nosetip:Max(f(p)),其中f(p)=ax+by+cz+d,p为人脸上包围盒Box0中的一个顶点,(x,y,z)为其坐标。

由于鼻区曲率的分布存在两极分化,上部曲率值较大,边缘区曲率较小,但因为噪声的影像,相比于曲率较大的区域,曲率较小的区域分布更加稳定,通过利用曲率值较小的曲率探测脸区以及利用高斯曲率、平均曲率和最大主曲率实现探测鼻尖点的效果非常显著。

在上述多个实施例中,该检测系统100可以是软件单元,硬件单元或软硬件结合单元。

参见图6,在本发明的第三实施例中,提供了一种三维人脸上基于曲率分布的鼻尖点的检测方法,所述检测方法包括如下步骤:

步骤S601中,计算模块10构造三维人脸的网格曲面,计算所述网络曲面上的顶点的曲率及曲率分布,并绘制所述曲率对应的曲率直方图;

步骤S602中,过滤模块20根据所述曲率分布与所述曲率直方图的连通性对所述顶点进行三重滤波处理,获得过滤后的顶点集;

步骤S603中,获取模块30在所述过滤后的顶点集上拟合人脸主平面,并将所述人脸主平面上获取平面区域中的法向上的顶点定位为所述鼻尖点。

在该实施例中,首先计算模块10构造三维人脸的网格曲面,计算所述网络曲面上的顶点的曲率及曲率分布,并绘制所述曲率对应的曲率直方图;过滤模块20则根据所述曲率分布与所述曲率直方图的连通性对所述顶点进行三重滤波处理,获得过滤后的顶点集;最后获取模块30在所述过滤后的顶点集上拟合人脸主平面,并将所述人脸主平面上获取平面区域中的法向上的顶点定位为所述鼻尖点。

在本发明的第四实施例中,所述步骤S601包括:

构造子模块11对获取的三维人脸的图像进行初始化,构造所述三维人脸图像的网格曲面;

第一计算子模块12对所述网格曲面进行去噪处理,并且计算所述网络曲面上的顶点的高斯曲率、平均曲率以及两个主曲率

第二计算子模块13采用所述高斯曲率或者平均曲率或者两个主曲率计算对应的曲率分布,并绘制对应的曲率直方图。

所述曲率直方图为:

FRE={fre0,fre1,…,freM-1},

其中frej为FRE中的第j个元素,j∈{0,1…,M-1},N为顶点总数,M为直方图的等级数,len=(Cmax-Cmin),最大曲率Cmax={c|c=maxi∈v(ci)},最小曲率Cmin={c|c=mini∈v(ci)},v为顶点序号的集合{0,1,2…,N-1},ci为顶点vi处的曲率值,ci为所述高斯曲率、平均曲率和两个主曲率中的一种,max()和min()分别为计算最大值和最小值的函数,vi为第i个顶点,i为第i个顶点的序号。

所述步骤602包括:

第一滤波子模块21设定所述曲率直方图的上阈值th_t和下阈值th_b,根据所述曲率分布对所述曲率滤波;

分类子模块22根据所述曲率直方图的上阈值th_t和下阈值th_b将所述顶点分成三类,其中,小于所述下阈值th_b的顶点集为顶点集VS0,处于所述下阈值th_b和上阈值th_t之间顶点集为顶点集VS1,大于所述上阈值th_t的顶点集为顶点集VS2;

第二滤波子模块23在所述顶点集VS0和顶点集VS2中,根据所述曲率直方图的连通性查找联通区域,对所述联通区域中的联通分量进行滤波,并只保留所述联通分量中的最大联通分量VS3,将所述最大联通分量VS3中的顶点集标记为VM;

第三滤波子模块24在所述顶点集VM中再次滤波,从所述顶点集VM中过滤掉所述顶点集VS2中的顶点集VS3,并只保留所述顶点集VM中的所述顶点集VS0中的顶点集VS4,并计算所述顶点集VS4的包围盒,标记为包围盒Box0。

所述步骤S603包括:

拟合子模块31在所述顶点集VS4上拟合人脸主平面p0,并取所述包围盒Box0中的平面区域p1。

鼻尖点确定子模块32在所述平面区域上p1中,取平面p1法向上最前的顶点定为人脸的鼻尖点。

在该实施例中,构造子模块11对获取的三维人脸的图像初始化,包括构造网格曲面,第一计算子模块12去噪和计算顶点曲率,包括高斯曲率,平均曲率和两个主曲率。第二计算子模块13计算曲率分布。

其中,曲率的计算公式:

高斯曲率:

平均曲率:H(vi)=(∑j∈N(i)(cotαij+cotβij)(vi-vj))/Avoronoi (2)

其中公式(1)中vi为曲面上的第i个顶点,N为顶点Pi的邻接三角形数量,θj为第j个邻接三角形顶点vi的角度,Avoronoi为所有邻接三角形在顶点vi处的Voronoi图形面积之和,请见说明书附图3A。公式(2)中vi、vj分别为曲面上第i个和第j个顶点,N(i)为顶点vi的邻接顶点集合,αij和βij为两个邻接三角形中边ij的两个对角,Avoronoi为所有邻接三角形在顶点vi处的Voronoi图形面积之和,请请见说明书附图4B,Avoronoi的计算请见说明书附图4A~图4C和说明书附图5A~图5G。具体的,从图5A所示为原始人脸开始,经过平均曲率分布计算后,获得图5B三维人脸表面的平均曲率分布;之后经过带通滤波后的曲率分布,如图5C所示;接着再进行曲率分布的最大联通分量处理,如图5D所示;接着依次提取人脸主平面和原始人脸的主平面,如图5E和图5F所示,最后探测到鼻尖点,如图5G中箭头所示处即为鼻尖所示。

主曲率:其中H(v)和G(v)分别是顶点v处的平均曲率和高斯曲率。

在完成曲率计算后,第一滤波子模块21设定所述曲率直方图上阈值th_t和下阈值th_b,根据曲率分布对曲率滤波,分类子模块22根据th_t和th_b对顶点分成三类,小于th_b的顶点集VS0,th_b和th_t之间顶点集VS1以及大于th_t的顶点集VS2。第二滤波子模块23在顶点集VS0和顶点集VS2中根据图(请问是什么图)的连通性查找联通区域,对联通分量进行滤波,只保留最大联通分量,其顶点集标记为VM。第三滤波子模块24在顶点集VM中再次滤波,从VM中过滤掉VS2中的顶点集VS3,只保留VM中VS0中的顶点集VS4,其包围盒标记为Box0。

其中,曲率直方图定义为:

FRE={fre0,fre1,…,freM-1},

其中frej为FRE中的第j个元素,j∈{0,1…,M-1},N为顶点总数,M为直方图的等级数,len=(Cmax-Cmin),最大曲率Cmax={c|c=maxi∈v(ci)},最小曲率Cmin={c|c=mini∈v(ci)},v为顶点序号的集合{0,1,2…,N-1},ci为顶点vi处的曲率值,ci为所述高斯曲率、平均曲率和两个主曲率中的一种,max()和min()分别为计算最大值和最小值的函数,vi为第i个顶点,i为第i个顶点的序号。

而顶点集分类为:

顶点集VS0,VS0={vi|Ci≤th_b},0≤i<N};

顶点集VS1,VS1={vi|th_b<Ci<th_t},0≤i<N};

顶点集VS2,VS2={vi|Ci≥th_t},0≤i<N};

其中Ci为顶点vi处的曲率,N为顶点总数,i为正整数,th_b、th_t分别为曲率直方图的下阈值和上阈值。

而连通子集以及最大连通子集为:

VM=Max(len(VCi))

其中VCi为三维人脸上第i个连通子集,P(vk vh)为顶点vk、vh间的通道长度,VM为最大联通子集,Max()为最大值函数,Len()计算连通图子集顶点数量。

最大联通分量过滤为:

VS4=VM∩VS0;

Box0={P0 P1},P0=(x0 y0 z0),P1=(x1 y1 z1);

x0=max X(vi),x1=min X(vi),y0=maxY(vi),

y1=minY(vi),z0=maxZ(vi),z1=minZ(vi),

vi∈VS4

最后,拟合子模块31在顶点集VS4上拟合人脸主平面p0,取包围盒Box0中的平面区域p1。鼻尖点确定子模块32在平面区域上p1中,平面p1法向上最前的顶点定为鼻尖点Nosetip。

其中,人脸主平面

p0:ax+by+cz+d=0,(a,b,c)为人脸主要平面p0的法向,

p1:ax+by+cz+d=0,x0≤x≤x1,y0≤y≤y1,z0≤z≤z1

,(x0y0z0),(x1y1z1)分别是Box0的两个主对角顶点,p0为顶点集VS4上拟合人脸主平面,p1为包围盒Box0中的平面区域。

鼻尖点定义:

Nosetip:Max(f(p)),其中f(p)=ax+by+cz+d,p为人脸上包围盒Box0中的一个顶点,(x,y,z)为其坐标。

在上述多个实施例中所提供的检测方法,其优势在于不需要投影,不需要对齐,直接进行计算,算法的时间复杂度低,O(nlogn),对四种曲率而言,高斯曲率、平均曲率和最大主曲率效果较好。

三维人脸上曲率的分布有其规律性,鼻区、眼区和嘴区是最大最小曲率的集中区域,本发明根据面部曲率分布特点,利用曲率最大最小分布和三维人脸网格的连通性对顶点进行了三次滤波处理,拟合脸区主平面,定位鼻尖点的方法,其算法流程如图7所示

步骤S701,三维人脸的初始化,包括构造网格曲面,去噪和计算顶点曲率,包括高斯曲率,平均曲率和两个主曲率。

步骤S702,计算曲率分布。

步骤S703,设定上阈值th_t和下阈值th_b,根据曲率分布对曲率滤波,根据th_t和th_bz对顶点分成三类,小于th_b的顶点集VS0,th_b和th_t之间顶点集VS1以及大于th_t的顶点集VS2。

步骤S704,在顶点集VS0和顶点集VS2中根据三维人脸网格的连通性查找联通区域,对联通分量进行滤波,只保留最大联通分量,其顶点集标记为VM。

步骤S705,在顶点集VM中再次滤波,从VM中过滤掉VS2中的顶点集VS3,只保留VM中VS0中的顶点集VS4,其包围盒标记为Box0。

步骤S706,在顶点集VS4上拟合人脸主平面p0,取包围盒Box0中的平面区域p1。

步骤S707,在平面区域上p1中,平面p1法向上最前的顶点定为鼻尖点Nosetip。

在该实施例中,为了验证该算法的有效性,在三维人脸的网格模型上进行了相应实验。实验计算了所有点的高斯曲率、平均曲率和主曲率,根据曲率分布与图的连通性对顶点进行了三次滤波处理,实验中th_b和th_t分别为0.2和0.8,高斯曲率、平均曲率也有相似的效果。

综上所述,本发明的通过构造三维人脸的网格曲面,计算所述网络曲面上的顶点的曲率及曲率分布,并绘制所述曲率对应的曲率直方图;然后根据所述曲率分布与所述曲率直方图的连通性对所述顶点进行三重滤波处理,获得过滤后的顶点集;最后,在所述过滤后的顶点集上拟合人脸主平面,并将所述人脸主平面上获取平面区域中的法向上的顶点定位为所述鼻尖点。由此,可以使鼻尖点的检测更为简便,具体的不需要投影,不需要对齐,直接进行计算,算法的时间复杂度低,O(nlogn),对四种曲率而言,高斯曲率、平均曲率和最大主曲率效果较好。

当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

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