基于关键帧和时空约束的三维虚拟人体运动生成方法

文档序号:6335540阅读:505来源:国知局
专利名称:基于关键帧和时空约束的三维虚拟人体运动生成方法
技术领域
本发明属于计算机三维动画技术领域,尤其涉及三维人体运动生成技术。
背景技术
在三维计算机动画中,人体动画是最具难度和挑战的研究课题之一。同样,虚拟人的运动生成及控制也是虚拟人技术的重要研究方向。然而,由于人体具有200多个自由度, 不同个体的运动又具有不同的动作特点和情绪特征。同时,虚拟人体运动的生成,还要符合人体运动的基本规律,具有简单可控的操作方式,需要同时满足运动的逼真性和控制的有效性。因此三维虚拟人体运动生成,包括设计、制作和控制各部分,十分复杂。目前,三维虚拟人体运动生成方法可分为两类一是以计算机生成的人体模型为基础的运动生成方法,二是基于运动捕获的运动生成方法。计算机生成人体模型的运动生成方法是以数学模型为基础,通过关键帧动画技术、运动学等方法来产生人体动作。最早的关键帧概念来源于早期迪斯尼的动画制作,熟练的动画师设计卡通动画片中的关键帧画面,然后由一般的动画师来设计中间过渡中画面。在当前计算机的三维虚拟人体运动生成中,关键帧方法仍然被广泛的使用。该方法包括以下步骤1)确定虚拟人体的几何模型。可以选择多种现有的几何模型,如基于骨骼结构的多刚体模型、表面模型、体模型等。2)确定虚拟人体的静态姿势描述方式。即在该模型下使用哪些参数就可以生成不同的人体静态姿势。不同的几何模型使用的参数往往不同,如人体骨骼结构的多刚体模型,多使用表示关节自由度的角度参数(通常选择主要活动关节,及其表示自由度的40 60个角度参数),或是各个关节的位置参数来描述人体静态姿势。对于表面模型和体模型, 则丰要通过控制表面皮肤层的面片点集来产生各种姿势效果。3)设计运动过程中许多个关键帧时刻的人体静态姿势。对于骨骼结构的多刚体模型,可以采用正向运动学或是逆向运动学的方法来生成人体静态姿势。正向运动学的方法,是通过给定各个关节的自由度参数,从而确定人体各个关节的位置以及末端效应器的方位。逆向运动学的方法则恰恰相反,通过给定末端效应器的位置和方向后,然后逆向求解各个中间关节自由度的参数值。4)根据设计好的多个关键帧静态姿势,采用插值运算由计算机自动生成中间帧画面。常用的插值方法有双插值,三次样条插值,Bezier样条插值等等。5)最后,连续播放各运动时刻的人体静态姿势,所观看到的就是虚拟人体的运动全过程。该方法简单直观,但是需要设计很多个关键帧,才能保证插值后的运动过程精确连贯。每一帧的设计过程操作繁重,同时对于中间帧的运动生成又缺少控制,难以实现对某个动作环节的细微调整,整个方法缺少灵活性和方便性。近年来,随着运动捕捉系统的普及和推广,出现了越来越多的具有高度真实感的人体运动捕捉系统及商用数据库。这种基于运动捕获的人体运动生成方法则是运用传感器跟踪人体运动来获取真实感三维运动数据为基础,采用数据驱动方式来生成个性化的三维人体运动。该方法已在运动仿真、视频游戏、影视特技等领域得到广泛应用。运动捕获方法准确的说是一种运动重现,而非真正意义的运动生成。这种方法具有较高的人体运动真实度,但是需要特殊的昂贵的捕获设备,以及真人的实际表演,具有较高的人力物力代价。此夕卜,依据这种方法获得的真实感运动数据难以被重用到不同的人体上、更难于对部分运动细节进行编辑和修改。在目前,上述一些三维虚拟人体运动生成方法已形成商业软件被用于动画产品的制作中,如 Maya,3D Max, Kaydara Motion Builder,SofWmage,Poser。等。使用上述软件来完成人体运动制作的过程中,操作繁琐、效率低下,需要使用者具有较高的经验。同时,这些软件还都存在数据重用性低、智能性不高、需要大量人工干预等缺陷。与本发明方法相关的已有技术介绍如下时空约束方法在虚拟环境中,常把障碍物、人体运动的初始位置和目标位置等对人体运动施加的限制统称为约束。它既可以是空间上的,也可以是整个运动序列上的,因此又称作时空约束。时空约束的方法常用来进行运动编辑、运动重定向等研究领域中。加权最小二乘支持向量方法支持向量机(SVM)具有完备的统计学习理论基础, 特别足对小样本、非线性、高维数数据点的模式识别和函数估计具有出色的学习和推广性能。最小二乘支持向量机(LS-SVM)作为SVM的扩展,将SVM对二次规划问题转换为求解线性方程组的问题,较SVM方法有更优良的学习速度且结构简单。但是,LS-SVM丢失了 SVM的松散型和鲁棒性,为了克服这一问题,提出了加权最小二乘支持向量机方法(WLS-SVM),多用于解决模式识别和函数估计等问题。

