一种对人体运动捕获数据中的噪声和误差进行修正的方法

文档序号:6560866阅读:205来源:国知局
专利名称:一种对人体运动捕获数据中的噪声和误差进行修正的方法
技术领域
本发明涉及人体运动数据的捕获,特别涉及一种对人体运动捕获数据中的噪声和误差进行修正的方法。
背景技术
人体运动捕获技术是一种能够直接捕捉人体动作,用数字表示这些动作,并利用计算机对运动数据进行处理的技术。它在很多方面都有重要的应用。在计算机动画领域,通过捕获运动数据可以生成逼真的人体动画;在医学领域,通过运动捕获数据计算出人体每个关节所受的力和力矩,进而分析每个关节的生理状况。同样,在体育运动领域可以根据计算的速度、加速度、力来分析运动员的运动是否合理,怎样改进动作。
在人体运动捕获技术中,目前使用范围最广的是基于光学的人体运动捕获方法。该方法通过跟踪贴在人体关节部位标志点的轨迹,进而计算出关节的转动角度(转动关节)或平移量(平移关节)。但基于光学的人体运动捕获方法有其局限性当标志点贴的位置相对于标准位置有偏移或由于人体肢体的遮挡造成某些标志点无法被观测到时,捕获的运动数据就有较大的误差;此外,光学设备对外部环境较敏感,即使标志点贴的很好,同时也没有自遮挡现象,捕获的运动数据仍然含有噪声。当人体运动捕获技术应用于医学和体育领域时,要求捕获的运动数据满足物理约束,也就是满足多刚体动力学方程。由于客观存在的误差和噪声使得多刚体动力学方程无法满足,因此需要一种方法来消除这些误差和噪声。
多刚体动力学方程是一组计算多刚体系统中每个刚体的速度、加速度以及所受广义力的物理方程。多刚体动力学方程有很多理论上等价的形式,但是在工程计算中主要是用具有较好数值计算性能的牛顿-欧拉方程。
在牛顿-欧拉方程里,由于关节的旋转运动不是一种矢量,因此需要一些特殊的方法来描述。常用于描述关节旋转运动的方法有两种1)欧拉角。欧拉角是使用一组依次绕X、Y、Z轴旋转的转角来描述关节运动的方法。一个旋转关节最多只要3个转角就可以完全描述它的转动。最少需要N(N=1,2,3)个转角才能描述其旋转的关节称为具有N个自由度的关节。使用欧拉角描述旋转关节最大的优点是没有冗余性,即能根据关节的自由度用最少的变量来描述其转动。但一个严重的缺点是欧拉角可能存在奇异性,也即不能保证欧拉角随时间连续变化。
2)单位四元数。单位四元数是一个模长为1的四元组q=(q0q1q2q3)(q02+q12+q22+q32=1).]]>单位四元数最大的优点是没有奇异性,但是缺点有两个①冗余性不论旋转关节有几个自由,都需要4个分量来描述该关节;②模长为1的约束。用牛顿-欧拉方程来计算刚体的速度、加速度、广义力时,使用四元数参数化关节比用欧拉角更好。原因在于不用考虑欧拉角奇异性问题。但是一旦涉及对运动数据进行修正,单位四元数的模长约束就会导致优化计算中出现过约束的问题,使得优化失败。
现有的多刚体动力学方程主要是从机器人领域发展起来的,在方程中要么完全用欧拉角描述关节转动,要么完全用四元数描述关节转动。这两种方程都不适用于人体运动捕获数据的修正中,原因就是不能同时满足如下两个重要条件1)无奇异性;2)避免运动数据优化修正中出现的过约束问题。因此需要发展一种能同时满足以上两个重要条件的多刚体动力学方程。
由于运动捕获过程中误差和噪声的存在,因此需要对捕获运动数据进行修正,利用优化模型来修正捕获运动数据是当前的一种主流的方法。目前使用的优化模型中,目标函数是修正的运动数据和捕获的原始运动数据之间的差距;约束函数是人体质心上六个方向的广义力为零。这种优化模型适用于捕获到的运动数据质量较好的情况,但对于标志点大量丢失以及标志点偏移量较大的情况它是无效的。因此有必要提出一种更加鲁棒的优化模型。

