一种基于已有动作数据的真实感动作迁移和生成方法及系统与流程

文档序号:15390049发布日期:2018-09-08 01:01阅读:273来源:国知局

本发明属于图像处理和三维计算机动画交叉领域,具体涉及一种利用已有的动作骨架数据的真实感动作迁移和生成方法及系统。



背景技术:

传统的动作生成方法一般是用三维建模动画软件,如maya、3dmax、blender,通过创建骨架、创建模型、绑定蒙皮、绘制蒙皮权重系数、设置关键帧,平滑关键帧等步骤进行动作的生成。在迁移动作的情境下,若时间序列较长、关键帧数量较庞大,则会导致迁移动作的步骤费时费力,且不能完全与已有的动作相吻合,产生一定的误差,影响精度效果。

蒙皮是处理角色模型的一个工作步骤,将原始模型与骨架关联起来,用骨骼的移动、旋转,带动模型的变形。绑定蒙皮的过程就是将模型绑到相应的骨架上。可以通过不同的蒙皮方式将模型绑定到骨架上,如:smoothskinning(平滑蒙皮),使几个关节同时影响相同的点而提供平滑的变形效果,平滑蒙皮对皮肤的影响采用一种交叉影响的方式来实现;rigidskinning(刚性蒙皮),使每个关节影响一系列的可变形物体点,提供带有关节链接的变形效果,刚性蒙皮每个皮肤点只受一个关节的影响。

骨骼的运动控制可以采用两种方式:一种是前向运动学(fk),一种是逆向运动学(ik)。因为骨骼系统带有父子层级关系,父关节的转动会带动子关节转动。如果直接使用骨骼系统生成动作,需要从上层关节开始向下层关节逐级向下设置关键帧,这种方式被称为前向运动学,简称fk。如果动画是按照层级的相反次序来进行,则称为逆向运动学,简称ik。

三维真实感动作的迁移与生成技术在过去几十年来发展迅速,在三维动画、三维电影特效应用领域上获得了突破性的成果,在促进影视特效和动画制作发展的同时,运动捕捉技术应运而生,如今的运动捕捉技术可以迅速记录人体的动作,进行延时分析或多次回放,通过被捕捉的信息,简单的可以生成某一时刻人体的空间位置;复杂的则可以计算出任何面部或躯干肌肉的细微变形,然后比较直观地将人体的真实动作匹配到所设计的动作角色上去。虽然运动捕捉技术的稳定性、操作效率、应用弹性得到了一定程度的提高,但复杂的捕捉仪器和复杂的捕捉过程往往导致高额的费用,匹配的复杂应用场景使更大的误差随之而来,而基于已有动作数据的动作迁移和生成方法能显著节约人力财力,并明显提高精度,具有广泛的研究与应用价值。以前需要较高性能的动作捕捉仪才能完成的动作迁移任务也可以通过简单的相机采集与建模软件来完成,也可以通过可穿戴数据手套等方式将动作骨架的序列重新计算再输入到建模软件进行重新绑定蒙皮来实现。



技术实现要素:

为了满足骨架动作迁移的需要,本发明提供了一种基于已有动作数据的真实感动作迁移和生成方法及系统。

本发明提供了一种基于已有动作数据的真实感动作迁移和生成方法,包括以下步骤:

步骤1,骨架数据采集:使用动作捕捉系统对被测对象进行清晰、连续的动作拍摄;

步骤2,目标模型建模:借助三维建模软件,采用多边形建模方法对目标模型进行建模;

步骤3,骨架序列重构:以逆向运动学原理为基础,对采集的数据进行优化重构;

步骤4,骨架尺寸迁移:以前向运动学原理为基础,对骨架序列进行尺寸的迁移;

步骤5,蒙皮与绘制权重:将迁移后骨架与目标模型进行蒙皮的绑定与权重系数的绘制;

步骤6,骨架真实值计算:依次计算每个关节点的三维位置;

步骤7,真实感材质纹理绘制:绘制真实感材质纹理并对模型进行纹理贴图;

步骤8,导出并渲染:将蒙皮结果导出,并用渲染引擎进行渲染。

进一步地,所述步骤1中的数据收集主要有以下特点:

1)所测物体处于简单环境中;

2)拍摄时须正对拍摄对象进行连续的动作拍摄;

3)动作拍摄时,比划要清晰、连贯,并尽可能放慢速度;

4)动作捕捉能采集含有关节的动作序列;

