一种基于流形学习的三维人体运动分析与合成方法

文档序号:6439562阅读:517来源:国知局
专利名称:一种基于流形学习的三维人体运动分析与合成方法
技术领域
本发明涉及一种三维人体运动数据分析和合成方法,特别是基于流形学习的三维人体运动分析与合成方法。
背景技术
随着计算机软硬件和图形学的飞速发展,三维动画也成为常见的媒体类型。现在以计算机技术为载体制作的动画在影视制作、游戏、模拟仿真及体育训练等领域受到越来越多的关注,其中人体动画作为三维动画的主体部分,因其包含很多的自由度,成为研究的重点和难点。根据生成动画的方法不同,目前常用的计算机动画技术可分为基于程序的方法、基于物理的方法、基于视频的方法及基于运动捕捉的方法。在许多运动捕捉方法中,光学式运动捕捉因其表演活动范围大,使用方便,采样频率高等优点被广泛采用。因此通过光学运动捕捉设备可获得的大量运动数据,基于大量运动库的人体运动分析与合成成为研究重点。三维人体分析与合成技术不但提高现有运动库的重用性,而且可以弥补运动捕捉结果中的缺陷,来满足动画师的特殊需求。运动捕捉的数据只是针对某一事件的记录,如果复用这些数据,做出一些细微的修改,如角色的大小或不同动作顺序,就可以利用合成技术生成新的数据。例如,建立不可能的运动,由于原始运动数据保留的是真实运动中的肢体的运动,不可能满足像夸张表现方式的动画需求,这时就需要分析或合成技术。目前常用的合成方法有运动过渡和运动融合、基于统计模型的方法和基于运动图的方法。目前的各种方法各有优缺点,适用于不同的情况,有时采用多种方法相结合的办法。

