CN104504731A - 基于运动图的人体运动合成方法 - Google Patents

基于运动图的人体运动合成方法 Download PDF

Info

Publication number
CN104504731A
CN104504731A CN201410804589.0A CN201410804589A CN104504731A CN 104504731 A CN104504731 A CN 104504731A CN 201410804589 A CN201410804589 A CN 201410804589A CN 104504731 A CN104504731 A CN 104504731A
Authority
CN
China
Prior art keywords
motion
frame
human
foot
interpolation
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.)
Granted
Application number
CN201410804589.0A
Other languages
English (en)
Other versions
CN104504731B (zh
Inventor
赵明华
原永芹
丁晓枫
莫瑞阳
曹慧
石争浩
王映辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Zhongchuang Yuhao Information Technology Co.,Ltd.
Original Assignee
Xian University of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian University of Technology filed Critical Xian University of Technology
Priority to CN201410804589.0A priority Critical patent/CN104504731B/zh
Publication of CN104504731A publication Critical patent/CN104504731A/zh
Application granted granted Critical
Publication of CN104504731B publication Critical patent/CN104504731B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/215Motion-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于运动图的人体运动合成方法,首先加载解析人体运动数据库,将运动数据转换到世界坐标系下,根据人体运动周期性规律进行运动分割,提取短运动段特征,进行基于短运动段特征和基于DTW帧的相似度评估,基于相似度值确定运动图的边权值,构建运动图;其次由用户选取两个需要合成的运动段,基于构建好的运动图搜索一条路径,确定路径跳转点,插值连接合成一段新的运动。本发明基于运动图的人体运动合成方法,首先构建的运动图结合了高层特征,避免了某些帧的局部相似合成在一起的错误;其次基于运动图搜索的路径,确定跳转点限定于运动首尾周期,减少了无效子图的生成,提高了运动合成效率。

Description

基于运动图的人体运动合成方法
技术领域
本发明属于计算机视觉技术领域,具体涉及一种基于运动图的人体运动合成方法。
背景技术
随着计算机图像技术及其相关衍生品的高速发展,使得运动捕捉技术逐渐成为虚拟现实、计算机视觉、影视制作、游戏娱乐和计算机动画等领域的数据获取手段。该技术借助几十个或上百个传感器来标记物体的运动轨迹,通过记录传感器的物理信息来获取该物体的速度、位置等参数,进而模拟物体运动轨迹。因为捕获的数据具有高度逼真性和实时处理能力使之成为应用范围最广的方法。然而捕获数据造价高、对场地环境要求严格,而且人眼对人体运动敏感,一旦发现运动不合适,只能重新捕捉,这是对已有捕捉数据资源的浪费。因此对捕捉数据的重用性研究成为了一项非常有意义的方向:即利用已有的数据资源,通过编辑、融合、合成等操作搭建运动网络,产生丰富多变的新的运动序列,提高工作效率、节省制作成本。
基于运动图的运动合成方法充分利用运动数据库,近些年成为了研究热点。运动图的概念最初是由Arikan和kovar等人提出的:将已有的捕捉数据构建成一种有向图结构,确定并基于运动图跳转点建立有向连接,合成新的运动序列。运动图的边是原有的运动片段或新生成的过渡运动片段,顶点是不同运动片段之间的跳转点。运动图合成方法的提出将运动序列合成的问题转化为根据运动图寻找路径的问题。因此运动图结构,运动图边、顶点的确定以及基于图的搜索是研究重点也是挑战。首先,构建运动图的最大瓶颈在于需要计算数据库中运动序列每帧的相似距离值,所以运动图可以达到的规模是有限的;其次,构建运动图的边权值时仅通过帧间评估只是局部的相似性,没有考虑到全局的逻辑相似性,有可能造成不同类型的运动片段仅由于某些帧的相似而连接在一起的错误。
后来的研究在这个思路的基础上做了改进,其中有代表性的工作有:Mahmudi等人提出了一种基于特征的运动图构建方法,该方法运用特征限制候选跳转点的选取,相比于传统的方式避免了数据库中每对帧的比较,提高了运动图构建效率。然而该方法过于依赖所选择的特征,有可能造成多样化的运动对所选的特征失效而引起合成错误。Liming Zhao等人将运动序列分为多个接触状态,比如:单脚站立、双脚站立、手触摸地面等。相对于传统运动图,该运动图结构具有良好的连通性,但是同时该算法构建的时间过于漫长,因为算法将具有同样接触状态的动作连接在一起生成了过多的无效的子图。
发明内容
本发明的目的是提供一种基于运动图的人体运动合成方法,解决了现有运动图合成方法构建时间过于漫长的问题。
本发明所采用的技术方案是,基于运动图的人体运动合成方法,首先加载解析人体运动数据库(BVH文件),将运动数据转换到世界坐标系下,根据人体运动周期性规律进行运动分割,提取短运动段特征,进行基于短运动段特征和基于DTW帧的相似度评估,基于相似度值确定运动图的边权值,构建运动图;其次由用户选取两个需要合成的运动段,基于构建好的运动图搜索一条路径,确定路径跳转点,插值连接合成一段新的运动。
本发明的特点在于,
具体包括以下步骤:
步骤1,加载解析人体运动数据库,将人体运动数据库的运动数据转换在世界坐标系下;
步骤2,根据人体运动周期性规律,提取双脚向前位置关系和步距时序关系特征将长运动序列分割为多个短运动序列段;
步骤3,基于步骤2分割的短运动序列段,针对移动类的运动,提取短段人体运动特征;
步骤4,基于步骤3提取的短段人体运动特征,首先基于短段内进行帧时序对齐操作,然后进行基于短段人体运动特征和基于DTW帧的相似度评估;
步骤5,基于步骤4得到的相似度值,确定运动图的边权值,构建运动图;由用户选取两段需要合成的运动序列,基于构建好的运动图,搜索一条代价最小的合成路径;
步骤6,基于步骤5的合成路径,确定路径跳转点,基于跳转点运用四元数球面插值算法和线性插值算法插值连接生成一段新的运动。
步骤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中,根据人体运动周期性规律,采用双脚向前位置关系以及步距时序关系为依据进行运动分割,依据公式如下(2)和(3)所示:
Pace _ changed = 1 if ( Dist _ feet , changed ) 0 otherwise - - - ( 2 )
Frount _ foot = 1 if ( right _ foot , frount ) 0 otherwise - - - ( 3 )
其中,Pace_changed函数表示将双脚向前步距时序曲线的凹凸点作为运动分割点,分割点时刻函数赋值为1,否则赋值为0;Frount_foot函数表示某一时刻的右脚是否在左脚前方,当右脚在前方时,赋值为1,否则赋值为0。
步骤3中,由于移动类的人体运动,双脚关节点的运动特征最能反映运动特征,因此基于世界坐标系下的关节点位置点集进行以下的特征提取:步幅、步速、行步加速度、双脚空间位置关系特征;假设世界坐标系下的第i帧的位置点集为C(i,world)={C(i,hip),C(i,lhip),C(i,rhip),...,C(i,rfoot),C(i,lfoot)},针对双脚关节点的特征提取进行说明:
(1)步幅:人体行步时双脚中心距离的最大值:
DStep=max(D(i,foot))  (4)
其中,D(i,foot)=|C(i,rfoot)-C(i,lfoot)|为第i帧双脚中心的距离,步幅即是从中提取的最大距离值;
(2)步速:行步速度,即相邻两帧双脚中心距离差;表示如下(5)所示:
V(i,foot)=D(i+1,foot)-D(i,foot)  (5)
(3)行步加速度:帧间的步速变化率,采用前后3帧的时序变化率,表达如下(6)所示:
A(i,foot)=V(i+3,foot)-V(i-3,foot)/6  (6)
(4)双脚前后位置关系:左右双脚前后位置关系,表达如下(7)所示,当右脚在前时,函数值赋1,否则函数值赋0,
is _ right _ foot = 1 if ( right _ foot , frount ) 0 otherwise - - - ( 7 )
步骤4中,相似度包括数值相似和逻辑相似;数值相似是运动序列底层帧间的相似,逻辑相似是运动序列高层特征的相似;将两者进行加权平均确定运动序列的相似度值,表示为如下公式(8)所示:
D(i,j)=w*D(i,j)frame+(1-w)*D(i,j)fea  (8)
其中D(i,j)表示运动序列对(i,j)的相似距离值,D(i,j)frame是基于DTW的帧间相似距离值,权值为w;Dist(i,j)fea是基于特征的相似距离值,权值为1-w;
假设运动序列文件共包含m个运动短段,下式(9)为基于DTW的帧间相似度评估公式:
Dist ( i , j ) frame = 1 m · Σ k = 1 m D dtw ( i , j , k ) - - - ( 9 )
其中,分别求m个短段基于DTW帧间的相似距离值,Ddtw(i,j,k)表示第k个短段的相似距离值,对其求和后平均即为该运动序列对的帧间相似距离值;
DTW算法的原理是从两个序列的起始元素对开始,运用公式(10)确定下一对元素的移动顺序求得局部最短距离,依次迭代至最终元素对,得到整个序列的累积最短距离;
R(i,j)=d(i,j)+min{R(i-1,j-1),R(i-1,j),R(i,j-1)}  (10)
其中,min{R(i-1,j-1),R(i-1,j),R(i,j-1)}表示相邻网格局部最短距离值,R(i-1,j-1)表示选用了沿斜线移动,R(i-1,j)表示平行移动,R(i,j-1)表示竖直移动;d(i,j)表示Q(i),C(j)间的距离值;
运用全局约束窗口的DTW算法限定移动范围,公式如下(11)所示:
| i - m n / j | < &delta; , &delta; &Element; R + - - - ( 11 )
其中,m和n为两运动序列的帧数,(i,j)为动态匹配的帧序列对,δ表示动态匹配时帧序列对移动范围;
基于特征的相似度评估公式如下(12)所示:
Dist ( i , j ) fea = 1 m &CenterDot; &Sigma; k = 1 m D fea ( i , j , k ) - - - ( 12 )
分别求m个短运动段的基于特征的相似距离值,其中Dfea(i,j,k)为第k个短段的相似距离值,求和后平均即为该运动序列对基于特征相似距离值。
步骤5中,运动图边的权值与相似度值呈正相关,数据库中的运动序列经过相似度评估构建一个相似度邻接矩阵,运用公式(13)求出对应运动图边的权值:
Weight(i,j)=exp(Dist(i,j))  (13)
其中,Weight(i,j)为运动图边的权值,Dist(i,j)为邻接矩阵某一元素的相似度值,运动图边的权值与该值呈指数关系。
步骤6中,首先将路径中相邻运动序列最相似的帧对确定为过渡帧对,然后采用四元数球面插值方法基于旋转数据插值,采用线性插值方法基于平移数据插值;
四元数球面插值公式如下(14)所示:
SLERP ( p 0 ; p 1 ; t ) = sin ( 1 - t ) &Omega; sin &Omega; p 0 + sin t&Omega; sin &Omega; p 1 , t &Element; [ 0,1 ] - - - ( 14 )
其中,p0、p1为两个关键帧的某关节点的旋转四元数,Ω为其角度差,t为插值参数,用来控制插值过程中平滑过渡的速度;随着t值的改变,插值角度改变,当t接近1时,插值p的角度旋转越接近p1;当t接近0时,插值p的角度旋转接近p0
线性插值算法公式如下(15)所示:
pi(xi,yi,zi)=up1(x1,y1,z1)+(1-u)p2(x2,y2,z2)u∈[0,1]  (15)
其中,u∈[0,1]是插值参数,用来控制起始帧与结束帧之间的过渡速度,通过线性插值得到的插值节点pi(xi,yi,zi)。
本发明的有益效果是,本发明基于运动图的人体运动合成方法,首先构建的运动图结合了高层特征,避免了某些帧的局部相似合成在一起的错误;其次基于运动图搜索的路径,确定跳转点限定于运动首尾周期,减少了无效子图的生成,提高了运动合成效率。
附图说明
图1为人体骨架结构图;
图2为BVH文件解析流程图;
图3为相似度评估流程图;
图4为DTW算法网格原理图;
图5为病态运动序列匹配示意图;
图6为基于DTW算法的网格匹配示意图;
图7为带约束窗口的DTW算法原理图;
图8为传统的运动图结构;
图9为本发明的运动图结构;
图10为四元数球面插值原理图;
图11为一段原始的走路运动姿态时序图;
图12为一段原始的大步走路运动姿态时序图;
图13为一段原始的超大步走路运动姿态时序图;
图14为合成的新的运动姿态时序图。
具体实施方式
下面结合附图和具体实施方式对本发明进行详细说明。
本发明基于运动图的人体运动合成方法,提供了一种运动图构建方法,并以此为基础,发明了基于运动图的运动合成方法。首先进行基于高层特征和基于DTW的帧间相似度评估构建运动图,避免了由于局部某些帧相似合成在一起的错误;然后基于运动图搜索合成路径,确定并连接跳转点范围于运动首部或尾部周期,减少了无效子图的生成,提高了运动合成效率。
本发明基于运动图的人体运动合成方法,首先加载解析人体运动数据库(BVH文件),将运动数据转换到世界坐标系下,根据移动类人体运动周期性规律,将长运动分割为多个短运动段;然后基于分割后的短运动段提取特征,进行基于特征和基于DTW帧的相似度分析,根据相似度值构建运动图;最后由用户选取需要合成的运动,基于运动图进行路径搜索,确定并基于路径跳转点插值连接成一段新的运动。
主要包括以下步骤:
步骤1,加载解析运动数据库(BVH文件),并将运动数据转换到世界坐标系下;
本发明采用运动数据库中6种不同类型运动为实验数据。表1为数据库中运动类型名称以及对应的编号。
表1 数据库中运动及编号
运动类型 正常走 快走 慢走 大步走 超大步走 跑步
运动编号 1 2 3 4 5 6
BVH文件是以文本方式存储的,由两部分组成:骨架部分和运动数据部分。BVH文件具有不完全一致但类似的骨架结构,图1为其中一个典型的例子:骨架呈树形结构存储,人体的中间臀部节点(Hip)为根节点,上背部节点(Upperback)、左右臀部(L_Hip、R_Hip)为其子节点,而上背部、左右臀部等节点也有各自的子节点继承,依次类推直到末端点。运动数据部分按照骨架结构顺序存储根节点的平移信息以及所有关节点相对其父节点的角度旋转信息。
图2为BVH文件的解析流程图:若BVH文件不为空,首先解析BVH文件骨骼部分,得到骨架结构、初始姿态以及BVH文件的帧数和帧频;然后基于骨架结构、总帧数、帧频解析BVH文件数据块部分,计算各帧关节点的偏移量和旋转量,直到最后一帧;最后基于运动数据部分的信息,绘制每帧的人体运动姿态。
以下式(1)为人体骨架的Nj关节点的运动数据转换到世界坐标系公式:
pi (j)=Ti (root)Ri (root)...Ri (k)...p0 (j)  (1)
其中,pi (j)表示关节点Nj第i时刻的世界坐标;Ti (root),Ri (root)表示根节点的平移和旋转变换矩阵,Ri (k)表示关节点Nk(Nk为树形人体骨架中,从根节点到节点Nj之间的任意节点)相对其直接父节点的旋转变换矩阵;p0 (j)表示初始时,Nj在其父节点所在的局部坐标系下的偏移量。
步骤2,根据移动类人体运动周期性规律,提取双脚前后位置关系和步距时序特征将长运动序列分割为多个短运动序列段;
移动类人体运动是具有周期性的运动,双脚周期性交替着向前行走。本发明针对这类运动依据如下公式(2)和(3)将一个周期的运动序列分割为四个短运动段;
Pace _ changed = 1 if ( Dist _ feet , changed ) 0 otherwise - - - ( 2 )
Frount _ foot = 1 if ( right _ foot , frount ) 0 otherwise - - - ( 3 )
其中,(2)式中的Pace_changed依据函数表示判断某一时刻的双脚向前步距是否由增加变换为开始减小,或者由减小变换为开始增加,如果是,将函数值赋值为1,表示此时刻步距为该短段的最大步距或最小步距,即将此时刻定义为该段运动的分割点,否则表示此时刻为某短段的非分割点,赋值为0。(3)式中的Frount_foot依据函数表示某一时刻的右脚是否在左脚前方,若右脚在前方时,赋值为1,否则赋值为0。
步骤3,针对移动类的人体运动,基于步骤2分割的短运动段,提取人体运动特征;
基于在世界坐标系下的运动数据,本发明针对移动类运动分割后的短段提取以下的特征:距离关系特征、变化速率特征以及空间位置关系特征。
当需要对人体骨架的其他关节点进行特征提取时,比如芭蕾舞对人体上半部分关节点比较关注,那么运用相同的方法对双臂关节点(L_shoulder,R_shoulder关节点)进行几何关系建模,则可以提取双臂的前后位置关系、双臂的摆幅等特征。
本发明以双脚关节点为例子说明特征的提取方法。假设第i帧的世界坐标位置点集为C(i,world)={C(i,hip),C(i,lhip),C(i,rhip),...,C(i,rfoot),C(i,lfoot)}则步幅、步速、行步加速度、双脚空间位置关系等特征是最能说明双脚关节点运动特征。基于世界坐标的位置点集分别进行提取以上的特征:
(1)步幅:人体行步时帧间双脚中心距离的最大值。
DStep=max(D(i,foot))  (4)
其中,D(i,foot)=|C(i,rfoot)-C(i,lfoot)|为第i帧双脚中心的距离,步幅即是从中提取的最大距离值。
(2)步速:每帧的行步速度,即是每帧的行步速度相邻两帧双脚中心距离差;表示如下(5)所示:
V(i,foot)=D(i+1,foot)-D(i,foot)  (5)
(3)行步加速度:帧间的步速变化率,本发明采用前后3帧的时序变化率,表达如下(6)所示:
A(i,foot)=V(i+3,foot)-V(i-3,foot)/6  (6)
(4)双脚前后位置关系:第i帧时刻左右双脚前后位置关系表达如下(7)所示,当右脚在前时,函数值赋1,否则函数值赋0。
is _ right _ foot = 1 if ( right _ foot , frount ) 0 otherwise - - - ( 7 )
步骤4,为了提高相似度评估效率,本发明限定范围于运动序列的尾部与首部。图3为相似度评估流程图:首先进行运动序列尾部与首部周期对齐操作;然后分别进行基于DTW的帧间相似度评估和基于特征的相似度评估;最后相似值由两部分加权确定。
相似度包括数值相似和逻辑相似。数值相似是运动序列底层帧间的相似,逻辑相似是运动序列高层特征的相似。本发明将两者进行加权平均确定运动序列的相似度值,表示为如下公式(8)所示:
D(i,j)=w*D(i,j)frame+(1-w)*D(i,j)fea  (8)
其中D(i,j)表示运动序列对(i,j)的相似距离值,D(i,j)frame是基于DTW的帧间相似距离值,权值为w;Dist(i,j)fea是基于特征的相似距离值,权值为(1-w)。
为提高评估效率,本发明采用简化的骨架结构,并分配相应的权值。表2为相似度评估所选关节点名及其所占的权值。
表2 相似度评估关节点及权值
关节点 hip lfemur ltibia rfemur rtibia lhumerus lradius rhumerus rradius
权值 0.3 0.15 0.1 0.15 0.1 0.05 0.05 0.05 0.05
假设一运动序列对为M={Mi,Mj},对齐后有m个短段。基于DTW的帧间相似度评估公式如下(9)所示,基于特征的相似度评估公式如下(12)所示:
Dist ( i , j ) frame = 1 m &CenterDot; &Sigma; k = 1 m D dtw ( i , j , k ) - - - ( 9 )
Dist ( i , j ) fea = 1 m &CenterDot; ( 1 - w ) &CenterDot; ( &Sigma; k = 1 m D fea ( i , j , k ) ) - - - ( 12 )
其中,w和(1-w)分别为两个相似度评估方法所占用的权值大小,Ddtw(i,j,k)和Dfea(i,j,k)为第k段的基于DTW的帧间的相似度评估值和基于特征的相似度评估值。
DTW(Dynamic Time Warping,动态时间弯曲)算法的详细描述如下:假设两个运动序列Q和C为:Q=(q1,q2,...,qm)和C=(c1,c2,...,cm),帧数分别为m和n。图4为DTW算法评估两个序列相似度原理图。网格中的路径R为匹配得到的最短路径,表示为:R=<R1,R2,...,Rk>,其中Rk=(i,j)表示qi与cj的匹配帧对。网格中任一方格值为Q和C序列对应元素间的距离值,用d(i,j)表示。要计算序列Q和C的相似度,首先初始化序列匹配对R11=(q1,c1),然后选取一种移动方式移动到下一个相邻方格,依次向后迭代直到Rmn=(qm,cn),则得到Q和C序列的相似度距离值。
选取相邻方格移动顺序如下公式(10)所示:从相邻网格中的平行移动、竖直移动或者沿斜线移动三种方式中选取其中的局部最短移动方式。
R(i,j)=d(i,j)+min{R(i-1,j-1),R(i-1,j),R(i,j-1)}  (10)
其中,min{R(i-1,j-1),R(i-1,j),R(i,j-1)}表示相邻网格局部最短距离值,当这个值为R(i-1,j-1)表示选用了沿斜线移动,当值为R(i-1,j)表示平行移动,当值为R(i,j-1)表示竖直移动;d(i,j)表示Q(i)与C(j)的距离。
虽然DTW算法在相似度度量上能够解决时间轴上缩放对齐的问题,但它有一定的适用范围:路径R越接近主对角线表示对齐的匹配帧越好,相似度评估的结果越准确。当路径R偏离主对角线很远时,就有可能出现了病态的匹配,即使DTW值很小,两个运动序列差别却可能很大。以下为两个病态匹配实例:图5中虚曲线和实曲线分别为两个运动序列,中间的直线表示帧匹配对;图6为病态运动序列基于DTW算法的网格匹配示意图。从图5看出两个运动序列完全相反,然而运用DTW算法匹配后,两个运动序列的距离值却为0。
为了避免以上的病态匹配问题,本发明采用带约束窗口的DTW算法,使窗口移动时所选的路径必须在约束窗口范围内。图7给出了一种常用的全局约束(Global constraint)来限制动态匹配时允许的偏离范围,图中阴影部分表示帧移动约束范围,限制了寻找弯曲路径的范围。约束窗口限制公式如(11)表示。
| i - m n / j | < &delta; , &delta; &Element; R + - - - ( 11 )
其中,m和n表示两运动序列的帧数,(i,j)为动态匹配的帧序列对,δ表示动态匹配时帧序列对移动范围。
为了能够从宏观上评估运动相似性,更加满足人眼视觉的逻辑性,本发明进行了基于特征的相似度评估。基于步骤2得到的运动序列特征,加权计算得到基于特征的相似度值,权值大小可以根据需求进行调整。表3为本发明采用的特征及分配的权值。
表3 运动特征及权值
特征 步幅 速度 加速度 空间位置关系
权值 0.2 0.5 0.1 0.2
表4为运用以上两种相似度评估方法得到相似度值。从表4中可以看出,斜线左方表示基于DTW帧间的相似度评估结果,右方表示基于特征的相似度评估结果。从表4中看出两种相似度评估结果走势基本相同,量值有不同,这是符合人眼视觉逻辑效果的。
表4 相似度评估结果
运动类型 正常走 快走 慢走 大步走 超大步走 跑步
正常走 1.28/1.12 1.52/1.5 2.26/1.44 2.12/1.48 4.59/1.61 9.88/1.69
快走 1.24/1.30 0.98/1.10 2.36/1.52 2.33/1.56 5.10/1.93 9.15/1.30
慢走 1.65/1.45 1.94/1.59 0.901.11 1.76/1.54 3.88/1.98 10.12/1.85
大步走 1.69/1.56 2.01/1.60 2.64/1.75 1.39/1.20 3.51/1.25 10.59/1.51
超大步走 4.12/1.70 4.87/1.82 4.12/1.96 3.23/1.36 1.75/1.02 12.48/1.59
跑步 9.84/2.0 10.09/1.66 10.08/2.12 10.5/1.63 11.97/1.63 1.49/1.14
步骤5,数据库中运动段,相似度评估后,得到一个带权矩阵,权值为运动段的相经过似度值。经实验验证,运动图边的权值与邻接矩阵的第i行第j列的元素是成指数关系的,表示为公式(13)所示:
Weight(i,j)=exp(Dist(i,j))  (13)
其中,Dist(i,j)表示的是邻接矩阵的第i行第j列的元素值。对其做指数关系即可得出对应的运动边权值。
图8为传统的运动图结构:原始运动序列中的任一帧都可以为运动图节点,带花费距离的过渡边连接两个节点,构成一个运动图关系结构。然而随着运动数据库的增大,传统运动图基于运动序列的任一帧会耗费大量的时间并且当节点选择生成很多无效子图。基于此,本发明提出一种优化的运动图结构,如图9所示:该运动图节点限定于为原始运动序列尾部与首部的任一帧。一方面避免生成无效子图;另一方面构建运动图节省了时间。
一个新合成的运动序列由原始运动与过渡运动组成的,过渡运动的平滑性是影响运动合成质量的重要性质。四元数球面插值算法是生成过渡运动算法,被广泛用于刚体旋转的研究和人体运动合成研究中。图10为算法原理图:将四元数的旋转映射在一个单位四维球面上,关节点P沿着球面上的弧线顺序从球面上的起始点P0逐步过渡到另一个点P1,逐步增加P与P0的夹角θ接近至Ω。假设过渡帧对的坐标分别是p1(x1,y1,z1)和p2(x2,y2,z2),公式(14)为关节点的旋转数据采用四元数球面插值算法。
SLERP ( p 0 ; p 1 ; t ) = sin ( 1 - t ) &Omega; sin &Omega; p 0 + sin t&Omega; sin &Omega; p 1 , t &Element; [ 0,1 ] - - - ( 14 )
其中,t是插值公式的参数,用来控制插值过程中平滑过渡的速度。随着t值的改变,插值角度改变,当t接近1时,插值P的角度旋转越接近P1
公式(15)为关节点的平移数据采用线性插值算法。
pi(xi,yi,zi)=up1(x1,y1,z1)+(1-u)p2(x2,y2,z2)u∈[0,1]  (15)
其中,u∈[0,1]是插值参数,用来控制起始帧与结束帧之间的过渡速度,通过线性插值得到的插值节点pi(xi,yi,zi)。
表5为选取相应的运动序列进行搜索的路径,为了表述方便,运动采用编号表示,编号与运动类型对应关系如表1。运动合成路经搜索结果如表5所示,可以看出路径搜索符合人眼视觉逻辑。
表5 运动合成路径搜索
运动编号 1 2 3 4 5 6
1 1→1 1→2 1→3 1→4 1→4→5 1→2→6
2 2→1 2→2 2→3 2→4 2→4→5 2→6
3 3→1 3→1→2 3→3 3→4 3→4→5 3→1→6
4 4→1 4→2 4→3 4→4 4→5 4→6
5 5→4→1 5→2 5→4→3 5→4 5→5 5→6
6 6→2→1 6→2 6→1→3 6→4 6→4→5 6→6
表6为传统方法与本发明的运动图构建时间对比表。分别选取不同的帧数进行运动图构建,从表6中可以看到本发明构建的运动图效率提高了2~3倍。
表6 运动图构建时间对比
图11表示的是一段原始的正常走路运动序列,对应表格2中编号为1的运动,图12表示的是一段大步走运动序列,对应表格2中的编号为4的运动,图13表示的是一段超大步走运动序列,对应表格2中编号为5的运动。选取从正常走路到超大步走路运动进行合成,基于运动图所搜合成路径为1->4->5,如表5所示:正常走路->大步走->超大步走。得到的新的长运动序列如图14所示:从人体运动步幅和姿态可以看出合成满足人眼视觉逻辑性。

Claims (8)

1.基于运动图的人体运动合成方法,其特征在于,首先加载解析人体运动数据库,将运动数据转换到世界坐标系下,根据人体运动周期性规律进行运动分割,提取短运动段特征,进行基于短运动段特征和基于DTW帧的相似度评估,基于相似度值确定运动图的边权值,构建运动图;其次由用户选取两个需要合成的运动段,基于构建好的运动图搜索一条路径,确定路径跳转点,插值连接合成一段新的运动。
2.根据权利要求1所述的基于运动图的人体运动合成方法,其特征在于,具体包括以下步骤:
步骤1,加载解析人体运动数据库,将人体运动数据库的运动数据转换在世界坐标系下;
步骤2,根据人体运动周期性规律,提取双脚向前位置关系和步距时序关系特征将长运动序列分割为多个短运动序列段;
步骤3,基于步骤2分割的短运动序列段,针对移动类的运动,提取短段人体运动特征;
步骤4,基于步骤3提取的短段人体运动特征,首先基于短段内进行帧时序对齐操作,然后进行基于短段人体运动特征和基于DTW帧的相似度评估;
步骤5,基于步骤4得到的相似度值,确定运动图的边权值,构建运动图;由用户选取两段需要合成的运动序列,基于构建好的运动图,搜索一条代价最小的合成路径;
步骤6,基于步骤5的合成路径,确定路径跳转点,基于跳转点运用四元数球面插值算法和线性插值算法插值连接生成一段新的运动。
3.根据权利要求2所述的基于运动图的人体运动合成方法,其特征在于,步骤1中,人体运动数据库的运动数据是在相对父节点局部坐标系下存储的,基于树形的骨架结构,运用公式(1)采用递归方法将运动数据解析在世界坐标系下:
p i ( j ) = T i ( root ) R i ( root ) . . . R i ( k ) . . . p 0 ( j ) - - - ( 1 )
其中,pi (j)为运动序列的第i时刻关节点Nj在世界坐标系的坐标;Ti (root),Ri (root)为根节点的平移和旋转变换矩阵,Ri (k)为骨架结构中关节Nk相对其直接父节点的旋转变换矩阵;Nk为树形人体骨架中,从根节点到节点Nj之间的任意节点;p0 (j)为初始时刻Nj在其父节点的局部坐标系下的偏移量。
4.根据权利要求2所述的基于运动图的人体运动合成方法,其特征在于,步骤2中,根据人体运动周期性规律,采用双脚向前位置关系以及步距时序关系为依据进行运动分割,依据公式如下(2)和(3)所示:
Pace _ changed = 1 if ( Dist _ feet changed ) 0 otherwise - - - ( 2 )
Frount _ foot = 1 if ( right _ foot frount ) 0 otherwise - - - ( 3 )
其中,Pace_changed函数表示将双脚向前步距时序曲线的凹凸点作为运动分割点,分割点时刻函数赋值为1,否则赋值为0;Frount_foot函数表示某一时刻的右脚是否在左脚前方,当右脚在前方时,赋值为1,否则赋值为0。
5.根据权利要求2所述的基于运动图的人体运动合成方法,其特征在于,步骤3中,由于移动类的人体运动,双脚关节点的运动特征最能反映运动特征,因此基于世界坐标系下的关节点位置点集进行以下的特征提取:步幅、步速、行步加速度、双脚空间位置关系特征;假设世界坐标系下的第i帧的位置点集为C(i,world)={C(i,hip),C(i,lhip),C(i,rhip),...,C(i,rfoot),C(i,lfoot)},针对双脚关节点的特征提取进行说明:
(1)步幅:人体行步时双脚中心距离的最大值:
DStep=max(D(i,foot))           (4)
其中,D(i,foot)=|C(i,rfoot)-C(i,lfoot)|为第i帧双脚中心的距离,步幅即是从中提取的最大距离值;
(2)步速:行步速度,即相邻两帧双脚中心距离差;表示如下(5)所示:
V(i,foot)=D(i+1,foot)-D(i,foot)           (5)
(3)行步加速度:帧间的步速变化率,采用前后3帧的时序变化率,表达如下(6)所示:
A(i,foot)=V(i+3,foot)-V(i-3,foot)/6     (6)
(4)双脚前后位置关系:左右双脚前后位置关系,表达如下(7)所示,当右脚在前时,函数值赋1,否则函数值赋0,
is _ right _ foot = 1 if ( right _ foot frount ) 0 otherwise - - - ( 7 ) .
6.根据权利要求2所述的基于运动图的人体运动合成方法,其特征在于,步骤4中,相似度包括数值相似和逻辑相似;数值相似是运动序列底层帧间的相似,逻辑相似是运动序列高层特征的相似;将两者进行加权平均确定运动序列的相似度值,表示为如下公式(8)所示:
D(i,j)=w*D(i,j)frame+(1-w)*D(i,j)fea           (8)
其中D(i,j)表示运动序列对(i,j)的相似距离值,D(i,j)frame是基于DTW的帧间相似距离值,权值为w;Dist(i,j)fea是基于特征的相似距离值,权值为1-w;
假设运动序列文件共包含m个运动短段,下式(9)为基于DTW的帧间相似度评估公式:
Dist ( i , j ) frame = 1 m &CenterDot; &Sigma; k = 1 m D dtw ( i , j , k ) - - - ( 9 )
其中,分别求m个短段基于DTW帧间的相似距离值,Ddtw(i,j,k)表示第k个短段的相似距离值,对其求和后平均即为该运动序列对的帧间相似距离值;
DTW算法的原理是从两个序列的起始元素对开始,运用公式(10)确定下一对元素的移动顺序求得局部最短距离,依次迭代至最终元素对,得到整个序列的累积最短距离;
R(i,j)=d(i,j)+min{R(i-1,j-1),R(i-1,j),R(i,j-1)}        (10)
其中,min{R(i-1,j-1),R(i-1,j),R(i,j-1)}表示相邻网格局部最短距离值,R(i-1,j-1)表示选用了沿斜线移动,R(i-1,j)表示平行移动,R(i,j-1)表示竖直移动;d(i,j)表示Q(i),C(j)间的距离值;
运用全局约束窗口的DTW算法限定移动范围,公式如下(11)所示:
| i - m n / j | < &delta; , &delta; &Element; R + - - - ( 11 )
其中,m和n为两运动序列的帧数,(i,j)为动态匹配的帧序列对,δ表示动态匹配时帧序列对移动范围;
基于特征的相似度评估公式如下(12)所示:
Dist ( i , j ) fea = 1 m &CenterDot; &Sigma; k = 1 m D fea ( i , j , k ) - - - ( 12 )
分别求m个短运动段的基于特征的相似距离值,其中Dfea(i,j,k)为第k个短段的相似距离值,求和后平均即为该运动序列对基于特征相似距离值。
7.根据权利要求2所述的基于运动图的人体运动合成方法,其特征在于,步骤5中,运动图边的权值与相似度值呈正相关,数据库中的运动序列经过相似度评估构建一个相似度邻接矩阵,运用公式(13)求出对应运动图边的权值:
Weight(i,j)=exp(Dist(i,j))           (13)
其中,Weight(i,j)为运动图边的权值,Dist(i,j)为邻接矩阵某一元素的相似度值,运动图边的权值与该值呈指数关系。
8.根据权利要求2所述的基于运动图的人体运动合成方法,其特征在于,步骤6中,首先将路径中相邻运动序列最相似的帧对确定为过渡帧对,然后采用四元数球面插值方法基于旋转数据插值,采用线性插值方法基于平移数据插值;
四元数球面插值公式如下(14)所示:
SLERP ( p 0 ; p 1 ; t ) = sin ( 1 - t ) &Omega; sin &Omega; p 0 + sin t&Omega; sin &Omega; p 1 , t &Element; [ 0,1 ] - - - ( 14 )
其中,p0、p1为两个关键帧的某关节点的旋转四元数,Ω为其角度差,t为插值参数,用来控制插值过程中平滑过渡的速度;随着t值的改变,插值角度改变,当t接近1时,插值p的角度旋转越接近p1;当t接近0时,插值p的角度旋转接近p0
线性插值算法公式如下(15)所示:
pi(xi,yi,zi)=up1(x1,y1,z1)+(1-u)p2(x2,y2,z2) u∈[0,1]   (15)
其中,u∈[0,1]是插值参数,用来控制起始帧与结束帧之间的过渡速度,通过线性插值得到的插值节点pi(xi,yi,zi)。
CN201410804589.0A 2014-12-19 2014-12-19 基于运动图的人体运动合成方法 Active CN104504731B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410804589.0A CN104504731B (zh) 2014-12-19 2014-12-19 基于运动图的人体运动合成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410804589.0A CN104504731B (zh) 2014-12-19 2014-12-19 基于运动图的人体运动合成方法

Publications (2)

Publication Number Publication Date
CN104504731A true CN104504731A (zh) 2015-04-08
CN104504731B CN104504731B (zh) 2017-08-22

Family

ID=52946125

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410804589.0A Active CN104504731B (zh) 2014-12-19 2014-12-19 基于运动图的人体运动合成方法

Country Status (1)

Country Link
CN (1) CN104504731B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104835189A (zh) * 2015-04-16 2015-08-12 镇江微端网络科技有限公司 基于后缀树运动图模型的运动合成方法
CN106127125A (zh) * 2016-06-16 2016-11-16 山东大学 基于人体行为特征的分布式dtw人体行为意图识别方法
CN109993818A (zh) * 2017-12-31 2019-07-09 中国移动通信集团辽宁有限公司 三维人体模型运动合成的方法、装置、设备及介质
CN110197576A (zh) * 2019-05-30 2019-09-03 北京理工大学 一种大规模实时人体动作采集重构系统
CN110222011A (zh) * 2019-05-30 2019-09-10 北京理工大学 一种人体运动数据文件压缩方法
CN110517336A (zh) * 2019-08-28 2019-11-29 北京理工大学 一种基于主发力关节点的人体运动数据压缩方法及设备
CN112188233A (zh) * 2019-07-02 2021-01-05 北京新唐思创教育科技有限公司 拼接人体视频的生成方法、装置及设备
CN112446313A (zh) * 2020-11-20 2021-03-05 山东大学 一种基于改进动态时间规整算法的排球动作识别方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521843A (zh) * 2011-11-28 2012-06-27 大连大学 一种基于流形学习的三维人体运动分析与合成方法
CN103021009A (zh) * 2012-12-14 2013-04-03 大连大学 基于非线性流行学习的运动图过渡点选取方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521843A (zh) * 2011-11-28 2012-06-27 大连大学 一种基于流形学习的三维人体运动分析与合成方法
CN103021009A (zh) * 2012-12-14 2013-04-03 大连大学 基于非线性流行学习的运动图过渡点选取方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
MARC CARDLE: "Automated motion editing", 《TECHNICAL REPORTS PUBLISHED BY THE UNIVERSITY OF CAMBRIDGE COMPUTER LABORATORY》 *
李锦丹: "基于运动图的运动合成方法研究", 《中国优秀硕士论文全文数据库 信息科技辑》 *
杜会军: "基于运动捕捉数据的人体运动编辑与合成技术研究", 《中国优秀硕士论文全文数据库 信息科技辑》 *
黄赞榛: "基于运动图的运动搜索与合成", 《中国优秀硕士论文全文数据库 信息科技辑》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104835189A (zh) * 2015-04-16 2015-08-12 镇江微端网络科技有限公司 基于后缀树运动图模型的运动合成方法
CN104835189B (zh) * 2015-04-16 2017-09-29 镇江微端网络科技有限公司 基于后缀树运动图模型的运动合成方法
CN106127125A (zh) * 2016-06-16 2016-11-16 山东大学 基于人体行为特征的分布式dtw人体行为意图识别方法
CN106127125B (zh) * 2016-06-16 2019-04-02 山东大学 基于人体行为特征的分布式dtw人体行为识别方法
CN109993818A (zh) * 2017-12-31 2019-07-09 中国移动通信集团辽宁有限公司 三维人体模型运动合成的方法、装置、设备及介质
CN109993818B (zh) * 2017-12-31 2023-09-19 中国移动通信集团辽宁有限公司 三维人体模型运动合成的方法、装置、设备及介质
CN110197576A (zh) * 2019-05-30 2019-09-03 北京理工大学 一种大规模实时人体动作采集重构系统
CN110222011A (zh) * 2019-05-30 2019-09-10 北京理工大学 一种人体运动数据文件压缩方法
CN112188233A (zh) * 2019-07-02 2021-01-05 北京新唐思创教育科技有限公司 拼接人体视频的生成方法、装置及设备
CN110517336A (zh) * 2019-08-28 2019-11-29 北京理工大学 一种基于主发力关节点的人体运动数据压缩方法及设备
CN112446313A (zh) * 2020-11-20 2021-03-05 山东大学 一种基于改进动态时间规整算法的排球动作识别方法

Also Published As

Publication number Publication date
CN104504731B (zh) 2017-08-22

Similar Documents

Publication Publication Date Title
CN104504731A (zh) 基于运动图的人体运动合成方法
CN100543775C (zh) 基于多目相机的三维人体运动跟踪的方法
CN104463788A (zh) 基于运动捕捉数据的人体运动插值方法
CN103093453B (zh) 计算可改变实体的姿势和/或形状
CN103003846B (zh) 关节区域显示装置、关节区域检测装置、关节区域归属度计算装置、关节状区域归属度计算装置以及关节区域显示方法
CN102508867B (zh) 一种人体运动的运动图检索方法
CN104899561A (zh) 一种并行化的人体行为识别方法
CN102375416B (zh) 基于快速搜索树的人型机器人踢球动作信息处理方法
CN111950412A (zh) 一种序列多尺度深度特征融合的层级舞蹈动作姿态估计方法
CN101894278B (zh) 基于变结构多模型的人体运动跟踪方法
Zhang et al. Unsupervised skeleton extraction and motion capture from 3D deformable matching
Liu et al. Human motion tracking by multiple RGBD cameras
CN111724459B (zh) 一种面向异构人体骨骼的运动重定向的方法及系统
CN102682452A (zh) 基于产生式和判别式结合的人体运动跟踪方法
CN101216952A (zh) 用于人体运动捕捉数据的动态时空耦合降噪处理方法
CN108520250B (zh) 一种人体运动序列关键帧提取方法
CN103942829A (zh) 单幅图像的人体三维姿态重构方法
CN110188700A (zh) 基于分组回归模型的人体三维关节点预测方法
CN106815855A (zh) 基于产生式和判别式结合的人体运动跟踪方法
CN111223168A (zh) 目标对象控制方法、装置、存储介质和计算机设备
CN101276370B (zh) 基于关键帧的三维人体运动数据检索方法
CN106446847A (zh) 一种基于视频数据的人体动作分析方法
JP2021135619A (ja) 状況識別装置、状況学習装置及びプログラム
CN107357426A (zh) 一种用于虚拟现实设备的体感控制方法
Liu et al. BGMM: a body gauss-markov based mobility model for body area networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210330

Address after: 1213-156, building 3, No. 1366, Hongfeng Road, Kangshan street, Huzhou Economic and Technological Development Zone, Zhejiang Province, 313000

Patentee after: Zhejiang Zhongchuang Yuhao Information Technology Co.,Ltd.

Address before: 710048 No. 5 Jinhua South Road, Shaanxi, Xi'an

Patentee before: XI'AN University OF TECHNOLOGY