5)所提取的骨架序列是带有父子关系的,符合人体工学的拓扑结构,而且关节点完整无缺失。

进一步地,所述步骤2中模型的建模可以采用多种建模方式,要求做到:模型表面布线整齐,整个模型的拓扑结构合理,并与骨架关键点的个数匹配,纹理贴图真实,材质符合人体皮肤特征。

进一步地,所述步骤3中骨架重构的目标是得到每个关节点相对其父关节的旋转角度,通过最小化前向运动学损失求解逆向运动学,即通过前向运动学公式求得估计的关节位置,和已知的关节位置对比求损失,然后在合理的运动范围内最小化该损失即可求得每个关节点相对于其父关节的旋转角度信息。

进一步地,所述步骤4中骨架尺寸的迁移要求通过前向运动学原理,保留原有序列每一帧的旋转信息,只改变目标骨架到吻合目标模型的尺寸上。保留原有的旋转信息原则是需要添加额外的角度约束,使得迁移后不会产生穿透、畸形等现象。

进一步地,所述步骤5中要求采用平滑蒙皮的方法将迁移后的骨架与目标模型进行蒙皮与权重的绘制。该过程主要有以下特点:

1)采用双四元数方法来平滑蒙皮模型;

2)采用基于骨架层次设置权重的方法进行平滑蒙皮的绑定;

3)使用平滑蒙皮影响对象防止发生不必要的形变。

进一步地,所述步骤6中骨架真实值的计算基于前向运动学原理依次求出每个关节点的准确的三维位置。

进一步地,所述步骤7中要求将三维的模型顶点面片结构进行二维的映射,然后在该二维的uv图上进行纹理的贴图绘制,再反过来映射到三维空间中。展开uv坐标的过程要求不能出现畸形的映射,每个三维点都有唯一的二维映射点。

进一步地,所述步骤8中的渲染可以选择多种不同的渲染引擎进行渲染,主流的基于物理光照的渲染方法能达到比较理想的效果。

下面以人手为例子说明本发明的方法,该方法包括以下步骤:

步骤1,骨架数据采集。使用数据手套(如:cyberglove、measurand、dgtech等)对被测对象进行清晰、连续的动作拍摄,要求被测对象手持数据手套并在关键关节处用传感器连接,正对摄像机进行连续的有意义的动作比划,采集完毕后可以经过处理得到骨架动作序列。该步骤主要有以下特点:被测对象所得关键帧骨骼数据可以保存,并可编辑。

步骤2,目标模型建模。实现动作的迁移,必须有目标迁移的模型,该模型的创建方法采用建模软件实现,如:softimage、maya、ug、autocad、3dmax等。下面以maya为例子,介绍多边形建模方法(polygonmethod)。该方法主要包含以下步骤,1)创建多边形,并对各个面片进行光滑处理;2)添加线条,根据手部的布线特征进行添加,包括添加环形线条、重排线条等;3)调整顶点,根据手部的拓扑结构进行表面关键顶点的调整,使之与手部拓扑结构吻合;4)编辑面片,使用挤出推入操作(extrude)对一些特殊结构进行编辑,如指甲、手纹等;5)重排布线,使用添加割线、删除割线、弧度割线等编辑对整个手部布线进行最终的整理重排;6)展开uv坐标,使用纹理编辑器将三维模型的坐标(x,y,z)映射到二维空间(u,v);7)纹理贴图,利用展开的uv坐标图编辑出一张合理的纹理贴图,并以展uv的逆过程将二维的纹理贴图映射到三维模型表面。

步骤3,骨架序列重构。骨架序列重构是指在骨骼长度确定的情况下,从数据中通过逆向运动学方法求解计算每个关节点相对其父关节的旋转角度的过程。通过最小化前向运动学损失求解逆向运动学,即通过前向运动学公式求得估计的关节位置,和已知的关节位置对比求损失。以二维的例子来解释前向运动学,如附图7所示,假设根关节(root)的坐标为原点(0,0,0),旋转角度为θ1,根关节到关节点p1的距离为l1,p1的旋转为θ2,p1到关节点p2的距离为l2,则前向运动学可以从root关节计算出p1和p2的位置,p1的位置(xp1,yp1)可以由以下公式得到:

(xp1,yp1,1)=(xroot,yroot,1)d1

同理,p2的位置(xp2,yp2)可以由以下公式计算得到:

(xp2,yp2,1)=(xp1,yp1,1)d2=(xroot,yroot,1)d1d2

通过链式相乘,可以从根节点和各个旋转平移矩阵求得各个关节点的位置,其中d1、d2分别为各个关节点的旋转平移矩阵:

逆向运动学的优化过程如下:假设pi(i=1,2)初始化旋转角度为则pi的旋转平移矩阵为因此求得pi的估计值为和已知的(xpi,ypi)的欧氏距离即为该损失:

其中

通过使用优化方法求解最优旋转角度即达到骨架序列重构的目的。

步骤4,骨架姿态迁移。骨架姿态迁移是指在已知关节点旋转角度的情况下,使用不同的关节间骨骼长度进行前向运动学计算出新的人手骨架序列的过程。步骤3中得到各个关节点旋转角度即各个关节的旋转平移矩阵已知,且目标模型的骨骼长度也已知,很容易可以通过上述的前向运动学原理计算得出整个模型骨架的拓扑结构。我们将求解得到的骨骼长度和关节旋转角度写入一个标准的bvh文件(biovisionhierarchicaldata)(或其它数据结构文件),一个标准的bvh文件包括跟关节位置、每个关节与其父关节的相对平移与初始角度,接下来每一帧分别用每一帧的各个关节的旋转角度来表示整段序列动作。

步骤5,蒙皮与绘制权重。将迁移之后的骨架与目标模型进行蒙皮的绑定,由于手部形变比较灵活,需要多个关节点同时影响相同的区域面片,故采用平滑蒙皮的方式进行绑定。由于多个关节点同时影响相同的区域面片,故需要对每个关节点周围的面片进行影响权重系数的调整,该过程称为绘制权重。在每个关键帧上会因为权重系数的不一样而导致动作扭曲和异常,所以须间隔一定帧数做一次确认(如间隔50帧),调整相应区域的权重系数,以确保动作是合理的,不产生穿透等异常现象。以maya建模软件为例子,具体过程如下:1)在maya里面选择骨架跟关节,同时选中目标模型,选择“蒙皮>绑定蒙皮”(skin>bindskin);2)将菜单集切换到“装备”模块,在蒙皮工具架中找到绘制蒙皮权重工具,双击绘制蒙皮权重工具调出工具属性栏。在属性栏中包括,排序方式:默认按层次;模式:绘制、选择、绘制选择;绘制操作等选项。在绘制模式中主要是合理切换操作模式,配合笔刷大小,深度以及权重不透明度、值的大小来重复操作,达到最终需要的适合的模型;3)选择需要刷权重的模型时,属性栏中上方的方框中会显示模型对应蒙皮的骨骼。点击任意骨骼,在模型中会对应显示骨骼所控制的模型;选择每根骨骼查看对应的蒙皮范围,并使用刷子调整;4)绘制好某个骨骼的权重后,为了避免绘制其他骨骼时受到影响,可以点击骨骼前面的锁标志,将权重锁定;5)对于权重控制明显的骨骼,可以在“窗口>常规编辑器>组件编辑器”中,通过选择点,改变对应骨骼的值。0是不控制,1是完全控制。例如root骨骼控制最底部的点,因此,最底部一圈点对应root值为1,其他骨骼均为0;6)通过以上方法,依次选择root和骨架上的所有关节,绘制权重。绘制过程中多使用平滑过渡。使用添加模式时,值设置偏小;替换模式中,设置值为0。

步骤6,骨架真实值计算。骨架姿态迁移之后结果保存有每个关节与其父关节的相对平移与旋转角度,为了得到整个骨架的拓扑姿态,从骨架的跟关节出发,根据前向运动学原理,基于初始位置与各个关节的相对旋转信息,依次计算每个关节点的三维位置,可以得到整个骨架结构下的所有关节点的三维位置。

步骤7,真实感材质纹理绘制。在现实世界中,曲面的外观由其着色方式定义,曲面着色是对象的基本材质和应用于它的任何纹理的组合。材质(也称为着色器)定义对象的基质,材质的某些最基本属性包括颜色、透明度和光泽。基本颜色、透明度和光泽之外的确定对象曲面外观的因素由纹理定义(如曲面起伏、反射等)。人手的材质是以lambert为基础,添加细微的反光属性和透明度属性,由于人手是三维的模型,需要为其贴上纹理贴图的话必须要将3d纹理映射到对应的2d空间,该过程称为“展uv贴图”,然后将相应的纹理附在2d的uv贴图上,再重新映射到3d空间。以maya为例子,可以用hypershade菜单创建带纹理的放置,然后从中间切割线进行切割,然后平铺在二维平面上,再把编辑好的相应二维贴图附上,然后映射到原始3d空间,就完成了纹理贴图的绘制与映射。

