用于人体运动捕捉数据检索的高维空间超球覆盖方法转让专利

申请号 : CN200810228059.0

文献号 : CN101661492B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 魏小鹏肖伯祥张强

申请人 : 大连大学

摘要 :

本发明公开了一种用于人体运动捕捉数据检索的高维空间超球覆盖方法,该方法涉及人体运动捕捉技术领域,特别涉及光学人体运动捕捉数据中的特征表示、提取、以及检索方法。该方法引入人体各类不同运动在高维空间中的分布特征概念和方法,首先提取人体运动数据中主要特征,构造特征向量,针对某一类检索条件(即待检索的目标运动)的特征向量,在对应的高维空间中构造一系列超球覆盖区域,定义覆盖序列,进而评价覆盖序列的相似度,实现运动捕捉数据的检索。本发明中的检索方法经实际测试,能够有效实现人体运动捕捉数据的检索,具有良好的实用性和鲁棒性。

权利要求 :

1.一种用于人体运动捕捉数据检索的高维空间超球覆盖方法,包括将基于C++程序设计语言和OpenGL图形库开发的人体运动捕捉数据检索系统装入计算机和对人体运动捕捉数据库进行构建、初始化的步骤,其特征在于,还包括以下步骤:(1)、本方法中的检索条件为一组同类运动片断,选取关键姿态并以类型序号(P1,P2,……,Pn)作为标记;

(2)、对人体运动数据进行规范化,选取Root节点为坐标原点,记作O,以Root节点至LowerBack节点的向量为Y轴,记作OY,以RightHip节点至LeftHip节点的向量为预定的X轴,记作OX’,以右手定则计算OX’与OY的正交向量,作为Z轴OZ,再以OY和OZ为基准以右手定则计算正交向量作为最终的X轴,记作OX,所有向量均为单位向量,这样针对每一帧运动数据建立起一个局部坐标系。将所有人体运动数据,包括运动检索数据库和检索条件,进行局部坐标系转化,完成规范化,规范化后的运动数据具有统一的位置、朝向和尺度,为进一步的特征选取奠定基础;

(3)、运动特征提取,选取8个骨骼朝向向量作为特征参考(V1-V8),计算其单位向量,

24

并构造为一个24维的特征向量M =(XV1,YV1,ZV1,XV2,…,ZV8),针对所有人体运动数据,包括运动检索数据库和检索条件,进行特征提取,并根据数据库中的特征向量构造特征向量数据库;

(4)、根据检索条件特征向量构造高维空间(此处为24维)超球覆盖区域,并作为该运动的特征区域,构造方法为:其中, 是一个检索条件中的关键姿态Pk的特征向量,n为维数24,m是关键姿态Pk的特征向量的个数,δ为覆盖区域阈值,此处取为2.0,p为检索条件中关键姿态的个数,Sj,k是关键姿态Pk的特征覆盖区域,Dk是检索条件特征覆盖区域;

(5)循环运动数据的特征向量数据库,将每一个特征向量,来源于一个运动中的一帧数据,作为高维空间中的一点,判断其是否属于检索条件中的关键姿态类别Pk,若是,以检索条件的类型序号Pk作为标记,不从属于任何检索条件中的关键姿态类别的帧以NULL标记;

(6)、定义覆盖序列,该序列即为运动数据库中某一个运动中所有帧的从属标记的排列,覆盖序列的数量等于数据库中运动的数量;

(7)、评价覆盖序列与检索序列的相似程度,定义相似度分式,即以覆盖序列中所有元素中包含的检索序列种元素类型个数为分子,以检索序列中类型个数为分母的分数值,相似度取值范围为[0-1]。

说明书 :

用于人体运动捕捉数据检索的高维空间超球覆盖方法

技术领域

[0001] 本发明涉及人体运动捕捉技术领域,特别涉及光学人体运动捕捉数据中的特征表示、提取、以及检索方法。

背景技术

