基于对齐聚类分析的运动序列检索方法

文档序号:6546962阅读:221来源:国知局
基于对齐聚类分析的运动序列检索方法
【专利摘要】本发明涉及一种基于对齐聚类分析的运动序列检索方法。目前已有的运动序列检索方法在考虑分割时,没有考虑每一帧运动的时间顺序,不能准确定位分割点。本发明记录保存人体运动序列;服务器端处理运动序列,获取运动序列的特征,合并所有运动序列的特征,生成特征数据库;服务器端计算客户端提供运动序列的特征;服务器端将客户端提供运动序列所提取的特征与特征数据库中的特征进行匹配,分别计算特征之间的距离,将数据库中的运动序列按照距离进行排序并输出,作为检索结果并返回客户端。本发明基于对齐聚类分析的运动序列分割算法,并在此基础上提取运动特征,并将此特征用于运动检索中,该分割方法与真实的分割结果对比,显示了该方法的高效性。
【专利说明】基于对齐聚类分析的运动序列检索方法
【技术领域】
[0001]本发明属于多媒体信息检索【技术领域】,具体涉及一种基于对齐聚类分析的运动序列检索方法。
【背景技术】
[0002]人体运动广泛的应用于动画、游戏软件、人机交互等方面。人体运动序列无论在时间上还是在空间上都是复杂的。因此,能够有效地表述人体的运动、高效地描述运动的特征,并且能够有效的从数据库中检索出相关的运动序列变的十分重要。
[0003]目前已有了运用概率上的主成分分析(PCA)算法,将人体运动序列分解成明显动作,利用指定关节点的几何特征来分割运动,并在此基础上实现运动的检索,但该解决方案存在技术缺陷,其在考虑运动序列分割方面时,虽然考虑到了将运动序列进行分割,但这些方法的主要的限制是没有考虑每一帧运动在时间上的顺序,不能准确定位分割点,将不同类型的动作准确的分割出来;在三维运动检索过程中,要考虑特征融合的方法来进一步提高检索精度,加入反馈环节是十分必要的,上述方法中没有加入相关反馈。

【发明内容】

