由数据驱动的基于草图的三维武术动作的生成和编排方法

文档序号:6556660阅读:200来源:国知局
专利名称:由数据驱动的基于草图的三维武术动作的生成和编排方法
技术领域
本发明涉及三维人体动作的创作和编排方法,尤其是一种由数据驱动的基于草图的三维人体动作的创作和编排方法。
背景技术
目前生成动作数据主要有三种方法关键帧、物理模拟、和动作捕捉。关键帧允许动画师通过运动过程中的人体关键姿势控制运动的内容,但是制作过程需要花费大量的时间调整这些姿势并生成中间帧。动作捕捉设需要由专业演员表演动画师所设计的动作,而捕捉下来的数据一般很难重用,动画师有新的需求时又要重新捕捉,需要耗费较大的人力物力。物理模拟则对运动过程建立动力学模型并由计算机求解模型来的得到所需的动作数据,但是限于技术水平前只能模拟高动态性的人体动作,距离满足动画师的各种要求有很大差距。
目前,人体运动数据编排主要分为两种,分别是数据驱动的动作编排和模型驱动的动作编排。模型驱动的方法着眼于人物动作的大致行为,而数据驱动的方法更注重于动力学上人体动作的细微变化。本专利申请使用的是数据驱动的动作数据编排方法。
目前最常用的动作编辑技术包括逆向动力学。逆向动力学(InverseKinematics,简称IK)是一种通过指定末端关节的位置,由计算机自动计算出各中间关节的位置以及旋转角的方法。逆向动力学分析求解方法虽然能求得所有解,但随着关节复杂度的增加,逆向动力学的复杂度急剧增加,分析求解的代价也越来越大,所以数值求解成了另一种可行的方案。

发明内容
本发明的目的是提供一种由数据驱动的基于草图的三维武术动作编排方法。
基于已构建好的动作数据库,本发明的方法步骤如下1)绘制用于描述所需武术动作的起势和收势的草图,根据参考骨架进行关节点标注,该参考骨架是由用户预先指定的人体关节及其连接的拓扑结构;2)根据动作设计,在起势草图中对上述标注出的关节点绘制运动轨迹曲线;3)由上述草图中骨盆处的三个关节点,计算出草图姿势的正面朝向,对动作数据库内的每个三维动作片断进行旋转平移,并且正投影到二维平面;
4)将上述生成的每个二维投影与输入的起势草图进行比较,按照用户设定的相似性限制条件定位动作数据帧的位置,对定位到的动作数据片断,使用收势草图再次比较每帧的二维投影,筛选出候选动作片断;5)把上述筛选出来的每个动作片断的二维投影与输入的关节点运动轨迹进行比较,筛除不符合轨迹要求的动作片断;6)对上述筛选出来的动作片断,根据用户在草图上的修改,系统使用逆向动力学方法进行动作的编辑,并通过优化方法保持动作的平滑和连贯,通过不断地修改和反馈,直到生成的动作数据片断满足用户的需求。
2.根据权利要求1所诉的一种由数据驱动的基于草图的三维武术动作的生成和编排方法,其特征在于,所述的根据动作设计,在起势草图中对上述标注出的关节点绘制运动轨迹曲线该运动轨迹曲线一般标注于一段武术招式中最能体现运动意图的一个或者多个关节点上,运动轨迹曲线上的箭头方向即是该关节点的运动方向。
3.根据权利要求1所诉的一种由数据驱动的基于草图的三维武术动作的生成和编排方法,其特征在于,所述的由上述草图中骨盆处的三个关节点,计算出草图姿势的正面朝向,对动作数据库内的每个三维动作片断进行旋转平移,并且正投影到二维平面由骨盆处的“根节点”、“左股节点”和“右股节点”在二维草图中的坐标(x0,y0,0)、(xl,yl,0)和(xr,yr,0),根据计算公式dleft=(xl-x0)2+(yl-y0)2,]]>dright=(xr-x0)2+(yr-y0)2]]>和dleftright=(xl-xr)2+(yl-yr)2]]>可以计算得到三个关节点之间的平面距离dleft、deright、dleftright,然后根据公式zl′=±dleft2-(xl′-x0′)2-(yl′-y0′)2]]>和zr′=±dright2-(xr′-x0′)2-(yr′-y0′)2]]>可以计算得到“左股节点”和“右股节点”在三维中的坐标zl’和zr’。根据计算得到的上述三个关节点的三维坐标,可以得到由这三个点构成的骨盆的法向矢量,该法向矢量就是草图姿势的正面朝向。
4.根据权利要求1所诉的一种由数据驱动的基于草图的三维武术动作的生成和编排方法,其特征在于,所述的将上述生成的每个二维投影与输入的起势草图进行比较,按照用户设定的相似性限制条件定位动作数据帧的位置,对定位到的动作数据片断,使用收势草图再次比较每帧的二维投影,筛选出候选动作片断上述用于二维姿势比较的距离公式定义如下
Dist(P,S)=Σi=1kw1|l2i-l1i|+Σi=1mw2|b2i-b1i|+Σi=1nw3|(j2i-R1)-(j1i-R0)|,]]>其中R0和R1是两个骨架投影的根节点的位置,l1i和l2i分别是连接各关节点骨骼与Y轴正方向之间的角度,b1i和b2i分别是两个骨架投影的各骨骼长度的投影收缩率,j1i和j2i分别是两个骨架投影的各关节点的位置,w1、w2、w3分别是用户指定的权值。
5.根据权利要求1所诉的一种由数据驱动的基于草图的三维武术动作的生成和编排方法,其特征在于,所述的把上述筛选出来的每个动作片断的二维投影与输入的关节点运动轨迹进行比较,筛除不符合轨迹要求的动作片断轨迹S1和S2之间的相似度函数定义为similarity(S1,S2)=1-TAD(S1,S2)Max(m,n),]]>其中TAD是轨迹 其中cost函数为两个轨迹点之间的欧氏距离,MinRe st(S1,S2)=min{TAD(S1,Re st(S2)),TAD(Re st(S1),S2),TAD(Re st(S1),Rest(S2))}。
本发明的目标是在大容量动作数据库的基础上,通过草图对人物动画中的武术动作进行创作和编排。目前动画师要获取所需的三维人体动作一般是通过专用的动作捕捉设备,这个过程需要由专业演员表演动画师设计的动作。本发明允许动画师用二维草图来描述所需的动作,然后在动作数据库中搜索符合需求的动作序列(即保证其对应二维平面投影与输入的草图相似)。动画师还可以修改搜索得到的动作序列所对应的草图,并将修改自动应用到动作数据本身,最后得到与输入草图非常匹配的动作数据。本发明解决了已有的动作数据难以重用的问题,同时提供了一种动画师易于理解使用的动作编排创作方法。


