一种基于运动字串的运动标注方法

文档序号:9506861阅读:533来源:国知局
一种基于运动字串的运动标注方法
【技术领域】
[0001] 本发明涉及三维人体运动数据标注与识别技术,聚类算法,字符串匹配算法,以及 滑动时间窗口策略。
【背景技术】
[0002] 随着运动捕获设备普及度的增加,由真实人体运动数据驱动虚拟角色生成动画已 成为动画制作领域的标准过程。因此,近年来有许多研究工作在相关领域展开,这使得动画 师们可以定制他们想要的动作,并且方便地对其进行编辑使其适用于新的虚拟环境。要想 从大量运动数据库中找到一段"完美"的候选运动,对数据库进行完整准确的标注就显得十 分重要。然而目前的现状是,尽管各种运动数据集越来越庞大,但仍然缺乏一个有效的、不 需要人工介入的自动标注方法。
[0003] 现如今,便捷廉价的运动捕获系统(诸如XSens和Kinect)已越发普及,这使得运 动数据在游戏和家庭交互娱乐系统中被广泛应用。这类系统往往需要通过理解人体的动作 来实时对用户进行反馈,这又对现有的运动识别算法带来了新的挑战:如何对一段新的运 动进行准确、自动并且实时的识别。
[0004] 运动标注与识别的难点在于运动序列的匹配,目前常见的运动序列匹配算法为动 态时间规整(DTW)算法。该算法在两段运动构成的距离矩阵中寻找累计距离和最短的路径 作为匹配结果,可以有效匹配两段同类但速度不相同的运动序列。DTW算法直接对两个运动 数据矩阵进行计算,复杂度相对较高,无法达到实时标注的需求。
[0005] 本发明先将运动序列转化为运动字串,对字串进行匹配可大幅降低计算复杂度。 此外,还采用层级聚类模型对数据库检索匹配进行了优化,最终可以达到实时标注的要求。

【发明内容】

[0006] 本发明的目的是为了解决实时运动捕获设备(如Kinect等)的在线标注问题,提 供一种基于运动字串的运动标注方法。
[0007] 本发明的技术方案如下:
[0008] -种基于运动字串的运动标注方法包括如下步骤:
[0009] 1)对任意给定的三维人体运动数据集进行类别标注与训练样本集划分,对数据 集中的全部运动序列中的每个姿态进行旋转、平移对齐处理,使其中心点固定为坐标原点, 身体平面前方朝向统一;
[0010] 2)对数据集中全部运动序列包含的所有帧采用k-means算法进行聚类,共K个聚 类类别,聚类中心为Ck,k = 1,2, ...,K,以每帧对应的聚类索引编号V e V = {1,2, ... K} 作为该帧的标识字符,对于给定运动序列s = {f\,f2, . . .,fj,其中A为运动中的某一帧, η为运动序列总帧数,则该运动序列可由每帧对应的标识字符表示,称为运动字串:
[0011] A = Ia1, a2, . . . , aj , V (I)
[0012] 3)对给定的两段运动序列,假设其对应的运动字串分别为A和B,对应长度分别为 ^和η B,则其相似度匹配结果可按如下方法计算:首先,按照字典V对应的聚类索引顺序, 计算生成一个大小为KXK的对称的权重矩阵W,其中每个元素 Wlj= I IC1-CjI I2;随后,若nA > nB则交换A和B ;接着,建立大小为(η A+l) X (nB+l)的动态规划矩阵D,其初值为:
[0014] 最后,按照以下公式对D中其他元素进行计算:
[0016] 矩阵D右下角元素即为两段运动的相似度。
[0017] 4)对数据库中所有运动字串用自底向上的层级聚类方法进行聚类,采用迭代的方 法,每次将最接近的两个聚类合并为一类,直到所有聚类中心之间的两两距离均大于阈值 σ,具体的聚类算法描述如下:
[0018] 4. 1初始化:对于运动数据库中的每段运动序列,其对应的运动字串为Ai, i = 1, 2, ...,N,每个字串构成单独的一类\$,其聚类中心^即为A1本身;
[0019] 4. 2 计算距离矩阵 M,其中 Mi, j= stringMatch (A i,Aj),这里的 stringMatch 方法 即步骤2)中的相似度计算方法;
[0020] 4. 3找到M中距尚最小的两段运动字串為5?和馬
[0021] 4. 4如果Mkl, k2> 〇,则返回现有全部类及其聚类中心,算法终止;否则,合并这两 个字串所对应的两类\和,生成新类别L';
[0022] 4. 5 计算新类 L'的中心点:对所有 AiG L',计算 D ;= max(stringMatcg(A ;, Aj)),e ,计算 i ' = argminA,则中心 Ti = A ;,;
[0023] 4. 6依照步骤4. 2更新距离矩阵M,同类字串的距离设为+ m ;
[0024] 4. 7重复步骤4. 3至4. 6,直到结束;
[0025] 4. 8去掉只有一段运动字串的聚类,以消除部分误差;
[0026] 5)对于输入的运动序列,与步骤4)得到的所有聚类中心字串I进行比较,按相 似度由小到大排序,利用加权投票的方法,以得票最多的类别作为输入运动序列的类别标 注;
[0027] 6)利用滑动时间窗口策略,对在线输入的运动序列,以2秒为时间窗长度,0. 5秒 为时间窗间隔,即每〇. 5秒将前2秒内的运动序列按步骤1)至步骤5)所述方法获取类别 标注,作为实时标注的结果。
[0028] 本发明所提出的方法与传统运动标注方法相比,具有以下优势:
[0029] 1.采用了运动字串的方法代替传统用于运动序列匹配的DTW算法,使准确度有所 提升;并且对于一段完整运动序列与一段由滑动时间窗口得到的较短同类运动子序列可以 完美匹配,这是其他方法所无法实现的。
[0030] 2.采用了自底向上的层级聚类模型对数据库进行聚类建模,使每个输入运动需要 匹配的运动序列数量大幅减少,在计算效率上可以达到实时的要求。
【附图说明】
[0031] 图1是字串匹配方法示例图,其中(a)是给定的权重矩阵,(b)是计算的动态规划 矩阵。
【具体实施方式】
[0032] 下面结合附图对本发明进行进一步的说明.
[0033] 一种基于运动字串的运动标注方法包括如下步骤:
[0034] 1)对任意给定的三维人体运动数据集进行类别标注与训练样本集划分,对数据 集中的全部运动序列中的每个姿态进行旋转、平移对齐处理,使其中心点固定为坐标原点, 身体平面前方朝向统一;
[0035] 2)对数据集中全部运动序列包含的所有帧采用k-means算法进行聚类,共K个聚 类类别,聚类中心为C k,k = 1,2, ...,K,以每帧对应的聚类索引编号V e V = {1,2,..., K}作为该帧的标识字符,对于给定运动序列s = {f\,f2, . . .,fj,其中匕为运动中的某一 帧,η为运动序列总帧数,则该运动序列可由
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1