基于人脸识别的三维骨骼模型构造
扫描二维码
随时随地手机看文章
摘要:传统的人脸识别方法,都是基于人脸的二维与非刚性编码技术,存在着较为明显的缺陷。因此,提出一种三维人脸骨骼识别框架,主要解决了三维人脸姿态的规范化。实验表明,可以有效地提高人脸的识别率。
关键词:人脸骨骼识别;测地距离;PCA
0 引言
当前的人脸识别系统,采用了多种不同的构造模型。如主流构造模型有基于器官的方法和基于模板的方法来构造模型,但它们都存在一个共同的特点,就是构造的对象都非刚性,必然受到光照、表情、服饰或其它遮隐物的影响,计算复杂,识别率不高。本文提出了一种采用骨骼模型构造三维人脸模型的方式,构造的对象是刚性物体,克服了人脸形变所带来的识别率不高的问题。
1 人脸骨骼模型的获取
现在,国外有许多X光机,可以直接拍摄人脸的三维骨骼,如图1所示,就是X光机拍摄到的人体骨骼。
为了获取人脸的三维骨骼模型,将人脸骨骼切割出来。利用三维人脸骨骼所有顶点以及顶点方向分布,将三维人脸骨骼顶点集合设定为最小二乘拟合平面。
在最小二乘拟合平面中,首先定位出原始模型的鼻尖骨点,然后按照测地距离度量,切割原始三维人脸骨骼模型,得到三维人脸骨骼模型,最后估计三维人脸骨骼模型姿态,并将其旋转至规范的正面姿态。
1.1 定位鼻尖点
为了定位三维人脸模型,必须先确定某点为参考点。对给定的人脸骨骼,利用最小二乘方法拟合一个过人脸骨骼模型所有顶点的平面,如图2所示。
将人脸骨骼切割为两部分,在位于最小拟合二乘平面上的那部分点集中寻找距离最小二乘拟合平面最远的顶点,记为三维人脸模型的鼻尖点。
在定位了三维人脸骨骼模型之后,需要对原始模型做处理,定位出提取识别中起关键作用的面部骨骼区域,以便于人脸规范化与后续的比对处理。
1.2 测地距离的计算
人脸骨骼并不是一个刚性物体,它的某些部位(如下颌骨)会随表情的变化而发生变形。文献认为由于表情变化引起的人脸(骨骼)变形可以看作是一个等距(保长)的变换。这些变换并不拉伸与破坏面部骨骼曲面,或者更严格地说,它不改变面部骨骼曲面上的度量,因此人脸骨骼曲面的一些内在几何属性是与表情无关的。从而,为了得到人脸的一个表情无关的表示,也等价于寻找人脸骨骼曲面的一个等距表示。文献在人脸上放置了133个标记点,并且跟踪由于表情变化引起的这些点之间的距离变化。实验结果表明由于表情变化引起的测地距离的改变量不到欧氏距离改变量的1/2,当然对人脸骨骼的影响更小,几乎可以忽略不计。
在文献中,sethlan(1996)提出了一个高效的数值计算格式,称为Fast Marching Method(FMM),它能够在O(N)步内计算一个平面上从一个源点到另外N个点的距离。FMM是基于求解短时矩方程(eikonal euqation)的迎风格式的差分逼近,短时矩方程是wave propagation equat-ion‖(x)=1 ‖的微分形式,其中v:表示从源点s1,…,sk开始的距离映射函数,v(si)=O为上述方程的边界条件。距离映射从源点出发,逐步向外传播。
在文献中FMM被扩展到三角网格流形(TMTD)上。经典的FMM是在矩形网格上进行的,每次被更新的网格点都包含在—个直角三角形中。在三角网格流形的情形中,主要针对锐角三角形进行处理,如果要更新的网格点包含在一个钝角三角形中,文献提出了一个通过展开邻近三角片的方法来分裂钝角三角形。本文求解测地距离的方法基于文献。
1.3 测地模型
在前期处理阶段,我们需要提取三维人脸骨骼模型的面部区域。关键在于首先要在人脸骨骼上定位一个位置固定的源点,本文使用上一小节定位出的鼻尖点作为源点。其次需要找到在源点周围的一个等距(在测地距离意义下)区域。测地模型为该区域的内部,原始三维人脸骨骼模型中在该区域外面的点都被移除。这能保证我们在几何连续的意义下切割得到人脸骨骼的面部区域,同时由于采用测地距离度量,因此切割得到的人脸骨骼面部区域不受表情的影响。
测地模型是通过计算环绕三维人脸鼻尖点的一个区域而得到的,如图3所示。测地模型的半径是经验数据,是多次试验结果的总结,半径在80~110mm范围内波动,本文使用100毫米。我们使用Fast Marching Method来计算测地距离,切割之后得到的测地模型包含大约4 000~5 000个顶点。
2 三维人脸骨骼模型的规范化
得到测地模型之后,主要通过对测地模型做PCA分析,估计并校准人脸骨骼姿态。令S(P,K)表示人脸测地模型,其中P表示N个点pi的集合,,1≤i≤N,K是一个抽象单纯复形(alstract Simplicial complex),它包含与顶点pi相关的一些信息:顶点v={i}∈K,{i,j}∈K以及三角面f={i,J,k}∈K。令Os表示三维人脸测地模型S(P,K)的质心,我们首先计算测地模型顶点分布的协方差矩阵如下:
通过对C做主成分分析(PCA),我们得到C的三个特征值λ1≥λ2≥λ3,以及与这三个特征值相对应的三个特征向量v1,v2,v3。通常人脸骨骼都会比较长,也就是说人脸骨骼垂直方向的长度大于水平方向的长度。因此,协方差阵C会有三个不同的特征向量。特征向量v3表示测地模型的最小二乘拟合平面的法向量,特征向量v1,表示测地模型垂直方向,特征向量v2对应与测地模型的水平方向。PCA算法的复杂度为O(N)。
取Os为原点,v1为坐标x-轴,v3为坐标z-轴,我们定义一个新的右手坐标系。这个坐标系反映了人脸骨骼的姿态,并且只与三维人脸骨骼模型的顶点分布有关。通过将测地模型旋转到这个新的坐标系下,可以达到校准人脸骨骼姿态的目的。过程如下:
其中A表示从原始坐标系旋转到新坐标系的旋转矩阵,A中的V表示C的特征向量v1,v2,v3的分量。效果如图4所示。
测地模型在三维人脸的规范化在后续比对中起到了非常重要的作用。
3 实验结果
为检测本构造在人脸识别中的识别率,我们采用平均的Hausdorff距离(MHD),进行相似性比对,在相同条件进行5组,每组100次蒙特卡洛仿真,比较基于特征的人脸识别与基于模板的人脸识别率,得到识别率如表1所示。
4 结论
本文构造了一种三维人脸骨骼模型,它以三维人脸骨骼的拟合平面和鼻尖定位作为模型的基本骨架,通过测地模型的计算,消除了人脸姿态的变化,然后作PCA分析,归一化人脸骨骼标准坐标进行识别,实验表明,该方法可以提高人脸的识别率。