发明内容
本发明为克服上述现有技术的缺点和不足,提出了一种基于关键帧和时空约束的三维虚拟人体动作生成方法。该方法无需特殊的视频捕获设备,提高了三维人体动画制作的简易性,具有方便、高效、灵活的特点。本发明的上述目的通过以下技术方案实现。本发明的基于关键帧和时空约束的三维虚拟人体运动生成方法,包括以下步骤1)首先,使用骨骼结构的多刚体模型作为三维虚拟人体运动控制的几何模型,并确定控制该几何模型运动所需要的关节及其自由度的个数;2)由所述虚拟人几何模型中确定的所有表示自由度的角度参数构成的矢量,作为虚拟人体静态姿势形式化描述的参数;每一个虚拟人体的静态姿势,对应一组自由度的角度参数值;3)对待生成的人体动作,根据正向运动学或逆向运动学制作最小运动跨度和最大运动跨度这两个关键帧时刻的人体静态姿势;4)对待生成的虚拟人体运动全过程的时间序列进行等时间间隔采样,将该运动过程划分为时间相等的运动段;判断是否需要增加采样点,若是则根据确定的采样点个数及其在时间序列上的位置,继续进行非等时间间隔采样,否则直接进行下一步;5)采用基于时空约束的方法,对步骤4)中确定的每个时间采样点,通过调节各采样点时刻人体静态姿势的自由度的角度参数相对于最小或最大运动跨度关键帧时刻的偏移量(具体作法为以最小运动跨度关键帧时刻的自由度的角度参数作为最小值0,以最大运动跨度关键帧时刻的自由度的角度参数作为最大值1,则在0 1之间调节每个时间采样点的自由度的角度参数),得出待生成运动过程中各时间采样点的角度参数;对步骤4)中等时间间隔采样得到的所有时间点,判断是否需要增加中间帧,若是,则转步骤6),否则转步骤7);对于步骤4)中非等时间间隔采样得到的时间点,转步骤6);6)对步骤幻生成的所有采样时刻的角度参数进行拟合(可采用加权最小二乘支持向动的生成画面更加平滑流畅;7)判断待生成的虚拟人体运动在三维空间中的相对位置是否发生变化,若否,则虚拟人体在三维空间中始终位于最初的位置上,直接转步骤8)若是,则给出不同时刻虚拟人在三维空间中的位置参数,转步骤8)8)根据步骤5)和6)得到的各时刻的自由度的角度参数以及正向运动学方法,生成该时刻虚拟人体的静态姿势,并根据步骤7)中给出的该时刻虚拟人在三维空间中的位置参数,在虚拟世界中的指定位置处加以显示,通过连续播放运动序列,最终生成虚拟人体在三维空间中的运动全过程。本发明的特点及效果本发明的方法,选择待设计动作中运动跨度最大的两个极值时刻作为关键帧,其他运动时刻的角度参数均落在该跨度范围之内。对于这两个关键帧,需要由用户设置该时刻的虚拟人体静态姿势。对于其他中间帧,采用时空约束的方式,对采样的时间点交互设计角度参数相对于最小(或最大)运动跨度关键帧的角度偏移量,通过加权最小二乘支持向量机来拟合出角度变化曲线,完成角度插值。最后,通过在用户指定的三维虚拟空间位置中连续播放不同时刻的人体静态姿势,即生成虚拟人在三维虚拟空间中运动的全过程。本发明的方法,需要设置的关键帧数目少,动画师只需对待生成动作的两个关键帧设计虚拟人体静态姿势即可。而对于中间的运动过程,用户只需确定采样时间点,调节每个时间点上的角度偏移量,以及给出虚拟人相对于三维空间的位置参数,就可以实时、自动地生成虚拟人体运动的全过程。该方法,无需调节其他特殊参数,也无需各种数学公式和经验的困扰,能够完全根据用户的需要来设计人体动作。该方法为用户提供了简单、方便、快捷、直观的动作设计平台,将用户从繁琐的设计中解脱出来。同时,在静态姿势和动态运动的设置过程中,可以实时、全方位地观看三维效果。此外,用该方法设计虚拟人体的静态姿势和动态运动,能够方便的进行修改、编辑、保存和重用,大大降低了动作设计成本。


