一种基于层次模型的人体动作检索方法及设备

文档序号:1755586 发布日期:2019-11-29 浏览:15次 >En<

阅读说明:本技术 一种基于层次模型的人体动作检索方法及设备 (A kind of human action search method and equipment based on hierarchical model ) 是由 黄天羽 黄晓舟 于 2019-08-28 设计创作,主要内容包括:本发明涉及一种基于层次模型的人体动作检索方法及设备,方法包括以下步骤:从人体运动文件中提取每一帧每个关节点信息,计算该关节点在世界坐标系下的位置;确定位置变化最大的关节点及该关节点的主要运动方向;对该运动文件数据按照层次模型进行编码;将文件运动数据及其层次模型编码存入运动数据库;根据数据库中每个文件对应的层次模型编码为所有文件建立索引树;使用层次模型编码对数据库进行检索。本发明使用基于层次模型的编码保留运动数据的主要几何特征,把对复杂运动数据的检索转化为对简单数字编码的检索,极大的提高了检索的时间效率。(The present invention relates to a kind of human action search method and equipment based on hierarchical model, method calculate position of the artis under world coordinate system the following steps are included: extract each artis information of each frame from human motion file;Determine the maximum artis of change in location and the main movement direction of the artis;The move file data are encoded according to hierarchical model;By file exercise data and its hierarchical model coding deposit motion database;All Files, which are encoded to, according to the corresponding hierarchical model of file each in database establishes index tree;Database is retrieved using hierarchical model coding.The present invention retains the main geometrical characteristic of exercise data using the coding based on hierarchical model, and the retrieval to compound movement data is converted into the retrieval to simple digital coding, greatly improves the time efficiency of retrieval.)

一种基于层次模型的人体动作检索方法及设备

技术领域

本发明涉及一种数据检索方法及设备,特别涉及一种基于层次模型的人体动作检索方法及设备。

背景技术

随着运动捕获技术的兴起,以及各类光学、机械等动作捕捉设备的进步,现在人们已经能够快速获取大量人体动作三维数据文件。由于人体动作三维数据文件能够较为精准的记录下实验者各时间段内的全部运动轨迹,通过分析动作捕获所得的数据便可得到人体运动的详尽细节,极大的提高了动作数据相关工作获取的便利性及数据的可靠性。运动数据的复用和大规模运动数据库的建立为运动捕捉技术提供了一种更为省时而经济的方案,同时,也对运动数据库的组织和搜索技术提出了更高的要求。

运动检索技术是实现运动捕捉数据复用的一项关键技术。人体动作序列是一种典型的高维时间序列,对于高维信息的处理,如果采用常规方法进行检索将耗费大量的运行时间和内存空间。因此,选取合适的特征表示方法使得检索速度和检索质量都可以接受显得非常重要。现有对运动数据库的检索主要是通过提取出几何特征并计算欧氏距离来实现的,其目的是为了实现对运动数据库内容的检索,但是对复杂几何特征及欧式距离的计算使得数据库检索时需要耗费大量的运行时间,无法满足实时的需求。

发明内容

本发明的目的在于针对现有技术的不足,提供一种基于层次模型的人体动作检索方法及设备,使用新的几何特征实现基于内容的运动数据检索,提高常规检索方法的时间效率。

为达到上述目的,本发明提供了一种基于层次模型的人体动作检索方法,包括以下步骤:

从人体运动文件中提取每一帧每个关节点信息,计算该关节点在世界坐标系下的位置;

确定位置变化最大的关节点及该关节点的主要运动方向;

对该运动文件数据按照层次模型进行编码,一级码对应位置变化最大的关节点,二级码对应该关节点的主要运动方向,三级码对应运动频率;

将文件运动数据及其层次模型编码存入运动数据库;

根据数据库中每个文件对应的层次模型编码为所有文件建立索引树,索引树的非叶子结点包含对应层次的编码,叶子结点包含了一个索引结构inode,记录如下索引信息:{层次模型编码,所在文件名,前一个inode的指针,下一个inode的指针};

检索运动数据库时,首先对查询的运动进行层次模型编码,在索引树中寻找编码相似的叶子结点,最后再根据inode的指针信息搜索到所有编码相似的运动文件,即得到一个相似运动候选文件集合。

优选地,按照以下方法,确定位置变化最大的关节点及该关节点的主要运动方向:

分别设定震荡因子Sx、Sy、Sz,用以记录人体骨骼架构中每个关节点在世界坐标系下X、Y、Z方向的最大位移;求出Sx、Sy、Sz的最大值,即可确定位置变化最大的关节点及该关节点的主要运动方向。

优选地,计算出每一帧每个关节点在世界坐标系下的位置后,进行关键帧的判别与提取,使用关键帧数据确定文件的层次模型编码,并且只将关键帧运动数据及其层次模型编码存入运动数据库。

