一种基于三维数据库的运动对象运动重构方法

文档序号:6539424阅读:201来源:国知局
专利名称:一种基于三维数据库的运动对象运动重构方法
技术领域
本发明涉及一种运动对象运动重构方法,特别是涉及一种基于三维数据库的运动对象运动重构方法。
背景技术
三维运动分析是计算机领域的一个热点问题,其中又以人体三维运动分析的研究最为广泛。人体三维运动分析有着广泛的应用范围,例如在竞技体育科学训练(尤其是技巧性体育项目)中就具有重要作用。三维运动分析的关键和基础是三维运动信息的获取。目前广泛采用运动捕获设备获取三维运动信息,该设备能获取较精确的三维运动数据,但价格昂贵,不仅在数据采集时有诸多限制(在运动对象身上贴有由特殊材料制成的Marker,会严重影响运动对象的运动),而且该类设备对采集环境异常敏感,受噪声的影响很大。而基于视频的三维运动分析技术可以克服上述缺点,是未来的发展方向。所以,基于视频的运动分析近年来一直是计算机视觉领域的一个热点问题,它在人机交互、智能人机接口、模式识别、虚拟现实等领域有着重要的应用价值。
由于现有的基于视频的运动分析大多是人体运动分析,因此下面以运动对象是人体为例,对三维运动分析与重构进行解释说明。
在传统的基于视频的人体运动重构方法中,大多是采用在人体身上贴反光材料的方法,或者在视频图像上手动标定人体关节点的位置信息,由于运动跟踪过程中人体肢体自遮挡和互遮挡的影响,采用这种方法提取精确的人体运动三维信息相当困难,对于蹦床、跳水等复杂体育运动视频的处理更是难以完成。例如参考文献1中国专利名称为“基于视频的人体动画系统”(申请号00134797.7)的申请要求人身上穿着带有颜色标记的衣服,来标记对应的关节点位置;而且,只能处理人的行走,立定跳等简单动作视频。这一切极大地限制了基于视频的人体运动重构技术在体育运动训练和分析领域的应用。另一方面,使用运动捕获设备采集的运动数据只适用于特定对象,而不能利用特定对象的数据去重构其他类似的动作,如果能够使用已知数据去重构别的类似动作,无疑可以极大地提高运动捕获数据的利用率和使用范围。此外,现有的运动对象重构方法只能适用于单目视频和多目视频之一,不能同时适用于两种情况。

发明内容
本发明的目的是提供一种基于三维运动数据库的运动对象的运动重构方法,实现对视频中的二维运动对象的运动重构,得到一个三维的运动对象。
本发明的又一目的是提供一种基于三维运动数据库的运动对象的运动重构方法,实现对单目和多目视频的双重适用性。
本发明的再一个目的是实现对运动三维信息的精确提取。
为实现上述目的,本发明提供了一种基于三维运动数据库的运动对象的运动重构方法,该方法的步骤如下1)提取运动视频中的运动对象的轮廓,得到运动对象的二维轮廓信息;2)对运动视频进行定标操作,得到投影矩阵;3)利用投影矩阵和虚拟对象模型从三维运动数据库中建立二维运动对象轮廓库;4)求取参考运动数据;5)以视频数据为约束条件,对参考运动数据进行变形,得到与视频序列对应的重构的三维动作序列;6)对重构所得的各帧的三维数据进行平滑连接,得到连续的三维动作。
上述技术方案中,步骤1)中所述的运动视频中运动对象轮廓的提取是通过以下操作步骤实现的对运动视频中的各帧做全局运动估计;构造运动图像的背景;消除当前帧的背景;记录运动历史信息,分割运动对象区域;提取运动对象轮廓。
所述的记录运动历史信息是这样实现的计算当前帧与上一帧的二值化模板;求上一帧的前景二值化模板;求当前帧与上一帧的二值化模板和上一帧的前景二值化模板的交集,得到暂时静止的运动对象区域;将暂时静止的运动对象区域与背景消除得到的前景区域合并得到完整的运动对象区域。
所述的提取运动对象轮廓是采用Snake方法实现的。
上述技术方案中,步骤4)中参考运动数据的求取通过以下操作步骤实现在二维运动对象轮廓库中,根据轮廓形状相似性将形状相似的二维运动对象轮廓聚类;根据视频中得到的运动对象二维轮廓信息与二维运动对象轮廓类的类中心进行比较,找到最为相似的类;在最为相似的类中搜索,形状相似性最高的二维运动对象轮廓所对应的三维运动数据就是参考运动数据。
上述技术方案中,步骤5)中参考运动数据的变形是以人体结构参数和参考运动数据为输入,经过数值计算,求解非线性优化问题,得到参考运动数据的变形结果。
上述技术方案中,步骤6)中三维数据的平滑连接包括理想状况和实际操作两种情况,在理想状况下,只需在相邻两个三维运动数据的运动曲线间进行线性插值;在实际操作中,需要对一些比较复杂的关节采用基于四元组的运动插值方法来处理。
本发明的优点在于1.本发明的方法有良好的通用性,无论是动作简单还是复杂,只要有较为完整的运动数据库都能够实现运动对象的运动重构。
2.本发明方法同时适用于单目和多目同步视频,若对多目视频进行处理,可以极大地提高数据重构的精度和效率,得到更为理想的效果。


