掌桥专利:专业的专利平台
掌桥专利
首页

动画形象生成方法、装置及电子设备

文献发布时间:2023-06-19 10:16:30


动画形象生成方法、装置及电子设备

技术领域

本申请涉及人工智能领域,尤其涉及计算机视觉、深度学习和增强现实技术领域,具体涉及一种动画形象生成方法、装置及电子设备。

背景技术

现有的动画形象生成技术通常是基于角色表情BlendShape实现,每一个最终模型由多个BlendShape系数和对应BlendShape模型线性加权合成,出于轻量化目的,可以利用蒙皮骨骼模型生成动画形象。

相关技术中,基于蒙皮骨骼模型生成动画形象通常是通过手动调整蒙皮骨骼模型的骨骼驱动系数,以实现骨骼变形,从而生成目标形状的动画形象。

发明内容

本公开提供了一种动画形象生成方法、装置及电子设备。

根据本公开的第一方面,提供了一种动画形象生成方法,包括:

获取目标对象的面片模型的第一顶点的第一位置数据,以及获取与所述面片模型同拓扑的蒙皮骨骼模型中网格蒙皮模型的第二顶点的第二位置数据和所述蒙皮骨骼模型中骨骼模型的M个节点的第一局部位姿,M为大于1的正整数;

按照所述M个节点的树状层级结构从根节点开始从高至低的顺序,分别针对每个节点,基于所述第一位置数据、第二位置数据和所述节点的第一局部位姿,确定所述节点的第二局部位姿;

基于所述M个节点的第二局部位姿调整所述M个节点的位姿,以生成所述目标对象的动画形象。

根据本公开的第二方面,提供了一种动画形象生成装置,包括:

第一获取模块,用于获取目标对象的面片模型的第一顶点的第一位置数据;

第二获取模块,用于获取与所述面片模型同拓扑的蒙皮骨骼模型中网格蒙皮模型的第二顶点的第二位置数据和所述蒙皮骨骼模型中骨骼模型的M个节点的第一局部位姿,M为大于1的正整数;

确定模块,用于按照所述M个节点的树状层级结构从根节点开始从高至低的顺序,分别针对每个节点,基于所述第一位置数据、第二位置数据和所述节点的第一局部位姿,确定所述节点的第二局部位姿;

调整模块,用于基于所述M个节点的第二局部位姿调整所述M个节点的位姿,以生成所述目标对象的动画形象。

根据本公开的第三方面,提供了一种电子设备,包括:

至少一个处理器;以及

与至少一个处理器通信连接的存储器;其中,

存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器能够执行第一方面中的任一项方法。

根据本公开的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行第一方面中的任一项方法。

根据本公开的第五方面,提供了一种计算机程序产品,当所述计算机程序产品在电子设备上运行时,所述电子设备执行第一方面中的任一项方法。

根据本申请的技术解决了动画形象生成技术中存在的动画形象生成难度比较大的问题,简化了动画形象生成的难度。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本申请的限定。其中:

图1是根据本申请第一实施例的动画形象生成方法的流程示意图;

图2是蒙皮骨骼模型的显示示意图;

图3是骨骼模型中节点的树状层级结构示意图;

图4是节点的层级关系示意图;

图5是不同层级的节点对蒙皮范围的影响示意图;

图6是对各个节点的遍历示意图;

图7是节点的位姿变化控制顶点位置的变化示意图;

图8是根据本申请第二实施例的动画形象生成装置的结构示意图;

图9是用来实现本申请实施例的动画形象生成方法的电子设备的框图。

具体实施方式

以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

第一实施例

如图1所示,本申请提供一种动画形象生成方法,包括如下步骤:

步骤S101:获取目标对象的面片模型的第一顶点的第一位置数据,以及获取与所述面片模型同拓扑的蒙皮骨骼模型中网格蒙皮模型的第二顶点的第二位置数据和所述蒙皮骨骼模型中骨骼模型的M个节点的第一局部位姿,M为大于1的正整数。

本实施例中,动画形象生成方法涉及计算机视觉、深度学习和增强现实等人工智能技术领域,其可以应用于基于图像生成个性化三维动画形象的场景。该方法可以应用于电子设备,该电子设备可以为服务器,也可以为终端,这里不做具体限定。

所述目标对象可以为一张图像,该图像中可以包括目标物体的图像数据,该目标物体可以为卡通形象如卡通人物或卡通动物等,也可以为非卡通形象,这里不做具体限定。

所述目标对象的面片模型指的是基于包括目标物体的图像数据的图像,对目标物体进行建模后的模型,该面片模型具体建模的是目标物体的外观形状。其通常采用一些连接的多边形表示,如通过一些连接的三角形表示,可以称之为三维面片模型,且多边形的每个顶点均为面片模型的第一顶点。

所述蒙皮骨骼模型可以为预先存储的物体模型,该蒙皮骨骼模型包括骨骼模型和网格蒙皮模型,如图2所示。

骨骼模型指的是物体模型中的“骨骼”按照一定层次连接后所组成的骨架结构,且各个骨骼之间的层次描述了物体的结构,如图3所示,骨骼模型由多个节点的树状层级结构组成。并且在完成建模后,将物体模型呈现给用户时,该骨骼模型是不可见的。如图2所示,蒙皮骨骼模型中骨骼模型的节点是不可见的。

网格蒙皮模型指的是物体的皮肤,是在骨骼影响下变化的一个可变形网格,通常也采用一些连接的多边形表示,并且该网格蒙皮模型中蒙皮的各顶点附着在骨骼模型中的骨骼上,使得多边形构成的蒙皮区域覆盖了骨骼模型的每个节点。如图2所示,蒙皮骨骼模型中多个连接起来的三角形表示的模型即为网格蒙皮模型,且三角形的每个顶点均为蒙皮骨骼模型的第二顶点。

所述网格蒙皮模型中的顶点受骨骼模型中的节点控制,可以变换其位置,从而可以使网格蒙皮模型变形,进而导致整个外观变形,以生成目标对象的动画形象。

所述网格蒙皮模型中的顶点根据蒙皮权重受一到多个节点控制,一个顶点受节点控制的蒙皮总权重为1,也就是说,一个顶点的位置变换是其控制节点共同作用的结果。通过节点控制顶点的位置发生变换,从而使得网格蒙皮模型的外观发生变形。

并且,一个节点可以控制多个顶点。当节点做变换时,即节点的位姿调整时,该变换会按照蒙皮权重,作用于该节点蒙皮范围内的各个顶点上。

所述面片模型和蒙皮骨骼模型同拓扑指的是,两个模型具有相同的顶点数,且蒙皮骨骼模型的顶点的相对位置和面片模型的顶点的相对位置一致,而且蒙皮骨骼模型的顶点的连接顺序也和面片模型的顶点的连接顺序一致。

所述面片模型可以通过第一顶点的顶点序列和顶点索引信息来表征,根据第一顶点的顶点序列和顶点索引信息,可以构造出目标物体的外观形状。第一顶点的顶点序列包括各个第一顶点的第一位置数据,而顶点索引信息包括各个第一顶点的点序号。所述第一位置数据可以为建模时所创建的三维空间坐标系下第一顶点的坐标数据。

通过基于包括目标物体的图像数据的图像,对目标物体进行建模,得到表征面片模型的顶点序列和顶点索引信息,从而可以基于面片模型的顶点序列,得到目标对象的面片模型的第一顶点的第一位置数据。

所述蒙皮骨骼模型为预先存储的物体模型,其骨骼模型可以通过存储的节点序列和节点的链接关系来表征。节点序列中每个节点均保存自己的局部位姿,节点的局部位姿表征该节点与其父节点的相对位置关系,从根节点之后的节点开始,可以逐层传递父节点的全局位姿,最终可以得到每个节点的全局位姿,即每个节点的绝对位置。

比如,从根节点开始,其局部位姿即是根节点的全局位姿,该根节点的子节点通过其局部位姿和根节点的全局位姿,可以计算得出该子节点的全局位姿,其他节点的全局位姿计算与根节点的子节点的全局位姿计算相似,这里不进行一一赘述。

而节点的链接关系中保存了下一个节点的地址,通过节点的链接关系,可以得到该节点的下一个节点为哪个节点。

另外,本申请实施例中提到的节点的位姿(不管是局部位姿还是全局位姿)均指的是节点的刚性位姿,节点的刚性位姿指的是三维正交空间坐标系下的位姿,其可以用三维正交坐标轴xyz的3轴平移值,3个欧拉角旋转值和3个缩放值共9个数值表示。

网格蒙皮模型可以通过第二顶点的顶点序列和顶点索引信息来表征,根据第二顶点的顶点序列和顶点索引信息,可以构造出物体的外观形状。所述第二顶点的顶点序列包括各个第二顶点的第二位置数据,而顶点索引信息包括各个第二顶点的点序号。所述第二位置数据可以为建模时所创建的三维空间坐标系下第二顶点的坐标数据。

可以通过预先存储的与所述面片模型同拓扑的蒙皮骨骼模型中骨骼模型的节点序列和网格蒙皮模型的顶点序列,获取M个节点的第一局部位姿和第二顶点的第二位置数据。其中,M个节点可以为骨骼模型中所有的节点,而第二顶点的数量也可以为网格蒙皮模型中所有顶点的数量。

步骤S102:按照所述M个节点的树状层级结构从根节点开始从高至低的顺序,分别针对每个节点,基于所述第一位置数据、第二位置数据和所述节点的第一局部位姿,确定所述节点的第二局部位姿。

所述M个节点的树状层级结构表征了由所述M个节点组成了多个层级,从根节点开始,其所处的层级为最高层级,之后,节点所处的层级依次下降,如图4所示,下一层级相对于上一层级的节点来说,其是子节点,如节点Node

针对所述M个节点,该步骤的目的是基于面片模型的第一顶点的第一位置数据,求解每个节点的骨骼驱动系数,以调整所述M个节点的位姿。相应的,通过所述M个节点的位姿变化,带动网格蒙皮模型中第二顶点的位置发生变化,从而使其外观形状发生变换,进而生成与面片模型的外观形状相似的动画形象。

节点的骨骼驱动系数可以为节点的第二局部位姿,节点的第二局部位姿表征需要将节点调整至哪个位姿时,可以控制蒙皮范围内的第二顶点的位置调整,并使之调整至与第一顶点的第一位置数据距离相近的位置,从而可以使网格蒙皮模型变形至与面片模型相似的外观形状。

由于节点位姿受父节点影响,父节点的位姿发生变化时,其节点的位姿也会跟着变换,相应的,该节点对应的蒙皮也会受到影响。因此,节点的层级不同,其影响的蒙皮范围也会不同。

参见图5,图5是不同层级的节点对蒙皮范围的影响示意图,如图5所示,以图4的树状层级结构为参照,从左至右,分别为节点Node

并且,由于网格蒙皮模型中一个第二顶点受一到多个节点控制,且一个节点可以控制多个顶点,因此,针对M个节点,其节点的第二局部位姿的计算顺序不同,会得出截然不同的结果。

比如,若先计算节点Node

因此,可以设置各节点的计算顺序,按照所述M个节点的树状层级结构,从根节点开始,使用宽度优先算法,从高至低的顺序,依次遍历各个节点,以基于第一顶点的第一位置数据、第二顶点的第二位置数据和每个节点的第一局部位姿,确定每个节点的第二局部位姿。

参见图6,图6是对各个节点的遍历示意图,如图6所示,从根节点(根节点的层级为第一层级)开始遍历,依次遍历第二层级、第三层级、第四层级和第五层级。

越高层的节点影响第二顶点的数量越多,且范围越广,会产生更稳定且缓慢的变换,而越低层的节点影响第二顶点的数量越少,会产生更具体且快速的变换。对于同拓扑的面片模型和蒙皮骨骼模型的外观形状差距比较大的情况下,自高到低的遍历方式可以获得更加鲁棒的结果。

步骤S103:基于所述M个节点的第二局部位姿调整所述M个节点的位姿,以生成所述目标对象的动画形象。

该步骤中,所述M个节点的第二局部位姿即为蒙皮骨骼模型的骨骼驱动系数,通过所述M个节点的第二局部位姿,可以调整所述M个节点的位姿,使各个节点的位姿调整至与第二局部位姿对应的位姿。

相应的,可以控制网格蒙皮模型中第二顶点的位置发生变化,其变化后的位置由节点的初始局部位姿即第一局部位姿和调整后的局部位姿即第二局部位姿决定,从而可以生成所述目标对象的动画形象,且该动画形象的外观形状与面片模型的外观形状相似。

本实施例中,通过获取目标对象的面片模型,按照蒙皮骨骼模型中骨骼模型中节点的树状层级结构,从根节点开始从高至底的顺序,依次遍历每个节点。且针对每个节点,基于面片模型中第一顶点的第一位置数据、蒙皮骨骼模型中网格蒙皮模型中第二顶点第二位置数据以及每个节点的第一局部位姿,计算每个节点的骨骼驱动系数,这样可以基于所有节点的骨骼驱动系数,驱动蒙皮骨骼模型的外观形状变形。如此,可以基于蒙皮骨骼模型,自动化地生成与面片模型相似外观形状的动画形象,简化了动画形象的生成难度。

并且,仅传递骨骼驱动系数,即可驱动蒙皮骨骼模型的外观形状变形,快速生成动画形象,因此,网络传输流量小,可以非常轻量级地驱动蒙皮骨骼模型的外观,而且可以缩减动画形象生成的应用程序包大小,有利于在移动端部署。

可选的,所述节点的第二局部位姿为,使所述第二顶点与所述第一顶点之间的位置距离差值达到所述节点对应的位置距离差值中最小值的局部位姿。

本实施方式中,所述节点的第二局部位姿表征节点调整位姿后的局部位姿,调整过程中,可以控制网格蒙皮模型中第二顶点的位置发生变化,且变化后的位置与节点的第二局部位姿有关。

为了使蒙皮骨骼模型的外观形状与面片模型的外观形状达到非常相似,所述节点的第二局部位姿需要满足,可以控制网格蒙皮模型中的第二顶点调整位置,使第二顶点与第一顶点之间的位置距离差值达到最小。此时,使所述第二顶点与所述第一顶点之间的位置距离差值达到所述节点对应的位置距离差值中最小值的局部位姿,即为节点的第二局部位姿,该第二局部位姿为该节点的最优骨骼驱动系数。

在具体实现过程中,可以通过最小值极值函数求解节点的最优骨骼驱动系数,如公式(1)所示。

其中,上式(1)中,VertexA'

其中,第二顶点进行调整后的位置数据可以由第二顶点的第二位置数据、节点的第一局部位姿和预设局部位姿计算得到。其中,初始化时,预设局部位姿可以为默认好的骨骼驱动系数,而且针对每个节点,均可以默认设置一个初始化的骨骼驱动系数。

函数argmin()即是求解在网格蒙皮模型中第二顶点与面片模型中第一顶点之间的位置距离差值达到最小时的预设局部位姿,此时,该预设局部位姿即为该节点的第二局部位姿,也即是该节点的最优骨骼驱动系数。

本实施方式中,通过求解每个节点的最优骨骼驱动系数,使之调整位置后的所述第二顶点与所述第一顶点之间的位置距离差值达到最小,这样,可以基于所述M个节点的最优骨骼驱动系数,驱动蒙皮骨骼模型变形,从而可以生成外观形状与面片模型非常相似的动画形状。

可选的,所述步骤S102具体包括:

基于第一目标节点的第一局部位姿和第二目标节点的第一局部位姿,确定所述第一目标节点的第一全局位姿,所述第一目标节点为所述M个节点中除所述根节点之外的任一节点,所述第二目标节点为所述M个节点中目标层级的节点,所述目标层级高于所述第一目标节点的层级;

基于所述第一目标节点的父节点的第二局部位姿,确定所述父节点的第二全局位姿;

基于所述父节点的第二全局位姿和所述第一目标节点的第一全局位姿,确定所述第一目标节点的第二局部位姿。

本实施方式中,所述第一目标节点为所述M个节点中除所述根节点之外的任一节点,且针对所述M个节点中除所述根节点之外的任一节点,其节点的第二局部位姿的确定方式类似,这里以第一目标节点为例进行说明。

如上述描述可知,节点序列中每个节点均保存自己的局部位姿,节点的局部位姿表征该节点与其父节点的相对位置关系,从根节点之后的节点开始,可以逐层传递父节点的全局位姿,最终可以得到每个节点的全局位姿。

具体的,可以基于高层级的节点的第一局部位姿,逐层传递父节点的全局位姿,首先得到第一目标节点的父节点的全局位姿,然后,基于父节点的全局位姿和第一目标节点的第一局部位姿,确定所述第一目标节点的第一全局位姿。