优选地,在进行关键帧提取后,根据每一帧每个关节点的位置判断运动周期,并选取一个运动周期内的关键帧确定位置变化最大的关节点及该关节点的主要运动方向。

优选地,对降维后的数据进行滤波处理,比较每一关节点每一数据帧的当前位置与该关节在整个运动中最大变化位置或最小变化位置的差,若其差值大于该关节点的动态变化平均值则被视为干扰信息,即把该关节点在这一数据帧下的位置信息删除。

本发明还提供了一种用于人体动作检索的存储设备,其中存储有多条指令,所述指令适于由处理器加载并执行:

从人体运动文件中提取每一帧每个关节点信息,计算该关节点在世界坐标系下的位置;

确定位置变化最大的关节点及该关节点的主要运动方向;

对该运动文件数据按照层次模型进行编码,一级码对应位置变化最大的关节点,二级码对应该关节点的主要运动方向,三级码对应运动频率;

将文件运动数据及其层次模型编码存入运动数据库;

根据数据库中每个文件对应的层次模型编码为所有文件建立索引树,索引树的非叶子结点包含对应层次的编码,叶子结点包含了一个索引结构inode,记录如下索引信息:{层次模型编码,所在文件名,前一个inode的指针,下一个inode的指针};

检索运动数据库时,首先对查询的运动进行层次模型编码,在索引树中寻找编码相似的叶子结点,最后再根据inode的指针信息搜索到所有编码相似的运动文件,即得到一个相似运动候选文件集合。

优选地,所述指令按照以下方法,确定位置变化最大的关节点及该关节点的主要运动方向:

分别设定震荡因子Sx、Sy、Sz,用以记录人体骨骼架构中每个关节点在世界坐标系下X、Y、Z方向的最大位移;求出Sx、Sy、Sz的最大值,即可确定位置变化最大的关节点及该关节点的主要运动方向。

优选地,所述指令计算出每一帧每个关节点在世界坐标系下的位置后,进行关键帧的判别与提取,使用关键帧数据确定文件的层次模型编码,并且只将关键帧运动数据及其层次模型编码存入运动数据库。

优选地,所述指令在进行关键帧提取后,根据每一帧每个关节点的位置判断运动周期,并选取一个运动周期内的关键帧确定位置变化最大的关节点及该关节点的主要运动方向。

优选地,所述指令对降维后的数据进行滤波处理,比较每一关节点每一数据帧的当前位置与该关节在整个运动中最大变化位置或最小变化位置的差,若其差值大于该关节点的动态变化平均值则被视为干扰信息,即把该关节点在这一数据帧下的位置信息删除。

有益效果

本发明提出的基于层次模型的人体动作检索方法和设备,使用基于层次模型的编码保留运动数据的主要几何特征,把对复杂运动数据的检索转化为对简单数字编码的检索,极大的提高了检索的时间效率。

附图说明

图1为本发明所述方法的流程图;

图2为BVH文件头的文件结构;

图3为BVH文件数据段的文件结构。

图4为以Hips关节为根节点的人体骨骼层次模型。

图5为人体运动基本平面示意图。

图6为人体运动层次模型。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

传统的惯性运动捕捉设备采集人体运动数据时,通常会将原始运动数据存储为BVH文件,其遵循的思想为基于父子节点关系的数据转换。由于BVH文件存在父子节点关系,因此文件通常可划分为两个部分,其一为存储人体骨骼层次结构的文件头,如图2所示,通常以HIERARCHY为文件起始标识、以ROOT为人体骨骼层次结构的起始点的标识,能够清晰的把人体骨骼层次结构所存在的内部联系通过简洁的形式呈现出来,也能够把人体骨骼节点所需要使用的数据种类及数据范围给标定好;其二为存储具体运动数据的数据段,如图3所示,通常以MOTION为数据段的起始标识、以Frames为包含多少运动序列的长度标识,能够将特有的人体骨骼层次结构与具体运动数据区分开来。

从图2和图3的示例中可知,该人体骨骼层次以Hips作为根节点,如图4所示。每个骨骼关节点相对于父节点在局部坐标系下的平移量在BVH文件中人体骨骼架构定义部分中获取,相对于父节点的旋转分量在每一数据帧中获取。数据帧中的根节点数据包含六个维度的信息,分别为世界坐标系下根节点的位移以及局部坐标系下旋转角信息。图3中的数据(-195.76,92.90,76.64)是根节点起始帧的位移信息,而数据(6.83,-1.04,91.45)是根节点起始帧的旋转角信息。除根节点数据以外,任意骨骼节点的数据都只由三个旋转角数据构成,分别为每一个骨骼关节点相对于父节点的俯仰角、翻滚角、航偏角数据。由这些数据,可以得到每一帧每个关节点在世界坐标系下的位置。

