CN102842146B - 一种基于构造分解法的运动数据转换方法 - Google Patents
一种基于构造分解法的运动数据转换方法 Download PDFInfo
- Publication number
- CN102842146B CN102842146B CN201110173853.1A CN201110173853A CN102842146B CN 102842146 B CN102842146 B CN 102842146B CN 201110173853 A CN201110173853 A CN 201110173853A CN 102842146 B CN102842146 B CN 102842146B
- Authority
- CN
- China
- Prior art keywords
- motion data
- structure decomposition
- rotation
- data conversion
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Abstract
一种基于构造分解法的运动数据转换方法。在计算骨骼关节点旋转信息的时候,传统的方法假定其中一个方向上的扭矩为零,仅求解二自由度的旋转信息,这种方法降低了旋转数据的精确度。针对这一问题,首先以树型结构建立人体骨骼模型,然后利用关节点自身在骨架中的结构关系,提出一种构造分解法求解关节点的三自由度旋转信息,用于驱动人体骨骼模型,并将此方法用于前几种流行的运动数据格式转换中,如BVH、ASF/AMC等格式的数据。
Description
1.技术领域
是一种将具有拓扑关系的三维空间点向某种图形数据格式转换的方法,主要是用在人体三维运动数据的参数化中,用来驱动三维人体模型。
2.背景技术
在人体运动捕获中,原始运动数据是运动人体各个关节点的空间三维坐标的集合。采用人体关节点的空间三维坐标来描述运动是一种非层次化的描述方法,在这种描述方法中,各个关节点的三维坐标参数相互独立,运动过程中某一关节点的位置变化不会对其它关节点的位置变化产生影响。由于这种描述方法不能真实描述人体运动习惯,违背人体模型中的骨架长度恒定约束,导致在后期的运动编辑时必须求解复杂的长度约束方程,影响运动捕获的真实感。
当前几种流行的运动数据格式,如BVH、ASF/AMC等格式的数据,有一些共同的特点:1)具有层次骨架结构,即数据中包含的骨架模型具有一定的层次结构,用来表示人体结构。骨架数据表示为树形结构,关节间的链接结构由父、子节点关系表示出来。2)关节旋转变化,即通过各个关节平移变换和旋转变换的合成,来表示骨架的运动和变形。关节点的平移由关节点的相对位置信息表示,而关节点的旋转信息表示为关节点的相对旋转欧拉角。
因此,将原始三维坐标运动数据转换为标准格式的运动数据,需要解决以下问题:
(1)分析骨架关联关系,建立人体骨架模型;
(2)根据人体关节点三维坐标,计算各个关节相对于父节点的旋转矩阵;
(3)计算旋转矩阵,求解欧拉角。
3.发明内容
设人体节点为Joint,绕Z,X,Y轴旋转量分别是γ、α、β,则该节点的旋转矩阵:
设(xJoint,yJoint,zJoint)Coordinate是关节点Joint在Coordinate坐标系下的坐标。建立关节点Chest在参考坐标系下坐标和Hips局部坐标系下坐标之间的变换方程:
其中是Chest关节点在参考坐标系下的坐标,Chest关节点在Hips局部坐标系下的坐标即是Chest的OFFSET参数值。
由于公式(2)的求解存在困难,通常的做法是假设某一轴的旋转分量为零,进行降维求解,这种方法会降低人体模型和实际动作的匹配度。本专利提出构造分解法,可不必假设某一轴的旋转分量为零,即可求解三个轴上的旋转分量。
当两个向量(x1,y1,z1)T和(x2,y2,z2)T的长度相等时,存在正交矩阵R,使得(x2,y2,z2)T=R(x1,y1,z1)T。由于在公式(4)中,(x1,y1,z1)T和(x2,y2,z2)T是关节点在世界坐标系和局部坐标系下的同一向量,很显然存在该正交矩阵。首先对两个向量进行归一化,然后采用分解构造的方法求解旋转矩阵RHips,方法如下。
为了构造满足(x2,y2,z2)T=R(x1,y1,z1)T的正交矩阵R,令:
(x1,y1,z1)T=U(0,0,1)T
(x2,y2,z2)T=Q(0,0,1)T
其中:
则有:
R=QU-1
由于旋转矩阵R是R(α)R(β)R(γ)的形式,我们对Q和U-1进行分解构造,使得Q=R(β)R1(α),U-1=R2(α)R(γ)且R(α)=R1(α)R2(α)。
那么:
其中:
在上述旋转矩阵中,c1、c2、s1和s2都不包含未知量,所以解是唯一的,即在既定旋转次序的情况下不存在第二种旋转情况。公式(3)中的R1(α)R2(α)、R(β)和R(γ)与公式(1)中的R(α)、R(β)和R(γ)一一对应,可以求解得到欧拉角。
4.附图说明
5.具体实施方式
5.1人体运动描述
定义的人体骨骼模型,是一种树型结构,树的根节点是Hips关节点,其它节点是对应于人体模型中的各个关节点。整个人体的运动是由根节点的平移和树上各节点绕父节点的旋转组成的。每个节点相对于根节点都有一条唯一的通路。对于节点Jn+1,有:
其中是关节点Jn+1的世界坐标,是关节点Jn+1在以Jn节点为原点的局部坐标系下的坐标,Ti、Ri(i=Hips,…,Jn)是子节点相对于父节点的偏移和旋转矩阵。即所有非根节点的世界坐标位置都是由它在父节点坐标系下的坐标转换为祖父节点坐标系下,然后再转换到该祖父节点的父节点坐标系下,如此回溯,一直到世界坐标系。建立人体骨骼模型后,求解描述人体运动姿态的数据信息:各个关节在以其父关节为原点的局部坐标系下的偏移量(把世界坐标系的原点看成是根关节的父关节)和子关节绕以其父关节为原点的参考坐标系的各个轴的旋转信息(欧拉角)。把这些数据信息看成是关于时间t的函数,那么人体运动可以描述为:
M(t)=(T(t),R1(t),...Ri(t)...,Rn(t)) (5)
其中T(t)表示t时刻根关节点Hips相对于世界坐标系原点的平移量,Ri(t)表示t时刻第i个关节点的旋转量。
5.2计算节点偏移量和自由度
已知重建的三维标记点的世界坐标,本专利采用以下过程,首先计算每个关节点相对于父节点的偏移量,然后再逐步求解各关节点的旋转欧拉角,最后利用这些偏移旋转数据驱动人体骨架模型。
5.2.1求解各节点的偏移量OFFSET
由于根节点无父节点,本文定义根节点的偏移量始终为零。已知骨骼段Li的首尾关节点Ji和Ji+1的世界坐标,那么这段骨骼的长度为:
根据人体初始骨骼模型和每段骨骼的长度可得各节点在其父节点局部坐标系中的偏移向量:Chest在Hips局部坐标系中的向量为(0,LChest,0),LeftHip在Hips局部坐标系中的向量为(-LLeftHip,0,0),即OFFSETChest=(0,LChest,0),OFFSETLeftHip=(0,LLeftHip,0),类似可以得到其余各个节点的OFFSET参数值。
5.2.2求解各节点的自由度
根节点的自由度包括三个平移参数和三个旋转参数,而其他节点的自由度仅包含三个旋转参数。首先计算根节点的自由度,再依次计算其他节点的自由度,在计算旋转参数的时候,提出一种构造分解的方法求解欧拉角。
5.2.2.1求解根节点Hips的自由度
根节点Hips的平移量即是Hips在世界坐标系下的三维坐标(xHips,yHips,zHips)。
假设每个关节点的欧拉角是按照Z-X-Y的顺序排列的,即空间中子节点相对于父节点的旋转矩阵,都是由沿Z轴、X轴以及Y轴的三个基本旋转矩阵顺序复合而成的。
其中绕Z轴旋转一个γ角的旋转矩阵为:
绕X轴旋转一个α角的旋转矩阵为:
绕Y轴旋转一个β角的旋转矩阵为:
然后根据本专利提出的基于构造分解法求解各欧拉角。
5.2.2.2求解第n个关节点Jn的自由度
假设已求得从世界坐标系到Jn-1局部坐标系的旋转矩阵:
其中Ri是从Ji局部坐标系变换到Ji+1局部坐标系的欧拉角旋转矩阵。建立关节点Pi+1在初始局部坐标系下坐标和当前局部坐标系下坐标之间的变换方程:
其中是关节点Jn+1在Jn局部坐标系下的坐标,即Jn+1的OFFSET参数值。同样利用上一节的分解构造方法求解关节点Jn的旋转矩阵Rn和欧拉角。求解出视频序列中每一帧人体模型各关节点的自由度,利用这些数据驱动三维人体模型。
Claims (2)
1.一种基于构造分解法的运动数据转换方法,所述方法是通过级联方式,将具有拓扑关系的三维空间位置数据点参数化,用来驱动三维人体模型;所述基于构造分解法的运动数据转换方法具有以下技术特征:
同时求解三个相对旋转欧拉角,当两个向量(x1,y1,z1)T和(x2,y2,z2)T的长度相等时,存在正交矩阵R,使得(x2,y2,z2)T=R(x1,y1,z1)T,构造满足(x2,y2,z2)T=R(x1,y1,z1)T的正交矩阵R,令:
(x1,y1,z1)T=U(0,0,1)T,(x2,y2,z2)T=Q(0,0,1)T
其中:
则有R=QU-1;
由于旋转矩阵R是R(β)R(α)R(γ)的形式,其中α、β、γ分别为绕X、Y、Z轴旋转的角度,对Q和U-1进行分解构造,使得Q=R(β)R1(α),U-1=R2(α)R(γ)且R(α)=R1(α)R2(α);
那么:
其中:
在上述旋转矩阵中,c1、c2、s1和s2都不包含未知量,所以解是唯一的,即在既定旋转次序的情况下不存在第二种旋转情况。
2.如权利要求1所述的基于构造分解法的运动数据转换方法,其特征在于:利用此方法将具有拓扑关系的三维空间点集转换为BVH、ASF/AMC之一的运动数据格式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110173853.1A CN102842146B (zh) | 2011-06-25 | 2011-06-25 | 一种基于构造分解法的运动数据转换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110173853.1A CN102842146B (zh) | 2011-06-25 | 2011-06-25 | 一种基于构造分解法的运动数据转换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102842146A CN102842146A (zh) | 2012-12-26 |
CN102842146B true CN102842146B (zh) | 2015-01-07 |
Family
ID=47369463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110173853.1A Active CN102842146B (zh) | 2011-06-25 | 2011-06-25 | 一种基于构造分解法的运动数据转换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102842146B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105205848A (zh) * | 2015-10-09 | 2015-12-30 | 摩多文化(深圳)有限公司 | 一种3d人体模型动画逻辑化导入过程及方法 |
CN107578462A (zh) * | 2017-09-12 | 2018-01-12 | 北京城市系统工程研究中心 | 一种基于实时运动捕捉的骨骼动画数据处理方法 |
CN112785680B (zh) * | 2019-11-07 | 2023-01-24 | 上海莉莉丝科技股份有限公司 | 描述三维虚拟空间中物体关系的方法、系统、设备和介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866494A (zh) * | 2010-06-28 | 2010-10-20 | 北京理工大学 | 一种利用网格顶点对角色模型进行分割的方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09153151A (ja) * | 1995-11-30 | 1997-06-10 | Matsushita Electric Ind Co Ltd | 3次元骨格構造の動き生成装置 |
US7027618B2 (en) * | 2001-09-28 | 2006-04-11 | Koninklijke Philips Electronics N.V. | Head motion estimation from four feature points |
-
2011
- 2011-06-25 CN CN201110173853.1A patent/CN102842146B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866494A (zh) * | 2010-06-28 | 2010-10-20 | 北京理工大学 | 一种利用网格顶点对角色模型进行分割的方法 |
Non-Patent Citations (3)
Title |
---|
JP特开平9-153151A 1997.06.10 * |
基于反对称矩阵分解的计算刚体三维运动旋转参数的线性算法;范洪 等;《电子学报》;19920430;第20卷(第4期);第1-7页 * |
基于视频的三维人体运动跟踪;刘国翌 等;《计算机辅助设计与图形学学报》;20060131;第18卷(第1期);第82-88页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102842146A (zh) | 2012-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111553968B (zh) | 一种三维人体重构动画的方法 | |
CN106023288A (zh) | 一种基于图像的动态替身构造方法 | |
CN102375416B (zh) | 基于快速搜索树的人型机器人踢球动作信息处理方法 | |
CN107067451A (zh) | 动画中动态骨骼的实现方法和装置 | |
CN104463788B (zh) | 基于运动捕捉数据的人体运动插值方法 | |
CN102842146B (zh) | 一种基于构造分解法的运动数据转换方法 | |
CN107481313A (zh) | 一种基于学习有效点云生成的密集三维物体重建方法 | |
CN102682452A (zh) | 基于产生式和判别式结合的人体运动跟踪方法 | |
CN110473266A (zh) | 一种基于姿态指导的保留源场景人物动作视频生成方法 | |
CN105563487A (zh) | 基于Maya的摄像机器人离线编程方法 | |
Dai et al. | Skeletal animation based on BVH motion data | |
CN110310351A (zh) | 一种基于草图的三维人体骨骼动画自动生成方法 | |
CN102306386A (zh) | 从单张树木图像快速构建真实感树木模型的方法 | |
CN103886588A (zh) | 一种三维人体姿态投影的特征提取方法 | |
CN103227888A (zh) | 一种基于经验模式分解和多种评价准则的视频去抖动方法 | |
CN101833785A (zh) | 一种具有物理真实感的可控动态形状插值方法 | |
CN103116903A (zh) | 二维动画角色动作的重定向方法 | |
CN103023510A (zh) | 一种基于稀疏表达的运动数据压缩方法 | |
CN103426196A (zh) | 一种流体环境下的关节动画建模技术 | |
CN106683169A (zh) | 一种关节运动感知的稀疏局部分解及重构算法 | |
CN103582901A (zh) | 生成运动合成数据的方法和生成运动合成数据的设备 | |
CN104268305B (zh) | 一种基于位置动力学的角度弯曲模型的仿真方法 | |
CN104616338A (zh) | 基于二维动画的时空一致的变速内插方法 | |
CN101261741A (zh) | 一种基于细节编码及重构的物理变形方法 | |
CN110097615B (zh) | 一种联合风格化和去风格化的艺术字编辑方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |