一种面向三维人体运动数据的分类方法

文档序号:6367696阅读:178来源:国知局
专利名称:一种面向三维人体运动数据的分类方法
技术领域
本发明涉及ー种面向三维人体运动数据的分类方法,属于计算机运动捕获和运动数据编辑的综合领域。
背景技术
现有技木通过ー些光学或者机械传感器来实时捕获人体的运动从而驱动动画角色。运动捕获技术的日益成熟和广泛使用产生了大量的三维运动数据,这些数据已被越来越广泛地应用在计算机动画、电影制作以及3D游戏中。在实际应用中,最大限度的重用已有三维人体运动数据能够有效提高动画制作效率并降低制作成本。三维人体运动数据的自动识别与分类是对其进行有效管理与重用的基础,也是该领域的难点问题之一。
2009 年在会议 SCA 上发表的《Efficient and robust annotation of motioncapture data))公布了一种模板匹配方法,姆个人体姿态都由ー组人体关节之间的相对位置关系特征的布尔值表示,从而将运动序列表示成一系列0,I矩阵的集合,新来的测试运动序列通过DTW等方法进行匹配识别。该方法的优势是将原始三维特征转化为语义上可以理解的人体关节之间的相对位置关系特征,降低了语义上相似的运动在数据表达上的差别所帯来的影响。但是,模板的建立需要额外地进行计算处理,同时其匹配过程对噪声也比较敏感。近年来,机器学习也被广泛地应用到运动数据分类中。如2006年在计算机期刊上及表的((Indexing of motion capture data for efficient and fast similaritysearch》公开了ー种利用SVD提取出运动特征,并通过SVM进行分类识别的方法。另外,基于降维方法的运动识别技术也被提出,如2005年在SCA上发表的《An efficient searchalgorithm for motion data using weighted pea》公布了权重 PCA 方法,2010 年在 CVPR上发表的〈〈Sufficient dimension reduction for visual sequence classification〉〉公布了 SDR方法。总体来看,他们的主g思想是将原始特征空间投影到特定的子空间中,进而对于子空间中的低维特征使用传统方法(如SVM,KN N等)进行分类。但是这些方法需要对所有数据进行训练,计算量大,同时正确率还需要提高。

发明内容
本发明的目的是为了克服目前运动数据编辑中对于三维人体运动片段管理和重用的复杂性和主观性,提供ー种面向三维人体运动数据的分类方法。面向三维人体运动数据的分类方法包括如下步骤I)利用三维人体的运动数据特征,基于稀疏表达的方法,设计计算三维人体运动片段中各帧的稀疏表达系数Xtl ;2)基于步骤I)的稀疏表达系数,对各帧的稀疏表达系数进行重建,分析残差进行分类识别。所述的利用三维人体的运动数据特征,基于稀疏表达的方法,设计计算三维人体运动片段中各帧的稀疏表达系数的步骤(a)输入标准格式的运动捕获数据,所有姿态的根节点被平移并旋转至坐标原点,同时让左肩与右肩的关节连线平行于Y轴,并将所有姿态的朝向转到Z轴正方向,得到训练数据集和测试数据集;(b)输入测试集中任意未知类别的运动片段Y,运动片段Y由一系列时序相关的姿态中贞来表示,即Y = Ly1, y2,,. . . , ym];其中任意一个姿态y,均基于训练运动数据集定义的ー个过完备字典矩阵A对 姿态y进行线性表示,A包含k个类别的n'个姿态,过完备字典矩阵A是训练数据集的ー个子集,即 ^ — [A1^A2,..., Ak]-[人いf'人,ff]I其中,过完备字典矩阵A的选择采取均匀采样的方法,減少计算量的同时保证过完备字典矩阵A具有有效的数据代表性;姿态y由过完备字典矩阵A中的少量数据线性组合得到y = Ax02其中,ち _ [气1,'a^rll, 气 I, 气メ.,-ak,\,'ak,rit ];考虑到在实际的三维人体运动分类识别中的噪声,测试数据不可能准确得由过完备字典矩阵A稀疏地表达,所以Xtl最終通过优化求解以下形式求出x0 = argmin Ilxll1s. t. | Ax-y I2^ e3对于运动片段Y,通过遍历求解每ー帧的稀疏表达系数,获得人体运动序列Y =[yi,y2,,...,ym]所对应的稀疏表达系数集合X = [X1, x,..., xm]。所述的基于步骤I)的稀疏表达系数计算方法,对各帧的稀疏表达系数进行重建,分析残差进行分类识别的步骤如下(c)获得人体运动序列Y = [y1;y2,,. . . , ym]所对应的稀疏表达系数集合X = [X1,X, . . . , xj后,对于k个类别中的每ー类,都相应设计了ー个函数用于从稀疏表达系数中取出对应的系数,而将其他k-1个类别对应的系数标为0,如此,重建出测试姿态y,记为V: = A6:axi,接下来,遍历每ー类别,计算y与yi的残差,通过求残差的最小值来获得待测
试姿态y的类别标签
label(y) = argmin \ \y-A5k(^\\24其中5 k就是定义的选择函数,用来选择跟第k个类别相关的系数;获得运动序列Y = [Yl,J2,,.. .,yj中每个姿态的类别后,通过统计计算所有的类别标签来最终获得该运动序列Y的类别。本发明利用计算机运动数据编辑和稀疏表达的知识,实现了对于三维人体运动数据自动智能分类识别。利用稀疏表达的思路对运动数据进行分类,最終結果可以达到较高的分类正确率。


图I是面向三维人体运动数据的分类方法的流程图。
具体实施例方式面向三维人体运动数据的分类方法包括如下步骤I)利用三维人体的运动数据特征,基于稀疏表达的方法,设计计算三维人体运动片段中各帧的稀疏表达系数Xtl ;2)基于步骤I)的稀疏表达系数,对各帧的稀疏表达系数进行重建,分析残差进行分类识别。所述的利用三维人体的运动数据特征,基于稀疏表达的方法,设计计算三维人体运动片段中各帧的稀疏表达系数的步骤(a)输入标准格式的运动捕获数据,所有姿态的根节点被平移并旋转至坐标原点,同时让左肩与右肩的关节连线平行于Y轴,并将所有姿态的朝向转到Z轴正方向,得到训练 数据集和测试数据集;(b)输入测试集中任意未知类别的运动片段Y,运动片段Y由一系列时序相关的姿态中贞来表示,即Y = Ly1, y2,,. . . , ym];其中任意一个姿态y,均基于训练运动数据集定义的ー个过完备字典矩阵A对姿态y进行线性表示,A包含k个类别的n'个姿态,过完备字典矩阵A是训练数据集的ー个子集,即^ — [A1^A2,..., Ak]-[人いf'人,ff]I其中,过完备字典矩阵A的选择采取均匀采样的方法,減少计算量的同时保证过完备字典矩阵A具有有效的数据代表性;姿态y由过完备字典矩阵A中的少量数据线性组合得到y = Ax02其中,ズ。_ [气1,パ,……气い…气4];考虑到在实际的三维人体运动分类识别中的噪声,测试数据不可能准确得由过完备字典矩阵A稀疏地表达,所以Xtl最終通过优化求解以下形式求出x0 = argmin Ilxll1s. t. | Ax-y I2^ e3对于运动片段Y,通过遍历求解每ー帧的稀疏表达系数,获得人体运动序列Y =[yi,y2,,...,ym]所对应的稀疏表达系数集合X = [X1, x,..., xm]。所述的基于步骤I)的稀疏表达系数计算方法,对各帧的稀疏表达系数进行重建,分析残差进行分类识别的步骤如下(c)获得人体运动序列Y= Ly17Y2,,. .. ,ym]所对应的稀疏表达系数集合X= [X1,X, . . . , Xffl]后,对于k个类别中的每ー类,都相应设计了ー个函数Si,用于从稀疏表达系数中取出对应的系数,而将其他k-1个类别对应的系数标为0,如此,重建出测试姿态y,记为y' = 接下来,遍历每ー类别,计算y与yi的残差,通过求残差的最小值来获得待测
试姿态y的类别标签
label(y) = argmin \ \y-A5k(^\\24其中5 k就是定义的选择函数,用来选择跟第k个类别相关的系数;获得运动序列Y = [Yl,J2,,.. .,yj中每个姿态的类别后,通过统计计算所有的类别标签来最终获得该运动序列Y的类别。实施例(I)输入标准格式的运动捕获数据,在本实施例中输入近红外光学捕获系统所获得的人体运动标准.bvh格式的文件,所有姿态的hip (root)节点被平移并旋转至坐标原点,同时让左肩与右肩的关节连线平行于Y轴,并将所有姿态的朝向转到Z轴正方向;训练数据集和测试数据集均通过该运算过程来获得。输入测试集中任意未知类别的运动片段Y,其由一系列时序相关的姿态巾贞来表不,即Y = [Yl, y2,,...,yj ;其中任意一个姿态y,均可以基于训练运动数据集定义的ー个过完备字典矩阵A对其进行线性表示,A包含k个类别的n'个姿态,该集合是训练运动数据集的ー个子集,即^ — [A1^A2,..., Ak]-[人いf'人,ff]I其中,过完备字典的选择采取均匀采样的方法,减少计算量的同时保证该字典具有有效的数据代表性。姿态y可以由矩阵A中的少量数据线性组合得到y = Ax02其中,ち_ [气1,..巧パ,..-ai,\,,-ak,\,'ak,rit ]。
X0是个稀疏向量(称之为稀疏表达系数),为了求出Xci,需要解决Lci范式最小化问题。考虑到在实际的三维人体运动分类识别中的噪声,测试数据不可能准确得由训练基稀疏地表达,所以最終通过优化求解以下形式求出J^argminllxll1 s. t. | I Ax-y | |2 ^ e3对于运动片段Y,通过遍历求解每ー帧的稀疏表达系数,获得人体运动序列Y =[yi,y2,,...,ym]所对应的稀疏表达系数集合X = [X1, x,..., xm]。(2)所述的基于步骤I)的稀疏表达系数计算方法,对各帧的稀疏表达系数进行重建,分析残差进行分类识别的步骤如下获得人体运动序列Y = [y1; y2,, . . . , ym]所对应的稀疏表达系数集合X = [X1,X, . . . , xj后,对于k个类别中的每ー类,都相应设计了ー个函数用于从稀疏表达系数中取出该类别所对应的系数,而将其他类别对应的系数标为O。如此,可以重建出测试姿态y,记为ぐ=Aそ+: : .:。接下来,遍历每ー类别,都可以计算y与yi的残差,通过求残差的最小
值来获得待测试姿态I的类别标签
label(y) = argmin \ \y-A5k(^\\24其中5 k就是定义的选择函数,用来选择跟第k个类别相关的系数。获得运动序列Y = [Yl,J2,,. . .,yj中每个姿态的类别后,通过统计计算所有的类别标签来获得该运动序列Y的类别。比较结果见表I。表I本方法与其它五种传统分类算法的比较结果
权利要求
1.ー种面向三维人体运动数据的分类方法,其特征在于包括如下步骤 1)利用三维人体的运动数据特征,基于稀疏表达的方法,设计计算三维人体运动片段中各巾贞的稀疏表达系数X。; 2)基于步骤I)的稀疏表达系数,对各帧的稀疏表达系数进行重建,分析残差进行分类识别。
2.根据权利要求I所述的ー种面向三维人体运动数据的分类方法,其特征在于所述的利用三维人体的运动数据特征,基于稀疏表达的方法,设计计算三维人体运动片段中各帧的稀疏表达系数的步骤 (a)输入标准格式的运动捕获数据,所有姿态的根节点被平移并旋转至坐标原点,同时让左肩与右肩的关节连线平行于Y轴,并将所有姿态的朝向转到Z轴正方向,得到训练数据集和测试数据集; (b)输入测试集中任意未知类别的运动片段Y,运动片段Y由一系列时序相关的姿态帧来表示,即Y = Ly1, y2,,. . . , ym];其中任意一个姿态y,均基于训练运动数据集定义的ー个过完备字典矩阵A对姿态y进行线性表示,A包含k个类别的n'个姿态,过完备字典矩阵A是训练数据集的ー个子集,SP 其中,过完备字典矩阵A的选择采取均匀采样的方法,減少计算量的同时保证过完备字典矩阵A具有有效的数据代表性; 姿态I由过完备字典矩阵A中的少量数据线性组合得到 考虑到在实际的三维人体运动分类识别中的噪声,测试数据不可能准确得由过完备字典矩阵A稀疏地表达,所以Xtl最終通过优化求解以下形式求出 X0 = argmin | | x | I1 s. t. | |Ax-y | I2^e3 对于运动片段Y,通过遍历求解每ー帧的稀疏表达系数,获得人体运动序列Y = [yi,Y2,, ... , ym]所对应的稀疏表达系数集合X = [X1, X, , xm]。
3.根据权利要求I所述的ー种面向三维人体运动数据的分类方法,其特征在于所述的基于步骤I)的稀疏表达系数计算方法,对各帧的稀疏表达系数进行重建,分析残差进行分类识别的步骤如下 (C)获得人体运动序列Y = [y1; y2,, . . . , ym]所对应的稀疏表达系数集合X = [X1,X, . . . , xj后,对于k个类别中的每ー类,都相应设计了ー个函数用于从稀疏表达系数中取出对应的系数,而将其他k-1个类别对应的系数标为O,如此,重建出测试姿态y,记为V = AokIX),接下来,遍历每ー类别,计算y与yi的残差,通过求残差的最小值来获得待测试姿态I的类别标签label(y) = argmin \ \y-A5k(^\\24 其中S k就是定义的选择函数,用来选择跟第k个类别相关的系数; 获得运动序列Y = [Yl, y2,,... ,yj中每个姿态的类别后,通过统计计算所有的类别标签来最终获得该运动序列Y的类别。
全文摘要
本发明公开了一种面向三维人体运动数据的分类方法。包括如下步骤1)利用三维人体的运动数据特征,基于稀疏表达的方法,设计计算三维人体运动片段中各帧的稀疏表达系数;2)基于步骤1)的稀疏表达系数,对各帧的稀疏表达系数进行重建,分析残差进行分类识别。本发明利用计算机运动数据编辑和稀疏表达的知识,实现了对于三维人体运动数据自动智能分类识别。利用稀疏表达的思路对运动数据进行分类,最终结果可以达到较高的分类正确率。
文档编号G06K9/62GK102651072SQ201210100080
公开日2012年8月29日 申请日期2012年4月6日 优先权日2012年4月6日
发明者庄越挺, 肖俊, 胡文渊 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1