通过对一般3D人脸模型进行变换从而适应一个特定的人脸。
1.对于特征点进行的变换
(1)全局变换 3D人脸模型上的任意一点P(X,Y,Z)以无穷小的欧拉角向其目标点P′(X′,Y′,Z′)作刚性运动,可以描述为
式中,θX、θY和θZ是围绕3D轴X、Y和Z轴旋转的角度;SX、SY和SZ分别是比例因子;(TX,TY,TZ)T是平移向量。全局变换即可以等价地看成是对这9个刚性运动参数的估计。进行垂直影射后,可以通过计算3D人脸模型到2D人脸中心的距离来得到平移向量。让Pl、Pr、Pc、Pm分别代表左眼中心点、右眼中心点、两眼的中点及人脸的嘴部的中心。而Pl′、Pr′、Pc′、Pm′是3D人脸模型中2D投影的相关特征。所以,比例因子SX和SY进行了如下的定义:SX=‖Pl-Pr‖/‖Pl′-Pr′‖,而SY=‖Pc-Pm‖/‖Pc′-Pm′‖。在平面帧中,脸的深度是不可见的,为了保证自动性,SZ将应用线性膨胀性取SX和SY的平均值。头部的倾斜角度θZ可以通过测量线段PlPr和2D水平轴之间的角度来获得。应用基于横截面的方法来获得θY。至于θX,由于缺少深度信息,所以假设头部与X轴是平行的,即θX=0。
图7-24 Candied人脸模型
(2)局部变换 四个脸部特征,如本系统中的眉毛、下巴、眼睛和嘴,将分别得到变换(见图7-24)。8个眉毛节点(黑色圆点)用来代替提取出的8个眉毛特征点。在下巴替换中,3D人脸模型的5个下巴节点(黑色圆点)通过伸缩运动与提取出的2D下巴轮廓相吻合。通过对人体测量学和肌肉运动的研究,中间的三个圆点是与上面的两个方形节点相连的,而另外两个圆点也和对角的方形节点相连。嘴部变换包括仿射变换(Affine Transformation)和轮廓变换。所有的嘴部节点包括在一个矩形内,是通过2D仿射变换得到的,这需要计算已经提取的平面嘴部和2D嘴部对于3D人脸模型投射之间的差别,其中投射是在平移、比例和旋转三方面进行的,然而仿射变换不能保证嘴部轮廓的匹配。为了上半嘴唇的自然形状,所有轮廓上的节点需要通过一个常数变换成提取的2D轮廓,该参数是通过估计平面人脸上半嘴唇外部轮廓线中间点和投射到3D人脸模型的2D中相应点之间的距离得到的。眼部变换的原则与嘴部变换的原则一致。对人脸模型处于两个椭圆中的眼部各节点进行仿射变换,然后根据已经提取的眼部轮廓来调整人脸模型的眼皮。然而,眼睛必须作为两个独立的物体来处理,即用两组独立的参数集合。另外,这里应用了线性插值来调试这些非边界节点。
2.对于非特征点进行的变换
在完成对特征点的三维坐标调整之后,模型调整即为确定非特征点的位置。利用适当的插值算法计算非特征点的三维坐标。非特征点调整可采用的方法有自由变形、径向基函数内插、弹性匹配等。其中,自由变形算法较为复杂,径向基函数内插具有良好的平滑性,但需注意保证内插平稳性。(www.daowen.com)
下面介绍利用径向基插值算法计算非特征点的三维坐标。即已知特征点xi的位移fi为
s|xi|=f|xi| (i=1,2,…,N) (7-2)
求径向基内插函数
式中,s称为径向基函数(RBF);自变量x为对应网格顶点的三维坐标,因变量为此点的位移量;p为低阶多项式;λi为RBF的系数,即网格调整需要确定的模型参数;φ()为一个实函数,称作基函数。xi是RBF中心,一般为与模型特征点对应的空间坐标。令低阶多项式p的基为p={p1,…,pl},对应的系数为c={c1,…,cl},则式(7-3)以矩阵形式表示为
式中,A=[Aij],Aij=φ(‖xi-xj‖);Pij=Pj(xi);i,j=1,2,…,N。
由此线性方程可解得λ、c,从而确定了模型所有网格点的内插函数s(x)。对于径向基函数的选取,在试验中,选取了高斯函数,α取为1/64,即
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。