摘要:在通用三维人体模型特征点提取中,采用人体模型组成部位突出的特征,提取用于人体体型改变的特征点;根据脸部鼻尖点的突出特征,并结合脸部区域的划分方法提取了人体脸部的特征点。利用FFD局部变形算法实现了人体体型的变形;采用整体变换和局部变换算法实现了人脸的变形。
关键词:特征点;FFD;控制框架;人体模型;变形
中图分类号: TP391.41文献标识码:A文章编号:1009-3044(2012) 05-1130-04
The Human Body Model Deformation Based on The Feature Points
HUAN Ji-lan
(Southwest Jiaotong University Hope College, Nanchong 637919, China)
Abstract: In the general 3D human body model feature points of extraction, according to the distinguish character of the grouping of hu? man body parts, extract some feature points that can change the human body shape. According to the prominent features of the face, nasal tip, combined with the division of the facial region, extract some feature points of the human face. Achieve the deformation of the human body shape with the FFD local algorithm. Using the whole transformation and local transformation algorithm, achieve the deformation of the face.
Key words: feature points; FFD; control framework; human model; deformation
人体建模的技术有多种,其途径主要有:采用解剖学技术原理实现的数字人体建模,借助三维扫描仪实现的人体建模,利用特殊相机所拍摄的人体图像实现的参数化人体建模。这些个性化人体模型的创建都需要特殊的设备,在资源有限的条件下如何建立个性化的人体模型呢?实验利用DAZ 3D三维人体造型软件自带的标准人体模型作为研究所用的人体模型,结合FFD算法和脸部比例关系算法实现人体模型的变形。FFD(Free-Form Deformation)[1]自由曲面造型算法由Sederberg和Parry在1985年提出,在这之后有很多学者开始研究与物体造型无关的变形技术方法,之后又出现了扩展自由变形(Extended Free-Form Deformation)[2]和直接控制变形(Direct Manipulation of Free-Form Deformation)[3]等等。
1变形算法
1.1 FFD算法
FFD算法原理:首先,构造一个长方体框架即空间;然后,在此框架中嵌入物体;其次,对此框架的控制顶点施加外力使其变形。使用该方法物体的形状也随之改变,把此长方体框架叫做lattice控制框架[3]如图1。
图1 lattice控制框架
从数学的角度看,物体变形可以是R3到R3的一个映射关系即X=F(x),其定义域是物体变形前表面所包围的实体,其值域是物体变形后的实体[4],构造这样的一种映射就成为变形的关键。下面FFD算法的每个步骤中的数学模型[4]进行详细分析如下:
1)建立局部坐标系,构造能包围物体的控制框架X(s,t,u)=X0+sS+tT+uU
s=XXma
i
x
-
-XX00
, t=YYm
i
ax
-
-YY
0
0
,u=ZZm
i
ax
-
-ZZ00
其中,局部坐标系的坐标轴由S,T,U三个轴矢量表示,X(s,t,u)是局部坐标系中的坐标。X0是局部坐标系的原点。由(1)式知,控制框架内任意一点的局部坐标均在0到1之间。
2)在控制框架上构造控制顶点Pi,j,k,沿局部坐标系的S,T,U三个方向用等距的平行截面将X0S, X0T和X0U等分为l,m和n个区间,故Pi,j,k,可表示为如下公式。
其中,i=0,1,…,l;j=0,1,…,m;k=0,1,…,n;
可用如下公式表示控制框架内任意一点的笛卡尔坐标X。
其中,Bi,m(s),Bj,n(t),Bk,l(u)称为m,n,l次伯恩斯坦(Bernstein)基函数(Bernstein Basis),如m=3,n=3,l=3则控制框架内任意一点的笛卡尔坐标X具体就表示为如下。
3)确立了物体与控制框架的相互关系后,就可以通过改变控制顶点Pi,j,k的位置得到控制框架新的控制顶点Pi,j,k的位置,并确定变形后的控制框架。假如局部坐标点X(s,t,u)是原控制框架内任意一点,则该点在变形后新控制框架内所对应的笛卡尔坐标X用如下公式确定。
在公式中,Bernstein多项式的系数就是控制顶点Pi,j,k,与Bezier曲线、曲面一样,物体变形与控制框架的控制顶点之间存在密切的关系。Bernstein多项式的一个特性是:改变控制顶点的位置将影响控制框架中整个空间的性质,所以控制框架中所有点的位置都将随之改变,这就迫使物体的形状也随之改变。
1.2人脸比例关系算法
从通用的人脸到特定人脸需要进行两种变换:整体变换和局部变换[5]。脸部整体变换的目的是使通用人脸模型的脸形、五官的位置与特定人脸的脸形、五官的位置大致一致。脸部局部变换的目的是对人脸具体部位进行细微的修改,例如眼睛、鼻子、嘴巴等形状的微小调整。
1)脸部整体变换
在整体变换中需要把人脸分为三部分,设变换前人脸模型中心点为O(x0,y0,z0),变换后的中心点为Oˊ(x0ˊ,y0ˊ,z0ˊ)。对上半部分人脸采用下式(5)[5]:
对脸的中间部分采用如下式[5](6)进行修改。
对于下半部分脸采用如下式[5](7)修改。
图2人脸整体变换特征参数
2)脸部局部变换
以人脸眼睛为例,设变换前的眼睛区域坐标为(x,y,z),变换后的坐标为(xˊ,yˊ,zˊ),则可以利用如下式(8)[5]实现对眼睛微小位置的移动和形状的改变。
其中,带入眼睛变换前后的三组特征点,解线性方程组就能得到参数a,b,c,d,e,f的值。此公式对人脸正面x,y方向和侧面z方向均有形状的修改,这样就能很好的反映人脸的信息,同理用该公式可以对人脸其它部位进行微小位置的修改。
2人体特征点
2.1人体躯干特征点
人的体型有高的、胖的、矮小的、又矮又胖的等等,这就造成了复杂的人体性。虽然人体体型的有较大的差异,但是也有对人体共同点的描述。常见的人体共同点的描述有:人体的三围尺寸,人体的腰围,人体的身高等等,因此把这些三围尺寸的围度叫做特征线,把这些特征线上有意义的点叫做特征点。实验中使用的人体主要特征点有:头顶点、肩点、乳点、脐点、会阴点、臀点、臀沟点、腰点、髋点等,如图3所示。
图3人体主要特征点分布
2.2人体脸部特征点
在MPEG-4中特别定义了人脸动画参数即特征点,用这些特征点来刻画人脸复杂的表情,人脸模型和人脸纹理是用人脸定义参数来描述的。下图4定义了人脸模型上的32个特征点[5 6]。图4人脸特征点与区域示意图
实验所用到人体脸部特征点有,鼻尖点,鼻翼点,鼻基点,额头点,头顶点,嘴角点,上嘴皮点,下嘴皮点,内外眼角点,下巴点等。
3人体模型变形实验结果
图5是DAZ 3D三维人体造型软件自带的标准人体模型,利用FFD算法实现人体腰部和大腿的变细如图6示,图7实现了臀部、
图5原始人体模型
图6局部变形1
图7局部变形2
图8是人脸的原始模型,利用人脸比例关系算法实现了人脸的变形如图9。
图9变形后
图10是个性化人体模型,该模型是对标准模型的脸部,腰部,臀部和大腿,小腿进行变形后的结果。
图10个性化人体模型
4结论
实验实现了从通用人体模型到个性化人体模型的变形,对人体部位如身高,胸围,腰围,臀围,人脸的变形和人体简单姿势的改变。实验克服了使用FFD算法直接对人体模型的分组进行局部变形时,人体模型组与组之间出现了裂缝问题。使用增量值实现了变形过渡性问题。
参考文献:
[1] Sederberg T W,Parry S R.Free-Form Deformation of Solid Geometric Models[J].Computer Graphics,1986,20(4):151-158.
[2] Coquillart S.Extended free-form deformation:Asculpturing tools for 3Dgeometric modeling[J].Computer Graphics,1990,24(4):187-196.
[3] Hsu W M,Hughes J F,Kaufman H.Direct Manipulation of free-form deformation[J].Computer Graphics,1992,26(4):177-184.
[4]朱心雄.自由曲线曲面造型技术[M].科学出版社,2000:236-243.
[5]晏洁.从一般人脸模型到特定人脸模型的修改[J].计算机工程与科学,1997,19(2):21-23.
[6]晏洁,高文.基于一般人脸模型修改的特定人脸合成技术[J].计算机辅助设计与图形学学报,1999,11(5).
[7]邓为燕.基于用户照片和神经网络的三维个性化人体建模方法研究[D].杭州:浙江大学,2008:20-31,113.
[8]黄吉兰.基于特征点的人体建模过程与实现[D].成都:西南交通大学,2010.