图1是按照本发明的虚拟人体运动生成方法流程图图2是右手挥手动作的等时间间隔采样点下的自由度的角度参数偏移量的设定;图3是人体上跳动作中采样点时刻的自由度的角度参数及其角度参数拟合曲线;图4是人体上跳动作中采样点时刻虚拟人体在三维空间中的位置参数及其位置参数拟合曲线
具体实施方式
本发明提出的基于关键帧和时空约束的三维虚拟人体运动生成方法结合附图及实施例详细说明如下本发明基于关键帧和时空约束的三维虚拟人体运动生成方法,如图1所示,包括以下步骤1)首先,使用骨骼结构的多刚体模型作为三维虚拟人体运动控制的几何模型,并确定控制该几何模型运动所需要的关节及其自由度的个数η,η为正整数;2)由所述虚拟人几何模型中确定的所有表示自由度的角度参数构成的矢量[θ ”
θ2,......θ η],作为虚拟人体静态姿势形式化描述的参数;每一个虚拟人体的静态姿势,
对应一组自由度的角度参数值;3)对待生成的人体动作,根据正向运动学或逆向运动学制作最小运动跨度和最大运动跨度这两个关键帧时刻的人体静态姿势(人体运动过程中,人体运动部位的运动轨迹会在空间内形成一个平面,该运动空间平面的两个边界位置的时刻,即选取为最小和最大运动跨度关键帧;其他时刻的运动轨迹均包含在由最小、最大运动跨度关键帧所形成空间平面内);4)对待生成的虚拟人体运动全过程的时间序列进行等时间间隔采样,将该运动过程划分为时间相等的运动段判断是否需要增加采样点,若是,则根据确定的采样点个数及其在时间序列上的位置,继续进行非等时间间隔采样,否则直接进行下一步;5)采用基于时空约束的方法,对步骤4)中确定的每个时间采样点,通过调节该时刻人体静态姿势的自由度的角度参数的偏移量(具体调节方法为以最小运动跨度关键帧时刻的自由度的角度参数作为最小值0,以最大运动跨度关键帧时刻的自由度的角度参数作为最大值1,则在0 1之间调节每个时间采样点的自由度的角度参数),得出待生成运动过程中各时间采样点的角度参数;对步骤4)中的等时间间隔采样得到的所有时间点,判断是否需要增加中间巾贞,若是,则转步骤6),否则转步骤7);对于步骤4)中非等时间间隔采样得到的时间点,转步骤6);6)对步骤幻生成的所有采样时刻的角度参数进行拟合(拟合方法可采用加权最小二乘支持向量机实现),生成一条人体运动在所有时刻的连续的角度参数时间变化曲线, 使得人体运动的生成画面更加平滑流畅;7)判断待生成的虚拟人体运动在三维空间中的相对位置是否发生变化,若否,则虚拟人体在三维空间中始终位于最初的位置[Χο^,Ζο]上,直接转步骤8);若是,则给出不同时刻虚拟人在三维空间中的位置参数[Xi,yi,Zi],转步骤8)8)根据步骤5)和6)得到的各时刻的自由度的角度参数以及正向运动学方法,生成该时刻虚拟人体的静态姿势,并根据步骤7)中给出的该时刻虚拟人在三维空间中的位置参数,在虚拟世界中的指定位置处加以显示,通过连续播放运动序列,最终生成虚拟人体在三维空间中的运动全过程。本发明方法的设计的两种实施例说明如下实施例1 以右手挥手动作作为待生成的虚拟人体运动。该挥手动作,右手手臂最初位于中间处,先向左挥动到最小运动跨度处,再向右挥动到最大运动跨度处,最后再向左摆回至中间位置,完成摆动全过程。本实施例的上述三维虚拟人体运动生成方法,包括以下步骤
1)首先,使用骨骼结构的多刚体模型作为三维虚拟人体运动控制的几何模型,并确定控制该几何模型运动所需要的关节及其自由度的个数由于人体有多达200多个自由度,为了平衡虚拟人体运动的逼真性和可控性,本实施例选取了 18个主要关节的45个自由度(未考虑手脚的关节划分),包括骶骨关节(6个自由度)、腰关节(3个自由度)、胸关节 (3个自由度)、颈关节(3个自由度)、左(右)胸骨锁骨关节0个自由度)、左(右)肩关节(3个自由度)、左(右)肘关节0个自由度)、左(右)腕关节0个自由度)、左(右) 髋关节(3个自由度)、左(右)膝关节0个自由度)、左(右)踝关节(1个自由度)。虚拟人体的质心设置在骶骨关节处,质心位置则代表了虚拟人在三维空间的位置。骶骨关节的六个自由度确定了虚拟人体与所在三维空间中的方位关系,三个角度参数[θ ” θ2,θ3] 确定了虚拟人体在三维空间中的朝向,三个位置参数[X(l,y0, z0]确定了虚拟人体在三维空间的位置;这45个自由度包括42个自由度的角度参数和3个自由度的位置参数;2)由上述虚拟人几何模型中确定的表示自由度的42个角度参数构成的矢量 [θ1 θ2,......θ 42],作为虚拟人体静态姿势形式化描述的参数3)对待生成的右手挥手动作,根据正向运动学制作最小运动跨度和最大运动跨度这两个关键帧时刻的人体静态姿势挥手动作中手臂处在最左端的状态设定为最小运动跨度关键帧(该时刻自由度的角度参数作为最小值0),手臂处在最右端的状态设定为最大运动关键帧(该时刻自由度的角度参数作为最大值1)4)对待生成的右手挥手动作的全过程进行等时间间隔采样,选取11个采样点,将运动过程划分为10个时间相等的运动段(本实施例无需增加其他采样点);5)根据该挥手动作,手臂的最初位置位于中间处,先向左挥动到最小运动跨度处, 再向右挥动到最大运动跨度处,最后再向左摆回至中间位置结束该动作,采用基于时空约束的方法,对步骤4)中确定的11个时间采样点,在0 1之间调节各时刻人体静态姿势的自由度的角度参数偏移量,得出运动过程中各采样点时刻的角度参数;具体采样时刻的角度参数的设置如图2所示,图中的小黑点为各采样点时刻的角度参数;这11个时间采样点已经足够控制挥手动作的运动过程,本实施例也不需要再增加中间帧;6)本实施例中只是右手挥动的动作,只是右臂在运动,虚拟人体相对于三维空间的位置并未发生改变,始终处于[&,10,Z0]处;7)对步骤5)中得到的各时刻的自由度的角度参数使用正向运动学方法,生成该时刻虚拟人体的静态姿势,通过连续播放运动序列,最终生成虚拟人体在三维空间中的右手挥动动作。实施例2 以人体上跳动作作为待生成的虚拟人体运动。该运动过程为准备上跳时,人体微微半蹲,略向下深蹲后,向上起跳,离地,悬于空中片刻后,落地,微微下蹲缓冲, 最后全身直立站在地面,完成整个上跳运动。本实施例的上述三维虚拟人体运动生成方法,包括以下步骤1)首先,使用骨骼结构的多刚体模型作为三维虚拟人体运动控制的几何模型,并确定控制该几何模型运动所需要的关节和及其自由度的个数;与实施例1相同,选取了控制人体运动的18个主要关节及其45个自由度,包括42个自由度的角度参数和3个自由度的位置参数;2)由上述虚拟人几何模型中确定的表示自由度的42个角度参数构成的矢量[θ1 θ2,......θ 42],作为虚拟人体静态姿势形式化描述的参数;3)对待生成的人体上跳动作,根据正向运动学制作最小运动跨度和最大运动跨度这两个关键帧时刻的人体静态姿势;人体上跳过程中,下肢屈膝弯曲的最大程度状态设置为最小运动跨度关键帧(该时刻自由度的角度参数作为最小值0),人体全身保持直立的状态为最大运动跨度关键帧(该时刻自由度的角度参数作为最大值1)。4)对待生成的虚拟人体上跳动作的全过程进行等时间间隔采样,选取4个采样点,将运动过程划分3个时间相等的运动段,第一段表示全身从最初的半蹲状态到离开地面的起跳过程,第二段表示全身直立悬于空中的过程,第三段表示落回地面的过程;为了更细致的描述具体过程,本实施例增加了 6个时间采样点第一个采样点是在第一段起跳的过程中,加入了一个下蹲到最大程度状态的采样点。接下来的四个采样点加在第二段全身直立于空中的过程中;最后一个点是在第三段落地的过程中,加入了一个落地后缓冲到半蹲状态的采样点;这样就构成了有10个采样点的非等时间间隔采样;5)采用基于时空约束的方法,对步骤4)中确定的10个时间采样点上,通过调节该时刻人体静态姿势的自由度的角度参数偏移量,得出运动过程中各采样点时刻的角度参数第一个采样点时刻,人体微微半蹲,准备起跳第二个采样点时刻,人体继续向下下蹲到最大程度,即是最小运动跨度时刻的关键帧;第三个采样点,人体即将离地,全身保持直立接下来的四个采样点,保持全身直立,悬于空中;第八个采样点,人体刚刚落地,全身保持直立;第九个采样点,人体落地缓冲后微微半蹲最后一个采样点,全身直立站在地上, 结束上跳动作;6)对步骤幻生成的10个采样时刻的角度参数,用加权最小二乘支持向量机方法进行拟合,生成一条人体运动在所有时刻的连续的角度参数和时间的变化曲线,如图3所示,图中,图中的小黑点为各采样点时刻的角度参数,曲线为用角度参数拟合后的曲线;在进行拟合中,由于最小、最大运动跨度关键帧的角度参数是设定的,比较精确,因此给予较高的权重,例如设置为0. 1,而对于运动过程中其他时间采样点上的角度参数,可以给予较低的权重,例如设置为0. 02 ;用这种加权最小二乘支持向量机方法,能够拟合得到一条平滑的各关节角度变化曲线,其一阶导数角速度的变化也是连续的,符合人体运动的基本规律7)判断待生成的虚拟人体上跳动作在三维空间中的相对位置是否发生变化。由于人体下蹲和上跳悬空的状态下,人体质心位置均发生了变化,即虚拟人体在三维空间中的相对位置发生了变化,因此需要给出不同时刻虚拟人体在三维空间中的位置参数[Xi,yi, Zi];在此人体上跳运动中,人体质心的位置在上下(y轴)方位上发生了移动,而没有在左右(χ轴)和前后(ζ轴)的方向上发生移动,因此只有y的值发生了变化;具体的人体位置和时间变化关系如图4所示,图中小黑点为采样点时刻的位置参数,曲线为质心位置拟合后的曲线。8)对步骤6)中得到的各时刻的自由度的角度参数使用正向运动学方法,生成该时刻虚拟人体的静态姿势,并根据步骤7)中给出的该时刻虚拟人在三维空间中的位置参数,在虚拟世界中的指定位置处加以显示,通过连续播放运动序列,最终生成虚拟人体在三维空间中的上跳动作。
权利要求
1.基于关键帧和时空约束的三维虚拟人体运动生成方法,其特征在于,包括以下步骤1)首先,使用骨骼结构的多刚体模型作为三维虚拟人体运动控制的几何模型,并确定控制该几何模型运动所需要的关节及其自由度的个数;2)由所述虚拟人几何模型中确定的所有表示自由度的角度参数构成的矢量作为虚拟人体静态姿势形式化描述的参数;每一个虚拟人体的静态姿势,对应一组自由度的角度参数值;3)对待生成的人体动作,根据正向运动学或逆向运动学制作最小运动跨度和最大运动跨度这两个关键帧时刻的人体静态姿势;4)对待生成的虚拟人体运动全过程的时间序列进行等时间间隔采样,将该运动过程划分为时间相等的运动段;判断是否需要增加采样点,若是则根据确定的采样点个数及其在时间序列上的位置,继续进行非等时间间隔采样,否则直接进行下一步;5)采用基于时空约束的方法,对步骤4)中确定的每个时间采样点,通过调节该时刻人体静态姿势的自由度的角度参数相对于最小或最大运动跨度关键帧时刻的偏移量,得出待生成运动过程中各时间采样点的角度参数;对步骤4)中等时间间隔采样得到的所有时间点,判断是否需要增加中间巾贞,若是,则转步骤6),否则转步骤7)对于步骤4)中非等时间间隔采样得到的时间点,转步骤6);6)对步骤幻生成的所有采样时刻的角度参数进行拟合,生成一条人体运动在所有时刻的连续的角度参数时间变化曲线,使得人体运动的生成画面更加平滑流畅;7)判断待生成的虚拟人体运动在三维空间中的相对位置是否发生变化,若否,则虚拟人体在三维空间中始终位于最初的位置上,直接转步骤8);若是,则给出不同时刻虚拟人在三维空间中的位置参数,转步骤8);8)根据得到的各时刻的自由度的角度参数以及正向运动学方法,生成该时刻虚拟人体的静态姿势,并根据步骤7)中给出的该时刻虚拟人在三维空间中的位置参数,在虚拟世界中的指定位置处加以显示,通过连续播放运动序列,最终生成虚拟人体在三维空间中的运动全过程。
2.如权利要求1所述方法,所述步骤的调节各采样点时刻人体静态姿势的自由度的角度参数相对于最小或最大运动跨度关键帧时刻的偏移量的方法为以最小运动跨度关键帧时刻的自由度的角度参数作为最小值0,以最大运动跨度关键帧时刻的自由度的角度参数作为最大值1,则在0 1之间调节每个时间采样点的自由度的角度参数。
3.如权利要求1所述方法,其特征在于,所述步骤6)中的拟合方法采用加权最小二乘支持向量机实现。
全文摘要
本发明涉及基于关键帧和时空约束的三维虚拟人体运动生成方法,属于计算机三维动画技术领域,该方法包括使用骨骼结构的多刚体模型作为三维虚拟人体运动控制的几何模型,由几何模型中确定的所有表示自由度的角度参数构成的矢量作为虚拟人体静态姿势形式化描述的参数;制作最小运动跨度和最大运动跨度两个关键帧时刻的人体静态姿势;对运动的时间序列进行等时间或非等时间采样,确定的每个时间采样点的角度偏移量,得出待生成运动过程中各时间采样点的角度参数;再生成该时刻虚拟人体的静态姿势并确定位置参数,生成虚拟人体在三维空间中的运动全过程。该方法无需特殊的视频捕获设备,提高了三维人体动画制作的简易性,具有方便、高效、灵活的特点。
文档编号G06T13/40GK102467749SQ201010537660
公开日2012年5月23日 申请日期2010年11月10日 优先权日2010年11月10日
发明者严峰 申请人:上海日浦信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1