[0002] 近年来,运动捕获技术在计算机动画领域得到了广泛应用,随着计算机软硬件技术的发展,人体运动捕捉技术逐渐发展成为虚拟现实、计算机视觉、影视动画制作等领域一种重要的数据获取手段,是数学、计算机图形学、图像处理、数据处理等多个学科相互渗透、相互交叉的新兴学科,运动捕捉技术相关理论方法的研究丰富了计算机动画、虚拟现实领域研究内容,具有重要的理论价值。人体运动捕捉技术具有广泛的实际应用价值,可应用于工业、农业、交通、文教卫生和体育等许多行业,特别是在医学、体育科学研究、运动训练指导、现代影视、动画和游戏制作等领域的应用,有重要的实际应用价值。
[0003] 随着运动捕获技术的广泛应用,三维人体运动序列可以直接由运动捕捉设备获取,并以不同运动捕捉文件标准格式进行存储,由于缺乏有效的运动捕捉数据的管理、检索方法和系统,从而导致大规模三维运动数据库的不断建立,而其中又存在大量近似、重复和冗余的数据,针对特定目标的运动数据的可重复利用性受到很大限制。这必然造成设备、人力、物力的重复和冗余,从而增加运动捕捉相关产品制作成本。同时由于传统的基于文本的检索算法存在着人工标注费时费力且易造成主观理解不统一等问题,难以被用来进行运动检索。因此,人体运动捕捉数据检索与重用逐渐成为近年来的热点问题,为方便地使用和管理这些三维运动库,需要设计有效的、高效的人体运动捕捉数据检索方法、开发实用的、通用的人体运动捕捉数据检索系统。进而降低动漫产品制作成本,对推动影视制作、游戏娱乐、动漫产业的快速发展,构建相互支撑的动漫产业链,促进国家文化产业发展进而带动国民经济增长具有重要的作用和深刻意义。
[0004] 由于人体自然运动本身所具有的复杂性,以及不同规格、不同标准的运动捕捉数据之间的差异,导致了人体运动捕捉数据检索方法的诸多困难。在传统的方法中,主要有基于运动模版的方法和动态时间弯曲的方法,其中基于模版的方法弊端在于由于人体运动的复杂性,很难用有限个固定的模版来描述某一类运动,因而限制了检索方法的精度和效率。动态时间弯曲的方法是时间序列匹配种经典方法,针对不同长度、频率的人体运动数据应用动态时间弯曲算法,从而实现某类运动的检索。然而这种方法的弊端在于计算效率低下。
限制了该方法的推广和应用。

发明内容

[0005] 本发明的目的在于通过对以上两类方法局限性的分析,引入人体各类不同运动在高维空间中的分布特征概念和方法,首先提取人体运动数据中主要特征,构造特征向量,针对某一类检索条件(即待检索的目标运动)的特征向量,在对应的高维空间中构造一系列超球覆盖区域,定义覆盖序列,进而评价覆盖序列的相似度,实现运动捕捉数据的检索。附图1所示为本发明方法流程图。实验表明该方法具有高处理效率、良好鲁棒性。
[0006] 本发明的技术解决方案是这样实现的:
[0007] 一种用于人体运动捕捉数据检索的高维空间超球覆盖方法,包括将基于C++程序设计语言和OpenGL图形库开发的人体运动捕捉数据检索系统装入计算机和对人体运动捕捉数据库进行构建、初始化的步骤,其特征在于还包括以下步骤:
[0008] (1)、本方法中的检索条件为一组同类运动片断,选取关键姿态并以类型序号(P1,P2,……,Pn)作为标记,并称为检索序列,例如某“走”运动检索条件通过关键姿态选取后得到检索序列[P1,P2,P3,P4],如附图2所示;
[0009] (2)、对人体运动数据进行规范化,方法如图3(a)所示,选取Root节点为坐标原点,记作O,以Root节点至LowerBack节点的向量为Y轴,记作OY,以RightHip节点至LeftHip节点的向量为预定的X轴,记作OX’,以右手定则计算OX’与OY的正交向量,作为Z轴OZ,再以OY和OZ为基准以右手定则计算正交向量作为最终的X轴,记作OX,所有向量均为单位向量,这样针对每一帧运动数据建立起一个局部坐标系。将所有人体运动数据(包括运动检索数据库和检索条件)进行局部坐标系转化,完成规范化。规范化后的运动数据具有统一的位置、朝向和尺度,为进一步的特征选取奠定基础;
[0010] (3)、运动特征提取,如图3(b)所示,选取8个骨骼朝向向量作为特征参考24
(V1-V8),计算其单位向量,并构造为一个24维的特征向量M =(XV1,YV1,ZV1,XV2,…,ZV8),针对所有人体运动数据(包括运动检索数据库和检索条件)进行特征提取,并根据数据库中的特征向量构造特征向量数据库;
[0011] (4)、根据检索条件特征向量构造高维空间(此处为24维)超球覆盖区域,并作为该运动的特征区域,构造方法为:
[0012]
[0013] 其中, 是一个检索条件中的关键姿态Pk的特征向量,n为维数24,m是关键姿态Pk的特征向量的个数,δ为覆盖区域阈值,此处取为2.0,p为检索条件中关键姿态的个数,Sj,k是关键姿态Pk的特征覆盖区域,Dk是检索条件特征覆盖区域;
[0014] (5)循环运动数据的特征向量数据库,将每一个特征向量(来源于一个运动中的一帧数据)作为高维空间中的一点,判断其是否属于检索条件中的关键姿态类别Pk,若是,以检索条件的类型序号Pk作为标记,不从属于任何检索条件中的关键姿态类别的帧以NULL标记;
[0015] (6)、定义覆盖序列,该序列即为运动数据库中某一个运动中所有帧的从属标记的排列,覆盖序列的数量等于数据库中运动的数量;
[0016] (7)、评价覆盖序列与检索序列的相似程度,定义相似度分式,即以覆盖序列中所有元素中包含的检索序列种元素类型个数为分子,以检索序列中类型个数为分母的分数值,相似度取值范围为[0-1]。例如覆盖序列[P1、P1、NULL、NULL、P2、P2、NULL、P3]与检索序列[P1、P2、P3、P4]的相似度为3/4,在本发明方法中,认为相似度大于或等于(n-1)/n的为检索对象,其中n为检索序列中的类型个数;
[0017] 与现有技术相比较,本发明的优势主要表现在通过分析人体各类不同运动在高维空间中的分布特征方法,有效的整合了同类运动之间所具有的共同特征;基于覆盖序列的判定标准避免了大量冗余的计算,保证了检索效率;统一的特征表示方法使其获得了良好的鲁棒性。

