发明内容
本发明的目的是提供一种基于ASM算法的人脸特征点采集及三维人脸建模方法,解决了现有技术中存在的三维人脸识别不够精准的问题。
本发明基于ASM算法的人脸特征点采集及三维人脸建模方法,首先对人脸特征进行采集,然后在人脸特征点采集的基础上,提出一种依据计算机双目立体视觉的三维人脸建模技术,其结合计算机标定,通过两张二维人脸图片,利用双目立体视觉方法,对人脸特征点的三维坐标进行塑造,最后利用OpenGL软件实现三维人脸模型的塑造。
本发明采用的技术方案是以下步骤:
步骤1,人脸特征采集,对采集样本的训练集特征点进行手工标定,再在同一坐标中完成训练集中全部形状的校准,采用依据三角形特征的自动定位技术,同时通过准确的重要的特征完成人脸特征的精准定位,采用全局纹理信息对局部特征点搜索效果进行优化,从而实现人脸特征的统计分析;
步骤2:设置用于建模的设备参数;
步骤3:三维人脸建模,通过双目立体视觉理论对人脸正面及侧脸的图像特征点进行提取,通过两张不同坐标系下的人脸图像合成一个三维人脸模型。
进一步,所述步骤1对采集样本的训练集特征点进行标定方法为:首先搜集n个训练样本并手动记录下每个训练样本中的K个关键特征点,构建训练集的形状向量如下所示:
其中,表示第i个训练样本上第k个特征点的坐标n表示训练样本的个数;
其次:计算平均形状向量及方差矩阵并将其按从大到小依次排序,完成形状向量进行PCA处理,求取特征点的均值和方差,以便获得局部特征之间的距离,构建局部特征:
(1)平均形状向量:
(2)协方差矩阵:
(3)排序:
(4)均值:
(5)方差:
(6)局部特征距离:fsim=(g-gi)·(g-gi)T
其中:n表示训练样本的个数,T样本参数向量,P为最大样本数,j为常数,gij为局部纹理,g为整体纹理,最后,构建初始模型,完成ASM算法优化,其公式如下所示
:X=M(s,θ)[ai]+Xc
其中,M为平均形状,M(s,θ)为平均形状以其中心逆时针旋转θ缩放s,[ai]为训练集的形状向量,Xc为平移距离。
进一步,所述步骤1三角形特征的自动定位技术的步骤为:
(1)首先在人脸图像的范围内,通过PCA特征采集技术对人脸嘴唇的大致位置(x3,y3)进行确定,将该位置看作是初始位置的一个点,从而实现人脸位置的确定;
(2)将该位置作为一个矩形框的左下顶点,基于人脸先验概率提供的相应尺寸,设定上述矩形框的长宽比和与之对应的长度,再对该图形进行平滑操作,通过下式求出上述初始矩形区域内像素的平均灰度值Imean;
式中,w0与h0依次用于描述初始矩形框的长和宽;
(3)在矩形框长宽比不发生改变的条件下,沿右上方延伸一个像素的步长;针对经平滑处理后的图像,获取矩形右侧及上侧边缘线上灰度值最小的像素点,其灰度值用Im.h进行描述;
(4)求出矩形框平均灰度值和Im.h之间的差值,将其和统计获取的特定阀值D相较;若Imean-Im.h<D,则上述矩形框没有抵达瞳孔区,需继续进行矩形延伸,否则,矩形框已抵达瞳孔区;
(5)通过灰度值最小像素点所处位置对瞳孔所在的大致区域进行判断;
(6)在上述区域中,对每个像素点在某一固定矩形区域中完成高斯卷积计算,将经高斯卷积计算后,图像中像素灰度值最小的点看作是瞳孔中心,用(x1,y1),(x2,y2)进行描述。
进一步,所述步骤1采用全局纹理信息对局部特征点搜索效果进行优化步骤:
首先将形状范围内的纹理变形至平均形状中,同时对其进行归一化操作,获取变形后的纹理向量,用g进行描述,再在纹理模型空间中对获取的纹理向量进行重构,获取经重构后的纹理:其中,为纹理模型的部分向量,求出向量gr和重构值gr之间的欧氏距离d=dist(g,gr),形成纹理差,最后依据该纹理差对形状调整和局部纹理搜索在迭代时是否采用ASM的搜索结果进行判断,如果和上一循环相比匹配度升高,则采用上述方法继续完成搜索,否则,采用依据全局纹理的搜索方法,并对获取的结果进行评估,直至达到最佳匹配度,再重新采用ASM搜索策略,交替采用上述两种方法,直至匹配度达到最高。
进一步,所述步骤2中设置用于建模的设备参数方法:
摄像机:数据输出端是IEEE1394接口,最大分辨率是659*493像素,最大采集帧率是60帧/秒,图像类型为灰度图像;
采集和处理设备:手提电脑,CPU为Pentium2.4-GHz,内容量是256MB,软件开发工具是微软的VisualC++6.0。
进一步,所述步骤3中引入相似性约束,从而减少三维坐标的歧义性:
1)首先完成三维人脸数据点的三角剖分;
2)确定相似性约束向量,将三角剖分的角度看作是唯一相似性约束向量,求出三角形边长,同时将其看作是几何相似性约束向量;
3)确定相似性约束判别公式:S=S1+S2,其中,S1用于描述唯一相似性的约束函数值,S2用于描述几何相似性约束函数值,同时有,
式中,θi与di用于描述待检测样本特征向量的第i个特征分量;θi'与di'用于描述三维人脸模型中第i个标准特征分量;ki用于描述第i个特征分量的权值,θi用于描述人脸三维模型特征点的角度,d用于描述空间三角形的边长,同时,
其中,x1、y1、z1与x2、y2、z2为三维模型中两个点的的空间坐标值。
对相似性约束函数值S及阈值S'进行比较,从而确定三维人脸特征点建立的有效性,若S<S',则获取的特征点有效,否则,重新采集三维特征点。
本发明的有益效果是,依据双目立体视觉理论,完成了初步三维人脸模型轮廓的塑造。首先对采集人脸图像的摄像机进行标定,获取用于建模的摄像机参数。再依据双目立体视觉理论,结合摄像机参数,通过两张不同坐标系下的人脸图像合成一个三维人脸模型。同时为了验证上述模型的可靠性,在实验中引入相似度约束条件。经试验验证,本发明可高效实现采集、特征提取以及三维建模的工作,完全符合各领域对图像识别的需求,能够有效可靠的实现人脸建模。
本发明的双目立体视觉理论,在原有算法中加入准确的约束条件,提出了一种高效的三维人脸建模技术。该技术不仅可高效的完成三维人脸建模,还可避免因为二维人脸图片中提取特征点不准确造成的三维人脸建模效果差的弊端。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
下面列举具体实施例进行说明:
步骤1,人脸特征采集,首先用用Matlab工具箱对采集人脸图像的摄像机进行标定,并对ASM算法进行优化,为获取人脸图像关键特征点做准备。
对采集样本的训练集特征点进行标定,再在同一坐标中完成训练集中全部形状的校准,从而实现人脸特征的统计分析。
假设存在两个相似的形状x1与x2,如图1所示,上图人脸为x1,下图人脸为x2:
为了达到将x2变成M(x2)+t时,使得训练值达到最小,需获取旋转角度θ、缩放因子s和平移矢量 的值,tx、ty为平移矢量中的平移分量,W为常数。
当E值最小时,也就是:
E=[X1-(M(s,θ)X2+t)]TW[X1-(M(s,θ)X2+t)]2-(1)
取最小值。
其中,M为平均形状,X1、X2为初始模型中的模式分量。
其中,M(s,θ)用于描述一个对角矩阵,xjk用于描述特征点j在k时刻相应的权值,yjk用于描述点j在k时刻相应的阈值。同时,
其中,Distance(K,l)描述第K点与第l点之间的距离,则Variance(K,l)用于描述训练集中全部Distance(K,l)的方差。
为了便于运算,假设:
其中,s为缩放因子。
则可获取下述线性方程:
式中,Z为总偏移量,C1、C2为x,y轴上的偏移量,ax、ay、tx、ty为平移矢量中的平移分量,W为常数。
其中,Z为总偏移量,C1、C2为x,y轴上的偏移量。
通过式2-(5)即可计算出权值矢量αx,阈值矢量αy,计算权值所需时间tx,计算阈值所需时间ty的值,进而获取s,θ,t的值,从而完成形状x2向x1的校准。根据上述方法,即可完成训练集中全部形状的对准。
人脸库中的图1中两幅图的图像对准实例如图2所示。
通过上述分析的方法将训练集中的形状对准至同一坐标中,即可得到其统计信息。
假设已完成多个个形状的对准,首先需对图3中实线描述的中值形状即前面步骤中得到的统计信息进行计算,如式2-(7)所示:
其中:N为常数,Xi为实际数据量。
则通过PCA主成分分析法,即可清除其中的冗余数据,则进行归一化的协方差矩阵(2n×2n)可描述如下:
式中,Xi为实际数据量、为计算的数据量,T为构成方差矩阵数值,N为常数。
然后,依据Spk=λkpk,对矩阵奇异值进行分解,从而获取S矩阵的特征值以及特征向量。
取λ=[λ1,λ2,...λ2n]中前t个λk,使得:
式中,Explained-rate为定值,λk为数值k的波长。
由于训练集中特征点的位置密切相关,因此,可通过其中的几个变量对训练集中的大部分形状进行描述:
式中,P=(p1,p2,...pt),b=(b1,b2,...bt)τ,x为特征点在X轴的位置。
通常采用的采集过程如图4所示。
首先在新图像中确定一个初始化位置,再通过该初始化位置获取更接近于目标对象点的位置。从而获取初始化各个点的移动方向:
dX=(dX0,dY0,.....dXn-1,dYn-1)T
2-(11)
式中,X、Y分别表示点的移动的横纵坐标值,T为构成方差矩阵数值。
图5描述的是一个计算dX的例子,其中波浪线代表初始化位置,虚线代表dX矢量。
假设该循环的初始化位置为:
X=M(s,θ)[x]+Xc
2-(12)
通过公式2-(12)分析的对准两个形状的方法将X和X+d进行对准,从而获取新的姿势参数:
s(1+ds),θ+dθ,Xc+dXc
2-(13)
依据
M(s(1+ds),θ+dθ)[x+dx]+(Xc+dXc)=X+dX
2-(14)
其中,d用于描述空间三角形的边长,X为ASM优化算法的初始模型,Xc为平移距离。
通过上式可获取
M(s(1+ds),θ+dθ)[x+dx]=(M(s,θ)[x]+dX)-(Xc+dXc)
2-(15)
由于
因此可获取dX:
dX=M((s(1+ds))-1,-(θ+dθ))[y]-x
2-(17)
式中,y=M(s,θ)[x]+dX-dXc。
基于
可近似获取:
dX≈PTdb
2-(19)
式中,PT=P-1。
所以,通过公式2-(18)及dX的计算公式即可求出db的值。同时,对db的取值进行约束,即可获取一个合理的形状。
对形状参数以及姿势参数进行计算,也就是
式中,wt,wθ,ws,Wb用于描述各参数的权值。
通过上式即可获取用于下次循环的更加可靠的初始化位置X,通过该X能够更加有效的完成对目标特征的定位。
因为在对目标进行定位的过程中,一个可靠有效的初始位置是完成高校人脸定位的重要因素。而ASM并未通过人脸特有的全局纹理信息完成搜索。所以,为了达到系统对实际应用中实时性和精度的要求,需对当前算法进行优化。
点分布模型中含有训练集中各种形状的平均值等参数,和用于调控形状模型的矢量。再利用某种算法对训练集中全部形状进行对准,完成主元分析,塑造形状模型。
ASM通过实际的外观模型的点位置调整技术进行检索。LocalAppearanceModels表示训练集中与手工标定点相邻的轮廓特征。其假设模型成多变量高斯分布,例如,针对训练图像中第j个手工标定点,首先需获取其中值轮廓及其协方差矩阵Sj。再通过马氏距离在新图像中检索获取最优匹配点:
其中,Sj为协方差矩阵,为中值轮廓。
分析式2-21可知,初始化位置的选择是函数检索效率的关键。所以,为算法选择合理的初始位置,可大大降低匹配时间。
采用ASM方法的过程中,和定位效果密切相关的两个因素是初始模型定位的优劣及局部特征点的搜寻方法。为了加强人脸匹配的效果,提高匹配效率及匹配准确度,对算法进行下述优化:
1、采用依据三角形特征的自动定位技术,同时通过准确的重要的特征完成人脸特征的精准定位。
三角形特征的自动定位技术的步骤为:
(1)首先在人脸图像的范围内,通过PCA特征采集技术对人脸嘴唇的大致位置(x3,y3)进行确定,将该位置看作是初始位置的一个点,从而实现人脸位置的确定。
(2)将该位置作为一个矩形框的左下顶点,基于人脸先验概率提供的相应尺寸,设定上述矩形框的长宽比和与之对应的长度,如图6所示。再对该图形进行平滑操作,通过式2-(22)求出上述初始矩形区域内像素的平均灰度值Imean。
式中,w0与h0依次用于描述初始矩形框的长和宽。
(3)在矩形框长宽比不发生改变的条件下,沿右上方延伸一个像素的步长。针对经平滑处理后的图像,获取矩形右侧及上侧边缘线上灰度值最小的像素点,其灰度值用Im.h进行描述。
(4)求出矩形框平均灰度值和Im.h之间的差值,将其和统计获取的特定阀值D相较。若Imean-Im.h<D,则上述矩形框没有抵达瞳孔区,需继续进行矩形延伸。否则,矩形框已抵达瞳孔区。
(5)通过灰度值最小像素点所处位置对瞳孔所在的大致区域进行判断。
(6)在上述区域中,对每个像素点在某一固定矩形区域中完成高斯卷积计算。将经高斯卷积计算后,图像中像素灰度值最小的点看作是瞳孔中心,用(x1,y1),(x2,y2)进行描述。
则嘴唇的大致位置(x3,y3)和瞳孔中心位置(x1,y1),(x2,y2)三点组成一种如图7所示的倒三角形人脸特征。
实验结果表明,采用该特征能够有效完成ASM算法中模板的初始化操作。通常情况下,三角特征大小与整个人脸尺寸呈很好的正比关系,所以,一般状态下,通过三角特征定位技术进行的模型初始化均可达到很好的效果。
确定初始位置后,需完成主动形状模型中平均形状模型的初始化操作。
分别用(x′1,y′1)、(x′2,y′2)描述平均模型中左、右瞳孔的坐标,用(x′3,y′3)描述嘴唇中心坐标,同时有y′1=y′2。则通过下式即可求出平均模型初始化应进行的角度旋转θ及尺度波动值s。
通过旋转角度θ及尺度值s完成平均模型的角度旋转及尺度缩放,再求出平移的坐标值。从而将平均模型进行同比例的缩放及旋转,再平移至图像中定位倒三角点的对应位置,如图8所示。
实验结果表明,就算当三角定位不准确时,该识别结果和实际结果也十分接近。所以,采用本文提出的三角定位方法完成ASM平均模型的初始定位效果较好。
2、采用全局纹理信息对局部特征点搜索效果进行优化步骤:
在进行ASM搜索时,因为仅将特征点的局部纹理特征作为启发式信息,而忽略了全局纹理限制,所以,关键特征点的匹配精度将有所减少。所以,本发明采用全局纹理信息对局部特征点搜索效果进行优化对传统ASM算法的搜索过程进行改进,具体步骤为:
在主动表观模型中,通过模型全局纹理向量和分布纹理向量的差值Δδ对模型的形状进行预测,在进行搜寻时,则通过平均纹理向量对模型进行塑造。因此,仅需在训练时获取形状参数变化和灰度差值之间的线性关系Rs,即可依据获取的灰度差值完成形状变化的预测δs=Rs·Δδ,从而完成对模型形状的改进。
首先将形状范围内的纹理变形至平均形状中,同时对其进行归一化操作,获取变形后的纹理向量,用g进行描述。再在纹理模型空间中对获取的纹理向量进行重构,即可获取经重构后的纹理:其中求出向量gr和重构值gr之间的欧氏距离d=dist(g,gr),形成纹理差。最后依据该纹理差对形状调整和局部纹理搜索在迭代时是否采用ASM的搜索结果进行判断,如果和上一循环相比匹配度升高,则采用上述方法继续完成搜索,否则,采用依据全局纹理的搜索方法,并对获取的结果进行评估,直至达到最佳匹配度,再重新采用ASM搜索策略。交替采用上述两种方法,直至匹配度达到最高:
1)首先求出此刻全局纹理和模型纹理之间的差值,完成所有人脸关键特征点的局部纹理匹配,同事求出最优匹配模型形状。
2)再求此刻全局纹理和模型纹理之间的差值。
若此刻所求上述差值较第一次有所降低,则认为检测结果成立,反之,认为检测结果不成立;若纹理差已收敛,则检测完成,反之退出。
因为被优化后的算法引入了有关此刻全局纹理和模型纹理匹配程度的目标函数,所以,将其应用于人脸识别领域更加有效。不仅如此,该算法减少了匹配所需时间,增强匹配效率。
实验结果分析,
将一张正面人脸图片作为研究对象,分别采用传统ASM算法和改进ASM算法对二维图片中的人脸特征点进行采集。为了增强算法精度,将待标定128个特征点的人脸图像的平均模型作为参考。将手工标定点o(x,y)看作是目标点,通过ASM算法获取的特征点用X(x,y)进行描述,通过范数距离其上述两者之间的相似度进行计算:
Distx.o=||X(x,y)-O(x,y)||=max(x,y)|X(x,y)-O(x,y)|
2-(24)
随着Distx.o值的逐渐减小,定位算法效果逐渐变好。
图9描述的是传统ASM算法与优化后ASM算法的检测结果。
分析图9可知,传统算法在眼眉与嘴巴处出现误差。而改进后算法在眼眉、嘴唇等部位的特征检测效果较优。
图10、图11分别描述了传统ASM算法与优化后ASM算法的检测误差。
分析图10和图11可知,优化后ASM算法的特征点采集准确度明显高于优化前。
表1描述的是ASM算法优化前后的误差统计值。
表1不同算法精度比较结果
分析表1可知,优化后ASM算法的平均误差较传统ASM算法相比明显降低。同时,采用优化后算法对图像特征点进行采集所需的时间也是最短的。
步骤2,基于双目立体视觉技术的人脸建模,
立体视觉技术即针对一个物体,从各种角度获取其幅图像,从而完成被拍摄物体三维信息的恢复过程。首先获取实物原型的相关数据,通过数据处理及三维建模,建立出原型的三维模型。
在基于计算机立体视觉技术实现三维人脸建模时,具体完成的过程可大致被划分成两个阶段:在两幅图像之间塑造匹配点;再通过相机参数与与之相应的匹配点对原型的三维空间信息进行重构。
1、Tsai摄像机标定
对摄像机进行标定时,首先需完成对成像平面坐标系、摄像机坐标系和世界坐标系的分析,考虑到摄像机模型的不同也会对最终结果产生影响,进行实验时需选择有效的摄像机模型获取摄像机参数。
本文选择Tsai标定法完成摄像机的标定,因为Tsai标定法仅分析径向一阶畸变,因此,本发明选用如图12所示的针孔摄像机模型。
对摄像机进行标定时,主要分析三个坐标系,分别是图像坐标系xuouyu,摄像机坐标系ocxcyczc以及世界坐标系owxwywzw。其中,世界坐标系或随机设置,通常依据简化原则选择;摄像机坐标系zc轴和图像坐标系的交点就是图像中心ou(cx,cy),其中,oc代表摄像机的光心,光心和图像中心之间的距离是有效焦距f。
对于空间中任意一点p,依据小孔成像原理,其像点是P'(xu,yu)。但实际应用中透镜均存在一定的误差,若仅分析径向畸变,则其实际像点可用P(xd,yd)或(xp,yp)描述。
将世界坐标系中的点p(xw,yw,zw)转换至图像中与之相应的点P(xp,yp),具体过程如下:
(1)通过下式将点P的世界坐标系坐标(xw,yw,zw)转换成摄像机坐标系中的坐标(xc,yc,zc)。
(2)通过下式将摄像机坐标系中的坐标(xc,yc,zc)转换至小孔摄像机模型下的图像坐标系中:
(3)通过下式对透镜的径向畸变进行近似描述:
其中,r2用于描述平面内某点的向量,k用于描述畸变系数。
(4)通过下式将图像平面坐标(xd,yd)转换至图像像素坐标(xp,yp)中:
其中,(cx,cy)用于描述图像中心的像素坐标,dx和dy依次用于描述x方向与y方向单位像素的长度,sx用于描述因扫描时序误差造成的比例因子,若对图像的要求较低,可令sx=1。
2、相机标定的计算方法
本文依据平面模板完成Tsai摄像机的标定,详细实现过程如下:
(1)通过RAC(真正应用集群)条件对旋转矩阵R及平移分量tx,ty进行计算,详细过程是:
①对标定模板图像进行拍摄,获取所有特征点的图像像素坐标(xpi,ypi)(其中i=1,…n),以及世界坐标(xwi,ywi,0)(其中i=1,…n)。
②通过式求出图像坐标(xd,yd)
③通过式计算所有点Pi列方程
其中, 为行矢量, 为列矢量。
再通过最小二乘法对该超定方程组进行计算(在Tsai的文献中建议n>63),及可获取下述变量r′1=r1/ty,r′2=r2/ty,t′x=tx/ty,r′4=r4/ty,r′5=r5/ty。
④通过下式求出ty,tx及R。
其中,ty的符号可依据下式中xc和xd、yc和yd的符号确定(随机选择一个特征点pi,假设ty是正,求出xc和xd、yc和yd。如果xc和xd、yc和yd符号相同,则ty为正,反之,ty为负)。
其中,s=-sgn[r1r4+r2r5],r7、r8、r9可通过矩阵中前两行的叉乘获取。若依据该R值,在第二步中获取f<0,则实际R是
(2)通过改进的搜索法求出焦距f,平移参数tz以及畸变系数k。
①在不考虑径向畸变的情况下,对f与tz的值进行计算。
对所有特征点pi,有
其中,f为焦距,tz为平移参数,x、y、z均为世界坐标系内的点的坐标。
则上式可进一步描述成:
ycif-dy(ypi-cy)tz=dy(ypi-cy)(r7xwi+r8ywi)
3-(11)
将上式用矩阵形式描述成:
对上述超定方程(i=1,2,…n)进行求解,即可获取有效焦距f及平移分量tz。
②对实际的f、tz、k进行计算。
将上述计算得到的f及tz作为初始值,通过改进算法对非线性方程组进行求解
因为畸变均较小,所以假设初始值k=0。
确定摄像机的内部及外部参数后,即可建立摄像机的投影变换矩阵(见2.3节),从而反映出空间中任意一点盒图像上投影点之间的关系。
步骤3、三维人脸建模
通过双目立体视觉理论对人脸正面及侧脸的图像特征点进行提取。
图13描述的是机位示意图以及P点在各种坐标系下的人脸特征点。
最终确定的特征点需有很强的代表性及唯一性,应包含一个人的全部重要面部特征。将眼角点、鼻翼点、嘴角点等关键特征点对眼睛、鼻子、嘴边、脸部轮廓的特征点进行描述,如图14所示。
分析图13可知,如果左相机是Ol-xlylzl,则在世界坐标系的原点处同时未旋转。如果图像坐标系是O1-x1y1z1,则完成摄像机的标定后,其有效焦距是f1;如果右摄像机坐标系是Or-xryrzr,则图像坐标系是O2-x2y2z2,有效焦距是f2。
基于相机透视模型,有:
其中,f1、f2为世界坐标系中的有效焦距,X、Y为世界坐标系中的坐标集合。
利用空间转换矩阵Mlr可将O1-x1y1z1坐标系和Or-xryrzr坐标系之间的相互位置关系描述成:
式中,R、T分别用于描述O1-x1y1z1坐标系和Or-xryrzr坐标之间的旋转矩阵以及原点之间的平移变换矢量,同时
分析上式3-(16)可以看出,针对O1-x1y1z1坐标系中的空间点,两相机像面点之间的关系可描述成:
则,与之相应的三维点空间三维坐标可描述如下:
其中,R1,T1和R2,T2分别为双目立体视觉系统中左右摄像机的外部参数。则对于某一点,假设其在世界坐标系、左相机坐标系及右相机坐标系下的非齐次坐标分别是xw,x1,x2,则有:
则2个相机之间的几何关系R、T可描述成:
其中,R1,T1和R2,T2分别为双目立体视觉系统中左右摄像机的外部参数。
通过式3-(20)即可获取R1、T1与R2、T2,从而获取双相机的相对几何位置,即得到对应点的三维坐标。最后依据OpenGL即可获取所塑造的三维人脸模型。
添加约束条件
1)摄像机标定中的径向排列约束
分析图3可以看出,矢量pO1、p′O1和点P到Zc轴垂直方向平行,同时透镜径向畸变不影响矢量p′O1方向,因此,径向排列约束可描述成矢量pO1和矢量p′O1平行。同时,焦距f的改变不会影响约束条件,因此,通过传统RAC约束条件获取的所有关系式全部和焦距f及畸变系数k无关。
基于公式3-1式有:
通过RAC约束条件可获取:
通过上述两式可获取:
式中,行矢量[Xwy′Ywy′Zwy′y′-Xwx′-Ywx′-Zwx′]已知,而列矢量[r1/tyr2/tyr3/tytx/tyr4/tyr5/tyr6/ty]T是未知待求。如果通过同一平面上的空间点进行标定,同时令世界坐标系Zw=0,则(3.7)式可描述成:
其中,[Xwy′Ywy′y′-Xwx′-Ywx′]为行矢量, 为列矢量。
所以,仅需5个点即可获取旋转矩阵及平移向量。
2)人脸模型约束
当二维人脸特征点转换成三维人脸特征点时有大量信息损耗,同时各种视点获取的图像之间有较大的不同。并且很多外界及内在因素均被看做是单一图像中的灰度,造成像素点特征变化大。所以,如果依据二维像素点信息进行建模,将影响建模效果,如何有效实现图像特征采集非常困难。所以,为了增强图像匹配的可靠程度,依据某种规则对其进行约束具有重要意义。
本步骤在立体视觉人脸建模的基础上,引入相似性约束,从而减少三维坐标的歧义性,使其更加准确可靠。
1)首先完成三维人脸数据点的三角剖分。
2)确定相似性约束向量。将三角剖分的角度看作是唯一相似性约束向量,求出三角形边长,同时将其看作是几何相似性约束向量。
3)确定相似性约束判别公式:S=S1+S2,其中,S1用于描述唯一相似性的约束函数值,S2用于描述几何相似性约束函数值,同时有,
式中,θi与di用于描述待检测样本特征向量的第i个特征分量;θi'与di'用于描述三维人脸模型中第i个标准特征分量;ki用于描述第i个特征分量的权值。θi用于描述人脸三维模型特征点的角度,d用于描述空间三角形的边长。同时,
对相似性约束函数值S及阈值S阈进行比较,从而确定三维人脸特征点建立的有效性。若S<S',则获取的特征点有效,否则,重新采集三维特征点。
通过上述约束条件即可获取更为可靠的三维人脸模型,从而达到三维人脸识别系统的设计需求。
实验结果分析,
本文在MATLAB环境下对Tsai摄像机进行标定。实验通过cannonA75数码摄像机对人脸图片进行采集,得到的图像尺寸是2048×1536pi,像素单元尺寸是0.002578×0.002578mm。标定模板为打印的8×12棋盘格纸,各格尺寸为20×20mm。
图15、图16分别描述的是拍摄的标定模板图像与通过Harris角点检测器获取的特征点。
标定结果为:
有效焦距f=9.4223mm
失真系数k=0.0020
变换矩阵R、T依次是:
在人脸建模实验中,通过VC++及OpenGL完成建模,建立仿真环境,实现三维人脸模型的仿真。
详细过程如下:首先分别将三张人脸的正面与侧面图片作为研究对象。再通过本文提出的改进的ASM特征点提取算法对特征点进行提取。为了便于运算,本文令摄像机机位位置与人脸的正面及侧面呈90点完成图像采集。同时拍摄过程中,令摄像机的光轴和人脸坐标系的X轴重合,令摄像机的Z轴和人脸坐标系的Z轴平行。
获取的效果如图17所示。
获取全部二维信息后,对三维坐标系中的空间转换矩阵进行塑造。然后依据阀值确定三维特征点的人脸坐标,最后在VC++6.0与OpenGL建立的仿真环境中完成人脸建模,实验中所塑造的三维人脸模型用如图18所示
为了获取更加真实的人脸效果,本文通过OpenGL软件完成对模型的实体填充,获取的结果如图19所示。
通过相似性约束函数对所塑造模型结果的准确性进行评价。
对模型中各部位100个特征点的约束条件进行统计,得到的结果如图20所示。
其中,曲线表示该部位大于阀值,应重新取点建模。
将实验结果和理论特征值进行对比,获取的结果如表2所示,分析表2可知,本文实验结果各项特征参数的误差均非常小。
表2建模约束值统计
同时,分析表2还可以看出,本发明可高效实现采集、特征提取以及三维建模的工作,完全符合各领域对图像识别的需求。