发明内容
本发明针对以上问题的提出,而研制一种基于流形学习的三维人体运动分析与合成方法。该方法是在通过光学人体动动捕捉设备得到的人体运动数据基础上,将流形学习算法应用于三维人体运动分析与合成方法中。由于光学运动捕捉设备的采集频率高,所得到的运动数据量大和维度过高,且人体运动数据具有非线性和全局性特征,所以将非线性流形学习算法和基于运动图的合成方法相结合。该方法不仅更加合理的划分原始运动序列并且可以提高后期构图效率和增强运动图的后期扩展性,并使生成的运动序列更进一步符合人体运动规律。本发明采用的技术方案如下一种基于流形学习的三维人体运动分体与合成方法,其特征在于包括如下步骤1)从已有的人体运动库中导入数据,获得人体姿态参数序列;2)从人体运动参数中提取所需数据,包括人体每个关节点的全局平移量和旋转信息;3)利用非线性等距映射算法对提取的运动信息进行降维,计算每个关节点的邻近点,以每个节点的邻域数据点来构建无向连接图,再把多维尺度变换应用于最短距离矩阵上;4)建立每段运动序列的低维嵌入的曲线模型,分析它的运动特征和类型,然后分割原始运动序列,根据降维后的数据曲线,并结合原始运动序列,确定多类型运动序列的分割点;5)存储分割得到的基本运动片段;6)转换运动数据格式,将人体非根节点的旋转信息转化为四元数表示;7)基于分割得到的基本运动片段构建运动图,在以上述步骤中得到的基本运动片段为基本单位,计算运动片段的相似帧,确定相似帧的距离参数,筛选出最优值,生成运动图;8)根据得到的运动图,得到新的合成路径,指定一条运动路径,在运动边上生成过渡序列,通过简单的插值来生成平滑的过渡运动,对于所有关节的旋转信息用球面线性插值算法来生成,对于根节点采用简单的线性插值。所述的步骤幻中利用非线性等距映射算法对提取的运动信息进行降维时,关键在于算法中邻域和维度的选择,由于人体运动本身是非常灵活的,对于不同的类型的运动库,需要通过不断地试验参数,已求得相似帧的距离的参数。所述的步骤4)中分割原始运动序列的方法具体描述为通过所述步骤幻中的方法将原始高维运动序列以低维特征曲线的方式进行记录,接下来就对运动捕捉数据在低维曲线上呈现出来的规律和特征,对运动片段进行截取或进行分割。所述的步骤7)中基于分割得到的基本运动片段构建运动图的方法具体描述为 在求解相似帧时,该方法不在是过去的基于原始运动序列中两两帧之间的比较,而是利用上述分段得到的基本运动片段,比较基本运动片段的前后帧,定义计算相似帧公式,公式如下D{Aend,BfirstU CC1Ciipi {end), Pi {first))
2Aend代表运动序列A的前10巾贞,Bfirsrt代表运动序列B的后10巾贞,Bi是代表关节点的权值,d(Pi (end),Pi (first)表示Aend和中第i个关节点的差距,pi (end)是Aend 中第i个关节点的四元数表示,Pi (first)是Bfi rt中第i个关节点的四元数表示;通过计算四元数的距离提取所需的相似帧,然后将所有运动数据库中的帧序列之间的距离计算出来后,根据所设定阈值,对适的跳转点进行筛选。同现有技术相比本发明的优点是显而易见的,具体如下1、本发明提出的非线性流形学习算法的三维人体运动分析与合成研究方法,更加合理有效地利用了 ISOMAP降维算法得到的基本运动片段。有效地解决了人体运动数据的维数灾难问题和后期运动图构建中的计算量问题。2、针对于不同大小、类型的运动数据库,灵活的设置不同饿参数值,关键在于提高后期构图效率和增强运动图的后期扩展性,并进一步的使生成的运动序列更符合人体运动规律。


图1为本发明算法流程图;图2为人体骨架模型; 图3为walk运动序列的低维流形;
图4为jump的低维嵌入特征曲线;
图5为dance的低维嵌入特征曲线;图6为分段结果显示;图7为运动片段之间的比较;图8为基于低维流形的运动图。
具体实施例方式本发明公开了一种基于非线性降维的三维人体运动分析与合成方法。该方法是在通过光学人体动动捕捉设备得到的人体运动数据基础上,将非线性流形学习算法应用于三维人体运动分析与合成方法中。光学运动捕捉设备的采集频率高,所得到的运动数据不仅数据量大且维度过高,并针对人体运动数据的非线性和全局性特征,将非线性流形学习算法和基于运动图表的合成方法相结合。首先,该方法在构图之前,采用非线性流形降维的方法将高维运动样本映射到低维流形上,利用在低维曲线上呈现出来的规律和特征进行详细分析后,将原始运动序列划分为更小的基本运动片段;然后,构造基于基本运动片段的运动图表;最后,基于用户的需求,搜索匹配路径。该方法关键在于提高后期构图效率和增强运动图的后期扩展性,并使生成的运动序列进一步符合人体运动规律。本发明的技术方案是首先,在构图表之前,采用等距映射方法将高维运动样本映射到低维流形上,利用在低维曲线上呈现出来的规律和特征进行详细分析后,将原始运动序列划分为更小的基本运动片段;然后,构造基于基本运动片段的运动图;最后,基于用户的需求,搜索匹配路径。该方法关键在于提高后期构图效率和增强运动图的后期扩展性,并使最终生成的运动序列更符合人体运动规律。并验证了在运动图合成中引入流形降维分段方法的可行性及有效性。附图1所示为本发明算法流程图,其具体包括以下技术环节一种基于流形学习的三维人体运动分体与合成方法,其特征在于包括如下步骤1)从已有的人体运动库中导入数据,获得人体姿态参数序列;2)从人体运动参数中提取所需数据,包括人体每个关节点的全局平移量和旋转信息;3)利用非线性等距映射算法对提取的运动信息进行降维,计算每个关节点的邻近点,以每个节点的邻域数据点来构建无向连接图,再把多维尺度变换(MDQ应用于最短距离矩阵上;(关键在于根据提取的运动信息类型确定合适的邻域参数和低维嵌入的维度参数,两个参数涉及邻近点个数的精确度,根据数据源可以设置为误差相对较小的值);4)建立每段运动序列的低维嵌入的曲线模型,数据降维后的数据曲线,分析它的运动特征和类型,然后分割原始运动序列,根据降维后的数据曲线,并结合原始运动序列, 确定多类型运动序列的分割点;5)存储分割得到的基本运动片段;6)转换运动数据格式,将人体非根节点的旋转信息转化为四元数表示;7)基于分割得到的基本运动片段构建运动图,在以上述步骤中得到的基本运动片段为基本单位,计算运动片段的相似帧,确定相似帧的距离参数,筛选出最优值,即相似性最大的,生成运动图;8)根据得到的运动图,得到新的合成路径,指定一条运动路径,在运动边上生成过渡序列,通过简单的插值来生成平滑的过渡运动,对于所有关节的旋转信息用球面线性插值算法来生成,对于根节点采用简单的线性插值。其中步骤幻中利用非线性等距映射算法对提取的运动信息进行降维时,关键在于算法中邻域和维度的选择,由于人体运动本身是非常灵活的,对于不同的类型的运动库, 需要通过不断地试验参数,已求得相似帧的距离的参数。步骤4)中分割原始运动序列的方法具体描述为通过所述步骤幻中的方法将原始高维运动序列以低维特征曲线的方式进行记录,接下来就对运动捕捉数据在低维曲线上呈现出来的规律和特征(运动序列本身的规律,包含周期性,一个运动里包含了哪几种运动类型等)对运动片段进行截取或进行分割。例如,若运动低维曲线呈周期循环类型,就截取其中一段单一的运动片段来应用和存储,这样还可以节省运动库的存储空间;对于原始运动序列中包含多种运动类型的,如一段包含多个转身和翻身跳的舞蹈运动类型,可以从曲线找到运动分割点,将其拆分为两个基本的运动片段,分别来存储。所述步骤7)中基于分割得到的基本运动片段构建运动图的方法具体描述为在求解相似帧时,该方法不在是过去的基于原始运动序列中两两帧之间的比较,而是利用上述分段得到的基本运动片段,比较基本运动片段的前后帧,定义计算相似帧公式,公式如下
权利要求
1.一种基于流形学习的三维人体运动分体与合成方法,其特征在于包括如下步骤1)从已有的人体运动库中导入数据,获得人体姿态参数序列;2)从人体运动参数中提取所需数据,包括人体每个关节点的全局平移量和旋转信息;3)利用非线性等距映射算法对提取的运动信息进行降维,计算每个关节点的邻近点, 以每个节点的邻域数据点来构建无向连接图,再把多维尺度变换应用于最短距离矩阵上;4)建立每段运动序列的低维嵌入的曲线模型,分析它的运动特征和类型,然后分割原始运动序列,根据降维后的数据曲线,并结合原始运动序列,确定多类型运动序列的分割占.5)存储分割得到的基本运动片段;6)转换运动数据格式,将人体非根节点的旋转信息转化为四元数表示;7)基于分割得到的基本运动片段构建运动图,在以上述步骤中得到的基本运动片段为基本单位,计算运动片段的相似帧,确定相似帧的距离参数,筛选出最优值,生成运动图;8)根据得到的运动图,得到新的合成路径,指定一条运动路径,在运动边上生成过渡序列,通过简单的插值来生成平滑的过渡运动,对于所有关节的旋转信息用球面线性插值算法来生成,对于根节点采用简单的线性插值。
2.根据权利要求1所述的一种基于流形学习的三维人体运动分体与合成方法,其特征在于所述的步骤3)中利用非线性等距映射算法对提取的运动信息进行降维时,关键在于算法中邻域和维度的选择,由于人体运动本身是非常灵活的,对于不同的类型的运动库,需要通过不断地试验参数,已求得相似帧的距离的参数。
3.根据权利要求1所述的一种基于流形学习的三维人体运动分体与合成方法,其特征在于所述的步骤4)中分割原始运动序列的方法具体描述为通过所述步骤幻中的方法将原始高维运动序列以低维特征曲线的方式进行记录,接下来就对运动捕捉数据在低维曲线上呈现出来的规律和特征,对运动片段进行截取或进行分割。
4.根据权利要求1所述的一种基于流形学习的三维人体运动分体与合成方法,其特征在于所属的步骤7)中基于分割得到的基本运动片段构建运动图的方法具体描述为在求解相似帧时,该方法不在是过去的基于原始运动序列中两两帧之间的比较,而是利用上述分段得到的基本运动片段,比较基本运动片段的前后帧,定义计算相似帧公式,公式如下
全文摘要
本发明公开了一种基于流形学习的三维人体运动分体与合成方法,其特征在于包括如下步骤1)获得人体姿态参数序列;2)从人体运动参数中提取所需数据;3)利用非线性等距映射算法对提取的运动信息进行降维;4)建立每段运动序列的低维嵌入的曲线模型;5)存储分割得到的基本运动片段;6)转换运动数据格式;7)在以上述步骤中得到的基本运动片段为基本单位,计算运动片段的相似帧,确定相似帧的距离参数,筛选出最优值;8)根据得到的运动图,得到新的合成路径。该方法有效地解决了人体运动数据的维数灾难问题和后期运动图构建中的计算量问题。
文档编号G06T13/20GK102521843SQ201110386799
公开日2012年6月27日 申请日期2011年11月28日 优先权日2011年11月28日
发明者刘燕燕, 张强, 魏小鹏 申请人:大连大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1