附图说明

[0018] 图1本发明的流程框图。
[0019] 图2检索条件中关键姿态帧的选取。
[0020] 图3规范化局部坐标系和作为特征提取的8个主要向量。
[0021] 图4本发明方法实现的部分检索结果。

具体实施方式

[0022] 一种用于人体运动捕捉数据检索的高维空间超球覆盖方法,包括将基于C++程序设计语言和OpenGL图形库开发的人体运动捕捉数据检索系统装入计算机和对人体运动捕捉数据库进行构建、初始化的步骤,所述各步骤的具体实施方式如下:
[0023] 1.实施本发明方法可以以在线获取的一组共享的BVH格式运动捕捉数据库为平台,在本发明中以下的叙述中,均以此数据库为例。该数据库包括数百个标准BVH格式运动数据,以文件的形式存储在某一特定目录下,文件名按照不同采集者、采集顺序进行标记,例如01_01.bvh表示第01个采集者的第一个动作,该运动数据中不包含对运动内容的文本描述。针对其它格式的运动捕捉数据或用户自行定义获取的运动捕捉数据,可以先将其转化为统一的BVH标准格式运动数据,以构造运动捕捉数据库。
[0024] 2.选取一组与数据库中数据具有相同BVH结构的运动序列为检索条件,如图2所示。现以“走”动作为例进行说明,选取4个“走”动作序列作为检索条件,并在每一个序列中选取4个“走”动作的关键姿态帧:
[0025] 39_02.bvh序列中P1(Frame1)、P2(Frame30)、P3(Frame50)、P4(Frame90);
[0026] 39_06.bvh序列中P1(……)、P2(……)、P3(……)、P4(……);
[0027] ……;
[0028] 然后定义姿态组数据结构,并将对应关键姿态信息存储在计算机上,同时获取如发明内容中定义的检索序列[P1,P2,P3,P4]。
[0029] 3.分别对检索条件和运动捕捉数据库进行规范化处理,方法发明内容步骤(2)所述,规范化后的运动数据具有统一的位置、朝向和尺度,在此基础上,进行基于8个向量的特征提取,方法如发明内容步骤(3)所述。所选取8个向量的X、Y、Z分量值共计24个,此24
处的8个向量分别为单位向量,按照统一的顺序构成一个24维的一维向量:M =(XV1,YV1,ZV1,XV2,…,ZV8),称之为特征向量。为提高检索效率,可以将运动数据库中所有运动数据进行规范化并进行向量提取,另存为与运动数据文件名对应的特征向量文件(例如01_01.vec),从而将数据库转化为特征向量数据库。
[0030] 4.基于人体运动数据特征分布,根据检索条件特征向量构造高维空间(此处为24维)超球覆盖区域,并作为该运动的特征区域,构造方法为:
[0031]
[0032] 其中, 是一个检索条件中的关键姿态Pk的特征向量,n为维数24,m是关键姿态Pk的特征向量的个数,此处为4,δ为覆盖区域阈值,此处取为2.0,p为检索条件中关键姿态的个数,此处为4,Sj,k是关键姿态Pk的特征覆盖区域,Dk是检索条件特征覆盖区域;
[0033] 5.对于特征向量数据库中某一帧特征向量而言,可以将其记作高维空间中的一个点X,判断X是否属于步骤4中所述的超球覆盖区域Sj,k。并按照发明内容中步骤(6)所属的方法进行类型标记,,对每一个特征向量数据文件(*.vec)构造一个对应的覆盖序列,循环步骤3中构造的特征向量数据库中所有特征向量数据文件(*.vec),得到所有数据文件的覆盖序列。
[0034] 6.评估覆盖序列与检索序列的相似度,方法如发明内容中步骤(7)所述。例如某“走”动作的覆盖序列为[P1,P1,NULL,P2,NULL,NULL,P3,P3,NULL,P4,P4,P4,NULL……],与步骤2中定义的“走”动作的检索序列[P1,P2,P3,P4]相似度分数为4/4,大于(n-1)/n即3/4,则认为该运动数据与检索条件“走”运动类似,将该运动加入到检索结果中。对所有覆盖序列进行相似度评价,得到针对以某“走”动作为检索条件的所有检索结果。