基于关键帧的三维人体运动数据检索方法

文档序号:6460361阅读:454来源:国知局
专利名称:基于关键帧的三维人体运动数据检索方法
技术领域
本发明涉及计算机三维动画技术及多媒体数据处理领域,尤其涉及一种基 于关键帧的三维人体运动数据检索方法。
技术背景近年来随着运动捕获设备的广泛使用,生成大量具有真实感的三维人体运 动数据,这些数据被广泛应用于计算机游戏、动画生成及医学仿真等多个领域 并已经出现了大型三维人体运动数据库,因此为了便于动画师能够快速获取所 需的三维人体运动数据片断,对运动数据库进行基于样例的检索是非常有用的。在ACM图形学汇刊2005年第三期中(2005, 24(3): 677-685)公布的方法采 用一组量化特征用于描述人体关节点之间的几何关系,并以此特征为基础对三 维人体运动数据流进行时间轴上的切分。通过引入时空无关的特征表示方法及 自适应的运动序列切分技术,实现了大规模运动数据库中灵活高效的基于内容 的运动片断索引与检索技术。该方法定义的特征能够对人体姿态的几何特点进 行明确的描述,但是所需要的特征数量太大,并且根据这些特征所生成的索引 结构需要随着数据库的变化而更新。在其月干U《Visual Communication and Image Representation》2004年第三期中 (2004,15(3): 446-466)公布了一种方法,采用仿射变量姿态特征(affine variant posture feature)并且基于自组织图(Self-Organizing Map, SOM)聚类算法为运 动数据片断建立索引。在进行相似度匹配时,提交样例的首尾帧用于从索引图 中选择候选运动片断,进而采用动态时间变形算法对相似度进行计算。该方法 基于聚类算法构建索引,在检索时提高了效率,但是对于增量式的运动数据库, 索引更新比较频繁且耗时。在ACM计算机动画论坛2004年论文集中(Proceedings of ACM SIGGRAPH/Eurographics Symposium on Computer Animation 2004, pp.259-266) 公布了一种采用基于图像的用户界面进行运动数据检索,把具有代表性的运动 帧生成縮略图映射到自组织图上并以此为线索进行相似姿态的运动数据检索。 通过这种方式,用户可以通过在自组织图上选择运动片断的首尾帧从而获得想 要的运动数据片断。该方法的主要贡献在于提供了一种友好的基于图像的用户 操作界面用户运动数据检索,但是对于用户而言需要花一定的时间来选择合适 的姿态缩略图作为检索样例,因此在操作上需要较多的时间。从目前公布的用于运动数据检索的方法来看,可以分为以下几类1) 直接计算两个运动数据片断之间的欧拉距离在这类方法中,DTW算 法用于将不同运动数据片断的时间轴进行对齐。但是DTW算法较为耗时,而且 根据一些学者的观点,DTW仅能解决数据的局部缩放对齐问题;2) 基于聚类的方法这类方法将数据库中的所有运动数据帧聚类成若干子 集,然后用这些子集对其中的运动序列进行索引,但是在这类方法中,聚类子 集或者是索引需要随着数据库中数据的变化而得到更新,这是一个耗时的过程;3) 基于特征的方法这类方法定义几何特征用于对人体关节点的相对位置 关系进行描述,特征能够对人体姿态的几何特点进行明确的描述,但是所需要 的特征数量太大,并且根据这些特征所生成的索引结构需要随着数据库的变化 而更新。本发明为克服上述现有方法的不足,提供了一种高效、准确的三维人体运 动数据检索方法。基于关键帧的三维人体运动数据检索方法包括以下步骤(1 )基于检索样例与待检索三维人体运动数据关键帧序列建立距离矩阵;(2)在距离矩阵中检测局部极小值并标记为待搜索区域;(3 )在距离矩阵待检索区域中采用优化方法搜索一条对应路径计算两段运动 数据之间的相似度。所述的基于检索样例与待检索三维人体运动数据关键帧序列建立距离矩 阵给定两个关键帧集合,采用如下计算帧间距离并构建帧间距离矩阵MM:<formula>formula see original document page 4</formula>其中dif表示第一个关键帧集合中的第i帧与第二个关键帧集合中的第j帧的 帧间距离,帧间距离采用如下公式计算<formula>formula see original document page 4</formula>其中F,Q是两段待匹配的运动片断,f1和q1分别是帧F和Q中第i个关节点的位置向量,附是人体骨架模型上的关节数,m,是对应于关节点i的蒙板值,这发明内容是一个布尔变量,如果w的值为0,则相应的关节点i就不参与姿态的相似度计算。所述的检测关键帧距离矩阵中的局部极小值构成待搜索区域在构建好的 距离矩阵中,当一个元素在垂直或者水平方向上是局部最小值且小于某个阈值s 时,就被标注为局部相似关键帧对,局部相似帧对构成了距离矩阵中的待搜索 区域,其中f定义如下M4Z(《)-M/7V(《) 2其中M4X(《)和M/W(《)分别是该距离矩阵所有元素中的最大、最小值。所述的在距离矩阵待检索区域中采用优化方法搜索一条对应路径计算两段运动数据之间的相似度基于距离矩阵及检测到的局部相似帧对,就可以确定关键帧集合之间的时间对应关系,直观上来看就是在矩阵的待搜索区域内寻找一条从左上角到右下角的路径,使得路径上的每个点都是事先检测到的局部相似帧对,且要使这条路径上所有点的和最小。本发明不需要依赖于对数据库中的已有运动数据预先计算索引结构,同时也不需要用户手工指定任何参数,这对于大型三维人体运动数据库或者是增量式运动数据库非常适用。


图1是基于关键帧距离矩阵的运动序列相似度匹配示意图; 图2是对"走路"运动序列进行检索的结果图; 图3是对"跳跃"运动序列进行检索的结果图。
具体实施方式
基于关键帧的三维人体运动数据检索方法包括以下步骤 (1 )基于检索样例与待检索三维人体运动数据关键帧序列建立距离矩阵;(2) 在距离矩阵中检测局部极小值并标记为待搜索区域;(3) 在距离矩阵待检索区域中采用优化方法搜索一条对应路径计算两段运 动数据之间的相似度。所述的基于检索样例与待检索三维人体运动数据关键帧序列建立距离矩 阵给定两个关键帧集合,采用如下计算帧间距离并构建帧间距离矩阵M:<formula>formula see original document page 6</formula>其中《表示第一个关键帧集合中的第i帧与第二个关键帧集合中的第j帧的帧间距离,帧间距离采用如下公式计算乖,<formula>formula see original document page 6</formula>
其中f, Q是两段待匹配的运动片断,y;和仏分别是帧f和g中第i个关节点 的位置向量,m是人体骨架模型上的关节数,附,.是对应于关节点i的蒙板值,这是一个布尔变量,如果附,的值为0,则相应的关节点i就不参与姿态的相似度计算。
所述的检测关键帧距离矩阵中的局部极小值构成待搜索区域在构建好的 距离矩阵中,当一个元素在垂直或者水平方向上是局部最小值且小于某个阈值s 时,就被标注为局部相似关键帧对,局部相似帧对构成了距离矩阵中的待搜索 区域,其中s定义如下2其中M4Z^)和ikfflV(^)分别是该距离矩阵所有元素中的最大、最小值。所述的在距离矩阵待检索区域中采用优化方法搜索一条对应路径计算两段 运动数据之间的相似度基于距离矩阵及检测到的局部相似帧对,就可以确定 关键帧集合之间的时间对应关系,直观上来看就是在矩阵的待搜索区域内寻找 一条从左上角到右下角的路径,使得路径上的每个点都是事先检测到的局部相 似帧对,且要使这条路径上所有点的和最小。 详细讲解实施方法如下 第一步构建距离矩阵采用关键帧提取算法为用户提交的"走路"运动样例提取关键帧序列,得 到9个关键帧,对应于图1中横轴所示的Motion 1 。对于数据库中待检索的某段运动数据,提取关键帧序列,得到8个关键帧, 对应于图1中纵轴所示的Motion 2。分别计算两段运动数据两两关键帧之间的距离并构建距离矩阵M,见图1中颜色深浅不一的小方格所构成的矩阵,颜色越深表示对应两帧之间的相似度 越高。距离矩阵M的计算方法如下
<formula>formula see original document page 7</formula>其中《表示第一个关键帧集合中的第i帧与第二个关键帧集合中的第j帧的
帧间距离,帧间距离采用如下公式计算
其中F, G是两段待匹配的运动片断,X和仏分别是帧F和e中第i个关节点 的位置向量,m是人体骨架模型上的关节数,w,是对应于关节点i的蒙板值,这 是一个布尔变量,如果附,的值为0,则相应的关节点i就不参与姿态的相似度计 算。
第二步确定相似帧匹配路径搜索区域
当一个元素在垂直或者水平方向上是局部最小值且小于某个阈值e时,就被 标注为局部相似关键帧对,局部相似帧对构成了距离矩阵中的待搜索区域,其 中s定义如下<formula>formula see original document page 7</formula>其中M4X(《)和M/iV(《)分别是该距离矩阵所有元素中的最大、最小值。对 于图1中所示的距离矩阵,得到的搜索区域标记为浅黄色。 第三步相似帧匹配对应路径搜索
基于距离矩阵及检测到的局部相似帧对实际上就是确定关键帧集合之间的 时间对应关系,直观上来看就是在矩阵的待搜索区域内寻找一条从左上角到右 下角的路径,使得路径上的每个点都是事先检测到的局部相似帧对,且要使这 条路径上所有点的和最小。对于图1中检测得到的搜索区域,可以搜索得到一 条从左上角到右下角贯穿整个矩阵的对应路径,如图1中的实现所示。如果存在这样一条对应路径,说明两段运动数据具有一定相似性,则以对 应路径上的所有元素的平均值作为其相似度并返回给用户。如果对应路径不存 在,则说明两段运动序列不相似。
对于一个完整的人体运动数据库,如下伪代码可以清楚的描述整个运动检 索过程
/"戸f:^e叮excj附p,e 〃2 ;f带户教薪游检素存辨
fe;/ra附e wto 々o附附oft'o" isfato6aye 〃夕;^^^^;^,^^f^"C^"^^^(^";^^S^箱欲关楚
〃斷之扁袭薪桌合
W =五血"K柳人 〃厕户薪乂微辦伊/微关楚辦,W /k = 7;
/w eac/; W ^KSe柳/" S 〃对炎薪库炉每一虔运动嚴薪游关楚,桌^遂/f欢7"
〃漠伊
Z>M = Z)&Mz《/tf; X&仰) 〃在澄,摔翔关楚M^^与^豫辨检i运动教蕃游关楚
〃嫌,之/柳激镇资庳 iMC =丄oca〖A^5Cd/(DA^; 〃检M^都裙叙斷对
4
KaZ/必eg/o"=五欲w/ra(ZMC」 〃"y^教樹叙斷对力摔f适^^展錄麥J^誕
A //! = PaA月"^OM &/''"及6*0"人 〃潘J^^ 錄径
zyy/^/^"wM7丄w 〃欢菜潜径存-,遂/f欢尸袭/^
Ca"^toe^)./w,/o" 〃游^,运动教薪j7Ajy命^^/表^
CW/血靖.由",=Ccj/S/ot'7—〃 #裙欲度
h+; 〃 一个运动教餅銜
河Ca"淑她人 〃微#兹菜遂疗银賴遂激帝户 。
权利要求
1.一种基于关键帧的三维人体运动数据检索方法,其特征在于包括以下步骤(1)基于检索样例与待检索三维人体运动数据关键帧序列建立距离矩阵;(2)在距离矩阵中检测局部极小值并标记为待搜索区域;(3)在距离矩阵待检索区域中采用优化方法搜索一条对应路径计算两段运动数据之间的相似度。
2.根据权利要求1所述的一种基于关键帧的三维人体运动数据检索方法,其 特征在于所述的基于检索样例与待检索三维人体运动数据关键帧序列建立距离 矩阵给定两个关键帧集合,采用如下计算帧间距离并构建帧间距离矩阵M:其中《表示第一个关键帧集合中的第i帧与第二个关键帧集合中的第j帧的帧间 距离,帧间距离采用如下公式计算其中f, e是两段待匹配的运动片断,y;和《分别是帧f和e中第i个关节点的位置向量,m是人体骨架模型上的关节数,m,是对应于关节点i的蒙板值,这是一 个布尔变量,如果"的值为0,则相应的关节点i就不参与姿态的相似度计算。
3.根据权利要求1所述的一种基于关键帧的三维人体运动数据检索方法, 其特征在于所述的检测关键帧距离矩阵中的局部极小值构成待搜索区域在构 建好的距离矩阵中,当一个元素在垂直或者水平方向上是局部最小值且小于某 个阈值e时,就被标注为局部相似关键帧对,局部相似帧对构成了距离矩阵中的 待搜索区域,其中f定义如下其中m4x(《)和mw(《.)分别是该距离矩阵所有元素中的最大、最小值。
4.根据权利要求1所述的一种基于关键帧的三维人体运动数据检索方法, 其特征在于所述的在距离矩阵待检索区域中采用优化方法搜索一条对应路径计 算两段运动数据之间的相似度基于距离矩阵及检测到的局部相似帧对,就可 以确定关键帧集合之间的时间对应关系,直观上来看就是在矩阵的待搜索区域 内寻找一条从左上角到右下角的路径,使得路径上的每个点都是事先检测到的 局部相似帧对,且要使这条路径上所有点的和最小。
全文摘要
本发明公开了一种基于关键帧的三维人体运动数据检索方法。包括以下步骤(1)基于检索样例与待检索三维人体运动数据关键帧序列建立距离矩阵;(2)在距离矩阵中检测局部极小值并标记为待搜索区域;(3)在距离矩阵待检索区域中采用优化方法搜索一条对应路径计算两段运动数据之间的相似度。本发明不需要依赖于对数据库中的已有运动数据预先计算索引结构,同时也不需要用户手工指定任何参数,这对于大型三维人体运动数据库或者是增量式运动数据库非常适用。
文档编号G06F17/30GK101276370SQ200810059128
公开日2008年10月1日 申请日期2008年1月14日 优先权日2008年1月14日
发明者飞 吴, 庄越挺, 俊 肖 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1