步骤8,导出并渲染。将蒙皮完毕的序列用脚本导出带材质模型,最后用渲染引擎进行渲染,如:arnold,luxrender,maxwell,octane,mitsuba,v-ray等。渲染后即得到相应的彩色图、深度图、表面法向图、手部语义分割图。

本发明还提供一种基于已有动作数据的真实感动作迁移和生成系统,其包括:

骨架数据采集模块,负责使用动作捕捉系统对被测对象进行清晰、连续的动作拍摄,以采集骨架数据;

目标模型建模模块,负责借助三维建模软件,采用多边形建模方法对目标模型进行建模;

骨架序列重构模块,负责以逆向运动学原理为基础,对采集的骨架数据进行优化重构;

骨架尺寸迁移模块,负责以前向运动学原理为基础,对骨架序列进行尺寸的迁移;

蒙皮与绘制权重模块,负责将迁移后的骨架与目标模型进行蒙皮的绑定与权重系数的绘制;

骨架真实值计算模块,负责依次计算骨架中每个关节点的三维位置;

真实感材质纹理绘制模块,负责绘制真实感材质纹理并进行纹理贴图;

导出并渲染模块,负责将蒙皮结果导出,并用渲染引擎进行渲染。

本发明主要以人手举例介绍基于已有的动作骨架数据的真实感动作迁移和生成方法,该方法可应用于人体、人脸,动物、机器人等拥有链状或非链状形变物体动作数据生成。本发明具有自动化程度高、精度高的优点,过程简洁易操作,能得到无损的骨架序列,可满足专业的或者大众化的动作迁移需求。

附图说明

图1是基于已有动作数据的真实感动作迁移和生成方法的流程图。

图2是基于已有动作数据的真实感动作迁移和生成方法的总体结构图。

图3是数据采集实施方式的鸟瞰图。

图4是骨架尺寸迁移完毕的示例图。

图5是蒙皮完毕的示例图。

图6是绘制权重完毕的示例图。

图7是二维的前向运动学示例图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。

图1是基于已有动作数据的真实感动作迁移和生成方法的流程图,如图1所示,本发明所提出的基于已有动作数据的真实感动作迁移和生成方法主要流程包括以下内容:

骨架数据采集和目标模型的搭建可以并行开展,允许一个骨架数据迁移到多个不同目标模型上,根据实际的需求确定。采集得到的骨架需要用采集设备附带的api进行处理,得到整个动作序列每一帧各个关节点的三维位置并保存。然后根据逆向运动学原理进行骨架序列的重构,即优化计算得出各个关节点的旋转角度信息,该信息需要添加一些额外的合理角度约束,如手指不能有明显的畸形与穿透现象。

在三维建模软件下面调整第一帧动作,使之与目标模型的骨头长度保持一致,再导出根据前向运动学原理,将原始序列的角度信息迁移到目标长度的骨骼上,得到目标骨骼的动作序列并导出。最后用三维建模软件进行蒙皮和绘制权重系数的操作,然后进行渲染输出。

典型的建模软件maya提供了三种方法来平滑蒙皮模型:经典线性平滑蒙皮、双四元数平滑蒙皮和混合平滑蒙皮。maya中的传统平滑蒙皮使用线性蒙皮来使网格跟随角色的关节。在腕部或肘部之类的区域中,该方法可能会导致“蝴蝶结领结”或“糖果包裹纸”效果,网格在骨骼沿其轴扭曲时会丢失体积。双四元数平滑蒙皮方法旨在消除这些不需要的变形效果。线性平滑蒙皮允许网格在骨骼扭曲时收拢或收缩,而双四元数蒙皮有助于保持网格中的体积,从而在这些问题区域中创建更逼真的变形。由于本方法的蒙皮用于人体手部的形变,不允许出现“蝴蝶结领结”或“糖果包裹纸”的结果,故本方法采用双四元数方法来平滑蒙皮模型。

在平滑蒙皮过程中,将可变形对象(如:人手)绑定到骨架。进行平滑蒙皮之后的可变形对象称为平滑蒙皮对象(或蒙皮对象、蒙皮)。可变形对象(nurbscv、多边形顶点或晶格点)的点则称为平滑蒙皮点或蒙皮点。maya会为每个可变形对象创建平滑蒙皮点集。该集包含所有可由骨架影响的点(nurbscv、多边形顶点或晶格点)。

