当前位置: 首页 > 专利查询>河海大学专利>正文

一种虚拟人运动位姿的计算方法技术

技术编号:12577185 阅读:56 留言:0更新日期:2015-12-23 16:55
本发明专利技术公开了一种虚拟人运动位姿的计算方法,该方法对人体末端位置信息和其所对应的关节旋转角度信息建立双层聚类模型,第一层空间采用k-means聚类法则进行位置约束关系聚类,第二层空间则对相关联的关节角度信息采用最大最小距离聚类法则进行聚类。本发明专利技术还建立测试样本末端位置信息与训练样本聚类空间中关节角度之间的映射关系,通过改进的约束方程找出满足约束条件的关节角度信息,实现逆向求解,从而还原整个虚拟人体的运动位姿。本发明专利技术具有求解精度高,求解速度快的优点,可以实现更为逼真的人体运动。

【技术实现步骤摘要】

本专利技术涉及,用于虚拟人的运动控制,属于虚拟 人运动控制

技术介绍
基于虚拟人运动捕获数据的编辑与重用是对已有的虚拟人运动捕获数据进行分 析与处理,从而生成新的虚拟人运动数据。编辑和合成是常用的利用运动数据进行编辑与 处理的方法。然而,一般运动数据的编辑方法只能产生单独的、特定的运动片断,不能实时 合成出连续的、满足要求的运动数据。 近年来子空间分析、统计学习、流形学习等机器学习方法被广泛应用于运动数据 的分析与合成。Eng-Jon Ong等提出基于双层聚类模型的逆向运动方法,该方法是基于已知 样本信息求解的,将双层聚类模型用于对已有运动捕获数据进行学习,从而建立整个角色 骨架的运动学约束模型用于指导逆向运动生成。但是该方法采用的是BIP格式数据,忽略 了人体头部信息,双层聚类模型中的部分参数不是通过样本信息求解,而是根据经验值指 定,通用性受到限制。
技术实现思路
本专利技术所要解决的技术问题是:提供,采用BVH 格式运动捕获数据,包含详细的头部信息,对样本的训练采用最大最小距离聚类方法,大大 缩小了计算时间。 本专利技术为解决上述技术问题采用以下技术方案: ,包括如下步骤: 步骤1,获取训练样本中虚拟人的运动数据,包括髋关节的位置向量和角度向量、 以及其他关节的角度向量,并对其进行预处理,得到虚拟人末端关节的位置向量; 步骤2,根据步骤1得到的末端关节的位置向量和已知的角度向量建立双层聚类 模型,将末端关节的位置向量作为第一层对其位置约束关系进行k-means聚类得到位置聚 类空间,将末端关节的角度向量作为第二层对其角度约束关系进行最大最小距离聚类得到 角度聚类空间; 步骤3,已知虚拟人测试样本中末端关节的位置向量,计算上述位置向量与步骤2 得到的位置聚类空间中各聚类中心的欧氏距离,将欧氏距离最小的聚类中心所在的位置聚 类空间提取出来; 步骤4,将步骤3提取出来的位置聚类空间中各位置向量对应的角度向量在步骤2 得到的角度聚类空间中找到,并且将上述角度向量所在的角度聚类空间都提取出来; 步骤5,计算测试样本的位置向量与步骤4提取的角度聚类空间各聚类中心的欧 氏距离,将欧氏距离最小的角度聚类空间提取出来,并计算该角度聚类空间中的角度向量 对应的位置向量;将计算出的位置向量与测试样本的位置向量求欧氏距离,并将欧氏距离 最小的位置向量从计算出的位置向量中提出,得到测试样本所有关节的角度向量; 步骤6,利用动态时间规整技术对步骤5得到的所有关节的角度向量做时序约束, 得到虚拟人测试样本的运动位姿。 优选的,步骤1所述末端关节包括髋、头、左腕、右腕、左踝以及右踝。 优选的,步骤1所述运动数据的格式为BVH格式。 优选的,步骤1所述预处理的过程为:从髋关节开始,根据当前关节的位置向量等 于当前关节父节点的位置向量先乘以当前关节的旋转矩阵再乘以当前关节相对其父节点 的偏移矩阵的计算规则,然后依次计算其他各关节的位置向量。 优选的,步骤2所述k-means聚类中距离度量准则为欧氏距离准则。 本专利技术采用以上技术方案与现有技术相比,具有以下技术效果: 本专利技术虚拟人运动位姿的计算方法,以BVH格式运动捕获数据为研究对象。相比 现有技术,本专利技术以六个人体末端关节为研究对象,既包含人体基本结构的运动数据,也能 保证算法对样本的要求,对样本的训练采用最大最小距离聚类方法,大大缩小了计算时间。 以样本外的动作序列为研究对象,运用动态时间规整(DTW)技术求出待测运动序列与数 据库中备选运动片段之间的相似性,求出符合条件的人体的关节角度信息集合得到更加简 单、可靠的逆向运动求解。【附图说明】 图1是本专利技术虚拟人运动位姿的计算方法的流程结构图。 图2是本专利技术BVH格式运动数据的检索树结构图。 图3是本专利技术虚拟人运动位姿的计算系统的结构框图。【具体实施方式】 下面详细描述本专利技术的实施方式,所述实施方式的示例在附图中示出,其中自始 至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参 考附图描述的实施方式是示例性的,仅用于解释本专利技术,而不能解释为对本专利技术的限制。 如图1、图2所示,虚拟人运动位姿的计算方法的具体步骤如下: 步骤1、BVH文件采用层次结构来完成对角色模型的描述,如图2所示,树的根结 点是髋关节,叶节点为头部、左腕、右腕、左踝、右踝。因为人体骨架模型具有层次性,整具 骨架的移动是以其根节点的平移来表示的,其它节点只作旋转。所以人体运动的方向由髋 关节的平移和旋转决定,其它各子节点的旋转在以其父结点为坐标原点的局部坐标系下进 行,以肩关节为例,其旋转会带动其下一层骨骼转动。大臂位姿是由肩关节位姿决定,其在 全局坐标系下的位姿是由肩关节的位姿和肩关节的旋转矩阵与在其局部坐标系下大臂的 偏移矩阵相乘得到。肩关节位姿又是由脖子位姿决定,以此类推,根据树层次层层递归,各 关节点的位姿的计算是根据当前其父节点的位姿和旋转矩阵与该关节的偏移矩阵相乘得 到。即,其中異指第i关节在全局坐标系下位置向量J1 指偏移矩阵,是由第i关节点与其父节点的偏移量构成成指第i关节点的旋转矩阵,由绕 Z,X,Y轴的3个旋转欧拉角计算得出;i从0开始。 步骤2、运动编辑模块是本专利技术的核心所在,为了能够对人体运动数据进行精确划 分,本专利技术通过把六个人体末端位置向量麗^作为第一层对其位置约束关系进行聚类;在 此基础上,视末端所对应的关节角度向量?为第二层对其角度约束关系进行聚类。具体而 言,本步骤具体包括: 步骤2. 1、在第一层聚类空间中,对人体末端位置向量进行k-means聚类,可以将 人体末端信息分割成一系列位置聚类空间;假设第一层共产生Cni个聚类,第i个位置约束 聚类用Cpil(i = l,···,!!!)表示。每一个聚类都包含人体六个末端位置信息。定义^^为聚 类Cpil的聚类中心,可用Cw =fp·)表示。具体步骤为: (1)把聚类空间分为所要的聚类数目k和最大迭代次数η ; (2)随机取k个帧的人体数据作为聚类中心,计算其余数据帧到本聚类中心的距 离,该步骤中,距离准则采用欧氏距离计算; (3)找出最小距离,并把该数据帧归入最近的聚类中心; (4)对每一类中各个数据帧,计算它到其他类中心的距离,如果它到某一类中心 的距离小于它到自身类中心的距离,需要对该类进行重新规划,将它归属到距离中心近的 类; (5)循环重复操作。 步骤2. 2、在第二层聚类空间中,采用最大最小距离聚类法则来实现,该方法不仅 避免参数的设定,而且聚类中心已知,从而减少计算机运行时间,提高求解效率。例如在第i(i = i,…,m)个位置约束聚类下,找出Cpi中所有人体末端位置向量对应的关节角度信 息向量,对其进行聚类。令第一层聚类空间中第i个位置约束关系聚类应的第j个 关节角度关系聚类Cq^ (i = 1,…,m,j = 1,…,C1)表示,q表示此聚类属于第二层聚类空 间。每一个聚类包含的是人体各个关节的角度信息,定义为聚类Cu,的聚类中心,则 具体算法步骤如下: ⑴假设S= {Β/,Β2',Β3',···,Βη'}是第i个位置聚类C1^a = 1,…,m)包含的 人体末端位置向量对应的关节角度序列集合,其中下标p表示属于本文档来自技高网...

【技术保护点】
一种虚拟人运动位姿的计算方法,其特征在于:包括如下步骤:步骤1,获取训练样本中虚拟人的运动数据,包括髋关节的位置向量和角度向量、以及其他关节的角度向量,并对其进行预处理,得到虚拟人末端关节的位置向量;步骤2,根据步骤1得到的末端关节的位置向量和已知的角度向量建立双层聚类模型,将末端关节的位置向量作为第一层对其位置约束关系进行k‑means聚类得到位置聚类空间,将末端关节的角度向量作为第二层对其角度约束关系进行最大最小距离聚类得到角度聚类空间;步骤3,已知虚拟人测试样本中末端关节的位置向量,计算上述位置向量与步骤2得到的位置聚类空间中各聚类中心的欧氏距离,将欧氏距离最小的聚类中心所在的位置聚类空间提取出来;步骤4,将步骤3提取出来的位置聚类空间中各位置向量对应的角度向量在步骤2得到的角度聚类空间中找到,并且将上述角度向量所在的角度聚类空间都提取出来;步骤5,计算测试样本的位置向量与步骤4提取的角度聚类空间各聚类中心的欧氏距离,将欧氏距离最小的角度聚类空间提取出来,并计算该角度聚类空间中的角度向量对应的位置向量;将计算出的位置向量与测试样本的位置向量求欧氏距离,并将欧氏距离最小的位置向量从计算出的位置向量中提出,得到测试样本所有关节的角度向量;步骤6,利用动态时间规整技术对步骤5得到的所有关节的角度向量做时序约束,得到虚拟人测试样本的运动位姿。...

【技术特征摘要】

【专利技术属性】
技术研发人员:刘惠义吴思高杰
申请(专利权)人:河海大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1