[0004]本发明的目的是提供一种基于对齐聚类分析的运动序列检索方法,克服现有方法对运动序列分割时没有考虑运动序列在时间轴顺序的缺点。
[0005]本发明所采用的技术方案是:
基于对齐聚类分析的运动序列检索方法,其特征在于:
由以下步骤实现:
步骤一:人体运动序列的采集:
在人体运动序列的采集中,运用微软的Kinect设备与相应的软件Blender对人体运动序列进行记录保存;
步骤二:服务器端将采集的每个人体运动序列进行处理,获取运动序列的特征,合并所有运动序列的特征,生成特征数据库;
步骤三:服务器端计算客户端提供运动序列的特征;
步骤四:服务器端将客户端提供运动序列所提取的特征与特征数据库中的特征进行匹配,分别计算特征之间的距离,将数据库中的运动序列按照距离进行排序并输出,作为第一次检索结果并返回客户端。
[0006]所述步骤一中,人体运动序列采集具体包括以下步骤:
(1)运动采集设备Kinect与运动采集软件Blender的安装和调试,Kinect设备可以获取人体的深度数据,Blender可以根据获取的深度数据将人体的运动映射到虚拟的人体骨架上,记录并保存关节点的位置信息;
(2)人在设备前做动作,实时记录相应的运动序列,假设总共记录了N个运动序列,并保存在服务器端的运动数据库中以便后续处理。[0007]所述步骤二中,人体运动序列特征提取具体包括以下步骤:
(1)人体运动序列数据库中保存了N个运动序列,假设每个运动序列包括了 m帧运动,在不同的运动序列中,m是不相同的;每一帧运动中包含了人体21个主要关节点的位置信息和旋转信息;通过服务器读取每个运动序列获取每一帧关节点的信息;
(2)用单位四元数来表示每一个关节点的旋转信息,即对于每个关节点q都有:
q=[w X y z], w为标量,x、y、z为矢量,且| |q| 2=w2+x2+y2+z2=l ;这样一个运动序列特征可以用矩阵X=[Xi,1:84]mX84表示,其中Xi,1:84为矩阵中第i行向量,表示第i帧运动的四元数表示;
(3)采用基于对齐聚类分析的方法将运动序列进行分割,在每个分割后的子片段中选取关键帧,作为该片段的特征,综合分割的每个子片段的特征作为整个运动序列的特征;按上述方法提取每个运动序列的特征生成运动特征数据库。
[0008]所述步骤三具体包括以下步骤:
(1)对于一个运动序列X=[xl,x2,..., xm],运用对齐聚类分析的方法将X将分割成e个片段,并将运动序列人工设定为k个类别,使得每个片段属于k类中的一类;首先对于一个m帧运动序列初始化分割参数G、S,其中s为初始化分割点,G为初始化每个分割片段所属类别;
(2)运用一种在KernelK-means (KKM)基础之上扩展的对齐聚类分析的方法,其能量函数为:
【权利要求】
1.基于对齐聚类分析的运动序列检索方法,其特征在于: 由以下步骤实现: 步骤一:人体运动序列的采集: 在人体运动序列的采集中,运用微软的Kinect设备与相应的软件Blender对人体运动序列进行记录保存; 步骤二:服务器端将采集的每个人体运动序列进行处理,获取运动序列的特征,合并所有运动序列的特征,生成特征数据库; 步骤三:服务器端计算客户端提供运动序列的特征; 步骤四:服务器端将客户端提供运动序列所提取的特征与特征数据库中的特征进行匹配,分别计算特征 之间的距离,将数据库中的运动序列按照距离进行排序并输出,作为第一次检索结果并返回客户端。
2.根据权利要求1所述的基于对齐聚类分析的运动序列检索方法,其特征在于: 所述步骤一中,人体运动序列采集具体包括以下步骤: (1)运动采集设备Kinect与运动采集软件Blender的安装和调试,Kinect设备可以获取人体的深度数据,Blender可以根据获取的深度数据将人体的运动映射到虚拟的人体骨架上,记录并保存关节点的位置信息; (2)人在设备前做动作,实时记录相应的运动序列,假设总共记录了N个运动序列,并保存在服务器端的运动数据库中以便后续处理。
3.根据权利要求2所述的基于对齐聚类分析的运动序列检索方法,其特征在于: 所述步骤二中,人体运动序列特征提取具体包括以下步骤: (1)人体运动序列数据库中保存了N个运动序列,假设每个运动序列包括了 m帧运动,在不同的运动序列中,m是不相同的;每一帧运动中包含了人体21个主要关节点的位置信息和旋转信息;通过服务器读取每个运动序列获取每一帧关节点的信息; (2)用单位四元数来表示每一个关节点的旋转信息,即对于每个关节点q都有: q=[w X y z], w为标量,x、y、z为矢量,且| |q| 2=w2+x2+y2+z2=l ;这样一个运动序列特征可以用矩阵X=[Xi,1:84]mX84表示,其中Xi,1:84为矩阵中第i行向量,表示第i帧运动的四元数表示; (3)采用基于对齐聚类分析的方法将运动序列进行分割,在每个分割后的子片段中选取关键帧,作为该片段的特征,综合分割的每个子片段的特征作为整个运动序列的特征;按上述方法提取每个运动序列的特征生成运动特征数据库。
4.根据权利要求3所述的基于对齐聚类分析的运动序列检索方法,其特征在于: 所述步骤三具体包括以下步骤: 对于一个运动序列X=[Xl,x2), xffl],运用对齐聚类分析的方法将X将分割成e个片段,并将运动序列人工设定为k个类别,使得每个片段属于k类中的一类;首先对于一个m帧运动序列初始化分割参数G、S,其中s为初始化分割点,G为初始化每个分割片段所属类别; 运用一种在Kernel K-means (KKM)基础之上扩展的对齐聚类分析的方法,其能量函数为:
5.根据权利要求4所述的基于对齐聚类分析的运动序列检索方法,其特征在于: 所述步骤四中,人体运动序列特征匹配具体包括以下步骤: (1)对于客户端提供的运动序列经过特征提取后有特征Fx特征,特征数据库中的特征Fy, X、y分别代表特征的帧数;由于两者帧数不相等,在此运用典型时间规整算法来计算两者之间的距离; 典型时间规整算法是在典型相关分析算法和动态时间规整算法的基础之上扩展的算法,对于两个运动序列,该算法在保证时间对齐的基础上,最大化特征在空间上的相关性;两个运动序列之间的距离用D表示:
6.根据权利要求5所述的基于对齐聚类分析的运动序列检索方法,其特征在于: 步骤四中,若客户端对第一次检索结果不满意,则由客户端对检索结果进行“相关”及“不相关”标注,“相关”则是检索结果与希望的结果相关,否则为“不相关”;将标注后的信息返回服务器,服务器对返回的信息进行学习,运用分类器将特征数据库中的运动序列分类,根据分类结果按照距离长短对运动序列排序输出,作为新的检索结果;重复该步骤,直到输出用户满意的检索结果。
7.根据权利要求6所述的基于对齐聚类分析的运动序列检索方法,其特征在于: 所述客户端对检索结果进行相关标注,具体包括以下步骤: 客户端对每次检索结果进行标注,标注Z个“相关”运动序列,Z为正整数,返回服务器中“相关”的运动序列标签为1,剩余的L-Z个运动序列视为“不相关”,该服务器标注为-1 ;将在上述步骤中对标注的“相关”,“不相关”数据进行学习,并用K最近邻算法(Κ-Nearest Neighbor algorithm, KNN)对特征数据库中的数据学习分类,得到分类结果; (3)将分类结果 排序输出,作为新的检索结果。
【文档编号】G06F17/30GK103970883SQ201410212696
【公开日】2014年8月6日 申请日期:2014年5月20日 优先权日:2014年5月20日
【发明者】肖秦琨, 郑中华 申请人:西安工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1