图1为基于三维运动数据库的运动对象运动重构技术流程图;图2为实施例中运动对象轮廓提取方法的流程图;图3为三维虚拟人模型示意图。
具体实施例方式
下面参照附图对本发明方法进行进一步的说明,在图中,虚线框表示相关操作,实线框表示操作所得到的结果。
如图1所示,为本发明的一种运动对象运动重构方法的一个优选实施方式,包括以下步骤步骤10、在对运动对象进行重构之前,首先要实现对运动对象轮廓的提取。对运动对象轮廓提取的操作按照附图2运动对象轮廓提取方法操作流程图所示,依次进行。
步骤11、对运动对象所在的视频提取视频帧,对视频中的各帧做帧间全局运动估计,求出各个帧之间的全局运动参数。全局运动是指在视频序列帧中占较大比例的像素的运动,在运动视频中多由摄像机运动造成。全局运动估计是指根据两帧图像,估计图像之间全局运动的规律,其规律可由全局运动参数表示。在运动视频中,通常采用6参数仿射变换模型表示全局运动,相应的全局运动参数可以表示为(a,b,c,d,e,f),其中分量e,f与摄像机镜头的平移运动有关,分量a,b,c,d则与摄像机镜头的缩放、旋转运动有关。全局运动参数的求取方法有多种,例如用LM方法进行迭代求解,或者采用二步估计方法。上述方法都是现有技术,本领域的技术人员利用上述方法中的任意一种应该很容易实现对全局运动参数的求解。
步骤12.构造运动图像的背景。通过上一步求取的全局运动参数,首先对当前帧的前一帧图像逐像素点地进行变换;例如,前一帧的像素点(x,y)经过全局运动参数变换以后在当前帧中对应于(X,Y)位置;这两个位置点的像素亮度应该是相同的。变换以后,就可以比较这相邻两帧之间的差异。记录下两帧之间有差异的区域,该区域包含了两帧中运动对象的前景运动区域。得到了两帧中运动对象的前景运动区域,就能够将运动对象的前景运动区域分离出来,以消除前景运动区域对背景合成的影响。比较两帧间差异的过程实际上类似于逻辑上的异或概念,即两者相同时为0,两者不同时为1。由于存在全局运动,当前帧的相邻帧的背景区域和当前帧的背景区域是不完全一样的,所以对经过全局变换以后两帧的像素进行异或操作得不到全部的当前帧的背景区域。利用全局运动变换,求当前帧背景缺失部分的像素点在当前帧的相邻帧中对应点的像素值,将相邻帧中的像素点做全局运动变换以后填补到当前帧的空缺部分,从而补全当前帧的背景。
步骤13.实现背景的消除。得到当前帧的背景以后,通过背景消除可以快速地分割出运动对象区域。背景消除的具体方法本实施例中可以用下面的式子来表示令Dk为背景消除后的帧差,则Dk(p)=|W×Ik(p)-Bk(p)|,其中,W为平滑算子,是一个公知因子,Ik(p)表示当前帧,Bk(p)表示当前帧的背景。然后对Dk进行黑白二值化,便可获得前景模板MkB。由于背景对准中的积累误差、插值计算的误差等噪声的影响,在MkB中会存在因这些因素造成的小面积噪声区域,因此还需要使用连通成分分析和形态学开运算消除MkB中的小面积噪声区域并保留具有较大面积的运动对象区域。
步骤14.记录运动历史信息,实现视频帧中运动对象的分割。若运动对象的某一部分在一段时间内静止不动,则这一部分有可能保留在步骤12所构造的背景中,在步骤13进行背景消除后所得到的运动对象区域中就不会出现这一部分区域,这样得到的运动对象区域显然是不完整的。为了解决上述问题,对当前帧与上一帧的二值化模板Dk,k-1和上一帧运动对象区域模板Mk-1进行逻辑运算,求交集,检测出静态前景区域MkH。Dk,k-1是指对当前帧和上一帧图像的帧差进行二值化处理后所得到的图像模板,Mk-1的求解与下面的Mk的求解方法类似,两者是迭代的关系。得到静态前景区域MkH以后,将其与背景消除得到的对象区域MkB合并得到完整的对象区域Mk,即MkH(p)=1Mk-1comp(p)=landDk,k-1(p)=00else]]>Mk=MkB∪MkH]]>其中Mk-1comp为经过全局运动补偿后与当前帧在空间上对齐的上一帧运动对象区域模板。
得到完整的运动对象区域Mk也就意味着视频帧中运动对象分割的完成。
步骤15.在得到运动对象区域后,提取运动对象轮廓。在本实施例中,运动对象轮廓的提取方法采用活动轮廓模型Snake。活动轮廓模型Snake是在现时图像处理和计算机视觉中用于实现对象的边缘检测或轮廓提取的有效工具。具体地说,snake是在图像域内所定义的可变形曲线,通过对其能量函数的最小化以及变形和调整snake的自然形状来匹配特定的对象,从而产生连续平滑的轮廓。也就是说,当snake的能量为最小时,snake与对象相吻合.。活动轮廓模型(snake)的形状由曲线本身的内力和图像数据的外力所控制,作用在snake上的力依据于轮廓所处的位置和其形状将在空间局部地变化。内力和外力作用是不同的内力起平滑约束作用,而外力则引导snake向图像特征移动。Snake方法的详细信息可以参见参考文献2“基于活动轮廓模型的DP修正算法”,上海大学学报,1999年第5卷第5期。运用Snake方法的优点是可以精确地提取运动对象的轮廓。利用Snake方法的具体步骤为将Snake的初始位置设定在运动对象区域的边缘上,Snake的外部能量可由时空梯度给定;Snake的总能量的最小化可通过基于贪婪算法的快速求解获得;当Snake的总能量达到最小时,就可以提取出运动对象的轮廓。视频中的运动对象轮廓是二维的,因此在得到运动对象轮廓的同时也就得到了视频中的二维轮廓信息。
通过以上步骤,实现了对运动对象轮廓的提取,下面参照附图1,对本实施例的其他部分加以说明。
步骤20.求取运动对象的投影矩阵。投影矩阵的求取基于相关的领域知识。以最为常见的人体为例,相关的领域举例来说是指求取蹦床运动视频的投影矩阵可以利用蹦床在图像视频中的位置,求取跳水运动视频的投影矩阵可以利用跳板或跳台在跳水视频的位置等等。运动对象的投影矩阵的具体求解方法可以采用定标法。定标法是一种现有的成熟技术,在此不再详述。
步骤30.在求得投影矩阵以后,利用投影矩阵对三维运动库中的运动数据进行处理,建立与三维运动数据一一对应的二维运动对象轮廓库。在求得投影矩阵,建立二维运动对象轮廓库的过程中,需要与虚拟的运动对象模型相结合。以最为常见的人体为例,虚拟运动对象模型为虚拟人模型,如附图2所示,即为三维虚拟人模型。虚拟人模型可以有多个类型,以其中的一种基于VRML的虚拟人模型为例。VRML用一个专门的子标准H-Anim来描述虚拟人模型。H-Anim中使用3类节点(node)表示一个虚拟人体模型人体重心(humanoin)、人体关节(joint)和人体骨骼段(segment),并把整个人体分成1个人体重心、77个关节和47个骨骼段。另外,用VRML中的几何模型表示方法定义了每个肢体(即骨骼段)的几何模型。每个骨骼段(segment)的位置都在其所在的关节坐标系中定义,而每个几何模型依附于相应的骨骼段,这些元素一起表示了一个完整的虚拟人模型。在求取了投影矩阵以后,就可以将三维人体运动库变换成为一一对应的用二维轮廓表示的二维人体运动库,其变换过程就是用三维虚拟人模型去执行三维运动库中的动作,同时按照投影矩阵进行对虚拟人模型的运动姿态进行投影,得到二维虚拟人模型轮廓。
步骤40.求得三维运动库中的各个二维运动对象轮廓以后,以轮廓形状相似性为准则,对二维运动对象轮廓库进行聚类,用于求取参考运动数据。参考运动数据是指根据轮廓相似性准则从三维运动库中匹配得到的三维人体运动信息,该三维运动信息是用人体关节点位置和关节角度信息描述的。
步骤50.从待重构的运动对象所在的视频图像序列中提取出二维轮廓,以轮廓形状相似性为准则与各个类中心的二维轮廓信息进行比较,形状相似性最高的类中心所在的类即为参考运动数据所在的类。在类中进行搜索,形状相似性最高的二维轮廓对应的三维运动数据即为参考运动数据。
步骤60.得到的参考运动数据必须以视频数据为约束条件,才能得到满足要求的对应三维运动数据,因此要进行参考运动数据的变形。参考运动数据的变形原则是参考运动数据投影后的虚拟运动对象二维轮廓信息与待重构的运动视频的二维运动对象轮廓信息相吻合。参考运动数据的变形可以归结为一个非线性优化问题,仍以人体为例设xr(t)为t时刻参考运动数据的三维关节点组成的矢量,ω为视频中人体的具体结构参数,例如身高、上肢下肢的长度等。human(xr(t),ω)为按照人体结构参数ω和运动库中的姿态xr(t)做成的虚拟人模型,x(t)为t时刻对应于视频帧的二维人体轮廓信息,则有目标函数minxr(t)dist(||P(human(xr(t),ω))-x(t)||)]]>其中dist为距离函数,计算两个轮廓的差集;P为投影矩阵。
上述优化过程的终止条件是参考运动数据投影后的虚拟人二维轮廓与待重构的运动视频的二维人体轮廓的差集(相异区域)为0,也就是两个轮廓的差集(相异区域)最小。该优化过程的结果就是逐帧重构的最终结果,优化的实现过程是一个迭代的数值计算过程,具体数值计算方法很多,例如LM方法等。
步骤70.得到各个帧的三维动作以后,为使各个帧之间的三维动作看起来连续,要对三维运动数据进行平滑连接。三维运动数据的平滑连接有两种情况一种是在理想的情况下,帧与帧之间有较好的运动相关性,即运动对象姿态的运动曲线是连续曲线,因此,可以简单地在相邻两个三维运动数据的运动曲线间进行线性插值,即可得到连续而平滑的重构结果;另一种情况是在实际操作中,由于噪声的影响,在相邻两个重构结果之间不具有良好的运动相关性。为了实现这种不连续帧间的平滑过渡,需要对一些比较复杂的关节采用基于四元组的运动插值方法来处理。有关基于四元组的运动插值方法以人体的肩关节为例假设f1和f2分别为前一个运动段的最后一帧与后一个运动段的最前一帧的运动数据,距离起始点的时间分别由 和 表示。设肩关节在 和 时刻的方向可以分别用 和 表示,那么tf′∈(tf1,tf2]]]>时刻肩关节的方向四元组可由下面的方法得到qf′=sin(1-tf′)θsinθqf1+sin(tf′θ)sinθqf2]]>其中的θ由qf1·qf2=cosθ]]>确定。
利用所求得的方法向量即可实现三维运动数据的平滑连接。
权利要求
1.一种基于三维运动数据库的运动对象的运动重构方法,用于实现对视频中的二维运动对象的运动重构,得到一个三维的运动对象;该方法包括以下步骤1)提取运动视频中的运动对象的轮廓,得到运动对象的二维轮廓信息;2)对运动视频进行定标操作,得到投影矩阵;3)利用投影矩阵和虚拟对象模型从三维运动数据库中建立二维运动对象轮廓库;4)利用二维运动对象轮廓库求取参考运动数据;5)以视频数据为约束条件,对参考运动数据进行变形,得到与视频序列对应的重构的三维动作序列;6)对重构所得的各帧的三维数据进行平滑连接,得到连续的三维动作。
2.根据权利要求1所述的基于三维运动数据库的运动对象的运动重构方法,其特征在于,步骤1)中所述的运动视频中运动对象轮廓的提取是通过以下操作步骤实现的对运动视频中的各帧做全局运动估计;构造运动图像的背景;消除当前帧的背景;记录运动历史信息,分割运动对象区域;提取运动对象轮廓。
3.根据权利要求2所述的基于三维运动数据库的运动对象的运动重构方法,其特征在于,所述的记录运动历史信息是这样实现的计算当前帧与上一帧的二值化模板;求上一帧的前景二值化模板;求当前帧与上一帧的二值化模板和上一帧的前景二值化模板的交集,得到暂时静止的运动对象区域;将暂时静止的运动对象区域与背景消除得到的前景区域合并得到完整的运动对象区域。
4.根据权利要求2所述的基于三维运动数据库的运动对象的运动重构方法,其特征在于,所述的提取运动对象轮廓是采用Snake方法实现的。
5.根据权利要求1所述的基于三维运动数据库的运动对象的运动重构方法,其特征在于,步骤4)中所述的参考运动数据的求取通过以下操作步骤实现在二维运动对象轮廓库中,根据轮廓形状相似性将形状相似的二维运动对象轮廓聚类;根据视频中得到的运动对象二维轮廓信息与二维运动对象轮廓类的类中心进行比较,找到最为相似的类;在最为相似的类中搜索,形状相似性最高的二维运动对象轮廓所对应的三维运动数据就是参考运动数据。
6.根据权利要求1所述的基于三维运动数据库的运动对象的运动重构方法,其特征在于,步骤5)中所述的参考运动数据的变形是以人体结构参数和参考运动数据为输入,经过数值计算,求解非线性优化问题,得到参考运动数据的变形结果。
7.根据权利要求1所述的基于三维运动数据库的运动对象的运动重构方法,其特征在于,步骤6)中所述的三维数据的平滑连接包括理想状况和实际操作两种情况,对于运动对象姿态的运动曲线是连续曲线的理想状况,三维数据的平滑连接只需在相邻两个三维运动数据的运动曲线间进行线性插值;对于实际操作中所受到的噪声影响,三维数据的平滑连接需要对一些比较复杂的关节采用基于四元组的运动插值方法来处理。
全文摘要
本发明公开了一种基于三维运动数据库的运动对象的运动重构方法,用于实现对视频中的二维运动对象的运动重构,得到一个三维的运动对象;含以下步骤提取运动视频中运动对象的轮廓,得到运动对象的二维轮廓信息;对运动视频做定标操作,得到投影矩阵;利用投影矩阵和虚拟对象模型从三维运动数据库中建立二维运动对象轮廓库;寻找参考运动数据;以视频数据为约束条件,对参考运动数据进行变形,得到与视频序列对应的重构的三维动作序列;对重构所得的各帧的三维数据进行平滑连接,得到连续的三维动作。本发明的优点有良好的通用性,无论动作简单或复杂,只要有较为完整的运动数据库都能够实现运动对象的运动重构;同时适用于单目和多目同步视频。
文档编号G06T7/00GK1766929SQ20051005521
公开日2006年5月3日 申请日期2005年3月16日 优先权日2004年10月29日
发明者夏时洪, 邱显杰, 王兆其, 李锦涛 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1