无论是日常生活中的常见运动还是田径赛场上的竞技类运动,人体骨骼的各重要的关节点都呈现有规律的时空特征及运动频率,构成了人体运动的语义特征。人体运动的一个重要时空特征就是位置变化最大的关节点及该关节点的主要运动方向,通过该语义特征可以对大多数运动类型进行区分。本发明的思想就是利用人体运动的该语义特征,实现高效的基于内容的人体动作检索。

在人体运动数据处理时,通常可以将人体的基本平面定义为水平面、额状面、矢状面三个平面,其中水平面为直立状态下横切身体与地面平行的切面,将身体分为上、下两部分;额状面为以身体左右径为切线所作的纵切面,将人体分为前、后两部分;矢状面为以身体前后径为切线所作的纵切面,将人体分为左、右两部分;将人体的基本轴定义为额状轴、垂直轴、矢状轴,其中额状轴为X轴,垂直于矢状面,方向为左右朝向,是额状面与水平面的交线;垂直轴为Y轴,垂直于水平面,方向为上下朝向,是额状面与矢状面的交线;矢状轴为Z轴,垂直于额状面,方向为前后朝向,是矢状面与水平面的交线。

以最常见人体的运动跑步为例,如图5所示,人体在矢状面有明确位移。其中,躯干部分在水平面、额状面无明显大幅度晃动;四肢在矢状面有明显且有规律性的摆动,并且下肢摆动幅度远大于上肢,由此判断下肢为主发力部分;同时根据四肢摆动频率与位置交换速度可判断具体运动强度。因此,保留人体骨骼模型各关节点在矢状面的位置信息,就可以确定其主要语义特征。

基于此思想,本发明实施例1实现了一种基于层次模型的人体动作检索方法,包括以下步骤:

S1:从人体运动文件中提取每一帧每个关节点信息,计算该关节点在世界坐标系下的位置;

S2:确定位置变化最大的关节点及该关节点的主要运动方向;

S3:对该运动文件数据按照层次模型进行编码,一级码对应位置变化最大的关节点,二级码对应该关节点的主要运动方向,三级码对应运动频率;

S4:将文件运动数据及其层次模型编码存入运动数据库;

S5:根据数据库中每个文件对应的层次模型编码为所有文件建立索引树,索引树的非叶子结点包含对应层次的编码,叶子结点包含了一个索引结构inode,记录如下索引信息:{层次模型编码,所在文件名,前一个inode的指针,下一个inode的指针};

S6:检索运动数据库时,首先对查询的运动进行层次模型编码,在索引树中寻找编码相似的叶子结点,最后再根据inode的指针信息搜索到所有编码相似的运动文件,即得到一个相似运动候选文件集合。

在实施例1中,步骤S2按照以下方法,确定位置变化最大的关节点及该关节点的主要运动方向:

分别设定震荡因子Sx、Sy、Sz,用以记录人体骨骼架构中每个关节点在世界坐标系下X、Y、Z方向的最大位移;求出Sx、Sy、Sz的最大值,即可确定位置变化最大的关节点及该关节点的主要运动方向。

步骤S3为本实施例检索方法的核心步骤,体现了本发明的核心思想。人体运动的一个重要时空特征就是位置变化最大的关节点及该关节点的主要运动方向,通过该语义特征可以对大多数运动类型进行区分。基于人体运动的该语义特征,本发明构建了人体运动层次模型,如图6所示,并基于此模型实现了高效的基于内容的人体动作检索。在人体运动层次模型中,第一层次以主发力部位为运动区分标准,将人体运动按照人体模型的关节点进行区分;第二层次以主发力运动关节点的主要运动方向为运动区分标准,分为在X轴产生位移的运动、在Y轴产生位移的运动、在Z轴产生位移的运动;第三层次以运动频率为运动区分标准,用户通过自定义阈值,将运动频率定义为快、中、慢等不同规格以区分定义运动。

按照定义好的层次模型,可以对所有运动进行编码。表1为实施例1的层次模型编码实例,第1层次运动编码为关节点的编号,第二层次运动编码取值为{0,1,2},分别表示主要运动方向为X轴、Y轴和Z轴的运动数据,第三层次运动编码取值为{0,1,2},分别表示运动频率为快、中、慢的运动数据。

表1人体动作层次模型编码

基于本发明的思想,层次模型的定义可以有很多变化。例如,可以对关节点进行组合,分为上肢主发力运动、下肢主发力运动、躯干主发力运动、综合发力运动。这样就可以将主发力部位确定为4种情况。对层次模型进行编码,可以按照表1所示,用具体的十进制数表示每一个分类,例如将编号为12的关节点表示成12,也可以使用二进制,用两个二进制位表示运动方向对应的三个坐标轴,如果主发力部位确定为4种情况,就可以用两个二进制位表示。

