论文部分内容阅读
基于实例数据合成逼真人体运动是近年来计算机动画研究的热点。由于运动捕获是针对特定场景采集特定运动,为了满足实际中不同的应用需求,利用已经捕获到的实例数据合成新的人体运动,是研究的重点和难点。本文以运动捕获数据的重用性为研究对象,主要研究了实例数据的统计建模方法和人体运动中的动作单元自动提取方法两方面的内容,并取得以下的研究成果:
(1)提出了一种基于线性反馈动力学系统的运动编辑方法
当把捕获数据应用于不同的实际需求时,需要根据约束条件对捕获到的实例数据进行编辑和修改,才能满足用户的需要。传统的运动编辑方法主要是针对人体的每个关节单独进行修改,这种编辑方法的主要缺点是忽略了人体不同关节之间的运动存在耦合性。针对人体运动的编辑问题,本文提出了一种基于线性反馈动力学系统的运动编辑方法,把高维运动数据映射到低维状态空间,并根据约束条件,再在低维状态空间中对运动序列进行编辑。该方法有以下主要优点:①由于是在低维状态空间中,对运动序列进行编辑和修改,该方法保证了不同关节之间的运动耦合性;②对于给定的运动序列,只需要手工修改其中几帧关键帧,剩余的运动姿态就可以通过统计模型自动计算得到;③由于该方法是建立运动序列随时间的演化模型,可以很好地提取出原始运动序列中的动力学属性,因此,可以保证编辑后的运动与原始运动具有类似的动力学特征,保证了编辑质量。
(2)提出了一种基于低维语义信号的运动合成方法
由于人体关节自由度很多,对每个关节自由度运动单独进行修改,是一件很繁琐的工作,并且破坏了不同关节之间的运动耦合性。怎样通过一种直观的方式,为动画师提供一种便利的人体运动生成方式,是动画生成的难题。针对该问题,本文提出了一种基于低维语义信号的运动合成方法,采用线性时不变系统训练低维语义信号和高维人体运动之间的映射模型,并通过实例数据学习得到模型参数,就可以通过控制和修改低维语义信号合成新的人体运动。与已有的方法相比,该方法具有以下特点:①动画师可以通过日常的生活经验直观地手绘语义信号,从而方便地合成新的人体运动;②动画师可以根据自己的应用需求,直接修改原始语义信号中的关键控制点,就可以按照用户的需求修改和调整原始运动序列;③该方法主要通过控制低维语义信号,合成高维人体运动,很好地保持了人体运动在编辑过程中不同关节之间的运动耦合性。
(3)提出了一种基本动作单元的自动提取方法
通常情况下,捕获到的实例数据都是时序很长的运动序列,运动序列中蕴含大量重复的基本动作单元,为了便于对捕获到的运动数据进行重用,需要对运动序列进行自动分割,提取出反映人体运动规律的基本动作单元。已有的动作单元提取方法,主要采用聚类方法对实例数据进行归类分析或寻找运动关节轨迹曲线中速度为零的关键点,聚类方法主要是从类内样本之间的相似性对运动序列进行分割,当运动序列变化比较平缓时,运动分割效果很差:而寻找速度为零的关键点,只适合于某些特定的运动类型。针对现有方法的不足,本文提出了一种新的基本动作单元提取方法,首先,采用PCA方法对高维人体运动数据进行降维分析,并采用马氏距离平方度量姿态之间的距离;其次,结合动态时间归整方法和误差平方和准则对时序的运动序列进行自动分割和标注,该方法的特点是既考虑了每段内样本之间的相似性,也考虑了段与段之间相似性,因此,采用该方法能更好地提取出运动序列中蕴含的基本动作单元。
(4)提出了一种运动图的构建及基于运动图的运动合成方法
为了重用这些提取的基本动作单元,需要建立这些动作单元之间的概率转移模型。针对该问题,本文提出了一种运动图构建方法,就是以基本动作单元为运动图节点,每个节点对应代表同一个动作单元的一组相似运动片断。该运动图在运动合成方面有如下特点:①运动图节点是抽象动作单元,在给定约束条件情况下,只需要在动作单元状态空间中进行搜索,减少了搜索范围,提高了运动合成效率;②在确定了动作单元状态序列后,根据运动片断之间连续性条件,再在每个基本动作单元中挑选合适的运动片断,采用该方法可以保证合成出来的运动序列具有较好的平滑性和连续性。