发明内容
本发明的一个目的是克服现有的牛顿-欧拉方程在人体运动捕获数据修正中无法同时满足无奇异性和无过约束性的缺陷,从而提出了一种基于欧拉角-四元数的混合牛顿-欧拉多刚体动力学方程。该方程能够有效地解决欧拉角奇异性的问题并将四元数模长为一的约束对优化运动数据的阻碍降到最低。
本发明的另一个目的是为了克服传统优化模型对捕获的原始运动数据的质量要求较高,优化的约束条件不容易得到满足的缺点,从而提供一种不仅有很好的收敛性,同时还能保证修正后的运动数据满足物理约束的优化模型。
为了实现上述目的,本发明提供了一种对人体运动捕获数据中的噪声和误差进行修正的方法,包括以下步骤10)、在计算机上输入人体拓扑结构文件和肢体几何模型文件,然后根据人体拓扑结构和肢体几何模型建立人体几何模型;20)、在计算机上输入人体总质量,根据人体总质量和步骤10)中得到的肢体几何模型中的人体肢体几何参数,按照生物力学中的统计方法,计算出每个肢体的人体质量分布参数;所述的人体质量分布参数包括肢体的质量和一个3×3的转动惯量矩阵;30)、将采用现有人体运动捕获技术得到的人体运动捕获数据输入计算机中,并将所述的人体运动捕获数据与人体的运动关节进行匹配;40)、根据步骤30)得到的人体运动捕获数据,参数化人体运动关节,在参数化关节时,首先用欧拉角参数化旋转关节,然后对每个旋转关节,判断其欧拉角是否具有奇异性,对于具有奇异性的旋转关节,将欧拉角转化为四元数,并用四元数参数化该关节;50)、建立基于欧拉角-四元数的混合牛顿-欧拉多刚体动力学方程,根据步骤40)中得到的关节的参数化类型,分别计算当前刚体相对父刚体的广义旋转矩阵、刚体的速度、刚体的加速度,并利用当前刚体相对父刚体的广义旋转矩阵、刚体的速度、刚体的加速度计算刚体上的关节所受到的广义力;60)、建立基于物理约束的优化模型,该优化模型中包括一个目标函数和一个约束函数,所述的目标函数为人体根刚体上六个方向的广义力的平方和在整个运动过程中的积分,所述的约束函数为修正后的运动数据和捕获的原始运动数据间的差距小于给定的阀值;70)、在步骤60)所建立的优化模型中,设置优化计算的迭代次数,每个优化变量的上下限;80)、根据步骤70)中所设置的迭代次数和每个优化变量的上下限,对步骤60)中所建立的优化模型进行优化,得到修正后的运动捕获数据;90)、将修正后的运动捕获数据按读入的格式写入输出数据文件,同时将目标函数值、约束函数值以及每步迭代得到的中间结果写入一个优化过程记录文件中。
上述技术方案中,在所述的步骤10)中,所述的人体拓扑结构描述了人体肢体间的父子关系,在所述的肢体几何模型文件中,描述了人体肢体的几何参数,包括肢体的长、宽、高参数。
上述技术方案中,在所述的步骤10)中,所述的人体几何模型可采用“Hanavan人体模型”或“Zatsiorsky人体模型”或“中国人体模型”。
上述技术方案中,在所述的步骤40)中,所述的判断欧拉角是否具有奇异性时,若相邻两帧欧拉角的变化大于九十度,则欧拉角具有奇异性。
上述技术方案中,在完成所述的步骤40)后,将所有的欧拉角和四元数作B样条拟合。
上述技术方案中,所述的步骤50)的具体实现步骤包括步骤5-1)、在人体模型中,从根刚体开始向叶子刚体做前向递归计算;步骤5-2)、在每个刚体上,判断当前刚体上关节的参数化类型,若为欧拉角,执行步骤5-3),若为四元数,执行步骤5-4);步骤5-3)、调用混合的牛顿-欧拉动力学方程中以欧拉角为变量的方程,计算当前刚体相对父刚体的广义旋转矩阵、刚体的速度和刚体的加速度,然后执行步骤5-5);步骤5-4)、调用混合的牛顿-欧拉动力学方程中以四元数为变量的方程,计算当前刚体相对父刚体的广义旋转矩阵、当前刚体相对父刚体的旋转矩阵、当前刚体相对父刚体的旋转矩阵的导数、当前刚体相对世界坐标系的旋转矩阵以及它的逆矩阵的导数、当前刚体的关节中心到世界坐标原点的矢量、当前刚体的关节中心到世界坐标原点的矢量的导数、刚体的速度和加速度,然后执行步骤5-5);步骤5-5)、由叶子刚体向根刚体做后向递归运算,根据步骤5-3)或步骤5-4)得到的当前刚体相对父刚体的广义旋转矩阵、刚体的速度和刚体的加速度,调用混合的牛顿-欧拉动力学方程中计算广义力的方程计算每个关节上受到的广义力。
本发明的优点在于首先提供了一种适合于运动捕获数据修正的基于欧拉角-四元数的混合牛顿-欧拉多刚体动力学方程。该方程不仅能有效地解决欧拉角奇异性的问题还使得四元数模长为一的约束对优化运动数据造成的障碍降到最低。其次提出了一种新的优化模型,该优化模型对初始的捕获运动的质量要求低,收敛性好,还能保证修正后的运动数据在满足物理约束的情况下非常接近于原始的捕获数据。本发明综合使用多刚体动力学、生物力学、优化计算技术,提出的方法适用于任意的人体拓扑结构和复杂的运动数据,具有很好的通用性和实用性。


图1为本发明的对人体运动捕获数据中的噪声和误差进行修正的方法的流程图;图2A为利用原始运动捕获数据和修正后的运动捕获数据计算出的人体根刚体X方向合力矩的结果图;图2B为利用原始运动捕获数据和修正后的运动捕获数据计算出的人体根刚体Y方向合力矩的结果图;图2C为利用原始运动捕获数据和修正后的运动捕获数据计算出的人体根刚体Z方向合力矩的结果图;图3A为利用原始运动捕获数据和修正后的运动捕获数据计算出的人体根刚体X方向合力的结果图;图3B为利用原始运动捕获数据和修正后的运动捕获数据计算出的人体根刚体Y方向合力的结果图;图3C为利用原始运动捕获数据和修正后的运动捕获数据计算出的人体根刚体Z方向合力的结果图;图4为人体模型的示意图。
图面说明——利用原始数据计算得到的结果 利用修正后的数据计算得到的结果具体实施方式
下面结合附图和具体实施方式
对本发明的方法做进一步说明。
在一个实施例中,本发明的对人体运动捕获数据中的噪声和误差进行修正的方法在一台CPU主频为2.8GHz,内存为1G的计算机上实现,该计算机采用WindowsXP操作系统。
在上述平台的基础上,如图1所示,本发明的对人体运动捕获数据中的噪声和误差进行修正的方法包括以下步骤步骤10、输入人体拓扑结构和肢体几何模型文件,根据人体拓扑结构和肢体几何模型文件建立人体几何模型。其中,所述的人体拓扑结构描述了人体肢体间的父子关系。如图4所示,在一个人体模型中,人体左手上的肘关节是腕关节的父关节,而肩关节又是肘关节的父关节。在所述的肢体几何模型文件中,则包含有人体肢体的几何参数,如肢体的长、宽等参数。所述的人体拓扑结构可从人体生物力学的文献中得到,所述肢体几何模型的数据可用卷尺测量得到。在本步骤中,人体几何模型的建立是成熟的现有技术,人体模型可采用“Hanavan人体模型”、“Zatsiorsky人体模型”以及“中国人体模型”。相关技术可见参考文献1现代运动生物力学,郑秀瑗等,国防工业出版社,2002。
步骤20、输入人体总质量,根据人体总质量和步骤10中得到的人体肢体的几何参数,参照生物力学中的统计方法,计算出每个肢体的人体质量分布参数。其中,所述的质量分布参数包括肢体(在多刚体动力学方程中,肢体被视为刚体)的质量和3×3的转动惯量矩阵。
步骤30、输入人体运动捕获数据,并将运动捕获数据与运动关节进行匹配。所述的运动捕获数据包含了不同的时间内,各个肢体的转动角度值以及人体整体的三个方向平移值。在本步骤中,所述的运动捕获数据与运动关节进行匹配是指某一关节的运动捕获数据应当与该关节相联系,而不是与其它关节相联系。例如,腕关节的运动捕获数据与腕关节相联系,肩关节的运动捕获数据与肩关节相联系。在本实施例中,输入的人体运动捕获数据采用自定义的格式VHD,通过该格式的文件能将运动捕获数据和运动关节进行匹配。
所述的自定义VHD的格式如下第一个关节名称采样时间1运动数据1采样时间2运动数据2……第二个关节名称采样时间1运动数据1采样时间2运动数据2……第三个关节名称采样时间1运动数据1采样时间2运动数据2………………第N个关节名称采样时间1运动数据1采样时间2运动数据2……步骤40、根据步骤30中输入的人体运动捕获数据,参数化人体运动关节。其具体实现如下步骤401、用欧拉角参数化旋转关节;在人体模型中,除了根刚体上的一个关节为平移关节外,人体模型的其他关节都为旋转关节。
步骤402、对每一个旋转关节,判断相邻两帧的欧拉角度变化是否大于九十度,如果大于九十度表明欧拉角产生了奇异性,执行步骤403,否则执行步骤405。以具有三个自由度的关节为例,具体规则如下设αi,βi,γi是某个关节在第i帧的三个欧拉角。αi+1,βi+1,γi+1是第i+1帧的欧拉角。如果|αi+1-αi|,|βi+1-βi|,|γi+1-γi|有某一个值大于九十度,则该关节的欧拉角产生了奇异性。
步骤403、将欧拉角转化为四元数;欧拉角转化四元数是现有技术,其具体实现可见参考文献2计算多体系统动力学,洪嘉振,科学出版社2002年。
步骤404、用四元数参数化旋转关节;步骤405、对所有的欧拉角和四元数进行B样条拟合,以减少自变量的个数。
步骤50、建立基于欧拉角-四元数的混合牛顿-欧拉多刚体动力学方程;该方程是一组递归的方程。根据关节参数化类型,动态地调用相应的计算方程。其具体实现如下。
步骤501、在人体模型中,从根刚体开始向叶子刚体做前向递归计算,在每个刚体中完成以下操作。
步骤5011、判断当前刚体上关节的参数化类型,若为欧拉角,执行步骤5012,若为四元数,执行步骤5013。
步骤5012、调用混合的牛顿-欧拉动力学方程中以欧拉角为变量的方程计算以下项1)、当前刚体相对父刚体的广义旋转矩阵,如方程(1)所示;Xij=Rij0-Rij(li′×)Rij---(1)]]>Rij坐标系i相对坐标系j的旋转矩阵;li′坐标系j的原点在(未旋转前的)坐标系i中的坐标值;其中符号“×”定义如下xyz×=0-zyz0-x-yx0]]>特别的,对于根刚体而言,它本身没有父刚体,只能做平移运动,它的广义旋转矩阵中的Rij是3乘3的单位矩阵。
2)、计算刚体的速度和加速度。使用欧拉角计算刚体的速度和加速度时,计算方程如方程(2)和方程(3)所示vi′=Xi-1ivi-1′+si′θ·i---(2)]]> 其中,vi′表示第i个刚体的空间速度;ai′表示第i个刚体的空间加速度;Xij表示坐标系i到坐标系j的广义旋转矩阵;si′表示第i个关节的转轴;θi对于旋转关节表示欧拉角度值,对于平移关节表示平移值。
表示对应的一阶、二阶导数。 表示将一个6×1的矢量变成6×6的矩阵,其规则如下 步骤5013、调用混合的牛顿-欧拉动力学方程中以四元数为变量的方程计算以下项1)、当前刚体相对父刚体的广义旋转矩阵Xij,对空间选择矩阵的计算可参照方程(1);2)、当前刚体相对父刚体的旋转矩阵Rij;对旋转矩阵Rij的计算在方程(5)后的说明中有具体的描述。
3)、当前刚体相对父刚体的旋转矩阵的导数 所述的旋转矩阵的导数 通过对旋转矩阵Rij求导得到;4)、当前刚体相对世界坐标系的旋转矩阵Ri0以及它的逆矩阵的导数 5)、当前刚体的关节中心到世界坐标原点的矢量ri′;6)、当前刚体的关节中心到世界坐标原点的矢量的导数 7)、计算速度、加速度。利用四元数计算刚体的速度和加速度时,计算方程如方程(4)和方程(5)所示
vi′=Xi-1ivi-1′+ω→i′0---(4)]]>ai′=Xi-1iai-1′+R0iR·i0ω→i′+ω→·i′r·i′×ω→i′---(5)]]>其中,Rij=2qi,02-1+2qi,122qi,1qi,2-2qi,0qi,32qi,1qi,3+2qi,0qi,22qi,1qi,2+2qi,0qi,32qi,02-1+2qi,222qi,2qi,3-2qi.0qi,12qi,1qi,3-2qi,0qi,22qi,2qi,3+2qi,0qi,12qi,02-1+2qi,32]]>R0i=Ri-1iR0i-1;R·0i=R·i-1iR0i-1+Ri-1iR·0i-1;]]>ω→i′=2Liq·i;ω→·i′=2Liq··i]]>Li=-qi,1qi,0qi,3-qi,2-qi,2-qi,3qi,0qi,1-qi,3qi,2-qi,1qi,0]]>Rij表示坐标系i到坐标系j的旋转矩阵;vi′表示第i个刚体的空间速度;ai′表示第i个刚体的空间加速度;Xij表示坐标系i到坐标系j的广义旋转矩阵;qi表示第i个关节转动的四元数;ωi′表示第i个刚体的角速度; 表示第i个刚体相对于第i-1个刚体的角速度;li′表示第i-1个坐标系的原点到第i个坐标系原点的矢量;ri′表示第i个坐标系原点到世界坐标系的矢量。
在上述变量中,一个变量的上方带有一个点表示该变量的一阶导数,带有两个点的表示该变量的二阶导数。右上角带有一撇的表示改变量位于局部坐标系中,步骤502、由叶子刚体向根刚体做后向递归运算,在每个刚体中建立牛顿-欧拉动力学方程,利用该方程计算关节上受到的广义力。该广义力的计算方程如方程(6)所示。
Ii′=-mici‾×miIi‾-mici‾×ci×mici‾×]]>mi第i根刚体的质量;
Ii第i根刚体相对于质心的转动惯量矩阵;ci第i根刚体的质心在第i个标架中的坐标; 表示将一个6×1的矢量变成6×6的矩阵,在方程(3)中对变换过程有相应的说明。
在上述的利用混合的牛顿-欧拉动力学方程计算广义力的过程中,对于用欧拉角表示的关节,在计算广义力时,采用由欧拉角计算得到的速度和加速度,对于用四元数表示的关节,在计算广义力时,采用由四元数得到的速度和加速度。
步骤60、建立基于物理约束的优化模型。该优化模型的建立包含以下步骤步骤601、建立目标函数,所述目标函数为人体根刚体上六个方向的广义力的平方和在整个运动过程中的积分,该函数的表达式如方程(7)所示∫t=t0t=t1Σi=16fi2(t)---(7)]]>步骤602、建立约束函数,所述约束函数为修正后的运动数据和捕获的原始运动数据间的差距小于给定的阀值。
|xi(tj)-xi,j|<H(8)其中,xi(tj)表示第i个关节在tj时刻的运动数据,xi,j表示对应的原始运动数据,H表示给定的阀值。
步骤603、设置优化计算的迭代次数,每个优化变量的上下限。本步骤中所述的优化变量是指描述关节运动的B样条的控制点。因为所有实用的优化算法都只能找到局部最优解而不能保证找到全局最优解,因此需要设置一个迭代次数使得在合理的时间内找到近似的局部最优解。设置优化变量的上下限是为了减小变量的定义域,加快找到局部最优值的速度。
步骤70、使用逐步二次规划方法求解优化问题。逐步二次规划方法为现有技术,利用逐步二次规划方法求解优化问题的具体实现可见参考文献3最优化理论与方法,袁亚湘、孙文瑜,科学出版社1999。
步骤80、得到优化后的满足物理约束人体运动数据,将计算得到的修正运动捕获数据按读入的格式写入输出数据文件,同时将目标函数值、约束函数值以及每步迭代得到的中间结果写入一个优化过程记录文件。
利用本发明的对人体运动捕获数据中的噪声和误差进行修正的方法,可以很好地消除通过人体运动捕获技术所捕获的运动数据中存在的误差和噪声。图2是一个实施例中,利用原始运动捕获数据和修正后的运动捕获数据分别计算人体根刚体上所受合力矩的结果图。图2A表示X方向的合力矩,图2B表示Y方向的合力矩,图2C表示Z方向的合力矩,其中,在图2A、图2B、图2C中,细线表示由原始运动捕获数据计算得到的合力矩的值,粗线表示由修正后的运动捕获数据计算得到的合力矩的值,从图中可以看出,由修正后运动数据计算得到的合力矩比由原书运动数据计算得到的合力矩更接近理论值0。图3则是利用原始运动捕获数据和修正后的运动捕获数据分别计算人体根刚体上所受合力的结果图,图3A表示X方向的合力,图3B表示Y方向的合力,图3C表示Z方向的合力,其中,在图3A、图3B、图3C中,细线表示由原始运动捕获数据计算得到的合力的值,粗线表示由修正后的运动捕获数据计算得到的合力的值。从图中可以看出,由修正后运动数据计算得到的合力比由原书运动数据计算得到的合力更接近理论值0。图2和图3都说明了利用本发明方法对运动数据进行修正后,明显降低了误差与噪声的干扰。
权利要求
1.一种对人体运动捕获数据中的噪声和误差进行修正的方法,包括以下步骤10)、在计算机上输入人体拓扑结构文件和肢体几何模型文件,然后根据人体拓扑结构和肢体几何模型建立人体几何模型;20)、在计算机上输入人体总质量,根据人体总质量和步骤10)中得到的肢体几何模型中的人体肢体几何参数,按照生物力学中的统计方法,计算出每个肢体的人体质量分布参数;所述的人体质量分布参数包括肢体的质量和一个3×3的转动惯量矩阵;30)、将采用现有人体运动捕获技术得到的人体运动捕获数据输入计算机中,并将所述的人体运动捕获数据与人体的运动关节进行匹配;40)、根据步骤30)得到的人体运动捕获数据,参数化人体运动关节,在参数化关节时,首先用欧拉角参数化旋转关节,然后对每个旋转关节,判断其欧拉角是否具有奇异性,对于具有奇异性的旋转关节,将欧拉角转化为四元数,并用四元数参数化该关节;50)、建立基于欧拉角-四元数的混合牛顿-欧拉多刚体动力学方程,根据步骤40)中得到的关节的参数化类型,分别计算当前刚体相对父刚体的广义旋转矩阵、刚体的速度、刚体的加速度,并利用当前刚体相对父刚体的广义旋转矩阵、刚体的速度、刚体的加速度计算刚体上的关节所受到的广义力;60)、建立基于物理约束的优化模型,该优化模型中包括一个目标函数和一个约束函数,所述的目标函数为人体根刚体上六个方向的广义力的平方和在整个运动过程中的积分,所述的约束函数为修正后的运动数据和捕获的原始运动数据间的差距小于给定的阀值;70)、在步骤60)所建立的优化模型中,设置优化计算的迭代次数,每个优化变量的上下限;80)、根据步骤70)中所设置的迭代次数和每个优化变量的上下限,对步骤60)中所建立的优化模型进行优化,得到修正后的运动捕获数据;90)、将修正后的运动捕获数据按读入的格式写入输出数据文件,同时将目标函数值、约束函数值以及每步迭代得到的中间结果写入一个优化过程记录文件中。
2.根据权利要求1所述的对人体运动捕获数据中的噪声和误差进行修正的方法,其特征在于,在所述的步骤10)中,所述的人体拓扑结构描述了人体肢体间的父子关系,在所述的肢体几何模型文件中,描述了人体肢体的几何参数,包括肢体的长、宽、高参数。
3.根据权利要求1所述的对人体运动捕获数据中的噪声和误差进行修正的方法,其特征在于,在所述的步骤10)中,所述的人体几何模型可采用“Hanavan人体模型”或“Zatsiorsky人体模型”或“中国人体模型”。
4.根据权利要求1所述的对人体运动捕获数据中的噪声和误差进行修正的方法,其特征在于,在所述的步骤40)中,所述的判断欧拉角是否具有奇异性时,若相邻两帧欧拉角的变化大于九十度,则欧拉角具有奇异性。
5.根据权利要求1所述的对人体运动捕获数据中的噪声和误差进行修正的方法,其特征在于,在完成所述的步骤40)后,将所有的欧拉角和四元数作B样条拟合。
6.根据权利要求1所述的对人体运动捕获数据中的噪声和误差进行修正的方法,其特征在于,所述的步骤50)的具体实现步骤包括步骤5-1)、在人体模型中,从根刚体开始向叶子刚体做前向递归计算;步骤5-2)、在每个刚体上,判断当前刚体上关节的参数化类型,若为欧拉角,执行步骤5-3),若为四元数,执行步骤5-4);步骤5-3)、调用混合的牛顿-欧拉动力学方程中以欧拉角为变量的方程,计算当前刚体相对父刚体的广义旋转矩阵、刚体的速度和刚体的加速度,然后执行步骤5-5);步骤5-4)、调用混合的牛顿-欧拉动力学方程中以四元数为变量的方程,计算当前刚体相对父刚体的广义旋转矩阵、当前刚体相对父刚体的旋转矩阵、当前刚体相对父刚体的旋转矩阵的导数、当前刚体相对世界坐标系的旋转矩阵以及它的逆矩阵的导数、当前刚体的关节中心到世界坐标原点的矢量、当前刚体的关节中心到世界坐标原点的矢量的导数、刚体的速度和加速度,然后执行步骤5-5);步骤5-5)、由叶子刚体向根刚体做后向递归运算,根据步骤5-3)或步骤5-4)得到的当前刚体相对父刚体的广义旋转矩阵、刚体的速度和刚体的加速度,调用混合的牛顿-欧拉动力学方程中计算广义力的方程计算每个关节上受到的广义力。
全文摘要
本发明公开了一种对人体运动捕获数据中的噪声和误差进行修正的方法,包括建立人体几何模型;设置人体质量分布参数;输入捕获的人体运动数据;根据运动数据参数化人体运动关节;建立基于欧拉角—四元数的混合牛顿—欧拉多刚体动力学方程;建立基于物理约束的优化模型;设置优化计算的迭代次数;用逐步二次规划方法求解优化模型;得到满足物理约束的人体运动数据。本发明的方法适用于对任意的人体拓扑结构和运动数据进行修正,具有很好的通用性和实用性。
文档编号G06T17/00GK1924932SQ20061011307
公开日2007年3月7日 申请日期2006年9月8日 优先权日2006年9月8日
发明者夏时洪, 魏毅, 王兆其 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1