在具体实现中,全局位姿和局部位姿均可以用刚性位姿矩阵表征,刚性位姿矩阵可以为一个4x 4的矩阵,里面包含有三维空间的刚性位姿。其中,位姿和刚性位姿矩阵可以相互转换,通过将表征第一目标节点的父节点的全局位姿的刚性位姿矩阵与表征第一目标节点的第一局部位姿的刚性位姿矩阵相乘,可以得到第一目标节点的第一全局位姿。

需要说明的是,第一目标节点的第一全局位姿为第一目标节点的初始位姿。

由于是按照所述M个节点的树状层级结构从根节点开始从高至低的顺序,依次计算得出节点的第二局部位姿,因此,在遍历第一目标节点之前,已经遍历好了第一目标节点的父节点,即已经得到了第一目标节点的父节点的第二局部位姿。

为了使蒙皮骨骼模型每遍历一次,可以使第二顶点与第一顶点之间的位置距离差值越来越小,可以将第一目标节点的父节点的第二局部位姿应用于蒙皮骨骼模型中,使网格蒙皮模型中受所述第一目标节点的父节点所影响的第二顶点调整至相应位置,驱动蒙皮骨骼模型变形,这样后续低层级的节点的第二局部位姿可以基于父节点的第二局部位姿确定。

具体的,在得到高层中各节点的第二局部位姿之后,可以逐层进行传递,得到相对于所述第一目标节点的父节点来说,更高层的节点的全局位姿,然后,可以基于所述第一目标节点的父节点的第二局部位姿和更高层的全局位姿,确定所述父节点的第二全局位姿。

之后,可以基于所述父节点的第二全局位姿和所述第一目标节点的第一全局位姿,确定所述第一目标节点的第二局部位姿,具体实现方式在下一实施方式中进行详细说明。

本实施方式中,在确定第一目标节点的父节点的第二局部位姿之后,可以将第一目标节点的父节点的第二局部位姿应用于蒙皮骨骼模型中,使网格蒙皮模型中受所述第一目标节点的父节点所影响的第二顶点调整至相应位置,驱动蒙皮骨骼模型变形。这样,后续低层级的节点如第一目标节点的第二局部位姿可以基于父节点的第二局部位姿确定,如此可以逐层递归确定每个节点的第二局部位姿,减少节点的第二局部位姿的计算难度。

可选的,所述基于所述父节点的第二全局位姿和所述第一目标节点的第一全局位姿,确定所述第一目标节点的第二局部位姿,包括:

基于所述父节点的第二全局位姿和所述第一目标节点的预设局部位姿,确定所述第一目标节点的第二全局位姿;

基于所述第一目标节点的第一全局位姿和第二全局位姿,确定所述第一目标节点的位姿变换矩阵;

基于所述位姿变换矩阵和所述第二顶点的第二位置数据,确定所述第二顶点的第三位置数据;

基于所述第一位置数据和第三位置数据对所述预设局部位姿进行更新,以得到所述第一目标节点的第二局部位姿。

本实施方式中,初始化计算时,可以为所有节点设置默认的预设局部位姿,可以基于所述父节点的第二全局位姿和第一目标节点的预设局部位姿,确定所述第一目标节点的第二全局位姿,如公式(2)所示。

currentNode

其中,上式(2)中,j表示节点的序号,其可以为第一目标节点,currentNode

localTRS

为了驱动蒙皮骨骼模型变形,使之生成与面片模型的外观形状相似的动画形象,需要将第一目标节点的位姿从第一全局位姿变换至第二全局位姿,即所述第一目标节点的第二全局位姿为位姿变换的目标。

基于所述第一目标节点的第一全局位姿和第二全局位姿,即可以确定第一目标节点的位姿变换矩阵,如公式(3)所示。

Derform

其中,initNode

所述第一目标节点通过所述位姿变换矩阵变换至另一个位姿的情况下,可以控制其蒙皮范围内的第二顶点的位置发生变化,蒙皮骨骼模型的外观形状由每个顶点的位置决定。

参见图7,图7是节点的位姿变化控制顶点位置的变化示意图,如图7所示,节点Node

另外,由于节点位姿受父节点影响,因此,变换父节点的位姿时,其低层级的第二顶点也均会受到影响,因此,相对于一个第二顶点,其受到多个节点的控制,且对于多个节点的控制,其蒙皮总权重为1。

第二顶点的第三位置数据可以由如公式(4)计算。

