CN104463788B - 基于运动捕捉数据的人体运动插值方法 - Google Patents
基于运动捕捉数据的人体运动插值方法 Download PDFInfo
- Publication number
- CN104463788B CN104463788B CN201410764271.4A CN201410764271A CN104463788B CN 104463788 B CN104463788 B CN 104463788B CN 201410764271 A CN201410764271 A CN 201410764271A CN 104463788 B CN104463788 B CN 104463788B
- Authority
- CN
- China
- Prior art keywords
- mrow
- msub
- mtd
- interpolation
- motion
- 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
- 230000033001 locomotion Effects 0.000 title claims abstract description 138
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000011218 segmentation Effects 0.000 claims abstract description 25
- 230000007704 transition Effects 0.000 claims abstract description 18
- 238000013519 translation Methods 0.000 claims abstract description 11
- 238000006243 chemical reaction Methods 0.000 claims abstract description 8
- 230000002123 temporal effect Effects 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 claims description 8
- 210000001699 lower leg Anatomy 0.000 claims description 7
- 230000000737 periodic effect Effects 0.000 claims description 7
- 230000009467 reduction Effects 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 4
- 238000002864 sequence alignment Methods 0.000 claims description 3
- 241001269238 Data Species 0.000 claims description 2
- 230000037433 frameshift Effects 0.000 claims description 2
- 238000007493 shaping process Methods 0.000 claims description 2
- 230000000007 visual effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 19
- 230000036544 posture Effects 0.000 description 18
- 238000004458 analytical method Methods 0.000 description 8
- 238000011160 research Methods 0.000 description 8
- 238000000605 extraction Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 238000007796 conventional method Methods 0.000 description 4
- 230000000386 athletic effect Effects 0.000 description 3
- 210000001217 buttock Anatomy 0.000 description 3
- 210000000988 bone and bone Anatomy 0.000 description 2
- 238000005520 cutting process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004445 quantitative analysis Methods 0.000 description 1
- 230000035807 sensation Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/262—Analysis of motion using transform domain methods, e.g. Fourier domain methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20048—Transform domain processing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种基于运动捕捉数据的人体运动插值方法,首先解析载入的两段运动序列文件并进行坐标系转换操作;然后基于世界坐标系下的运动数据,提取双脚前后位置关系特征和步距时序特征,并根据人体运动规律,依据以上的两个特征,将长的运动序列分割为短运动段;最后在同一短段内选取最相似的帧对并基于此确定关键帧对,然后基于关键帧对运用四元数球面插值算法进行角度旋转插值,运用线性插值方法进行根节点的平移插值,从而连接成一段新的运动。本发明在确定关键帧对时是基于分割后的同一短段进行的,确保了插值过渡顺序符合人眼视觉逻辑顺序,具有很好的视觉效果。
Description
技术领域
本发明属于计算机视觉领域,具体涉及一种基于运动捕捉数据的人体运动插值方法。
背景技术
随着计算机图像技术及其相关衍生品的高速发展,使得运动捕捉技术逐渐成为虚拟现实、计算机视觉、影视制作、游戏娱乐和计算机动画等领域的数据获取手段。然而,该***的价格昂贵;采集数据时对场地环境要求严格;动画制作对演员动作质量的要求高,使得运动数据的重用性研究成为了一个非常有意义的研究方向。重用性研究即利用已有数据库中的运动数据,通过编辑、融合、拼接、合成等操作搭建运动网络,产生丰富多变的新运动序列,生成满足各自需求的虚拟动作,使得计算机动画制作、虚拟现实等各领域的工作效率大大提升,并且节省了制作成本。
关键帧插值是广泛用于人体运动数据重用性研究的重要插值技术。其基本原理是首先获取或制作动画序列中的若干关键帧,然后基于关键帧利用插值技术生成中间过渡帧。关键帧的提取主要考虑运动特征和关键帧量化分析两方面。由于人体运动包含多个自由度,而且是高维空间的运动数据,传统方法在原始数据上直接分析和提取特征存在计算量过大的问题。因此,当前方法是先将原始数据通过降维,对降维后的数据提取关键帧可大大减少计算量。关键帧插值技术是通过给定若干关键帧,运用插值算法直接生成中间帧。常见的插值算法有:线性插值、四元数插值、三次样条插值以及双插值等。运用关键帧插值技术具有代表性的有:Ashraf和Wong运用双线性插值方法将给定的两个以上的运动生成新的运动。Rose等人提出结合运动约束的逆向运动学方法。通过将人体模型划分为三种不同部分,分别进行插帧合成的新的人体运动。四元数球面插值技术将四元数的旋转映射到单位四维球面上,逐步减小两四元数的夹角,在给定的两个姿态间逐步过渡生成新的姿态,经常运用在关键帧插值研究中。但是在三维人体动画制作中,由于三维人体模型复杂、运动数据高维以及人眼视觉对人体运动敏感特性,依靠纯粹的插值算法,达到降低关键帧对提取的误差以及运用插值算法生成高度真实的运动具有很大的挑战性,因此经常需要结合起运动学知识或者其他知识。
发明内容
本发明的目的是提供一种基于运动捕捉数据的人体运动插值方法,是一种新的基于特征分析、运动周期分割,过渡帧对匹配的关键帧插值方法。
本发明所采用的技术方案是,一种基于运动捕捉数据的人体运动插值方法,首先解析载入的两段运动序列文件(BVH文件),并进行坐标系转换操作;然后基于世界坐标系下的运动数据,提取双脚前后位置关系特征和步距时序特征,并根据人体运动规律,依据以上的两个特征,将长的运动序列分割为短运动段;最后在同一短段内选取最相似的帧对并基于此确定关键帧对,然后基于关键帧对运用四元数球面插值算法进行角度旋转插值,运用线性插值方法进行根节点的平移插值,从而连接成一段新的运动。
本发明的特点还在于,
具体包括以下步骤:
步骤1,加载解析运动序列文件(BVH文件),并对BVH文件的运动数据在局部坐标系下的相对位置信息转换为在世界坐标系下的绝对位置信息;
步骤2,基于步骤1得到的在世界坐标系下的绝对位置信息,提取关节点的空间位置关系特征与时序关系的特征,并根据人体运动周期性规律,采用双脚前后位置关系特征和步距时序特征将长运动序列进行分割为多个短的运动序列;
步骤3,基于步骤2得到的分割结果,将分割后的短段进行基于时间帧序列对齐,并在同一短段内,确定欧氏距离最短的帧对为最相似的姿态,从而确定关键帧对;
步骤4,基于步骤3的关键帧对,运用四元数球面插值算法生成中间过渡帧角度旋转值,运用线性插值算法生成根节点中间过渡帧平移值。
步骤1中运动序列文件由两部分组成:骨架部分和运动数据;首先以令牌传递方法解析人体骨架部分:通过逐步读取运动序列文件中的每一个关键词、整形字符、浮点型字符、字符串解析,然后按照骨架结构顺序解析运动数据部分;
采用递归的方式求出人体运动数据各关节点在世界坐标系下的绝对位置信息;转换公式如下(1)所示:
pi (j)=Ti (root)Ri (root)...Ri (k)...p0 (j) (1)
其中,pi (j)表示运动序列的第i时刻关节点Nj的在世界坐标系的坐标;Ti (root),Ri (root)分别表示根节点的平移和旋转变换矩阵;Ri (k)表示骨架结构中关节Nk相对其直接父节点的旋转变换矩阵;Nk为树形人体骨架中,从根节点到节点Nj之间的任意节点;p0 (j)表示初始时,Nj在其父节点的局部坐标系下的偏移量。
步骤2中,根据人体运动呈周期性规律的性质,特别是对于移动类的运动,无论风格如何,都是双脚向前交替着向前行进;基于此规律,运用双脚向前空间位置关系特征以及步距时序特征为依据分割长运动序列;两个分割函数分别表示如下所示:
其中,Pace_changed函数表示某一时刻的双脚向前步距是否由增加变换为开始减小,或者由减小变换为开始增加,如果是,将函数值赋值为1,表示此时刻步距为该短段的最大步距或最小步距,即将此时刻定义为该段运动的分割点;否则赋值为0,表示此时刻为某短段的非分割点;Frount_foot函数表示某一时刻的右脚是否在左脚前方,当右脚在前方时,赋值为1,否则赋值为0。
步骤3中,基于步骤2得到的分割结果,运用公式(4)进行短段内的时间帧序列对齐,获得匹配帧对:f1与f2、f1 ′与f2 ′分别表示两段的起始与结束帧,计算得到匹配帧对(fi,fi′);然后基于匹配帧对计算选取最相似的帧对做为关键帧对;采用最常用的欧氏距离确定最相似的帧对,假设计算得到的欧氏距离最小值为D(Pi,Pj),则选取下一帧为关键帧对即(Pi,Pj+1);其中,确定欧氏距离最小值公式如下(5)所示:
其中,pi k,pj k表示两段运动序列第k个关节点分别在第i帧和第j帧的位置信息;wk表示第k个关节点在人体骨架中所占的权重,一般来说,离根节点近的节点权值越大。
步骤4中,运用公式(6)和公式(7)进行欧拉角旋转角度与四元数相互转换:欧拉角组为绕Z,Y,X的旋转角度,转换后对应的四元数为q=[w a b c];
运用公式(8)进行基于四元数球面插值算法生成过渡旋转角度:p0、p1为两个关键帧的某关节点的旋转四元数,Ω为其角度差,t为插值参数,用来控制插值过程中平滑过渡的速度;随着t值的改变,改变插值角度,当t接近1时,插值p的角度旋转越接近p1;当t接近0时,插值p的角度旋转接近p0;
运用公式(9)进行基于根节点平移信息的线性插值:其中,起始帧与结束帧的根节点坐标分别是C0、C1,u是插值参数,当u接近0时靠近C0,接近1时靠近C1;
Ci(xi,yi,zi)=uC0(x0,y0,z0)+(1-u)C1(x1,y1,z1) (9)。
本发明的有益效果,本发明基于运动捕捉数据的人体运动插值方法,根据移动类人体运动周期性规律,提取并依据特征将长运动序列文件(BVH文件)分割为多个短运动序列段。基于分割后的短段确定关键帧对,运用四元数球面插值算法和线性插值算法插值连接成一段长运动序列段。本发明在确定关键帧对时是基于分割后的同一短段进行的,确保了插值过渡顺序符合人眼视觉逻辑顺序,具有很好的视觉效果。
本发明对运动捕捉数据的重用性研究具有重要的意义。相对于传统的关键帧插值方法,本发明关键帧对的选择避免了插值顺序不合理的错误,并且插值连接处的运动相对于传统的插值方法能够更加的自然无缝。
附图说明
图1为人体骨架结构图;
图2为解析BVH文件流程图;
图3为走路运动在局部坐标系下的第102帧的人体姿态;
图4为走路运动在世界坐标系下的第102帧的人体姿态;
图5为走路运动一个周期的姿态时序图;
图6为走路运动示意时序图;
图7为走路运动的向前步距时序关系图;
图8为走路运动按照分割点分割后的顺序图;
图9为走路运动分段示意时序图;
图10为四元数球面插值原理图;
图11为本发明的关键帧对及插值姿态顺序图;
图12为传统方法的关键帧对及插值姿态顺序图;
图13为一段原始的走路运动姿态时序图;
图14为一段原始的大步走运动姿态时序图;
图15为走路与大步走运动插值连接时序图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明是基于特征分析、运动分割、关键帧对匹配的人体运动插值方法,结合了特征分析、运动分割结果确定关键帧对。人体运动序列的高维难题通过特征提取降维解决。本发明首次提出了运用坐标系转换方法进行特征提取,到达了精确提取人体运动特征同时对高维人体运动序列降维的目的。另外,本发明基于分割后的短段确定关键帧对确保了插值过渡的人眼视觉的顺序性。
本发明基于运动捕捉数据的人体运动插值方法,首先解析加载的两段运动序列文件(BVH文件)并进行特征分析;然后根据人体移动类运动周期性规律,将长运动序列分割,并基于分割后的多个短运动序列段进行帧时序对齐操作得到匹配帧对,从匹配帧对中确定同一短段的最相似姿态,确定关键帧对;最后基于运动序列的旋转角度数据运用四元数球面插值算法,基于运动序列的平移数据运用线性插值算法生成过渡运动序列连接关键帧对,生成新的长运动序列。
主要包括以下步骤:
步骤1,将两段运动序列文件(BVH文件)载入并解析。运动序列文件(BVH文件)是以文本方式存储的,由两部分组成:骨架部分和运动数据。BVH文件的骨架结构形式不统一,但结构类似,图1为其中一个典型的一个例子:骨架呈树形结构存储,人体的中间臀部节点(Hip)为根节点,上背部节点(Upperback)、左右臀部(L_Hip、R_Hip)为其子节点,而上背部、左右臀部等节点也有各自的子节点继承,依次类推直到末端点。运动数据按照骨架结构顺序存储根节点的平移信息以及所有关节点相对其父节点的角度旋转信息。本发明解析加载的运动序列文件(BVH文件),解析流程如下图2所示:载入BVH文件,如果文件不为空首先解析BVH文件骨骼部分,得到骨架结构、初始姿态以及BVH文件的帧数和帧频;然后基于骨架结构、总帧数、帧频解析BVH文件数据块部分,计算各帧关节点的偏移量和旋转量,直到最后一帧;最后基于数据块部分的信息,绘制每帧的人体运动姿态。
然而由于人体运动序列中各个关节点都是以各自相对坐标系下存储的,不便于进行分析,本发明为了准确高效提取运动序列的关节点的空间位置关系特征和时序特征,首次提出将运动序列关节点在局部坐标系下的相对运动信息转换为在世界坐标系下的绝对位置信息。人体骨架的Nj关节点由局部坐标系下相对位置信息转换到世界坐标系下的公式如下(1)所示:pi (j)表示运动序列的第i时刻关节点Nj的在世界坐标系的坐标;Ti (root),Ri (root)分别表示根节点的平移和旋转变换矩阵,Ri (k)表示骨架结构中关节Nk(Nk为树形人体骨架中,从根节点到节点Nj之间的任意节点)相对其直接父节点的旋转变换矩阵;p0 (j)表示初始时,Nj在其父节点所在的局部坐标系下的偏移量。
pi (j)=Ti (root)Ri (root)...Ri (k)...p0 (j) (1)
图3为转换前的走路运动的第102帧,图4为转换后的走路运动的第102帧,通过对比是相同的姿态,说明本发明采用的转换公式是有效的。
根据步骤1得到的世界坐标系下的绝对位置信息,提取关节点的空间位置关系与时间序列的特征,根据人体运动周期性规律,利用双脚前后位置关系特征将运动进行分割为多个短段;
由于人体运动大多数是周期性的运动,特别是移动类的运动,双脚都是周期性的交换着向前行走。本发明在分析了人体运动规律后,首次利用如下公式(2)所示的双脚向前步距是否增加关系公式以及公式(3)所示的双脚前后位置关系公式,将一个周期的运动分割为四个短运动段;
其中,(2)式中的Pace_changed依据函数表示判断某一时刻的双脚向前步距是否由增加变换为开始减小,或者由减小变换为开始增加,如果是,将函数值赋值为1,表示此时刻步距为该短段的最大步距或最小步距,即将此时刻定义为该段运动的分割点;否则赋值为0,表示此时刻为某短段的非分割点。(3)式中的Frount_foot依据函数表示某一时刻的右脚是否在左脚前方,若右脚在前方时,赋值为1,否则赋值为0。
下面根据具体的走路运动来说明分割过程:图5为输入的走路运动姿态时序图。图6-图8说明了运动分割的原理,图9是分割后的运动效果。图6为该走路运动序列的时序示意图,为了方便叙述分割过程,用方格表示帧时序。图7为走路运动双脚向前步距与帧时序对用的关系图,其中A、B、C、D四个时刻为走路运动序列在一个周期内的中步距最大、最小时刻,作为运动序列分割点。分割后的该走路运动时序示意图如图8所示:方格中的数字表示运动段被分割的段序号,图中可以看出:每周期的人体运动序列被分割为4个不同的运动时序短段。图9为按照分割时刻点依据箭头顺序表示的运动序列图,图中的人体运动姿态为分割时刻点的姿态,运动序列按照分割点依据箭头顺序表示。图中可以看出分割时刻点确定精确,将一个走路运动的进行了符合人眼视觉逻辑的分割。
步骤3,由于分割后的短段帧数不同,为了精确确定关键帧对,本发明首先进行基于同一短段内时间帧时序的对齐操作,在同一短段内,运用距离公式确定最相似帧对。假如最相似的帧对为(Pi,Pj),则过渡帧对即确定为:(Pi,Pj+1)。
假设m短段的起始帧与结束帧分别为f1与f2,n短段的起始帧与结束帧分别为f1′与f2′,则按照如下公式(4)计算m与n运动段的匹配帧对(fi,fi′)。
基于匹配后的帧序列对,按照如下公式(5)计算对应帧的距离确定最相似帧对:
其中,pi k、pj k分别表示两段运动序列第k个关节点在第i帧和第j帧的位置信息。wk表示第k个关节点在人体骨架中所占的权重,一般来说,离根节点近的节点权值越大。
图11为传统方法确定关键帧对,运用插值算法生成的过渡帧顺序时序图:图中前两个姿态的人体右脚表示向前伸的顺序,然而传统方法中关键帧对的姿态显示人体右脚向后退插帧。因此插值顺序与原来的人体运动顺序出现了不符的问题。图12为采用本发明方法确定的关键帧对,运用插值算法生成的过渡帧顺序时序图:左边起第二个姿态和最后一个姿态为本发明确定的关键帧对,图中人体的左脚由后向前逐步的顺序过渡插值,符合人眼的视觉逻辑。说明本发明的关键帧对的确定方法避免了插值顺序不合理的错误。
步骤4,给定两段运动,基于步骤3得到的关键帧对,运用四元数球面插值算法生成角度旋转过渡值,运用线性插值算法生成平移信息过渡值,从而连接成一段新的长运动序列。
四元数球面插值由于其原理简单等优点广泛运用于刚体旋转研究,其原理图如图4所示:假设起始帧与结束帧的关节点k所在球面上的位置分别为P0与P1,两帧间夹角值为Ω,运用插值公式***帧P后使得关节点k沿着球面逐步的从球面P0点顺序的过渡到球面P1点。四元数球面插值公式如下(8)所示:t是插值公式的参数,主要用来控制插值过程中插帧平滑过渡的速度。当t接近1时,所插帧P的旋转角度接近P1,对应图4的θ值接近Ω。当t接近0时,插值P的旋转角度接近P0,对应图4的θ值接近0。
线性插值是最常用的技术,运算效率高的插值算法。对于根节点的平移信息,本发明采用的是线性插值方法,公式如下(9)所示。起始帧与结束帧的根节点坐标分别是C0、C1,u是插值参数,当u接近0时靠近C0,接近1时靠近C1。
Ci(xi,yi,zi)=uC0(x0,y0,z0)+(1-u)C1(x1,y1,z1) (9)
人体动画是动画领域最具挑战的研究,一方面是由于人们最熟悉的运动,人眼对其具有非常敏感直接的判断力,稍有任何的瑕疵,就变得特别明显。另一方面由于人体骨架结构复杂,人体运动序列是高维的,精确分析人体运动数据需要很大的挑战。因此,至今没有一个客观的标准能够代替人眼的主观感觉衡量运动插值的质量。图13为一段正常走路的运动序列时序图。图14为一段大步走的运动序列时序图。图15为将两段运动序列插帧连接后的新的走路运动序列。从图中可以看出:走路运动经过插值后连接大步走路运动,自然无缝的将两段运动序列连接在一起。
Claims (3)
1.一种基于运动捕捉数据的人体运动插值方法,其特征在于,首先解析载入的两段运动序列文件,并进行坐标系转换操作;然后基于世界坐标系下的运动数据,提取双脚前后位置关系特征和步距时序特征,并根据人体运动规律,依据以上的两个特征,将长的运动序列分割为短运动段;最后在同一短段内选取最相似的帧对并基于此确定关键帧对,然后基于关键帧对运用四元数球面插值算法进行角度旋转插值,运用线性插值方法进行根节点的平移插值,从而连接成一段新的运动;
具体包括以下步骤:
步骤1,加载解析运动序列文件,并对BVH文件的运动数据在局部坐标系下的相对位置信息转换为在世界坐标系下的绝对位置信息;
步骤1中运动序列文件由两部分组成:骨架部分和运动数据;首先以令牌传递方法解析人体骨架部分:通过逐步读取运动序列文件中的每一个关键词、整形字符、浮点型字符、字符串解析,然后按照骨架结构顺序解析运动数据部分;
采用递归的方式求出人体运动数据各关节点在世界坐标系下的绝对位置信息;转换公式如下(1)所示:
pi (j)=Ti (root)Ri (root)...Ri (k)...p0 (j) (1)
其中,pi (j)表示运动序列的第i时刻关节点Nj的在世界坐标系的坐标;Ti (root),Ri (root)分别表示根节点的平移和旋转变换矩阵;Ri (k)表示骨架结构中关节Nk相对其直接父节点的旋转变换矩阵;Nk为树形人体骨架中,从根节点到节点Nj之间的任意节点;p0 (j)表示初始时,Nj在其父节点的局部坐标系下的偏移量;
步骤2,基于步骤1得到的在世界坐标系下的绝对位置信息,提取关节点的空间位置关系特征与时序关系的特征,并根据人体运动周期性规律,采用双脚前后位置关系特征和步距时序特征将长运动序列进行分割为多个短的运动序列;步骤2中,根据人体运动呈周期性规律的性质,特别是对于移动类的运动,无论风格如何,都是双脚向前交替着向前行进;基于此规律,运用双脚向前空间位置关系特征以及步距时序特征为依据分割长运动序列;两个分割函数分别表示如下所示:
<mrow>
<mi>P</mi>
<mi>a</mi>
<mi>c</mi>
<mi>e</mi>
<mo>_</mo>
<mi>c</mi>
<mi>h</mi>
<mi>a</mi>
<mi>n</mi>
<mi>g</mi>
<mi>e</mi>
<mi>d</mi>
<mo>=</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mrow>
<mi>i</mi>
<mi>f</mi>
<mfenced open = "(" close = ")">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>D</mi>
<mi>i</mi>
<mi>s</mi>
<mi>t</mi>
<mo>_</mo>
<mi>f</mi>
<mi>e</mi>
<mi>e</mi>
<mi>t</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>c</mi>
<mi>h</mi>
<mi>a</mi>
<mi>n</mi>
<mi>g</mi>
<mi>e</mi>
<mi>d</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mi>o</mi>
<mi>t</mi>
<mi>h</mi>
<mi>e</mi>
<mi>r</mi>
<mi>w</mi>
<mi>i</mi>
<mi>s</mi>
<mi>e</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>2</mn>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mi>F</mi>
<mi>r</mi>
<mi>o</mi>
<mi>u</mi>
<mi>n</mi>
<mi>t</mi>
<mo>_</mo>
<mi>f</mi>
<mi>o</mi>
<mi>o</mi>
<mi>t</mi>
<mo>=</mo>
<mfenced open = "{" close = "">
<mtable>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mrow>
<mi>i</mi>
<mi>f</mi>
<mfenced open = "(" close = ")">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>r</mi>
<mi>i</mi>
<mi>g</mi>
<mi>h</mi>
<mi>t</mi>
<mo>_</mo>
<mi>f</mi>
<mi>o</mi>
<mi>o</mi>
<mi>t</mi>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>f</mi>
<mi>r</mi>
<mi>o</mi>
<mi>u</mi>
<mi>n</mi>
<mi>t</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mi>o</mi>
<mi>t</mi>
<mi>h</mi>
<mi>e</mi>
<mi>r</mi>
<mi>w</mi>
<mi>i</mi>
<mi>s</mi>
<mi>e</mi>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>3</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,Pace_changed函数表示某一时刻的双脚向前步距是否由增加变换为开始减小,或者由减小变换为开始增加,如果是,将函数值赋值为1,表示此时刻步距为该短段的最大步距或最小步距,即将此时刻定义为该段运动的分割点;否则赋值为0,表示此时刻为某短段的非分割点;Frount_foot函数表示某一时刻的右脚是否在左脚前方,当右脚在前方时,赋值为1,否则赋值为0;
步骤3,基于步骤2得到的分割结果,将分割后的短段进行基于时间帧序列对齐,并在同一短段内,确定欧氏距离最短的帧对为最相似的姿态,从而确定关键帧对;
步骤4,基于步骤3的关键帧对,运用四元数球面插值算法生成中间过渡帧角度旋转值,运用线性插值算法生成根节点中间过渡帧平移值。
2.根据权利要求1所述的基于运动捕捉数据的人体运动插值方法,其特征在于,步骤3中,基于步骤2得到的分割结果,运用公式(4)进行短段内的时间帧序列对齐,获得匹配帧对:f1与f2、f1′与f2′分别表示两段的起始与结束帧,计算得到匹配帧对(fi,fi′);然后基于匹配帧对计算选取最相似的帧对做为关键帧对;采用最常用的欧氏距离确定最相似的帧对,假设计算得到的欧氏距离最小值为D(Pi,Pj),则选取下一帧为关键帧对即(Pi,Pj+1);其中,确定欧氏距离最小值公式如下(5)所示:
<mrow>
<msup>
<msub>
<mi>f</mi>
<mi>i</mi>
</msub>
<mo>&prime;</mo>
</msup>
<mo>=</mo>
<msup>
<msub>
<mi>f</mi>
<mn>1</mn>
</msub>
<mo>&prime;</mo>
</msup>
<mo>+</mo>
<mfrac>
<mrow>
<msup>
<msub>
<mi>f</mi>
<mn>2</mn>
</msub>
<mo>&prime;</mo>
</msup>
<mo>-</mo>
<msup>
<msub>
<mi>f</mi>
<mn>1</mn>
</msub>
<mo>&prime;</mo>
</msup>
</mrow>
<mrow>
<msub>
<mi>f</mi>
<mn>2</mn>
</msub>
<mo>-</mo>
<msub>
<mi>f</mi>
<mn>1</mn>
</msub>
</mrow>
</mfrac>
<mrow>
<mo>(</mo>
<msub>
<mi>f</mi>
<mi>i</mi>
</msub>
<mo>-</mo>
<msub>
<mi>f</mi>
<mn>1</mn>
</msub>
<mo>)</mo>
</mrow>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>4</mn>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mi>D</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>P</mi>
<mi>i</mi>
</msub>
<mo>,</mo>
<msub>
<mi>P</mi>
<mi>j</mi>
</msub>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>m</mi>
<mi>i</mi>
<mi>n</mi>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mi>n</mi>
</munderover>
<msub>
<mi>w</mi>
<mi>k</mi>
</msub>
<mo>|</mo>
<mo>|</mo>
<msup>
<msub>
<mi>p</mi>
<mi>i</mi>
</msub>
<mi>k</mi>
</msup>
<mo>-</mo>
<msup>
<msub>
<mi>p</mi>
<mi>j</mi>
</msub>
<mi>k</mi>
</msup>
<mo>|</mo>
<mo>|</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>5</mn>
<mo>)</mo>
</mrow>
</mrow>
其中,pi k,pj k表示两段运动序列第k个关节点分别在第i帧和第j帧的位置信息;wk表示第k个关节点在人体骨架中所占的权重,一般来说,离根节点近的节点权值越大。
3.根据权利要求1所述的基于运动捕捉数据的人体运动插值方法,其特征在于,步骤4中,运用公式(6)和公式(7)进行欧拉角旋转角度与四元数相互转换:欧拉角组为绕Z,Y,X的旋转角度,转换后对应的四元数为q=[w a b c];
运用公式(8)进行基于四元数球面插值算法生成过渡旋转角度:p0、p1为两个关键帧的某关节点的旋转四元数,Ω为其角度差,t为插值参数,用来控制插值过程中平滑过渡的速度;随着t值的改变,改变插值角度,当t接近1时,插值p的角度旋转越接近p1;当t接近0时,插值p的角度旋转接近p0;
<mrow>
<mi>p</mi>
<mo>=</mo>
<mi>S</mi>
<mi>L</mi>
<mi>E</mi>
<mi>R</mi>
<mi>P</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>p</mi>
<mn>0</mn>
</msub>
<mo>;</mo>
<msub>
<mi>p</mi>
<mn>1</mn>
</msub>
<mo>;</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<mi>s</mi>
<mi>i</mi>
<mi>n</mi>
<mrow>
<mo>(</mo>
<mn>1</mn>
<mo>-</mo>
<mi>t</mi>
<mo>)</mo>
</mrow>
<mi>&Omega;</mi>
</mrow>
<mrow>
<mi>s</mi>
<mi>i</mi>
<mi>n</mi>
<mi>&Omega;</mi>
</mrow>
</mfrac>
<msub>
<mi>p</mi>
<mn>0</mn>
</msub>
<mo>+</mo>
<mfrac>
<mrow>
<mi>sin</mi>
<mi> </mi>
<mi>t</mi>
<mi>&Omega;</mi>
</mrow>
<mrow>
<mi>s</mi>
<mi>i</mi>
<mi>n</mi>
<mi>&Omega;</mi>
</mrow>
</mfrac>
<msub>
<mi>p</mi>
<mn>1</mn>
</msub>
<mo>,</mo>
<mi>t</mi>
<mo>&Element;</mo>
<mo>&lsqb;</mo>
<mn>0</mn>
<mo>,</mo>
<mn>1</mn>
<mo>&rsqb;</mo>
<mo>-</mo>
<mo>-</mo>
<mo>-</mo>
<mrow>
<mo>(</mo>
<mn>8</mn>
<mo>)</mo>
</mrow>
</mrow>
运用公式(9)进行基于根节点平移信息的线性插值:其中,起始帧与结束帧的根节点坐标分别是C0、C1,u是插值参数,当u接近0时靠近C0,接近1时靠近C1;
Ci(xi,yi,zi)=uC0(x0,y0,z0)+(1-u)C1(x1,y1,z1) (9)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410764271.4A CN104463788B (zh) | 2014-12-11 | 2014-12-11 | 基于运动捕捉数据的人体运动插值方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410764271.4A CN104463788B (zh) | 2014-12-11 | 2014-12-11 | 基于运动捕捉数据的人体运动插值方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104463788A CN104463788A (zh) | 2015-03-25 |
CN104463788B true CN104463788B (zh) | 2018-02-16 |
Family
ID=52909776
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410764271.4A Active CN104463788B (zh) | 2014-12-11 | 2014-12-11 | 基于运动捕捉数据的人体运动插值方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104463788B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550991A (zh) * | 2015-12-11 | 2016-05-04 | 中国航空工业集团公司西安航空计算技术研究所 | 一种图形无极旋转方法 |
CN109470263B (zh) * | 2018-09-30 | 2020-03-20 | 北京诺亦腾科技有限公司 | 动作捕捉方法、电子设备以及计算机存储介质 |
CN109737941B (zh) * | 2019-01-29 | 2020-11-13 | 桂林电子科技大学 | 一种人体动作捕捉方法 |
CN110197576B (zh) * | 2019-05-30 | 2021-04-20 | 北京理工大学 | 一种大规模实时人体动作采集重构*** |
CN112188233B (zh) * | 2019-07-02 | 2022-04-19 | 北京新唐思创教育科技有限公司 | 拼接人体视频的生成方法、装置及设备 |
CN110992392A (zh) * | 2019-11-20 | 2020-04-10 | 北京影谱科技股份有限公司 | 一种基于运动状态的关键帧选取方法及装置 |
CN110942007B (zh) * | 2019-11-21 | 2024-03-05 | 北京达佳互联信息技术有限公司 | 手部骨骼参数确定方法、装置、电子设备和存储介质 |
CN110992454B (zh) * | 2019-11-29 | 2020-07-17 | 南京甄视智能科技有限公司 | 基于深度学习的实时动作捕捉和三维动画生成方法与装置 |
CN111681303A (zh) * | 2020-06-10 | 2020-09-18 | 北京中科深智科技有限公司 | 一种从动捕数据中提取关键帧并重构运动的方法和*** |
CN115618155B (zh) * | 2022-12-20 | 2023-03-10 | 成都泰盟软件有限公司 | 一种生成动画的方法、装置、计算机设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218824A (zh) * | 2012-12-24 | 2013-07-24 | 大连大学 | 基于距离曲线幅度的运动关键帧提取 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130093994A (ko) * | 2012-02-15 | 2013-08-23 | 한국전자통신연구원 | 볼륨데이터 형태의 오브젝트 파동을 이용한 사용자와 홀로그램 간의 상호작용 처리 방법 |
-
2014
- 2014-12-11 CN CN201410764271.4A patent/CN104463788B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218824A (zh) * | 2012-12-24 | 2013-07-24 | 大连大学 | 基于距离曲线幅度的运动关键帧提取 |
Non-Patent Citations (3)
Title |
---|
基于BVH驱动的OGRE骨骼动画;郭力 等;《计算机应用研究》;20090915;第26卷(第9期);3550-3552 * |
基于人体运动捕获数据的运动编辑技术研究与实现;彭伟;《中国优秀硕士学位论文全文数据库 信息科技辑》;20130615(第06期);I138-1335 * |
基于运动捕获的人体运动生成与编辑关键技术研究;瞿师;《中国博士学位论文全文数据库 信息科技辑》;20140415(第04期);I138-71 * |
Also Published As
Publication number | Publication date |
---|---|
CN104463788A (zh) | 2015-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104463788B (zh) | 基于运动捕捉数据的人体运动插值方法 | |
Calvert et al. | Applications of computers to dance | |
CN101958007B (zh) | 一种采用草绘的三维动画姿态建模方法 | |
Xu et al. | Photo-inspired model-driven 3D object modeling | |
Guerra-Filho et al. | The human motion database: A cognitive and parametric sampling of human motion | |
CN111553968A (zh) | 一种三维人体重构动画的方法 | |
KR20220025023A (ko) | 애니메이션 처리 방법 및 장치, 컴퓨터 저장 매체 그리고 전자 디바이스 | |
CN110473266A (zh) | 一种基于姿态指导的保留源场景人物动作视频生成方法 | |
CN104504731B (zh) | 基于运动图的人体运动合成方法 | |
CN106023288A (zh) | 一种基于图像的动态替身构造方法 | |
CN110599573A (zh) | 一种基于单目相机的人脸实时交互动画的实现方法 | |
CN110310351A (zh) | 一种基于草图的三维人体骨骼动画自动生成方法 | |
CN106528174A (zh) | 基于cocos2dx的flash渲染方法和渲染引擎 | |
CN104867171A (zh) | 一种三维角色的过渡动画生成方法 | |
CN106611172A (zh) | 一种基于风格学习的汉字合成方法 | |
CN111627094B (zh) | 一种骨骼动画生成的方法和装置 | |
Li et al. | Tuning-free image customization with image and text guidance | |
KR101095860B1 (ko) | 인체 모델의 형상 변형 방법 | |
CN103383778B (zh) | 一种三维卡通人脸生成方法和*** | |
Kobayashi et al. | Motion capture dataset for practical use of AI-based motion editing and stylization | |
Mao et al. | A sketch-based gesture interface for rough 3D stick figure animation | |
Baltatzis et al. | Neural Sign Actors: A diffusion model for 3D sign language production from text | |
CN104091318B (zh) | 一种中国手语视频过渡帧的合成方法 | |
CN116363275A (zh) | 一种面向手语数字人的动作编排方法 | |
CN106504267B (zh) | 一种虚拟人运动数据关键帧抽取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210324 Address after: 19 / F, block B, northwest Guojin center, 168 Fengcheng 8th Road, Xi'an, Shaanxi 710000 Patentee after: XI'AN FEIDIE VIRTUAL REALITY TECHNOLOGY Co.,Ltd. Address before: 710048 No. 5 Jinhua South Road, Shaanxi, Xi'an Patentee before: XI'AN University OF TECHNOLOGY |
|
TR01 | Transfer of patent right |