在步骤S4中,将文件运动数据及其层次模型编码存入运动数据库。

在步骤S5中,根据数据库中每个文件对应的层次模型编码为所有文件建立索引树,索引树的非叶子结点包含对应层次的编码,叶子结点包含了一个索引结构inode,记录如下索引信息:{层次模型编码,所在文件名,前一个inode的指针,下一个inode的指针};

在运动数据库的常规检索中,如果需要进行基于内容的检索,通常需要提取几何特征,并计算欧式距离,在索引的构建以及每一次检索的过程中,需要涉及到复杂的几何计算,从而耗费大量的时间。根据本发明,使用基于层次模型的编码保留运动数据的主要几何特征,把对复杂运动数据的检索转化为对简单数字编码的检索,可以极大的提高数据库的检索效率,非常适用于对运动数据进行分类等粗粒度的运动检索应用场景,也适用于文件级的检索。

步骤S6为使用建立好索引的数据库进行检索的步骤:检索运动数据库时,首先对查询的运动进行层次模型编码,在索引树中寻找编码相似的叶子结点,最后再根据inode的指针信息搜索到所有编码相似的运动文件,即得到一个相似运动候选文件集合。

实施例2在实施例1的基础上,进行了进一步的优化,包括:

1)计算出每一帧每个关节点在世界坐标系下的位置后,进行关键帧的判别与提取,使用关键帧数据进行后续处理。人体运动的连贯性使得在较小的单位时间内人体骨骼架构中各关节点位置变化量具有极强的相似性,这直接导致了人体动作数据信息的冗余。为了提高数据的有效利用率、降低冗余度,需要对人体动作数据进行关键帧的判别与提取。对于关键帧的提取重点在于,将不具有代表性的干扰帧以及运动中特殊情况下的无效帧过滤剔除,与此同时仍需保持与原人体运动三维数据文件中人体运动的整体一致性。

2)在进行关键帧提取后,根据每一帧每个关节点的位置判断运动周期,并选取一个运动周期内的关键帧进行后续处理。由于不同运动周期内的数据具有极强的相似性,因此选取一个运动周期数据进行计算即可,简化了处理过程。

3)对降维后的数据进行滤波处理。对在穿戴动作捕捉设备对人体运动数据进行采集的过程中,参与样本采集的不同个体之间存在着无可避免的个人运动***均值则被视为干扰信息,即把该关节点在这一数据帧下的位置信息删除,以此实现对无效数据及干扰数据的过滤。

实施例3实现了一种用于人体动作检索的存储设备,其中存储有多条指令,所述指令适于由处理器加载并执行如图1所示的方法:

从人体运动文件中提取每一帧每个关节点信息,计算该关节点在世界坐标系下的位置;

确定位置变化最大的关节点及该关节点的主要运动方向;

对该运动文件数据按照层次模型进行编码,一级码对应位置变化最大的关节点,二级码对应该关节点的主要运动方向,三级码对应运动频率;

将文件运动数据及其层次模型编码存入运动数据库;

根据数据库中每个文件对应的层次模型编码为所有文件建立索引树,索引树的非叶子结点包含对应层次的编码,叶子结点包含了一个索引结构inode,记录如下索引信息:{层次模型编码,所在文件名,前一个inode的指针,下一个inode的指针};

检索运动数据库时,首先对查询的运动进行层次模型编码,在索引树中寻找编码相似的叶子结点,最后再根据inode的指针信息搜索到所有编码相似的运动文件,即得到一个相似运动候选文件集合。

实施例3所述指令按照以下方法,确定位置变化最大的关节点及该关节点的主要运动方向:

分别设定震荡因子Sx、Sy、Sz,用以记录人体骨骼架构中每个关节点在世界坐标系下X、Y、Z方向的最大位移;求出Sx、Sy、Sz的最大值,即可确定位置变化最大的关节点及该关节点的主要运动方向。

实施例3所述指令计算出每一帧每个关节点在世界坐标系下的位置后,进行关键帧的判别与提取,使用关键帧数据确定文件的层次模型编码,并且只将关键帧运动数据及其层次模型编码存入运动数据库。

实施例3所述指令在进行关键帧提取后,根据每一帧每个关节点的位置判断运动周期,并选取一个运动周期内的关键帧确定位置变化最大的关节点及该关节点的主要运动方向。

实施例3所述指令对降维后的数据进行滤波处理,比较每一关节点每一数据帧的当前位置与该关节在整个运动中最大变化位置或最小变化位置的差,若其差值大于该关节点的动态变化平均值则被视为干扰信息,即把该关节点在这一数据帧下的位置信息删除。

虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入本发明权利要求所限定的范围之内。

14页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种视频分类的方法、视频分类模型训练的方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!