其中,VertexA'

由上式(4)可知,每一个第二顶点的第三位置数据由相关节点的蒙皮权重和位姿变换矩阵相乘的和,并乘到初始的第二位置数据上实现的。

之后,基于所述第一位置数据和第三位置数据,对所述预设局部位姿进行更新,以得到

本实施方式中,通过基于第一目标节点的父节点的第二全局位姿和所述第一目标节点的第一全局位姿,确定第一目标节点的位姿变换矩阵,继而基于位姿变换矩阵,确定第二顶点的第三位置数据。如此,可以基于第一位置数据和第三位置数据对所述预设局部位姿进行更新,从而能够求解得到使第一位置数据和第三位置数据之间的距离差值达到最小时的第一目标节点的第二局部位姿。

可选的,所述基于所述第一位置数据和第三位置数据对所述预设局部位姿进行更新,以得到所述第一目标节点的第二局部位姿,包括:

基于所述第一位置数据和第三位置数据,确定所述第二顶点与所述第一顶点之间的位置距离差值;

基于所述位置距离差值更新所述预设局部位姿,以得到所述第一目标节点对应的多个位置距离差值;并在所述位置距离差值达到所述第一目标节点对应的多个位置距离差值中最小的位置距离差值的情况下,将最小的位置距离差值对应的所述预设局部位姿确定为所述第一目标节点的第二局部位姿。

本实施方式中,可以基于

可选的,所述第二顶点的数量包括多个,所述基于所述位姿变换矩阵和所述第二顶点的第二位置数据,确定所述第二顶点的第三位置数据,包括:

针对所述第一目标节点和第三目标节点的蒙皮范围内的多个第二顶点,基于所述位姿变换矩阵、所述第一目标节点和第三目标节点分别对每个第二顶点的蒙皮权重和每个第二顶点的第二位置数据,确定每个第二顶点的第三位置数据,所述第三目标节点为所述第一目标节点的子节点;

所述基于所述第一位置数据和第三位置数据对所述预设局部位姿进行更新,以得到所述第一目标节点的第二局部位姿,包括:

基于所述多个第二顶点对应的第一顶点的第一位置数据和所述多个第二顶点的第三位置数据,对所述预设局部位姿进行更新,以得到所述第一目标节点的第二局部位姿。

本实施方式中,由于节点位姿受父节点影响,父节点位姿发生变化时,其子节点的蒙皮范围内的顶点均会受到影响,而针对父节点的高层级节点的蒙皮范围内的顶点受到的影响小。这样,针对一个节点,通常只有其蒙皮范围内以及低层级节点的蒙皮范围内的第二顶点会受到影响,因此,可以根据第一目标节点以及相对于第一目标节点来说低层级节点蒙皮范围内的所有第二顶点,确定这些第二顶点的第三位置数据。

之后,可以基于这些第二顶点的第三位置数据和对应的第一顶点的第一位置数据,对预设局部位姿进行更新,以得到所述第一目标节点的第二局部位姿,如此,可以减少计算量,优化计算资源。

第二实施例

如图8所示,本申请提供一种动画形象生成装置800,包括:

第一获取模块801,用于获取目标对象的面片模型的第一顶点的第一位置数据;

第二获取模块802,用于获取与所述面片模型同拓扑的蒙皮骨骼模型中网格蒙皮模型的第二顶点的第二位置数据和所述蒙皮骨骼模型中骨骼模型的M个节点的第一局部位姿,M为大于1的正整数;

确定模块803,用于按照所述M个节点的树状层级结构从根节点开始从高至低的顺序,分别针对每个节点,基于所述第一位置数据、第二位置数据和所述节点的第一局部位姿,确定所述节点的第二局部位姿;

调整模块804,用于基于所述M个节点的第二局部位姿调整所述M个节点的位姿,以生成所述目标对象的动画形象。

可选的,其中,所述节点的第二局部位姿为,使所述第二顶点与所述第一顶点之间的位置距离差值达到所述节点对应的位置距离差值中最小值的局部位姿。

可选的,其中,所述确定模块803包括:

第一确定单元,用于基于第一目标节点的第一局部位姿和第二目标节点的第一局部位姿,确定所述第一目标节点的第一全局位姿,所述第一目标节点为所述M个节点中除所述根节点之外的任一节点,所述第二目标节点为所述M个节点中目标层级的节点,所述目标层级高于所述第一目标节点的层级;

