CN102508867B - 一种人体运动的运动图检索方法 - Google Patents

一种人体运动的运动图检索方法 Download PDF

Info

Publication number
CN102508867B
CN102508867B CN201110306170.9A CN201110306170A CN102508867B CN 102508867 B CN102508867 B CN 102508867B CN 201110306170 A CN201110306170 A CN 201110306170A CN 102508867 B CN102508867 B CN 102508867B
Authority
CN
China
Prior art keywords
motion
matching unit
optimum matching
diagram
attitude
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.)
Expired - Fee Related
Application number
CN201110306170.9A
Other languages
English (en)
Other versions
CN102508867A (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.)
Nanjing University
Original Assignee
Nanjing University
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 Nanjing University filed Critical Nanjing University
Priority to CN201110306170.9A priority Critical patent/CN102508867B/zh
Publication of CN102508867A publication Critical patent/CN102508867A/zh
Application granted granted Critical
Publication of CN102508867B publication Critical patent/CN102508867B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Processing Or Creating Images (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种人体运动的运动图检索方法,包括以下步骤:步骤1,离线运动图描述空间生成;步骤2,在线运动数据库检索:用户提交查询实例,包括运动特征提取,运动图层次选择,运动图特征映射,运动串生成,相似度计算;步骤3,将查询实例与运动数据库中每一个运动分别进行步骤2,获得一组对应的总量相似度值,按照总量相似度值的大小由高到低排序,输出每个总量相似度值对应的运动数据库中的运动。本发明的优点在于:1、将运动图引入到运动数据检索中,大大降低了原始高维数据的维度,降低了运动数据中的噪音数据的影响,同时能够较好的保持运动的特性;2、降低了相似度计算的复杂度;3、提出了运动图描述空间。

Description

一种人体运动的运动图检索方法
技术领域
本发明涉及人体运动数据检索方法,属于计算机三维动画技术及多媒体数据处理领域,具体的说,是一种以自组织映射(Self Organization Mapping,简称SOM)方法训练得到运动图并将运动映射到运动图上生成运动图节点序列并进行序列相似度计算的三维人体运动数据检索方法。
背景技术
计算机动画在游戏设计,电影工业和运动模拟等方面发挥着越来越重要的作用。运动捕获技术在获取真实的人体运动领域也逐渐成为一种广泛应用的技术。随着需求的增加,运动数据库变得越来越庞大,运动捕获数据通常是由大量高维度的数据组成,而且通常不可能也没必要重新采集数据,因此从已有的数据库中有效的检索出需要的运动数据成为了一种必要。
相比于其它多媒体检索,三维人体运动检索的一个显著的特点是检索任务多样化。人体运动是由动作以及动作之间的过渡片段构成,而不管是复杂动作还是简单动作,其都是由连续的姿态构成的,而姿态本身则由具有层次关系的人体骨骼之间的旋转产生的。姿态、动作、运动构成了层次化的人体运动内容,进而,姿态、动作、运动片段也都成为了可检索的单元,即人们既可以以姿态为检索单元,也可以以动作或者运动片段作为检索单元。
以运动片段为特征提取和检索基本单元的人体运动检索方法把人体运动仅作为高维时间序列,检索的目的是从运动库中的运动序列中找出包含查询示例的子序列位置,由于候选子序列的位置可能位于运动时序文件的任意位置,所以以运动片段为检索单元的运动检索一般不在特征提取前对运动进行语义层分割,而是直接对运动时序文件进行特征提取并建立索引。在以运动片段为检索单元的运动检索中,根据对检索运动片段长度的要求,又分为长度受限的运动片段检索以及任意长度的运动片段检索。在长度受限的运动片段检索中,首先需要设定一个最小的运动片段窗口,然后以该窗口为单位进行特征提取,如文献Faloutsos C,Ranganathan M,Manolopoulos Y.Fastsubsequence matching in time-series databases[C]//In Proceedings of 1994 ACM SIGMODInternational Conference on Management of Data,1994,419-429使用傅里叶变换,文献Chan K,Fu W.Efficient time series matching by wavelets[C]//In Proceedings of the 15thIEEE International Conference on Data Engineering,1999,126-133使用Harr小波变换、文献Keogh E.,Chakrabarti K,Pazzani M,Mehrotra.Locally adaptive dimensionalityreduction for indexing large time series databases[C]//In Proceedings of 2001 ACMSIGMOD International Conference on Management of Data,2001,151-162使用相邻窗口均值提取运动片段的低维特征并将其存储到高维索引中(R树,K-D树等),检索时,用户提交的查询示例也使用相同大小的窗口进行切分并进行特征提取,最后在特征层上计算查询示例和运动库中运动子序列的相似性。
在以任意长度运动片段为检索单元的运动检索中,用户可以从已有的运动示例中选择任意长度的连续姿态提交给检索系统进行查询,当连续姿态的长度为1时,也就实现了以姿态为检索单元的运动检索。文献1Chiu C Y,Chao S P,Wu Ming yang,et al.Content-based retrieval for human motion data[J].Journal of Visual Communication andImage Representation,2004,15(3):446-466和文献2Chao S P,Chiu C Y,Chao J H,et al.Motion retrieval and synthesis based on posture features indexing[C]//Proceedings of the5th International Conference on Computational Intelligence and MultimediaApplications(ICCIMA 2003).Washington,2003,266-271对运动库中的所有姿态使用SOM无监督学习方法进行聚类,学习后每个姿态都归属到一个特定的聚类类别中,聚类类别也就成为姿态的特征表示;文献3Liu G D,Zhang J D,Wang W,et al.A system foranalyzing and indexing human motion databases[C]//Proceedings of ACM SIGMODInternational Conference on Management of Data,Baltimore,2005,924-926首先通过PFA得到主要标记点,然而使用PCA对库中的所有姿态进行分段线性表示和索引,最终通过每个姿态所在的分段线性标识来表示整个运动。在这些运动表示方法中,由于运动时序文件中的相邻帧往往具有相同的特征值,这就使得运动时序文件被分割为具有相同特征值的运动片段,该分割方法是一种自适应的分割方法,这样运动检索就可以直接以运动片段为单位进行,从而也就实现了任意长度的运动片段检索。此外,文献4Forbes K,Fiume E.An efficient search algorithm for motion data using weighted PCA[C]//Proc of Euro graphics/ACM SIGGRAPH Symposium on Computer Animation,2005,67-76使用weighted PCA数据降维方法,在低维空间上得到了每个姿态的低维表示,检索时首先得到检索示例的特征姿态,然后在低维空间得到候选种子点,在使用DTW进行相似度匹配时,由于受到种子点以及单调性和非退化性的限制,候选序列的长度也就自适应的匹配了查询示例的长度,从而实现了任意长度的运动片段检索。文献5Kovar L,Gleicher M,Pighin F.Automated Extraction and Parameterization of Motions inLarge Data Sets[J].ACM Transactions on Graphics(S0730-0301),2004,23(3):559-568预先计算运动数据库中的相似匹配网络,检索时,同样使用DTW算法进行相似度匹配,从而实现了逻辑上相似的运动片段检索,但是,使用DTW算法进行运动相似度匹配的时间消耗还是比较大,对于大型运动数据库的检索来说效率不高。
总起来说,对于三维人体运动检索来说,有效的运动表示方法以及有效的相似度计算策略对于整个检索过程来说是非常重要的,它直接影响到整个检索过程的效率。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种人体运动的运动图检索方法。
技术方案:本发明公开了一种人体运动的运动图检索方法,包括以下步骤:
步骤1,离线运动图描述空间生成:根据人体骨骼关节模型,提取运动数据库中的每一帧姿态作为基本单元,组成样本库;所述运动数据库为一组以上由连续的帧姿态表示的运动(可以采用BVH文件格式的数据)构成的数据库;所述人体骨骼关节模型包含人体24个关节点;所述姿态包括所有人体骨骼关节;
将人体骨骼关节分别组合成8个部分,包括全身关节点、上半身关节点、下半身关节点、左上肢关节点、右上肢关节点、左下肢关节点、右下肢关节点、躯干关节点;
将样本库中所有姿态根据上述8个部分,分别计算每个部分相对于根关节的三维空间坐标,获得8个样本特征向量集;
对每个样本特征向量集进行自组织映射(Self Organization Mapping,简称SOM)迭代学习,得到8个运动图,所述运动图为二维网格结构,每个网格点表示一个姿态;
将8个运动图组合为运动图描述空间;
步骤2,在线运动数据库检索:用户提交查询实例,所述查询实例为由连续的帧姿态表示的一个运动;
运动特征提取:对查询实例和运动数据库中的运动,分别计算每一帧姿态中各关节相对于根关节的三维空间坐标,提取运动特征,即提取三维空间坐标组成的向量;
运动图层次选择:从所述运动图描述空间中选择一个运动图作为当前运动图;
运动图特征映射:根据当前运动图,将查询实例的运动特征和运动数据库中运动的运动特征分别转化为最优匹配单元序列(Best Matching Unit,简称BMU);所述最优匹配单元为当前运动图下的整数坐标值;
运动串生成:对查询实例的最优匹配单元序列和运动数据库中的运动的最优匹配单元序列分别提取关键最优匹配单元组成关键最优匹配单元序列;所述关键最优匹配单元序列即为运动串;
相似度计算:在当前运动图下,计算查询实例的运动串和运动数据库中运动的运动串的相似度,获得分量相似度值;
对运动图描述空间中的所有8个运动图依次进行运动图层次选择、运动图特征映射、运动串生成以及相似度计算,分别得到8个分量相似度值;
将8个分量相似度值进行累加,获得查询实例与运动数据库中一个运动的总量相似度值;
步骤3,将查询实例与运动数据库中每一个运动分别进行步骤2,获得一组对应的总量相似度值,按照总量相似度值的大小由高到低排序,输出每个总量相似度值对应的运动数据库中的运动。
本发明所述步骤1中,对每个样本特征向量集进行自组织映射迭代学习,包括以下步骤:
步骤11,选择姿态集:设定姿态集初始为空,从样本特征向量集中选择一个样本特征向量,计算选择的样本特征向量与已经加入到姿态集中每个样本特征向量欧氏距离,如果所有的欧氏距离均超过一定阈值(欧式距离的阈值可以设为10~30,优选为20)或者当前姿态集为空,则将此样本特征向量加入到姿态集中,得到姿态集
Figure BDA0000097146000000031
其中,Ψ为姿态集,n为姿态集中样本特征向量的个数,为姿态集中任意一个样本特征向量,k为姿态集中任意一个样本特征向量的序号,为样本特征向量的维度,为实数,J为人体骨骼关节中8个部分中一个部分的关节总个数;
步骤12,迭代学习初始化:初始化二维网格构成的运动图
Figure BDA0000097146000000043
运动图中的每个网格点对应一个权值向量
Figure BDA0000097146000000044
初始化权值向量为0,总迭代次数T,其中,N1和N2分别为运动图X轴及Y轴的网格数,i和j分别为运动图X轴及Y轴坐标,mi,j为运动图(i,j)坐标位置的权值向量;
步骤13,重复执行T次步骤13a和步骤13b,获得一个运动图;步骤13a,选择最优匹配单元:从姿态集中随机选取一个
Figure BDA0000097146000000045
遍历当前运动图寻找最优匹配单元,具体为对运动图中每个网格点计算:
其中,
Figure BDA0000097146000000047
Figure BDA0000097146000000048
与mi,j的欧氏距离,
Figure BDA0000097146000000049
Figure BDA00000971460000000410
的最小值,mi,j为运动图(i,j)坐标位置的权值向量,p和q分别为运动图中与
Figure BDA00000971460000000411
具有最小欧式距离的权值向量所在的网格点的X轴及Y轴坐标,mp,q为运动图(p,q)坐标位置的权值向量;
步骤13b,权值向量更新:对运动图中的每个网格点坐标(i,j)计算邻域不等式如果不等式成立,则更新权值向量,更新公式为
Figure BDA00000971460000000413
其中,t=1,2.3,...,T为当前迭代的次数,mi,j(t)和mi,j(t+1)分别为t和t+1次迭代的运动图(i,j)坐标位置的权值向量,hi,j(t)为邻域调整函数,公式如下:
h i , j ( t ) = α ( t ) exp ( - ( i - p ) 2 + ( j - q ) 2 2 ω 2 ( t ) ) ,
其中,exp()为指数函数,α(t)为第t次迭代的学习率函数,计算公式为:
α ( t ) = 0.8 * ( 1.0 - t 6 * T ) ,
ω(t)为第t次迭代的核宽函数,计算公式为:
ω ( t ) = 0.25 * ( N 1 + N 2 ) * ( 1.0 - t T ) .
本发明所述步骤2的运动图特征映射,包括以下步骤:
步骤211,对查询实例和运动数据库中的运动提取的运动特征分别执行如下步骤:
步骤211a,将运动特征命名为Motion,Motion={P1,P2,...,Pl,...,PL},选择当前运动图M对应的人体骨骼关节中8个部分中一个部分的关节的运动特征Motion′={P′1,P′2,...,P′l,...,P′L},其中,Pl为全部24个关节的三维空间坐标组成的向量,P′l为只包含人体骨骼关节中8个部分中一个部分的关节的三维空间坐标组成的向量,l为运动特征中任意一个三维空间坐标组成的向量的序号,L为运动特征中三维空间坐标组成的向量的个数;
步骤211b,对Motion′中的每个P′l,遍历当前运动图M寻找与P′l具有最小欧式距离的权值向量,计算公式为:
mp,q=min{d(P′l,mi,j)},d(P′l,mi,j):=||P′l-mi,j||,
其中,d(P′l,mi,j)为P′l与mi,j的欧氏距离,P′l在当前运动图下得到的最优匹配单元为BMui=(p*N2+q);
步骤211c,计算运动特征Motion′中每个P′l的最优匹配单元,将运动表示成最优匹配单元序列;
步骤212,将查询实例和运动数据库中运动的运动特征得到的两个最优匹配单元序列分别命名为MBMUL1和MBMUL2
本发明所述步骤2的运动串生成,包括以下步骤:
对查询实例的最优匹配单元序列MBMUL1中的每个最优匹配单元,检查当前最优匹配单元在最优匹配单元序列MBMUL1中相邻的前一个最优匹配单元,如果前一个最优匹配单元与当前最优匹配单元不同,则当前最优匹配单元为最优匹配单元序列MBMUL1中的关键最优匹配单元,提取最优匹配单元序列MBMUL1中所有的关键最优匹配单元组成关键最优匹配单元序列,生成的运动串即为关键最优匹配单元序列,将最优匹配单元序列MBMUL1生成的运动串命名为运动串MSA。
对运动数据库中的运动的最优匹配单元序列MBMUL2中的每个最优匹配单元,检查当前最优匹配单元在最优匹配单元序列MBMUL2中相邻的前一个最优匹配单元,如果前一个最优匹配单元与当前最优匹配单元不同,则当前最优匹配单元为最优匹配单元序列MBMUL2中的关键最优匹配单元,提取最优匹配单元序列MBMUL2中所有的关键最优匹配单元组成关键最优匹配单元序列,生成的运动串即为关键最优匹配单元序列,将最优匹配单元序列MBMUL2生成的运动串命名为运动串MSB。
本发明所述步骤2的相似度计算中,对查询实例的运动串和运动数据库中运动的运动串计算相似度,获得分量相似度值,包括以下步骤:
步骤221,建立一个二维相似度矩阵
Figure BDA0000097146000000061
初始化二维相似度矩阵的第一行和第一列值为0,其中LA为查询实例的运动串MSA长度,LB为运动数据库中运动的运动串MSB长度;
步骤222,设置行下标r从1至LA,列下标c从1至LB,对二维相似度矩阵的行为r列为c的矩阵元素,计算4个数值sim1(r,c)、sim2(r,c)、sim3(r,c)、sim4(r,c),从sim1(r,c)、sim2(r,c)、sim3(r,c)和sim4(r,c)中选择最大值作为当前矩阵元素的值,所述4个数值的计算公式如下:
sim1(r,c)=0,
sim 2 ( r , c ) = SM [ r - 1 ] [ c - 1 ] + σ ( BMU MSA r , BMU MSB c ) ,
sim3(r,c)=SM[r-1][c]-5.0,
sim4(r,c)=SM[r][c-1]-5.0,
其中,sim1(r,c)、sim2(r,c)、sim3(r,c)和sim4(r,c)为4个数值,SM[r-1][c-1]为二维相似度矩阵第r-1行c-1列的矩阵元素值,SM[r-1][c]为二维相似度矩阵第r-1行c列的矩阵元素值,SM[r][c-1]为二维相似度矩阵第r行c-1列的矩阵元素值,为查询实例的运动串MSA中第r个最优匹配单元,为运动数据库中运动的运动串MSB中第c个最优匹配单元,为计算查询实例的运动串MSA中第r个最优匹配单元与运动数据库中运动的运动串MSB中第c个最优匹配单元的距离函数,
Figure BDA0000097146000000066
的计算公式为:
σ ( BMU MSA r , BMU MSB c ) = 10.0 - ( x r 1 - x c 2 ) * ( x r 1 - x c 2 ) + ( y r 1 - y c 2 ) * ( y r 1 - y c 2 ) N 1 * N 2 + N 1 * N 2 ,
其中,
Figure BDA0000097146000000072
Figure BDA0000097146000000073
分别为
Figure BDA0000097146000000074
在当前运动图下的X轴及Y轴坐标,
Figure BDA0000097146000000075
Figure BDA0000097146000000076
分别为
Figure BDA0000097146000000077
在当前运动图下的X轴及Y轴坐标,计算公式为:
x r 1 = NMU MSA r / N 2 , y r 1 = NMU MSA r % N 2 , x c 2 = BMU MSB c / N 2 , y c 2 = BMU MSB c % N 2 ;
步骤223,寻找二维相似度矩阵SM中最大的矩阵元素值作为分量相似度值。
有益效果:本发明的运动检索方法与现有检索方法相比优点在于:1、本发明首次将运动图引入到运动数据检索中,通过利用运动图提取运动串表示运动,一方面大大降低了原始高维数据的维度,另一方面,运动串本身表示了运动中的关键姿态,大大降低了运动数据中的噪音数据的影响,同时能够较好的保持运动的特性;2、将运动相似度计算问题由传统的以帧序列为基础的计算问题转化为运动图下运动串为基础的计算问题,降低了相似度计算的复杂度,而且不会以牺牲相似度计算的精确率为代价;3、提出了运动图描述空间,这种描述空间包含了人体骨骼关节模型中不同部分的关节,对于只考虑部分关节的人体运动检索问题也有较好的支持。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和其他方面的优点将会变得更加清楚。
图1为本发明的系统流程。
图2为本方明的人体骨骼关节模型。
图3为本发明的运动图描述空间。
图4为本发明的网格尺寸为10×10的运动图示例。
图5为本发明的维族舞蹈的全身关节点运动图示例。
图6a为本发明的维族舞蹈垫步猫洗脸的查询实例。
图6b为本发明的维族舞蹈垫步猫洗脸查询实例的检索结果。
图6c为图6b中矩形包围的运动的示意图。
图6d为图6b中椭圆包围的运动的示意图。
具体实施方式:
本发明公开了一种人体运动的运动图检索方法,包括以下步骤:
步骤1,离线运动图描述空间生成:根据人体骨骼关节模型,提取运动数据库中的每一帧姿态作为基本单元,组成样本库;所述运动数据库为一组以上由连续的帧姿态表示的运动构成的数据库;所述人体骨骼关节模型包含人体24个关节点;所述姿态包括所有人体骨骼关节;
将人体骨骼关节分别组合成8个部分,包括全身关节点、上半身关节点、下半身关节点、左上肢关节点、右上肢关节点、左下肢关节点、右下肢关节点、躯干关节点;
将样本库中所有姿态根据上述8个部分,分别计算每个部分相对于根关节的三维空间坐标,获得8个样本特征向量集;
对每个样本特征向量集进行自组织映射迭代学习,得到8个运动图,所述运动图为二维网格结构,每个网格点表示一个姿态;
将8个运动图组合为运动图描述空间;
步骤2,在线运动数据库检索:用户提交查询实例,所述查询实例为由连续的帧姿态表示的一个运动;
运动特征提取:对查询实例和运动数据库中的运动,分别计算每一帧姿态中各关节相对于根关节的三维空间坐标,提取运动特征,即提取三维空间坐标组成的向量;
运动图层次选择:从所述运动图描述空间中选择一个运动图作为当前运动图;
运动图特征映射:根据当前运动图,将查询实例的运动特征和运动数据库中运动的运动特征分别转化为最优匹配单元序列;所述最优匹配单元为当前运动图下的整数坐标值;
运动串生成:对查询实例的最优匹配单元序列和运动数据库中的运动的最优匹配单元序列分别提取关键最优匹配单元组成关键最优匹配单元序列;所述关键最优匹配单元序列即为运动串;
相似度计算:在当前运动图下,计算查询实例的运动串和运动数据库中运动的运动串的相似度,获得分量相似度值;
对运动图描述空间中的所有8个运动图依次进行运动图层次选择、运动图特征映射、运动串生成以及相似度计算,分别得到8个分量相似度值;
将8个分量相似度值进行累加,获得查询实例与运动数据库中一个运动的总量相似度值;
步骤3,将查询实例与运动数据库中每一个运动分别进行步骤2,获得一组对应的总量相似度值,按照总量相似度值的大小由高到低排序,输出每个总量相似度值对应的运动数据库中的运动。
实施例
本实施例处理流程图如图1所示,整个方法分为离线运动土描述空间生成和在线动作数据检索两个主要的步骤,下面分别介绍各实施例部分的主要流程:
1、离线运动图描述空间生成
如图2所示,人体骨骼关节模型包括:根关节,胸部关节,胸锁关节(包括左胸锁关节和右胸锁关节,两个关节完全重合),左肩,左肘,左手,左手末端,右肩,右肘,右手,右手末端,颈部关节,头部末端,左髋,左膝,左踝,左趾关节,左趾末端,右髋,右膝,右踝,右趾关节,右趾末端。
根据人体骨骼关节模型的人体24个关节,将人体骨骼关节分别组合成8个部分,分别是:
上半身关节点:胸部关节,左胸锁关节,左肩,左肘,左手,左手末端,右胸锁关节,右肩,右肘,右手,右手终端,颈部关节,头部末端;
下半身关节点:根关节,左髋,左膝,左踝,左趾关节,左趾末端,右髋,右膝,右踝,右趾关节,右趾末端;所述根关节为所有人体骨骼关节的中心关节,位于左髋和右髋的中间点。
左上肢关节点:左胸锁关节,左肩,左肘,左手,左手末端;
右上肢关节点:右胸锁关节,右肩,右肘,右手,右手末端;
左下肢关节点:左髋,左膝,左踝,左趾关节,左趾末端;
右下肢关节点:右髋,右膝,右踝,右趾关节,右趾末端;
躯干关节点:胸部关节,颈部关节,头部末端;
全身关节点:包括上半身关节点和下半身关节点内的所有关节。
离线运动图描述空间就是分别选择该8个部分包含的关节,将样本库中所有姿态根据上述8个部分,分别计算每个部分相对于根关节的三维空间坐标,获得8个样本特征向量集;从8个样本特征向量集中选择8个姿态集分别进行自组织映射迭代学习,生成8个运动图;将8个运动图组合为运动图描述空间,如图3所示,该运动图描述空间包含三层,第一层包含全身关节点运动图,第二层包含上半身关节点运动图和下半身关节点运动图,第三层包含左上肢关节点运动图、右上肢关节点运动图、躯干关节点运动图、左下肢关节点运动图和右下肢关节点运动图,上述8个运动图分别包含人体骨骼关节8个部分的关节;每个运动图为二维网格结构,如图4和图5所示,每个网格点包含一个姿态。
1.1、样本特征提取
运动数据库是通过三维动作捕获设备(如英国Vicon公司的光学动作捕获设备)采集各种运动组成的数据库。运动数据库中的运动使用通用的运动数据格式BVH(美国Biovision公司的层次运动数据格式)进行存储,在BVH文件的头部存储了动作执行者的人体骨骼关节模型(如图2所示),包括每个关节的父关节、每个关节相对于父关节的偏移位置(OFFSET)、每个关节的自由度,其中,根关节的自由度为六个,即在全局坐标系下的平移(tx、ty、tz)以及在局部坐标系下绕X、Y、Z轴顺序旋转的角度(rx、ry、rz)。除了根关节之外,其余的关节只存在三个自由度,即在局部坐标系下绕X、Y、Z轴顺序旋转的角度(rx、ry、rz)。BVH的每一帧数据则记录了每个自由度在采样时刻的具体数值。由于BVH文件存储的是每个关节的旋转欧拉角,所以需要根据BVH文件中记录的人体骨骼关节模型和各个自由度在采样时刻的瞬时值计算出各个关节的三维空间坐标,关节的三维空间坐标通过平移和旋转对应的变换矩阵来进行计算。关节Ji平移对应的变换矩阵为:
T ( J i ) = 1 0 0 tx 0 1 0 ty 0 0 1 tz 0 0 0 1 , 其中tx、ty、tz为关节Ji平移的自由度,关节Ji旋转对应的变换矩阵为:
R ( J i ) = 1 0 0 0 0 cos ( rx ) - sin ( rx ) 0 0 sin ( rx ) cos ( rx ) 0 0 0 0 1 * cos ( ry ) 0 sin ( ry ) 0 0 1 0 0 - sin ( ry ) 0 cos ( ry ) 0 0 0 0 1 * cos ( rz ) - sin ( rz ) 0 0 sin ( rz ) cos ( rz ) 0 0 0 0 1 0 0 0 0 1 ,
其中rx、ry、rz为关节Ji旋转的自由度。
关节Ji在一个动作中的三维空间坐标(x,y,z)计算公式为:
PJ(x,y,z)=T(root)*R(root)*T(J1)*R(J1)*......*T(Jn)*R(Jn)*T(Ji)*Po,其中T(root)和R(root)是根关节的平移矩阵和旋转矩阵,T(J1)、R(J1)、......、T(Jn)、R(Jn)是关节Ji的先辈关节(不含根关节)对应的平移矩阵和旋转矩阵,公式中的Po=(0,0,0,1)T。例如,对于图2中的人体骨骼关节模型,右肘关节对应的空间轨迹曲线坐标计算公式为:
P右时(x,y,z)=T(root)*R(root)*T(胸部关节)*R(胸部关节)*......*
T(右肩)*R(右肩)*T(右肘)*Po
在上面的公式中,root根关节的平移矩阵和旋转矩阵是使用每一帧中的六个自由度进行计算的,而对于其他的关节,旋转矩阵是使用每一帧中的三个自由度进行计算的,而平移矩阵则使用人体关节模型中关节的偏移位置(OFFSET)进行计算。本方案在进行各个关节的空间轨迹曲线坐标计算时,将T(root)和R(root)都设置为单位矩阵,以消除根关节的平移和旋转对相似动作的影响,计算各个关节空间轨迹曲线坐标采用递归的方式进行,步骤如下:
步骤(111),对BVH文件进行解析,载入人体骨骼关节模型数据以及每一帧的数据;
步骤(112),对每一帧数据,首先执行步骤(1121)至步骤(1128)计算每一帧中关节的三维空间坐标,步骤(1121)至步骤(1128)是一个递归调用的过程,调用全部完成后,得到了当前帧的每一个关节的三维空间坐标,最后执行步骤(1129)得到当前帧的每一个关节相对于根关节的三维空间坐标:
步骤(1121),用当前变换矩阵表示当前关节的先辈节点对应的平移旋转矩阵的乘积,初始化当前变换矩阵为单位矩阵;创建当前矩阵对应的堆栈;设置当前的关节为根节点;
步骤(1122),获取当前节点平移向量,并计算其对应的平移矩阵T(Ji);
步骤(1123),当前关节的三维空间轨迹曲线坐标=当前变换矩阵*T(Ji)*Po
步骤(1124),获取当前节点旋转分量,计算其对应的旋转矩阵R(Ji);
步骤(1125),当前变换矩阵=当前变换矩阵*T(Ji)*R(Ji),得到的新的矩阵作为当前变换矩阵;
步骤(1126),将当前矩阵压入堆栈;
步骤(1127),如果当前关节有子关节,则对每个子关节依次进行步骤(1122)至步骤(1127)的调用;
步骤(1128),完成了所有子关节的调用,将当前矩阵堆栈执行出栈操作,出栈得到的矩阵作为当前变换矩阵;
步骤(1129),将当前帧的每一个关节的三维空间坐标与根关节的三维空间坐标相减。
1.2、SOM迭代学习
对每个样本特征向量集进行自组织映射迭代学习,包括以下步骤:
步骤(121),选择姿态集:因为样本库中包含大量的姿态,如果全部加入到姿态集中,生成运动图就需要大量的时空消耗。另外,生成的运动图受姿态集中相似姿态的密度影响比较大,这是由自组织映射学习方法本身决定的,因为,自组织映射学习方法本身具有较好的以低维表示反映出高维数据的拓扑分布的特点,如果姿态集中相似姿态过多,那么运动图将很难体现多样性。鉴于上述两个理由,本发明并不是将样本库中所有的姿态都作为姿态集,而是通过筛选去除掉大量相似性较大的姿态而代之以少量的姿态作为姿态集。设定姿态集初始为空,从样本特征向量集中选择一个样本特征向量,计算选择的样本特征向量与已经加入到姿态集中每个样本特征向量欧氏距离,如果所有的欧氏距离均超过一定阈值(欧式距离的阈值可以设为10~30,优选为20)或者当前姿态集为空,则将此样本特征向量加入到姿态集中,得到姿态集
Figure BDA0000097146000000111
其中,Ψ为姿态集,n为姿态集中样本特征向量的个数,
Figure BDA0000097146000000112
为姿态集中任意一个样本特征向量,k为姿态集中任意一个样本特征向量的序号,为样本特征向量的维度,
Figure BDA0000097146000000114
为实数,J为人体骨骼关节中8个部分中一个部分的关节总个数;
步骤(122),迭代学习初始化:初始化二维网格构成的运动图
Figure BDA0000097146000000115
运动图中的每个网格点对应一个权值向量
Figure BDA0000097146000000121
初始化权值向量为0,总迭代次数T,其中,N1和N2分别为运动图X轴及Y轴的网格数,i和j分别为运动图X轴及Y轴坐标,mi,j为运动图(i,j)坐标位置的权值向量,设置总迭代次数T=5000;
步骤(123),重复执行T次步骤(123a)和步骤(123b),获得一个运动图;
步骤(123a),选择最优匹配单元:从姿态集中随机选取一个
Figure BDA0000097146000000122
遍历当前运动图寻找最优匹配单元,具体为对运动图中每个网格点计算:
Figure BDA0000097146000000123
其中,
Figure BDA0000097146000000124
Figure BDA0000097146000000125
与mi,j的欧氏距离,
Figure BDA0000097146000000126
Figure BDA0000097146000000127
的最小值,mi,j为运动图(i,j)坐标位置的权值向量,p和q分别为运动图中与姿态
Figure BDA0000097146000000128
具有最小欧式距离的权值向量所在的网格点的X轴及Y轴坐标,mp,q为运动图(p,q)坐标位置的权值向量;
步骤(123b),权值向量更新:对运动图中的每个网格点坐标(i,j)计算邻域不等式
Figure BDA0000097146000000129
如果不等式成立,则更新权值向量,更新公式为
Figure BDA00000971460000001210
其中,t=1,2.3,...,T为当前迭代的次数,mi,j(t)和mi,j(t+1)分别为t和t+1次迭代的运动图(i,j)坐标位置的权值向量,hi,j(t)为邻域调整函数,公式如下:
h i , j ( t ) = α ( t ) exp ( - ( i - p ) 2 + ( j - q ) 2 2 ω 2 ( t ) ) ,
其中,exp()为指数函数,α(t)为第t次迭代的学习率函数,计算公式为:
α ( t ) = 0.8 * ( 1.0 - t 6 * T ) ,
ω(t)为第t次迭代的核宽函数,计算公式为:
ω ( t ) = 0.25 * ( N 1 + N 2 ) * ( 1.0 - t T ) .
2、在线运动数据库检索
在线运动数据库检索:用户提交查询实例后,对查询实例和运动数据库中的运动,分别计算每一帧姿态中各关节相对于根关节的三维空间坐标,提取三维空间坐标组成的向量作为运动特征;从运动图描述空间中选择一个运动图作为当前运动图;根据当前运动图,将查询实例的运动特征和运动数据库中运动的运动特征转化为最优匹配单元序列;对查询实例的最优匹配单元序列和运动数据库中运动的最优匹配单元序列提取运动串;在当前运动图下,对查询实例的运动串和运动数据库中运动的运动串计算相似度,获得分量相似度值;对运动图描述空间中的所有8个运动图依次进行运动图层次选择、运动图特征映射、运动串生成以及相似度计算,分别得到8个分量相似度值;将8个分量相似度值进行累加,获得查询实例与运动数据库中一个运动的总量相似度值,具体包括以下步骤:
2.1、运动特征提取
查询实例为一段由连续的帧姿态表示的运动,每一帧姿态包括人体骨骼模型中的骨骼偏移量坐标和各个关节相对于父关节的旋转欧拉角。根据每一帧姿态中的骨骼偏移量坐标和各个关节相对于父关节的旋转欧拉角,计算每个关节相对于根关节的三维空间坐标(该计算步骤和步骤1中的步骤1.1相同),将每一帧姿态表示成一个三维空间坐标组成的向量,提取运动特征即提取每帧姿态的三维空间坐标组成的向量,将查询实例的运动特征命名为MFa={Pa 1,Pa 2,...,Pa fa,...,Pa na},其中,na为查询实例的帧姿态个数,Pa fa为查询实例中任意一个帧姿态的三维空间坐标组成的向量,fa为查询实例中任意一个帧姿态的序号;
运动数据库中的运动为一段由连续的帧姿态表示的运动,每一帧姿态包括人体骨骼模型中的骨骼偏移量坐标和各个关节相对于父关节的旋转欧拉角。根据每一帧姿态中的骨骼偏移量坐标和各个关节相对于父关节的旋转欧拉角,计算每个关节相对于根关节的三维空间坐标(该计算步骤和步骤1中的步骤11相同),将每一帧姿态表示成一个三维空间坐标组成的向量,提取运动特征即提取每帧姿态的三维空间坐标组成的向量,将查询实例的运动特征命名为MFb={Pb 1,Pb 2,...,Pb fb,...,Pb nb},其中,nb为运动数据库中的运动的帧姿态个数,Pb fb为运动数据库中的运动中任意一个帧姿态的三维空间坐标组成的向量,fb为运动数据库中的运动的任意一个帧姿态的序号。
2.2、运动图层次选择
运动图描述空间共8个运动图。初始设置所有8个运动图的标记为false,false表示运动图未被使用过,true表示运动图已经被使用过,具体包括以下步骤:
变量:运动图指针CurrPtr,初始设置为空;
步骤(221),将CurrPtr指向第一层全身关节点运动图,如果其标记为false,则执行步骤(224);
步骤(222),将CurrPtr指向第二层上半身关节点运动图,如果其标记为false,则执行步骤(224);否则将CurrPtr指向第二层下半身关节点运动图,如果其标记为false,则执行步骤(224);
步骤(223),将CurrPtr指向第三层左上肢关节点运动图,如果其标记为false,则执行步骤(224);否则将CurrPtr指向第三层右上肢关节点运动图,如果其标记为false,则执行步骤(224);否则将CurrPtr指向第三层躯干关节点运动图,如果其标记为false,则执行步骤(224);否则将CurrPtr指向第三层左下肢关节点运动图,如果其标记为false,则执行步骤(224);否则将CurrPtr指向第三层右下肢关节点运动图,如果其标记为false,则执行步骤(224);否则将CurrPtr设置为空,结束;
步骤(224),如果CurrPtr不为空,那么将CurrPtr指向的运动图标记设置为true,返回CurrPtr指向的运动图,结束。
2.3、运动图特征映射
查询实例和运动数据库中的运动提取的运动特征分别为
MFa={Pa 1,Pa 2,...,Pa fa,...,Pa na},MFb={Pb 1,Pb 2,...,Pb fb,...,Pb nb},
对MFa执行如下步骤:
步骤(231),对Mfa,选择当前运动图M对应的人体骨骼关节中8个部分中一个部分的关节的运动特征MFa′={(Pa 1)′,(Pa 2)′,...,(Pa fa)′,...,(Pa na)′},(Pa fa)′为MFa中任一帧姿态中只包含人体骨骼关节中8个部分中一个部分的关节的三维空间坐标组成的向量;
步骤(232),对MFa′中的每个(Pa fa)′,遍历当前运动图M寻找与(Pa fa)′具有最小欧式距离的权值向量,计算公式为
mp,q=min{d((Pa fa)′,mi,j)},d((Pa fa)′,mi,j):=||(Pa fa)′-mi,j||,其中,d((Pa fa)′,mi,j)为(Pa fa)′与mi,j的欧氏距离,mi,j为当前运动图(i,j)坐标位置的权值向量,mp,q为当前运动图中与(Pa fa)′具有最小欧式距离的权值向量,p和q分别为当前运动图中与(Pa fa)′具有最小欧式距离的权值向量所在的X轴及Y轴坐标,将(Pa fa)′在当前运动图中得到的最优匹配单元记为BMUfa=(p*N2+q),N2为当前运动图Y轴的网格数;
步骤(233),将由查询实例的运动特征得到的最优匹配单元序列命名为MBMUL1
对MFb执行如下步骤:
步骤(234),对MFb,选择当前运动图M对应的人体骨骼关节中8个部分中一个部分的关节的运动特征MFb′={(Pb 1)′,(Pb 2)′,...,(Pb fb)′,...,(Pb nb)′},(Pb fb)′为MFa中任一帧中只包含人体骨骼关节中8个部分中一个部分的关节的三维空间坐标向量;
步骤(235),对MFa′中的每个(Pb fb)′,遍历当前运动图M寻找与(Pb fb)′具有最小欧式距离的权值向量,计算公式为
mp,q=min{d((Pb fb)′,mi,j)},d((Pb fb)′,mi,j):=||(Pb fb)′-mi,j||,其中,d((Pb fb)′,mi,j)为(Pb fb)′与mi,j的欧氏距离,mi,j为当前运动图(i,j)坐标位置的权值向量,mp,q为当前运动图中与(Pb fb)′具有最小欧式距离的权值向量,p和q分别为当前运动图中与(Pb fb)′具有最小欧式距离的权值向量所在的X轴及Y轴坐标,将(Pb fb)′在当前运动图中得到的最优匹配单元记为BMUfb=(p*Ny+q),N2为当前运动图Y轴的网格数;
步骤(236),将由运动数据库中的运动特征得到的最优匹配单元序列命名为MBMUL2
2.4、运动串生成
查询实例和运动数据库中的运动的最优匹配单元序列分别为MBMUL1和MBMUL2
对查询实例的最优匹配单元序列MBMUL1执行如下步骤:
步骤(2401),将查询实例的关键最优匹配单元序列命名为MSA,初始化MSA为空并将MBMUL1的第一个最优匹配单元加入到MSA中,MSA={MBMUL1[1]},其中,MBMUL1[1]为MBMUL1中的第一个最优匹配单元,将MBMUL1的序列下标设为idx1=1,上一个最优匹配单元设为last_bmu1=MBMUL1[1],当前最优匹配单元设为curr_bmu1=-1;
步骤(2402),将idx1增加1,如果idx1>na,执行步骤(2405),否则设置当前最优匹配单元curr_bmu1=MBMUL1[idx1];
步骤(2403),比较当前最优匹配单元curr_bmu1与上一个最优匹配单元last_bmu1是否相同,如果二者相同,则返回步骤(2402),否则进入步骤(2404);
步骤(2404),当前最优匹配单元curr_bmu1为MBMUL1的关键最优匹配单元,将curr_bmu1加入到MSA中并设置上一个最优匹配单元last_bmu1=MBMUL1[idx],返回步骤(2402);
步骤(2405),得到查询实例的关键最优匹配单元序列MSA即为查询实例的运动串。
对运动数据库中的运动的最优匹配单元序列MBMUL2执行如下步骤:
步骤(2406),将查询实例的关键最优匹配单元序列命名为MSB,初始化MSB为空并将MBMUL2的第一个最优匹配单元加入到MSB中,MSB={MBMUL2[1]},其中,MBMUL2[1]为MBMUL2中的第一个最优匹配单元,将MBMUL2的序列下标设为idx2=1,上一个最优匹配单元设为last_bmu2=MBMUL2[1],当前最优匹配单元设为curr_bmu2=-1;
步骤(2407),将idx2增加1,如果idx2>nb,执行步骤(2410),否则设置当前最优匹配单元curr_bmu2=MBMUL2[idx2];
步骤(2408),比较当前最优匹配单元curr_bmu2与上一个最优匹配单元last_bmu2是否相同,如果二者相同,则返回步骤(2407),否则进入步骤(2409);
步骤(2409),当前最优匹配单元curr_bmu2为MBMUL2的关键最优匹配单元,将curr_bmu2加入到MSB中并设置上一个最优匹配单元last_bmu2=MBMUL2[idx2],返回步骤(2407);
步骤(2410),得到运动数据库中的运动的关键最优匹配单元序列MSB即为运动数据库中运动的运动串。
2.5、相似度计算
相似度计算包括计算在运动图描述空间中每个运动图下获得的查询实例的运动串和运动数据库中运动的运动串进行相似度计算获得分量相似度以及对运动图描述空间中的所有8个运动图得到的8个分量相似度值进行相加得到总量相似度值。
对查询实例的运动串和运动数据库中运动的运动串计算相似度,获得分量相似度值,具体包括以下步骤:
步骤(251),建立一个二维相似度矩阵
Figure BDA0000097146000000171
初始化二维相似度矩阵的第一行和第一列值为0,其中LA为查询实例的运动串MSA长度,LB为运动数据库中运动的运动串MSB长度;
步骤(252),设置行下标r从1至LA,列下标c从1至LB,对二维相似度矩阵的行为r列为c的矩阵元素,计算4个数值sim1(r,c)、sim2(r,c)、sim3(r,c)、sim4(r,c),从sim1(r,c)、sim2(r,c)、sim3(r,c)和sim4(r,c)中选择最大值作为当前矩阵元素的值,所述4个数值的计算公式如下:
sim1(r,c)=0,
sim 2 ( r , c ) = SM [ r - 1 ] [ c - 1 ] + σ ( BMU MSA r , BMU MSB c ) ,
sim3(r,c)=SM[r-1][c]-5.0,
sim4(r,c)=SM[r][c-1]-5.0,
其中,sim1(r,c)、sim2(r,c)、sim3(r,c)和sim4(r,c)为4个数值,SM[r-1][c-1]为二维相似度矩阵第r-1行c-1列的矩阵元素值,SM[r-1][c]为二维相似度矩阵第r-1行c列的矩阵元素值,SM[r][c-1]为二维相似度矩阵第r行c-1列的矩阵元素值,为查询实例的运动串MSA中第r个最优匹配单元,
Figure BDA0000097146000000174
为运动数据库中运动的运动串MSB中第c个最优匹配单元,
Figure BDA0000097146000000175
为计算查询实例的运动串MSA中第r个最优匹配单元与运动数据库中运动的运动串MSB中第c个最优匹配单元的距离函数,的计算公式为:
σ ( BMU MSA r , BMU MSB c ) = 10.0 - ( x r 1 - x c 2 ) * ( x r 1 - x c 2 ) + ( y r 1 - y c 2 ) * ( y r 1 - y c 2 ) N 1 * N 2 + N 1 * N 2 ,
其中,
Figure BDA0000097146000000178
Figure BDA0000097146000000179
分别为
Figure BDA00000971460000001710
在当前运动图下的X轴及Y轴坐标,
Figure BDA00000971460000001711
Figure BDA00000971460000001712
分别为在当前运动图下的X轴及Y轴坐标,计算公式为:
x r 1 = NMU MSA r / N 2 , y r 1 = NMU MSA r % N 2 , x c 2 = BMU MSB c / N 2 , y c 2 = BMU MSB c % N 2 ;
步骤(253),寻找二维相似度矩阵SM中最大的矩阵元素值作为分量相似度值。
使用本方案实现的运动检索系统对维族舞蹈垫步猫洗脸动作进行检索的效果如图6a、图6b,图6c和6d所示,图6a为用户输入的维族舞蹈垫步猫洗脸动作的查询实例,箭头表示该查询实例的时间轴,按照时间轴每隔30帧列出了该查询实例的7个姿态;对该查询实例进行检索返回的结果如图6b所示,已经按相似度进行排序,显示的顺序为从左到右,从上到下,结果左上角为勾号的表示命中(与查询实例属于同类舞蹈动作),结果左上角为叉号的表示非命中(与查询实例不属于同类舞蹈动作),从检索结果可以看出,检索出的前30个结果中,只有3个非命中结果,检索效果较好;图6c为图6b中用矩形包围的检索结果中的第3个运动,箭头表示第3个运动的时间轴,按照时间轴每隔30帧列出了该运动的6个姿态;图6d为图6b中用椭圆包围的检索结果中的第22个运动,箭头表示第22个运动的时间轴,按照时间轴每隔30帧列出了该运动的4个姿态。
本发明提供了一种人体运动的运动图检索方法的思路及方法,该方法的关键技术包括自组织映射学习方法生成运动图、运动串的运动表示以及运动串相似度计算,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (5)

1.一种人体运动的运动图检索方法,其特征在于,包括以下步骤:
步骤1,离线运动图描述空间生成:根据人体骨骼关节模型,提取运动数据库中的每一帧姿态作为基本单元,组成样本库;所述运动数据库为一组以上由连续的帧姿态表示的运动构成的数据库;所述人体骨骼关节模型包含人体24个关节点;所述姿态包括所有人体骨骼关节;
将人体骨骼关节分别组合成8个部分,包括全身关节点、上半身关节点、下半身关节点、左上肢关节点、右上肢关节点、左下肢关节点、右下肢关节点、躯干关节点;
将样本库中所有姿态根据上述8个部分,分别计算每个部分相对于根关节的三维空间坐标,获得8个样本特征向量集;
对每个样本特征向量集进行自组织映射迭代学习,得到8个运动图,所述运动图为二维网格结构,每个网格点表示一个姿态;
将8个运动图组合为运动图描述空间;
步骤2,在线运动数据库检索:用户提交查询实例,所述查询实例为由连续的帧姿态表示的一个运动;
运动特征提取:对查询实例和运动数据库中的运动,分别计算每一帧姿态中各关节相对于根关节的三维空间坐标,提取运动特征,即提取三维空间坐标组成的向量;
运动图层次选择:从所述运动图描述空间中选择一个运动图作为当前运动图;
运动图特征映射:根据当前运动图,将查询实例的运动特征和运动数据库中运动的运动特征分别转化为最优匹配单元序列;所述最优匹配单元为当前运动图下的整数坐标值;
运动串生成:对查询实例的最优匹配单元序列和运动数据库中的运动的最优匹配单元序列分别提取关键最优匹配单元组成关键最优匹配单元序列;所述关键最优匹配单元序列即为运动串;
相似度计算:在当前运动图下,计算查询实例的运动串和运动数据库中运动的运动串的相似度,获得分量相似度值;
对运动图描述空间中的所有8个运动图依次进行运动图层次选择、运动图特征映射、运动串生成以及相似度计算,分别得到8个分量相似度值;
将8个分量相似度值进行累加,获得查询实例与运动数据库中一个运动的总量相似度值;
步骤3,将查询实例与运动数据库中每一个运动分别进行步骤2,获得一组对应的总量相似度值,按照总量相似度值的大小由高到低排序,输出每个总量相似度值对应的运动数据库中的运动;
所述步骤2中运动图特征映射步骤如下:
步骤211,对查询实例的运动特征和运动数据库中运动的运动特征分别执行如下步骤:
步骤211a,将运动特征命名为Motion,Motion={P1,P2,...,Pl,...,PL},选择当前运动图对应的人体骨骼关节中8个部分中一个部分的关节的运动特征Motion′={P′1,P′2,...,P′l,...,P′L},其中,Pl为全部24个关节的三维空间坐标组成的向量,P′l为只包含人体骨骼关节中8个部分中一个部分的关节的三维空间坐标组成的向量,l为运动特征中任意一个三维空间坐标组成的向量的序号,L为运动特征中三维空间坐标组成的向量的个数;
步骤211b,对Motion′中的每个P′l,遍历当前运动图M寻找与P′l具有最小欧式距离的权值向量,计算公式为:
mp,q=min{d(P′l,mi,j)},d(P′l,mi,j):=‖P′l-mi,j‖,
其中,d(P′l,mi,j)为P′l与mi,j的欧氏距离,P′l在当前运动图下得到的最优匹配单元为BMUl=(p*N2+q);
步骤211c,计算运动特征Motion′中每个P′l的最优匹配单元,将运动表示成最优匹配单元序列;
步骤212,将由查询实例的运动特征和运动数据库中运动的运动特征得到的两个最优匹配单元序列分别命名为MBMUL1和MBMUL2
所述运动串生成步骤如下:
对查询实例的最优匹配单元序列MBMUL1中的每个最优匹配单元,检查当前最优匹配单元在最优匹配单元序列MBMUL1中相邻的前一个最优匹配单元,如果前一个最优匹配单元与当前最优匹配单元不同,则当前最优匹配单元为最优匹配单元序列MBMUL1中的关键最优匹配单元,提取最优匹配单元序列MBMUL1中所有的关键最优匹配单元组成关键最优匹配单元序列,生成的运动串即为关键最优匹配单元序列,将最优匹配单元序列MBMUL1生成的运动串命名为运动串MSA;
对运动数据库中的运动的最优匹配单元序列MBMUL2中的每个最优匹配单元,检查当前最优匹配单元在最优匹配单元序列MBMUL2中相邻的前一个最优匹配单元,如果前一个最优匹配单元与当前最优匹配单元不同,则当前最优匹配单元为最优匹配单元序列MBMUL2中的关键最优匹配单元,提取最优匹配单元序列MBMUL2中所有的关键最优匹配单元组成关键最优匹配单元序列,生成的运动串即为关键最优匹配单元序列,将最优匹配单元序列MBMUL2生成的运动串命名为运动串MSB。
2.根据权利要求1所述的一种人体运动的运动图检索方法,其特征在于,所述步骤1中对每个样本特征向量集进行自组织映射迭代学习,包括以下步骤:
步骤11,选择姿态集:设定姿态集初始为空,从样本特征向量集中选择一个样本特征向量,计算选择的样本特征向量与已经加入到姿态集中每个样本特征向量欧氏距离,如果所有的欧氏距离均超过一定阈值或者当前姿态集为空,则将此样本特征向量加入到姿态集中,得到姿态集
Figure FDA00002663751700031
其中,Ψ为姿态集,n为姿态集中样本特征向量的个数,为姿态集中任意一个样本特征向量,k为姿态集中任意一个样本特征向量的序号,
Figure FDA00002663751700033
为样本特征向量的维度,为实数,J为人体骨骼关节中8个部分中一个部分的关节总个数;
步骤12,迭代学习初始化:初始化二维网格构成的运动图
Figure FDA00002663751700035
运动图中的每个网格点对应一个权值向量
Figure FDA00002663751700036
初始化权值向量为0,总迭代次数T,其中,N1和N2分别为运动图X轴及Y轴的网格数,i和j分别为运动图X轴及Y轴坐标,mi,j为运动图(i,j)坐标位置的权值向量;
步骤13,重复执行T次步骤13a和步骤13b,获得一个运动图;
步骤13a,选择最优匹配单元:从姿态集中随机选取一个姿态遍历当前运动图寻找最优匹配单元,具体为对运动图中每个网格点计算:
Figure FDA00002663751700038
其中,
Figure FDA00002663751700039
Figure FDA000026637517000310
与mi,j的欧氏距离,
Figure FDA000026637517000311
Figure FDA000026637517000312
的最小值,mi,j为运动图(i,j)坐标位置的权值向量,p和q分别为运动图中与姿态
Figure FDA000026637517000313
具有最小欧式距离的权值向量所在的网格点的X轴及Y轴坐标,mp,q为运动图(p,q)坐标位置的权值向量;
步骤13b,权值向量更新:对运动图中的每个网格点坐标(i,j)计算邻域不等式 ( i - p ) 2 + ( j - q ) 2 < N 1 2 + N 2 2 * ( 1.0 - t / T ) , 如果不等式成立,则更新权值向量,更新公式为
Figure FDA000026637517000315
其中,t=1,2.3,...,T为当前迭代的次数,mi,j(t)和mi,j(t+1)分别为t和t+1次迭代的运动图(i,j)坐标位置的权值向量,hi,j(t)为邻域调整函数。
3.根据权利要求2所述的一种人体运动的运动图检索方法,其特征在于,计算查询实例的运动串和运动数据库中运动的运动串的相似度,获得分量相似度值,包括以下步骤:
步骤221,建立一个二维相似度矩阵,矩阵元素值为实数,初始化二维相似度矩阵的第一行和第一列矩阵元素值为0,其中LA为查询实例的运动串MSA长度,LB为运动数据库中运动的运动串MSB长度;
步骤222,设置行下标r从1至LA,列下标c从1至LB,对二维相似度矩阵的行为r列为c的矩阵元素,计算4个数值sim1(r,c)、sim2(r,c)、sim3(r,c)、sim4(r,c),选择sim1(r,c)、sim2(r,c)、sim3(r,c)和sim4(r,c)中的最大值作为当前矩阵元素的数值;
步骤223,寻找二维相似度矩阵中最大的矩阵元素值作为分量相似度值。
4.根据权利要求2所述的一种人体运动的运动图检索方法,其特征在于,所述邻域调整函数采用高斯函数,公式如下:
h i , j ( t ) = &alpha; ( t ) exp ( - ( i - p ) 2 + ( j - p ) 2 2 &omega; 2 ( t ) ) ,
其中,exp()为指数函数,α(t)为第t次迭代的学习率函数,计算公式为:
&alpha; ( t ) = 0.8 * ( 1.0 - t 6 * T ) ,
ω(t)为第t次迭代的核宽函数,计算公式为:
&omega; ( t ) = 0.25 * ( N 1 + N 2 ) * ( 1.0 - t T ) .
5.根据权利要求3所述的一种人体运动的运动图检索方法,其特征在于,所述对二维相似度矩阵的行为r列为c的矩阵元素,计算4个数值,公式如下:
sim1(r,c)=0,
sim 2 ( r , c ) = SM [ r - 1 ] [ c - 1 ] + &sigma; ( BMU MSA r , BMU MSB c ) ,
sim3(r,c)=SM[r-1][c]-5.0,
sim4(r,c)=SM[r][c-1]-5.0,
其中,sim1(r,c)、sim2(r,c)、sim3(r,c)和sim4(r,c)为4个数值,SM[r-1][c-1]为二维相似度矩阵第r-1行c-1列的矩阵元素值,SM[r-1][c]为二维相似度矩阵第r-1行c列的矩阵元素值,SM[r][c-1]为二维相似度矩阵第r行c-1列的矩阵元素值,
Figure FDA00002663751700051
为查询实例的运动串MSA中第r个最优匹配单元,
Figure FDA00002663751700052
为运动数据库中运动的运动串MSB中第c个最优匹配单元,
Figure FDA00002663751700053
为计算查询实例的运动串MSA中第r个最优匹配单元与运动数据库中运动的运动串MSB中第c个最优匹配单元的距离函数,
Figure FDA00002663751700054
的计算公式为:
&sigma; ( BMU MSA r , BMU MSB c ) = 10.0 - ( x r 1 - x c 2 ) * ( x r 1 - x c 2 ) + ( y r 1 - y c 2 ) * ( y r 1 - y c 2 ) N 1 * N 2 + N 1 * N 2 ,
其中,分别为
Figure FDA00002663751700058
在当前运动图下的X轴及Y轴坐标,
Figure FDA000026637517000510
分别为
Figure FDA000026637517000511
在当前运动图下的X轴及Y轴坐标,计算公式为:
x r 1 = BMU MSA r / N 2 , y r 1 = BMU MSA r % N 2 , x c 2 = BMU MSB c / N 2 , y c 2 = BMU MSB c % N 2 .
CN201110306170.9A 2011-10-09 2011-10-09 一种人体运动的运动图检索方法 Expired - Fee Related CN102508867B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110306170.9A CN102508867B (zh) 2011-10-09 2011-10-09 一种人体运动的运动图检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110306170.9A CN102508867B (zh) 2011-10-09 2011-10-09 一种人体运动的运动图检索方法

Publications (2)

Publication Number Publication Date
CN102508867A CN102508867A (zh) 2012-06-20
CN102508867B true CN102508867B (zh) 2013-04-24

Family

ID=46220953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110306170.9A Expired - Fee Related CN102508867B (zh) 2011-10-09 2011-10-09 一种人体运动的运动图检索方法

Country Status (1)

Country Link
CN (1) CN102508867B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9646340B2 (en) 2010-04-01 2017-05-09 Microsoft Technology Licensing, Llc Avatar-based virtual dressing room
JP6018707B2 (ja) * 2012-06-21 2016-11-02 マイクロソフト コーポレーション デプスカメラを使用するアバター構築
CN103294832B (zh) * 2013-06-27 2017-02-08 西安工业大学 一种基于反馈学习的运动捕获数据检索方法
JP6005716B2 (ja) * 2014-12-19 2016-10-12 株式会社Cygames 情報処理システム、サーバ、プログラム、及び情報処理方法
CN104835189B (zh) * 2015-04-16 2017-09-29 镇江微端网络科技有限公司 基于后缀树运动图模型的运动合成方法
CN105653638A (zh) * 2015-12-28 2016-06-08 北京像素软件科技股份有限公司 一种运动检索方法和装置
CN106227840A (zh) * 2016-07-26 2016-12-14 广东小天才科技有限公司 歌曲搜索方法及装置
CN112597341A (zh) * 2018-05-25 2021-04-02 中科寒武纪科技股份有限公司 视频检索方法及视频检索映射关系生成方法、装置
CN108763560B (zh) * 2018-06-04 2021-04-30 大连大学 基于图模型的三维人体运动检索方法
CN109165307B (zh) * 2018-09-19 2021-02-02 腾讯科技(深圳)有限公司 一种特征检索方法、装置和存储介质
US11941864B2 (en) 2019-03-01 2024-03-26 Nec Corporation Image forming apparatus, determination apparatus, image forming method, and non-transitory computer readable medium storing image forming program
CN111353543B (zh) * 2020-03-04 2020-09-11 镇江傲游网络科技有限公司 运动捕捉数据相似度度量方法、装置及系统
CN112634415B (zh) * 2020-12-11 2023-11-10 北方信息控制研究院集团有限公司 一种基于人体骨骼模型的人员动作实时仿真方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101034409A (zh) * 2007-03-29 2007-09-12 浙江大学 基于数据驱动和决策树分析的人体运动的检索方法
CN101276370A (zh) * 2008-01-14 2008-10-01 浙江大学 基于关键帧的三维人体运动数据检索方法
CN101661492A (zh) * 2008-10-11 2010-03-03 大连大学 用于人体运动捕捉数据检索的高维空间超球覆盖方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5554033A (en) * 1994-07-01 1996-09-10 Massachusetts Institute Of Technology System for human trajectory learning in virtual environments
JP4385274B2 (ja) * 2002-10-29 2009-12-16 ソニー株式会社 歩行波形特徴抽出方法及び個人識別装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101034409A (zh) * 2007-03-29 2007-09-12 浙江大学 基于数据驱动和决策树分析的人体运动的检索方法
CN101276370A (zh) * 2008-01-14 2008-10-01 浙江大学 基于关键帧的三维人体运动数据检索方法
CN101661492A (zh) * 2008-10-11 2010-03-03 大连大学 用于人体运动捕捉数据检索的高维空间超球覆盖方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
三维人体的草绘建模方法;张尧烨 等;《软件学报》;20101231;第21卷;全文 *
张尧烨 等.三维人体的草绘建模方法.《软件学报》.2010,第21卷

Also Published As

Publication number Publication date
CN102508867A (zh) 2012-06-20

Similar Documents

Publication Publication Date Title
CN102508867B (zh) 一种人体运动的运动图检索方法
Fiaz et al. Handcrafted and deep trackers: Recent visual object tracking approaches and trends
Huang et al. Shape synthesis from sketches via procedural models and convolutional networks
Liu et al. 3D motion retrieval with motion index tree
CN102298649B (zh) 一种人体动作数据的空间轨迹检索方法
Ying et al. Multi-attention object detection model in remote sensing images based on multi-scale
Pejsa et al. State of the art in example‐based motion synthesis for virtual characters in interactive applications
CN102142055A (zh) 基于增强现实交互技术的真三维设计方法
CN104899561A (zh) 一种并行化的人体行为识别方法
Hu et al. Overview of behavior recognition based on deep learning
CN102521843B (zh) 一种基于流形学习的三维人体运动分析与合成方法
Wang et al. 3D human motion editing and synthesis: A survey
CN110222580A (zh) 一种基于三维点云的人手三维姿态估计方法和装置
CN103778227A (zh) 从检索图像中筛选有用图像的方法
Chang et al. The model-based human body motion analysis system
Xu et al. Scene image and human skeleton-based dual-stream human action recognition
Gehrig et al. Hmm-based human motion recognition with optical flow data
Xiao et al. Sketch-based human motion retrieval via selected 2D geometric posture descriptor
Li et al. FineDance: A Fine-grained Choreography Dataset for 3D Full Body Dance Generation
CN101276370A (zh) 基于关键帧的三维人体运动数据检索方法
Sun et al. Locate: End-to-end localization of actions in 3d with transformers
Wang et al. Human motion data refinement unitizing structural sparsity and spatial-temporal information
CN109857886A (zh) 一种基于极小极大值博弈理论视图逼近的三维模型检索方法
Li et al. Siamese visual tracking with deep features and robust feature fusion
CN105224669B (zh) 一种基于gmm语义特征的运动检索方法

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130424

Termination date: 20151009

EXPY Termination of patent right or utility model