基于人体自然比例特征的参数化骨架建模方法
2013-04-29朱艺雯
摘要:关节角色动画一般是由角色的骨架模型控制运动,人物角色动画作为关节动画领域热门研究方向之一,广泛应用于计算机动画,人体运动分析,人机工程,运动捕捉以及计算机视觉等领域。人体骨架的各部分长度具有一定的自然比例特点。因此,我们提出了一种基于人物骨架长度比例特点的人物角色建模方法,通过研究人体各部分骨架长度的比例特点,将骨架模型参数化,并最终建立满足运动捕捉数据的层次骨架模型。实验表明,该文提出的方法可以快速的获得标准的人体骨架模型,方便于角色动画的建立,参数化的骨架也使我们能够获得不同人物特征的骨架模型,满足于不同领域的需要。
关键词:关节动画;骨架;比例;运动捕捉
中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2013)07-1630-03
人物角色动画作为关节动画领域的一项热点的研究对象,它的重要性逐渐的受到人们的重视,并广泛的应用于影视动画,游戏娱乐,工业设计,人体运动分析以及运动捕捉等多个领域。
人类比较熟悉自身的运动特点,而且人体的骨架包括多个运动关节,具有很多的自由度和运动参数[1],因此获得真实感的人物动画非常困难。往往需要花费大量的时间来绘制各个关键帧的运动。关节角色动画是由一种层次结构的骨架模型来驱动角色动作,骨架作为关节模型重要的组成部分,对于生成良好的动画效果至关重要。如何能够获得合适的模型骨架成为人们越来越关心的问题。[2]当今比较流行的运动捕捉技术,通过摄像头,传感器等外部设备定位人体主要的运动关节,记录人体各关节的运动参数,从而获得真实的人体运动动画。如何重用运动捕捉数据,使运动捕捉数据满足相似层次结构但不同比例的骨架模型需要,正是我们希望研究的问题。传统获取人物角色模型的方法,是通过一些动画建模软件,如3Dmax,Maya,Poser等[3],由动画师手工建立适合模型的骨架,然后与模型的网格连接来驱动模型动作。这就需要花费大量的时间来建立合适的骨架模型,而且对于不同特征的模型,需要重新建立骨架。另外,还有采用三维扫描仪的方法来获取真实人体表面的几何数据,通过几何重构的方法获得人体模型,在关节动画的应用中需要再次提取模型的骨架或者构建满足于模型需求的骨架模型,需要专门的扫描设备,成本高,速度慢,不满足于实际应用的需求。
为此我们提出了一种人体骨架模型参数化建模方法。基于人物角色骨架特有的自然比例特征,以及某些关键部分满足黄金分割率,从而采用H-Animation标准的骨架层次结构,建立标准的参数化骨架模型。该方法不仅可以获取标准的人体骨架模型,并在应用中根据模型大小特点的不同灵活并自动的生成合适的骨架模型,尤其对于运动捕捉技术领域具有 重要的意义。
1人体骨架
1.1 人体骨架特点
自然人体的骨架起着支撑身体的作用,是人体运动系统的一部分。骨骼之间一般用关节和韧带连接,骨骼通过绕关节旋转来达到运动的效果。人体的自然结构是以头部垂直于地面的方向为轴的对称结构,四肢对称的分布于身体的两侧。人体的四肢是主要的运动部分。头部通过颈部关节与身体连接;手臂通过肩部关节与身体连接,肘部关节连接小臂,手腕关节连接手部;腿部通过胯关节连接身体,膝部关节连接小腿,脚腕关节连接足部。因此,我们可以将人体骨架看作是一种层次的结构。
1.2 骨架比例分析
人体的骨架结构满足一定的自然比例特点,早在公元1世纪,罗马工程师马克 维特鲁威就将人体的自然比例应用到建筑的丈量上,并且总结出了人体结构的比例规律。达芬奇著名的画作《维特鲁维人》形象的展示了人体自然比例的特点,后来人们常以这一精准的比例来形容男性“完美比例”。虽然西方人和东方人以及男性和女性的骨骼长度存在差别,但是骨骼的基本结构是一样的,而且骨骼的长度满足一定的比例特点。人类在进化的过程中,头骨和腿骨的变化最大,而躯体外形变化很小,人体结构中有许多部分比例都接近黄金分割率1:0.618。其中,1)脐部:作为头顶——足底的黄金分割点;2)咽喉:作为头顶——脐部的黄金分割点;3)膝部关节:作为脐部——足底的黄金分割点;4)肘部关节:作为肩部关节——指尖的黄金分割点;5)乳头:躯干纵方向的黄金分割点等。另外还存在一个黄金矩形,即长宽比为1:0.618。它是躯体的轮廓矩形,长为肩顶到臀底的长度,宽为肩宽和臀宽的平均数。
在我国的人体绘画领域,通常还有着这样一个标准,“立七坐五蹲三”;另外还有头高比例标准,头高为身高与头长的商,头高=身高/头长。通常,正常成人的身高和头长比值在6到8之间,在我国学术界比较认可8头高这个说法,8头身作为一个完美的身体比例,许多教科书采用这一比例来刻画人体,8头身也对我们人体模型的构建提供了便利。另外,还有9头身标准,西方文艺复兴时期就开始采用这一标准,通常我们使用这一标准刻画英雄人物,或者动画中完美的人体形象。
图1 标准人体骨架8头身比例分割图
接下来我们分析标准8头高的人体骨架结构比例特点。除了关键关节点以及部分人体长度遵循黄金分割率之外,人体八头身比例分割如图1所示。我们在建模的时候依据头高长度为基准,依次确定人体正常站立姿态各部分骨架比例分布。其中人体躯干部分,肘部关节作为手臂的中心分割点,膝盖关节作为腿部的中心分割点,其中大腿与小腿等距,并且约等于两倍的头长。人体脐部作为人体的质量中心平分上体乳头下部与大腿部关节的分割点。 因此,我们通过人体八头身比例分割示意图的分析,可以在给定头高的情况下,建立参数化的骨架模型。
2 骨架模型参数化
2.1 H-Animation标准
在VRM1.2.0中定义了H-Animation标准来构造人体骨架。H-Animation标准在VRML97/X3中定义了具有骨架关节特点的人体骨架层次结构模型。 H-Animation标准也明确了不同的骨架层次级别,其中最简化的模型级为LOA0;LOA1是适合于底端的实时3D层次模型;LOA2是采用简化了脊椎部分骨骼的模型;LOA3则是目前最完备的人体骨骼结构,其中主要包括了手指部分各关节的结构。由于我们关心骨架关键运动关节的节点位置,因此我们采用H-Animation标准的LOA1层级。而且此层级的人体骨架结构与运动捕捉数据中的骨架结构相似,同样采用关节点连接关键的运动骨骼部分来构造满足于人体运动特点的拓扑骨架层次结构。
2.2 运动捕捉数据骨架层次结构
运动捕捉技术是一种通过在捕捉对象的主要运动关节加装传感器设备来记录现实角色运动信息数据的技术。通过运动捕捉数据来驱动虚拟角色骨架动作来实现运动动画。运动捕捉数据中建立了模型的骨架层次结构,人体骨架以位于人体模型几何中心的位置作为根节点,通过各个主要骨架运动关节的特点连接头部和四肢形成一种具有层次结构的骨架模型,并且利用运动捕捉技术记录的各个主要运动关节的运动数据来驱动根节点位移以及其他各关节点的旋转来实现运动动画。通过使用参数化骨架模型的方法,可以依据人体某一特定关节的长度来构造整个模型骨架,使得运动捕捉更具实时性,而且在一定程度上解决了由于捕捉对象骨架和预先建立骨架模型的不匹配的运动重定向问题。
2.3 参数化骨架模型建立
我们从之前所介绍的人物结构比例画法以及标准人体八头身比例分割示意图中可以知道,如果给定初始长度值,我们就能夠利用这个定长来构造出整个人体结构层次骨架。所以,我们也可以利用参数化的方法调整骨架参数从而构造满足不同特征的人体骨架。另外,针对人物关节角色动画的应用,我们还可以利用参数来限制骨架各部分的自由度以及运动参数.
通常,我们定义人体模型脐部为整个人体骨架的根节点,用Root表示。人体模型的运动利用根节点Root的位移,以及各主要运动关节的旋转来得到动画,我们利用Ri来定义各关节部分的旋转,Troot表示根节点的位移,因此我们可以得到整个骨架的运动方程:
其中i=(1.....n) 表示骨架关节点的标号。因此我们得到人体骨架Skeleton=(D1.,D2...Di-1),Di(1,2...i-1)表示人体骨架各部分长度。Joint =(J1,J2...Jn-1)来表示骨架各关节点位置。
在人体骨架模型中,我们假设人体头顶至足底为身高H,头高为H头高,f为黄金分割率0.618,h为各部分骨骼长度。脐部作为头顶至足底的黄金分割点,然而我们在8头身比例分割图中看到,以脐部分割,上身与下身的比例为3:7,但是我们在此遵循黄金分割率的条件,这样我们可以得到更加美观的人体模型。我们利用骨架各部分的比例特点,通过定义头高为定值,从而得到各关键部分骨骼的长度值:
根据H-Animation标准的LOA1层级的定义以及为了满足运动捕捉数据结构的要求,我们将人体骨架解构为16个主要关节部分,J1,J2,......J15 ,ROOT。骨架各关节点定义如图2所示。
在构建人体骨架比例模型的应用系统中,我们将以上16个关节长度定义为由统一的头高H表示,通过利用各部分关节长度的比例特点计算得到各部分长度的参数化公式,并将此统一化的骨架层次结构作为模型模板,根据不同应用的要求,通过调整骨架各部分参数来构造不同特征的骨架模型。
3 实验结果
本文实验系统运行于Intel Core2 Duo CPU P8600 2.4GHz, RAM 4GB的PC机上,Windows 7 操作系统,使用Windows Visual Studio 2010 Visual C++集成开发环境,并结合OpenGL软件包实现。
4 结论
本文提出了一种基于人物骨架长度比例特点的参数化骨架模型建立方法。能够快速准确的获得标准的人体骨架。对于Poser等软件,可以方便的建立整个标准人体骨架。并且根据运动捕捉数据的骨架层次结构建立骨架,能够良好的满足人物角色运动捕捉的要求,在Motion Builder,Maya等软件中可以方便的将运动捕捉数据运用于骨架。然而,我们的方法是针对标准的人体骨架,当今的动画电影领域要求我们能够获得拟人化的动画形象。未来,我们希望能够在此基础上研究能够快速并且方便的提取模型骨架的方法,建立关节骨架模型并获得不同特点的动画人物形象。
参考文献:
[1] 张三元.数字化仿真人体模型的设计方法[J].系统仿真学报,2000,12(1).
[2] 吕治国,李焱,贺汉根.基与Poser模型的三维人体建模方法[J].计算机工程,2008,34(13).
[3] 李健,万群生. VRML交互研究与基于H-Animation人体骨架的个性化定制[J].计算机与信息技术, 1999.
[4] M.Meredith,S.Maddock. "Motion Capture File Format Explained", Department of Computer Science,University of Sheffielf.
[5] J.E Chadwick,D.R.Haumann,and R.E.Parent.Layered construction for deformable animated characters[C].In SIGGRAPH '89:Proceedings of the 16th annual conference on Computer graphics and interactive techniques,1989.
[6] CMU. CMU Graphics Lab Motion Capture Database[DB]. http://mocap.cs.cmu.edu,2001.
[7] Michael Gleicher,Regartting Motion to New Characters[C].In SIGGAPH '98,1998.
[8] Terrie Winson,Forensic Anthropology[OL]. http://www.anthro4n6.net/forensics/,2004.