第二确定单元,用于基于所述第一目标节点的父节点的第二局部位姿,确定所述父节点的第二全局位姿;

第三确定单元,用于基于所述父节点的第二全局位姿和所述第一目标节点的第一全局位姿,确定所述第一目标节点的第二局部位姿。

可选的,其中,所述第三确定单元包括:

第一确定子单元,用于基于所述父节点的第二全局位姿和所述第一目标节点的预设局部位姿,确定所述第一目标节点的第二全局位姿;

第二确定子单元,用于基于所述第一目标节点的第一全局位姿和第二全局位姿,确定所述第一目标节点的位姿变换矩阵;

第三确定子单元,用于基于所述位姿变换矩阵和所述第二顶点的第二位置数据,确定所述第二顶点的第三位置数据;

更新子单元,用于基于所述第一位置数据和第三位置数据对所述预设局部位姿进行更新,以得到所述第一目标节点的第二局部位姿。

可选的,其中,所述更新子单元,具体用于基于所述第一位置数据和第三位置数据,确定所述第二顶点与所述第一顶点之间的位置距离差值;基于所述位置距离差值更新所述预设局部位姿,以得到所述第一目标节点对应的多个位置距离差值;并在所述位置距离差值达到所述第一目标节点对应的多个位置距离差值中最小的位置距离差值的情况下,将最小的位置距离差值对应的所述预设局部位姿确定为所述第一目标节点的第二局部位姿。

可选的,其中,所述第二顶点的数量包括多个,所述第三确定子单元,具体用于针对所述第一目标节点和第三目标节点的蒙皮范围内的多个第二顶点,基于所述位姿变换矩阵、所述第一目标节点和第三目标节点分别对每个第二顶点的蒙皮权重和每个第二顶点的第二位置数据,确定每个第二顶点的第三位置数据,所述第三目标节点为所述第一目标节点的子节点;

所述更新子单元,具体用于基于所述多个第二顶点对应的第一顶点的第一位置数据和所述多个第二顶点的第三位置数据,对所述预设局部位姿进行更新,以得到所述第一目标节点的第二局部位姿。

本申请提供的动画形象生成装置800能够实现上述动画形象生成方法实施例实现的各个过程,且能够达到相同的有益效果,为避免重复,这里不再赘述。

根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。

如图9所示,是根据本申请实施例的动画形象生成方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

如图9所示,该电子设备包括:一个或多个处理器901、存储器902,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器901为例。

存储器902即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的动画形象生成方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的动画形象生成方法。

存储器902作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的动画形象生成方法对应的程序指令/模块(例如,附图8所示的第一获取模块801、第二获取模块802、确定模块803和调整模块804)。处理器901通过运行存储在存储器902中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的动画形象生成方法。

存储器902可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据本申请实施例的方法的电子设备的使用所创建的数据等。此外,存储器902可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器902可选包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至动画形象生成方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

本申请实施例的方法的电子设备还可以包括:输入装置903和输出装置904。处理器901、存储器902、输入装置903和输出装置904可以通过总线或者其他方式连接,图9中以通过总线连接为例。

输入装置903可接收输入的数字或字符信息,以及产生与本申请实施例的方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置904可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务("Virtual Private Server",或简称"VPS")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。

本实施例中,通过获取目标对象的面片模型,按照蒙皮骨骼模型中骨骼模型中节点的树状层级结构,从根节点开始从高至底的顺序,依次遍历每个节点。且针对每个节点,基于面片模型中第一顶点的第一位置数据、蒙皮骨骼模型中网格蒙皮模型中第二顶点第二位置数据以及每个节点的第一局部位姿,计算每个节点的骨骼驱动系数,这样可以基于所有节点的骨骼驱动系数,驱动蒙皮骨骼模型的外观形状变形。如此,可以基于蒙皮骨骼模型,自动化地生成与面片模型相似外观形状的动画形象,简化了动画形象的生成难度。因此,根据本申请实施例的技术方案,很好地解决了动画形象生成技术中存在的动画形象生成难度比较大的问题。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

相关技术
  • 动画形象生成方法、装置及电子设备
  • 一种气象预测模型的生成方法、生成装置、生成系统及电子设备
技术分类

06120112479149