平滑绑定蒙皮时,建模软件会为影响每个平滑蒙皮点的每个关节指定权重值。这些值可控制该关节对每个蒙皮点的影响力。通过调整这些蒙皮点权重(绘制权重),可以控制平滑蒙皮对象的变形。默认情况下,与远离蒙皮点的关节相比,距离平滑蒙皮点越近的关节,具有的影响越大。距离平滑蒙皮点最近的关节,具有的影响最大。也可以使用交互式蒙皮绑定,并使用体积操纵器来设置大致的初始权重。在交互式绑定过程中,maya会创建操纵器来表示每个影响的衰减,然后缩放和移动操纵器来设置初始权重值。

默认情况下,哪些关节具有下一个最大的影响取决于在“平滑绑定选项”(smoothbindoptions)中设置“绑定方法”(bindmethod)的方式。使用该设置可以确定是希望maya在绑定过程中考虑骨架的层次,还是在绑定过程中忽略骨架的层次。平滑蒙皮的绑定方法有:基于关节接近程度来设置权重;基于骨架层次设置权重;基于热量贴图分发权重;基于测地线体素设置权重和交互式绑定方法。由于本方法中骨架层次比较明显且有骨架驱动的连续动作,故采用基于骨架层次设置权重的方法进行平滑蒙皮的绑定。

由于人手的关节自由度较高,且互相影响因素不稳定,为了防止一些机型的形变现象,必须要将更多变形效果添加到平滑蒙皮,本方法使用maya的平滑蒙皮影响对象。

平滑蒙皮影响对象的一个重要作用是防止发生不需要的变形。平滑蒙皮完成后,可能会发现某些区域的变形超出预期,在手部的表现是:在旋转拇指关节靠近食指时,围绕食指跟关节的变形可能过度,出现内凹的现象。通过添加影响可抵消其他变形影响的影响对象,可以防止出现此类不需要的效果。例如,可以在食指跟关节区域附近添加可抵消由平滑蒙皮产生的任何过度效果的影响对象。可以使用任何形状的nurbs或多边形对象,如编辑球体形状,以便更精确地控制围绕食指跟关节处的最终变形。

图2是基于已有动作数据的真实感动作迁移和生成方法的总体结构图,如图2所示,本实施例提出的方法需要构建的数据库包括两个:骨架数据和模型数据;需要用到的软件支持有三个:motionbuilder、maya和matlab。其中motionbuilder主要用来进行骨架序列的重构,matlab主要是用程序来进行骨架尺寸的迁移,通过固定旋转信息和改变骨骼长度来实现,maya是主要的建模和蒙皮绑定软件,是该方法的核心软件。

图3是数据采集实施方式的鸟瞰图。采集设备固定在拍摄点处正对物体进行一段时间的采集,物体可以在拍摄设备视野范围内进行小范围的移动与相应的完成一些动作。

图4是骨架尺寸迁移完毕的示例。如图所示,迁移的骨架尽量保持正定姿态,也就是五指摊开的状态,这样有助于绑定蒙皮与权重的绘制,也看起来比较直观。

图5是蒙皮完毕示例图。图6是绘制蒙皮权重完毕示例图。将人手21个关节点与模型上相应的拓扑位置进行绑定并与刷好与周围的平滑蒙皮点的权重系数。图6中白色区域表示各个关节点影响权重大于零的区域,白色程度越深越接近于一,黑色表示权重系数为零的区域,其中(a)图表示手掌中心关节点的影响权重系数,(b)图表示拇指跟关节点的影响权重系数,(c)图表示食指跟关节点的影响权重系数,(d)图表示中指跟关节点的影响权重系数,(e)图表示无名指跟关节点的影响权重系数,(f)图表示小指跟关节点的影响权重系数。

图7是前向运动学原理示意图。是骨架序列重构和骨架尺寸迁移的理论基础。

现有技术一般是通过先建模,重新绑定骨架后进行关键帧的设置,该方法没有充分利用已有动作的完整性,试图先人工理解已有的动作,再进行关键帧的复现,往往导致与要求的动作不吻合,产生较大的误差;且该方法需要设置海量的关键帧,费时费力,不易实现。本发明则具有自动化程度高、精度高的优点,过程简洁易操作,能得到无损的骨架序列,可满足专业的或者大众化的动作迁移需求。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1