图1是用于描述武术动作招式的二维草图;图2是基于草图的武术动作创作和编排软件系统的框架和流程示意图;图3是本发明步骤1)在草图上进行关节点标注示意图;图4是本发明步骤3)使用构成骨盆的三个关节点的二维投影确定其三维的方向示意图;图5是本发明步骤5)的关节点运动轨迹的相似度比较示意图;图6是本发明步骤6)基于草图的动作修改的输出示意7是基于草图的武术动作船作何编排系统的两个输出结果示意图。
具体实施例方式
准备工作用户设定一个人体骨架的拓扑结构,将这个骨架信息输入计算机中作为后续步骤地参考骨架(如图2右上所示)。
首先,用户根据动作设计的意图,通过绘图板将武术动作的起势和收势的草图输入到计算机中(如图2左上所示)。根据参考骨架的节点,在输入的起势和收势草图上标注出对应的关节点。用户根据动作设计,在运动关节点上标注出从起势时刻到收势时刻该关节点的运动轨迹和方向(如图2中上所示)。
然后计算草图中起势和收势的人体正面朝向,方法如下由骨盆处的“根节点”、“左股节点”和“右股节点”在二维草图中的坐标(x0,y0,0)、(xl,yl,0)和(xr,yr,0),根据计算公式dleft=(xl-x0)2+(yl-y0)2,]]>dright=(xr-x0)2+(yr-y0)2]]>和dleftright=(xl-xr)2+(yl-yr)2]]>可以计算得到三个关节点之间的平面距离dleft、deright、dleftright,然后根据公式zl′=±dleft2-(xl′-x0′)2-(yl′-y0′)2]]>和zr′=±dright2-(xr′-x0′)2-(yr′-y0′)2]]>可以计算得到“左股节点”和“右股节点”在三维中的坐标zl’和zr’(如图3所示)。根据计算得到的上述三个关节点的三维坐标,可以得到由这三个点构成的骨盆的法向矢量,该法向矢量就是草图姿势的正面朝向。根据上面计算出来的人体正面朝向,将动作数据库(如图2右中所示)中的每个动作片断旋转到与输入草图的正面朝向一致的方向,然后在Z轴正方向上作正投影就可以得到动作数据库中每个动作片断对应输入草图的二维投影。
接下来,使用输入的起势动作在动作数据库中搜索与其相似的姿势,把找到的相似姿势在数据库中的位置二元组(动作编号,帧编号)记录下来,然后在已经标记的动作片断中,从起势草图对应的帧编号开始搜索收势帧对应的姿势,并且记录相应的帧编号。由上述操作可以得到确定一个动作片断的三个要素(动作编号,起势帧编号,收势帧编号),将这样的动作片断的几何作为备选的动作片断。上述用于二维姿势比较的距离公式定义如下Dist(P,S)=Σi=1kw1|l2i-l1i|+Σi=1mw2|b2i-b1i|+Σi=1nw3|(j2i-R1)-(j1i-R0)|,]]>其中R0和R1是两个骨架投影的根节点的位置,l1i和l2i分别是连接各关节点骨骼与Y轴正方向之间的角度,b1i和b2i分别是两个骨架投影的各骨骼长度的投影收缩率,j1i和j2i分别是两个骨架投影的各关节点的位置,w1、w2、w3分别是用户指定的权值。
由于根据上述第三步操作搜索出来动作片断指能够保证起势和收势的姿势一致,并不能保证中间运动的一致,所以还需要进行运动轨迹的比较进一步剔出不符合运动设计的动作片断。记草图中的估计为S1,由备选动作片断根据正投影到二维平面的到的轨迹为S2,轨迹S1和S2之间的相似度函数定义为similarity(S1,S2)=1-TAD(S1,S2)Max(m,n),]]>其中TAD是轨迹的转角距离,其定义为 其中cost函数为两个轨迹点之间的欧氏距离,MinRe st(S1,S2)=min{TAD(S1,Re st(S2)),TAD(Re st(S1),S2),TAD(Re st(S1),Rest(S2))}。根据上述计算方法依次将草图轨迹与备选动作片断的投影轨迹进行比较,就可以筛选出动作姿势和运动轨迹都相似的动作片断(如图5所示)。
由于不能保证动作数据库中存在动作片段与输入的草图所描述的武术动作片断完全一致,很多情况下,由上述步骤搜索出来的动作片断在绝大部分动作姿势和运动轨迹与输入的动作草图相一致,但是仍旧存在部分关节点的位置或运动轨迹不完全满足用户输入的限制,在这种情况下需要使用逆向动力学的方法对搜索出来的动作片断进行目标导向性的动作编辑。同时为了保证编辑后动作的自然和连贯习惯型,还需要使用优化算法对整段动作进行连贯性和平滑性处理(如图6所示)。
最后,将处理过的动作片断以文件的形式导出到磁盘中,提供给其他的动画处理软件进行后期处理。
权利要求
1.一种由数据驱动的基于草图的三维武术动作的生成和编排方法,其特征在于,方法的步骤如下1)绘制用于描述所需武术动作的起势和收势的草图,根据参考骨架进行关节点标注,该参考骨架是由用户预先指定的人体关节及其连接的拓扑结构;2)根据动作设计,在起势草图中对上述标注出的关节点绘制运动轨迹曲线;3)由上述草图中骨盆处的三个关节点,计算出草图姿势的正面朝向,对动作数据库内的每个三维动作片断进行旋转平移,并且正投影到二维平面;4)将上述生成的每个二维投影与输入的起势草图进行比较,按照用户设定的相似性限制条件定位动作数据帧的位置,对定位到的动作数据片断,使用收势草图再次比较每帧的二维投影,筛选出候选动作片断;5)把上述筛选出来的每个动作片断的二维投影与输入的关节点运动轨迹进行比较,筛除不符合轨迹要求的动作片断;6)对上述筛选出来的动作片断,根据用户在草图上的修改,系统使用逆向动力学方法进行动作的编辑,并通过优化方法保持动作的平滑和连贯,通过不断地修改和反馈,直到生成的动作数据片断满足用户的需求。
2.根据权利要求1所诉的一种由数据驱动的基于草图的三维武术动作的生成和编排方法,其特征在于,所述的根据动作设计,在起势草图中对上述标注出的关节点绘制运动轨迹曲线该运动轨迹曲线一般标注于一段武术招式中最能体现运动意图的一个或者多个关节点上,运动轨迹曲线上的箭头方向即是该关节点的运动方向。
3.根据权利要求1所诉的一种由数据驱动的基于草图的三维武术动作的生成和编排方法,其特征在于,所述的由上述草图中骨盆处的三个关节点,计算出草图姿势的正面朝向,对动作数据库内的每个三维动作片断进行旋转平移,并且正投影到二维平面由骨盆处的“根节点”、“左股节点”和“右股节点”在二维草图中的坐标(x0,y0,0)、(x1,y1,0)和(xr,yr,0),根据计算公式dleft=(xl-x0)2+(yl-y0)2,dright=(xr-x0)2+(yr-y0)2]]>和dleftright=(xl-xr)2+(yl-yr)2]]>可以计算得到三个关节点之间的平面距离dleft、deright、dleftright,然后根据公式zl′=±dleft2-(xl′-x0′)2-(yl′-y0′)2]]>和zr′=±dright2-(xr′-x0′)2-(yr′-y0′)2]]>可以计算得到“左股节点”和“右股节点”在三维中的坐标zl’和zr’。根据计算得到的上述三个关节点的三维坐标,可以得到由这三个点构成的骨盆的法向矢量,该法向矢量就是草图姿势的正面朝向。
4.根据权利要求1所诉的一种由数据驱动的基于草图的三维武术动作的生成和编排方法,其特征在于,所述的将上述生成的每个二维投影与输入的起势草图进行比较,按照用户设定的相似性限制条件定位动作数据帧的位置,对定位到的动作数据片断,使用收势草图再次比较每帧的二维投影,筛选出候选动作片断上述用于二维姿势比较的距离公式定义如下Dist(P,S)=Σi=1kw1|l2i-l1i|+Σi=1mw2|b2i-b1i|+Σi=1nw3|(j2i-R1)-(j1i-R0)|,]]>其中R0和R1是两个骨架投影的根节点的位置,l1i和l2i分别是连接各关节点骨骼与Y轴正方向之间的角度,b1i和b2i分别是两个骨架投影的各骨骼长度的投影收缩率,j1i和j2i分别是两个骨架投影的各关节点的位置,wx1、w2、w3分别是用户指定的权值。
5.根据权利要求1所诉的一种由数据驱动的基于草图的三维武术动作的生成和编排方法,其特征在于,所述的把上述筛选出来的每个动作片断的二维投影与输入的关节点运动轨迹进行比较,筛除不符合轨迹要求的动作片断轨迹S1和S2之间的相似度函数定义为similarity(S1,S2)=1-TAD(S1,S2)Max(m,n),]]>其中TAD是轨迹的转角距离,其定义为 其中cost函数为两个轨迹点之间的欧氏距离,MinRest(S1,S2)=min{TAD(S1,Rest(S2)),TAD(Rest(S1),S2),TAD(Rest(S1),Rest(S2))}。
全文摘要
本发明公开了一种由数据驱动的基于草图的三维武术动作的生成和编排方法。方法的步骤如下1)绘制武术动作起势和收势的草图,根据参考骨架进行关节点标注;2)在草图中绘制运动轨迹曲线;3)由草图中骨盆处的三个关节点,计算姿势的正面朝向,对动作数据库中每个三维动作片断进行旋转和二维正投影;4)在动作数据库中定位动作数据和帧的位置;5)筛除不相似的动作;6)根据用户在草图上的修改对三维动作进行编辑。本发明实现了根据武术动作起势和收势的二维草图并结合已有的动作数据进行武术动作创作和编排的功能。解决了武术动画制作过程中动作数据难以控制和操作的问题,提供了一个在武术动画制作初级阶段快速创作和编排武术动作的方法。
文档编号G06T15/70GK1945632SQ20061005389
公开日2007年4月11日 申请日期2006年10月19日 优先权日2006年10月19日
发明者耿卫东, 李启雷, 余涛, 沈晓杰, 王平尧 申请人:浙江大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1