CN110136232B - 骨骼蒙皮动画的处理方法、装置、电子设备及存储介质 - Google Patents
骨骼蒙皮动画的处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110136232B CN110136232B CN201910410610.1A CN201910410610A CN110136232B CN 110136232 B CN110136232 B CN 110136232B CN 201910410610 A CN201910410610 A CN 201910410610A CN 110136232 B CN110136232 B CN 110136232B
- Authority
- CN
- China
- Prior art keywords
- bone
- position information
- root
- frame image
- current frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/40—3D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供了骨骼蒙皮动画的处理方法、装置、电子设备及存储介质,包括:获取目标物体模型的运动状态信息,目标物体模型包括骨骼模型和网格蒙皮模型,骨骼模型中包括根骨骼和非根骨骼;确定根骨骼的实际位置信息和第一位置信息;进而确定每根非根骨骼在当前帧图像中的实际位置信息;基于网格蒙皮模型中蒙皮的各顶点与骨骼的绑定关系,以及每根骨骼的实际位置信息,确定目标物体模型的三维状态信息,该骨骼包括根骨骼和非根骨骼。在本申请实施例中,在建模的过程时仅考虑到了位置和重力,降低了计算量,进而计算量有限的终端设备也可以很好完成对目标物体的建模。
Description
技术领域
本申请涉及动画处理的技术领域,具体而言,本发明涉及一种骨骼蒙皮动画的处理方法、装置、电子设备及存储介质。
背景技术
随着智能终端设备的发展,目前很多手机相继推出了表情功能。该功能可以让画面里的卡通人物随着人的表情进行变化,为了增强卡通形象的逼真性和趣味性,该功能对卡通形象的耳朵,头发等柔软的东西进行了物理建模。由于柔软的东西在运动时存在惯性,会自然弯曲,并且可以根据重力产生变化,因此,对存在柔软的东西进行物理建模是个很复杂的事情,并且会存在很大的计算量。但是,由于目前的手机等低端终端设备的计算量是有限的,因此可能导致得到的物理模型的效果不是很好。因此,目前急需一种降低计算量的建模方案,以解决计算量有限的终端设备所建立的物理模型的效果不是很好的问题。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一。
第一方面,本申请实施例提供了一种骨骼蒙皮动画的处理方法,该方法包括:
获取目标物体模型在当前帧图像中的运动状态信息,目标物体模型包括目标物体的骨骼模型和网格蒙皮模型,骨骼模型中包括根骨骼和非根骨骼;
确定根骨骼在当前帧图像中的实际位置信息;
根据运动状态信息、每根非根骨骼在上一帧图像中的实际位置信息,以及每根非根骨骼的柔软系数,确定每根非根骨骼的第一位置信息;
根据每根非根骨骼的第一位置信息、骨骼模型的骨骼层次结构、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息;
基于所述网格蒙皮模型中蒙皮的各顶点与骨骼的绑定关系,以及每根骨骼在当前帧图像中的实际位置信息,确定所述目标物体模型在当前帧图像中的三维状态信息,该骨骼包括根骨骼和非根骨骼。
第一方面可选的实施例中,根据运动状态信息、每根非根骨骼在上一帧图像中的实际位置信息,以及每根非根骨骼的柔软系数,确定每根非根骨骼的第一位置信息,包括:
基于运动状态信息,以及每根非根骨骼在上一帧图像中的实际位置信息,确定每根非根骨骼的第二位置信息;
基于每根非根骨骼在上一帧图像中的实际位置信息、每根非根骨骼的第二位置信息以及每根非根骨骼的柔软系数,确定每根非根骨骼的第一位置信息。
第一方面可选的实施例中,根据每根非根骨骼的第一位置信息、骨骼模型的骨骼层次结构、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息,包括:
根据每根非根骨骼的第一位置信息、每根非根骨骼的父骨骼在当前帧图像中的实际位置信息、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息;
其中,每根非根骨骼的父骨骼在当前帧图像中的实际位置信息是根据根骨骼的实际位置信息和骨骼模型的骨骼层次结构确定出的。
第一方面可选的实施例中,基于下列方式确定每根非根骨骼的第一位置信息:
P_now_1=(P_pred*p+P_rigid*(1-p))/||P_pred*p+P_rigid*(1-p)||
其中,P_now_1表示每根非根骨骼的第一位置信息、P_pred表示每根非根骨骼的第二位置信息、P_rigid表示每根非根骨骼在上一帧图像中的实际位置信息、p表示每根非根骨骼的柔软系数。
第一方面可选的实施例中,根据每根非根骨骼的第一位置信息、每根非根骨骼的父骨骼在当前帧图像中的实际位置信息、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息,包括:
基于每根非根骨骼的父骨骼在当前帧图像中的实际位置信息,确定每根非根骨骼的第三位置信息;
根据每根非根骨骼的第三位置信息、每根非根骨骼的第一位置信息以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息。
第一方面可选的实施例中,基于下列方式确定每根非根骨骼在当前帧图像中的实际位置信息:
P_now_2=(P_origin*k+P_now_1*(1-k))/||P_origin*k+P_now_1*(1-k)||
其中,P_now_2表示每根非根骨骼在当前帧图像中的实际位置信息、P_now_1表示每根非根骨骼的第一位置信息、P_origin表示每根非根骨骼的第三位置信息、k表示每根骨骼的重力系数。
第一方面可选的实施例中,运动状态信息包括目标物体模型的位移和旋转角度。
第二方面,本申请实施例提供了一种骨骼蒙皮动画的处理装置,该装置包括:
运动状态信息获取模块,用于获取目标物体模型在当前帧图像中的运动状态信息,目标物体模型包括目标物体的骨骼模型和网格蒙皮模型,骨骼模型中包括根骨骼和非根骨骼;
骨骼位置信息确定模块,用于确定根骨骼在当前帧图像中的实际位置信息,以及根据运动状态信息、每根非根骨骼在上一帧图像中的实际位置信息,以及每根非根骨骼的柔软系数,确定每根非根骨骼的第一位置信息,根据每根非根骨骼的第一位置信息、骨骼模型的骨骼层次结构、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息
目标物体模型信息确定模块,用于基于所述网格蒙皮模型中蒙皮的各顶点与骨骼的绑定关系,以及每根骨骼在当前帧图像中的实际位置信息,确定所述目标物体模型在当前帧图像中的三维状态信息,该骨骼包括根骨骼和非根骨骼。
第二方面可选的实施例中,骨骼位置信息确定模块在根据运动状态信息、每根非根骨骼在上一帧图像中的实际位置信息,以及每根非根骨骼的柔软系数,确定每根非根骨骼的第一位置信息时,具体用于:
基于运动状态信息,以及每根非根骨骼在上一帧图像中的实际位置信息,确定每根非根骨骼的第二位置信息;以及基于每根非根骨骼在上一帧图像中的实际位置信息、每根非根骨骼的第二位置信息以及每根非根骨骼的柔软系数,确定每根非根骨骼的第一位置信息。
第二方面可选的实施例中,骨骼位置信息确定模块在根据每根非根骨骼的第一位置信息、骨骼模型的骨骼层次结构、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息时,具体用于:
根据每根非根骨骼的第一位置信息、每根非根骨骼的父骨骼在当前帧图像中的实际位置信息、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息;
其中,每根非根骨骼的父骨骼在当前帧图像中的实际位置信息是根据根骨骼的实际位置信息和骨骼模型的骨骼层次结构确定出的。
第二方面可选的实施例中,骨骼位置信息确定模块基于下列方式确定每根非根骨骼的第一位置信息:
P_now_1=(P_pred*p+P_rigid*(1-p))/||P_pred*p+P_rigid*(1-p)||
其中,P_now_1表示每根非根骨骼的第一位置信息、P_pred表示每根非根骨骼的第二位置信息、P_rigid表示每根非根骨骼在上一帧图像中的实际位置信息、p表示每根非根骨骼的柔软系数。
第二方面可选的实施例中,骨骼位置信息确定模块在根据每根非根骨骼的第一位置信息、每根非根骨骼的父骨骼在当前帧图像中的实际位置信息、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息时,具体用于:
基于每根非根骨骼的父骨骼在当前帧图像中的实际位置信息,确定每根非根骨骼的第三位置信息;以及根据每根非根骨骼在的第三位置信息、每根非根骨骼的第一位置信息以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息。
第二方面可选的实施例中,骨骼位置信息确定模块基于下列方式确定每根非根骨骼在当前帧图像中的实际位置信息:
P_now_2=(P_origin*k+P_now_1*(1-k))/||P_origin*k+P_now_1*(1-k)||
其中,P_now_2表示每根非根骨骼在当前帧图像中的实际位置信息、P_now_1表示每根非根骨骼的第一位置信息、P_origin表示每根非根骨骼的第三位置信息、k表示每根骨骼的重力系数。
第二方面可选的实施例中,运动状态信息包括目标物体模型的位移和旋转角度。
第三方面,提供了一种电子设备,该电子设备包括:
处理器;以及
存储器,配置用于存储机器可读指令,指令在由处理器执行时,使得处理器执行第一方面实施例中任一项的方法。
第四方面,提供了一种计算机存储介质,计算机存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行第一方面实施例中任一项的方法。
本申请实施例提供的技术方案带来的有益效果是:
在本申请实施例中,可以先假设目标物体只受惯性因素的影响,不受重力因素的影响,得出每根非根骨骼在当前帧图像中的位置信息,然后再考虑到重力因素得到每根非根骨骼在当前帧图像中的实际位置信息,进而完成对目标物体的建模。由于在本申请实施例中,在对目标物体建模的过程时,仅考虑到了位置因素和重力因素,因此在建模的过程中可以降低计算量,进而可以将计算量和模型所呈现的效果得到有效地平衡,因此,当一些计算量有限的终端设备在采用本申请实施例中的方法对目标物体进行建模时,也可以很好的完成对目标物体的建模。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种目标物体模型示意图;
图2为本申请实施例提供的一种网格蒙皮模型示意图;
图3为本申请实施例提供的一种骨骼蒙皮动画的处理方法的流程示意图;
图4为本申请实施例提供的一种骨骼层次结构示意图;
图5a为本申请实施例提供的一种非根骨骼的第一位置信息的示意图;
图5b为本申请实施例提供的另一种非根骨骼的第一位置信息的示意图;
图6为本申请实施例提供的一种骨骼蒙皮动画的处理装置的结构示意图;
图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
首先对本申请涉及的几个名词进行介绍和解释:
目标物体模型:指的是对目标物体建模后的模型,如需要对图1中所示的卡通形象进行建模,此时图1中所示的卡通形象的模型即为目标物体模型。在实际应用中,目标物体中有些部分在运动时存在运动惯性、会产生自然弯曲,并且可以根据重力,通常情况下,若“反应速度”越慢,惯性越大,越柔软。如图1中所示的卡通形象中的耳朵、头发等部分在运动时存在运动惯性、可以产生自然弯曲,并且可以根据重力发生变化。
骨骼模型:指的是目标物体模型中的“骨骼”按照一定层次连接后所组成的骨架结构,且各个骨骼之间的层次描述了目标物体的结构,并且在完成建模后,将目标物体模型呈现给用户时,该骨骼模型是不可见的。如在对图1中所示的卡通形象进行建模时,该卡通形象的模型中包括骨骼模型,但是在建模完成后,所呈现给用户的效果图则如图1所示,此时所包括的骨骼模型不可见。
网格蒙皮模型:指的目标物体的皮肤,是在骨骼影响下变化的一个可变型网络,通常采用一些连接的多边形表示,并且该网格蒙皮模型中蒙皮的各顶点附着在骨骼模型中的骨骼上,如图2中兔子模型中的多个连接起来的三角形。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例提供了一种骨骼蒙皮动画的处理方法,如图3所示,该方法包括:
步骤101,获取目标物体模型在当前帧图像中的运动状态信息,目标物体模型包括目标物体的骨骼模型和网格蒙皮模型,骨骼模型中包括根骨骼和非根骨骼。
在实际应用中,可以根据实际需要预先设置目标物体模型在每一帧图像中的运动状态信息,在需要获取目标物体模型在当前帧图像中的运动状态信息时,则可以直接从预先配置的运动状态信息中获取。
在本申请可选的实施例中,运动状态信息包括目标物体模型的位移和旋转角度。
其中,目标物体模型的位移和旋转角度指的是:目标物体模型在当前帧图片中的位置,相对于目标物体模型在上一帧图像时的位置所产生的位移和旋转角度,而每一帧图像中目标物体模型的位移和旋转角度可以预先配置并存储,在需要获取某一帧图像中目标物体模型的位移和旋转角度时可以直接获取。在实际应用中,目标物体模型的位移通常为3D位移(dx,dy,dz),旋转角度为3D旋转角度(α,β,θ)。
在实际应用中,骨骼模型中可以包括在各关键点设置对应的骨骼点,然后将各骨骼点进行连接,得到骨骼与骨骼之间的骨骼链。在实际应用中,骨骼模型中可以包括多个骨骼,各骨骼之间可能具有自身的父骨骼和子骨骼,可能一些骨骼只有父骨骼而不具有子骨骼,也可能一些骨骼只具有子骨骼而不具有父骨骼。其中,只有子骨骼的骨骼称为根骨骼,只有父骨骼的骨骼称为末端骨骼,处于末端骨骼和根骨骼之间的骨骼即具有自身的父骨骼,也具有自身的子骨骼。
例如,如图4所示,骨骼点0和骨骼点1之间的连线表示骨骼L1,骨骼点1和骨骼点2之间的连线表示骨骼L2,骨骼点1和骨骼点3之间的连线表示骨骼L3,骨骼点2和骨骼点4之间的连线表示骨骼L4,骨骼点3和骨骼点5之间的连线表示骨骼L5,骨骼点3和骨骼点6之间的连线表示骨骼L6。其中,骨骼L1为骨骼模型中的根骨骼,该根骨骼只具有子骨骼,即骨骼L2和骨骼L3;骨骼L2、骨骼L3、骨骼L4、骨骼L5和骨骼L6为非根骨骼;骨骼L4、骨骼L5和骨骼L6为该骨骼模型中的末端骨骼,这类骨骼只具有父骨骼,其中,骨骼L2为骨骼L4的父骨骼,骨骼L3为骨骼L5和骨骼L6的父骨骼;针对骨骼L2,骨骼L1为其父骨骼,骨骼L4为其子骨骼;针对骨骼L3,骨骼L1为其父骨骼,骨骼L5和骨骼L6为其子骨骼。
步骤102、确定根骨骼在当前帧图像中的实际位置信息。
在实际应用中,在获取到目标物体模型在当前帧图像中的运动状态信息后,可以确定根骨骼在当前帧图像中的实际位置信息。一种可选的实施方式为:根据运动状态信息和根骨骼在上一帧图像中的实际位置信息,确定根骨骼在当前帧图像中的实际位置信息;
也就是说,在获取到目标物体模型在当前帧图像中的运动状态信息后,还可以获取骨骼模型中的根骨骼在上一帧图像中的实际位置信息,然后基于运动状态信息和根骨骼在上一帧图像中的实际位置信息,得到根骨骼在当前帧图像中的实际位置信息。
其中,基于运动状态信息和根骨骼在上一帧图像中的实际位置信息,确定根骨骼在当前帧图像中的实际位置信息的具体实现方式,可以根据实际需求设置,本申请实施例在此就不再赘述。比如,在获取到位移和旋转角度,以及根骨骼在上一帧图像中的实际位置信息之后,可以将根骨骼在上一帧图像中的实际位置加上获取到的位移和旋转角度,得到根骨骼在当前帧图像中的实际位置信息。
步骤103,根据运动状态信息、每根非根骨骼在上一帧图像中的实际位置信息,以及每根非根骨骼的柔软系数,确定每根非根骨骼的第一位置信息。
在本申请实施例中,在对目标物体进行建模时,为了降低计算量,对于目标物体模型中的非根骨骼,可以先假设目标物体只受惯性因素的影响,不受重力因素的影响,仅考虑目标物体模型中每根非根骨骼在当前帧图像中的位置,并将其它相关因素(如力、加速度、速度等)转化为位置之间的关系,来确定每根非根骨骼的在当前帧图像中的位置信息(即第一位置信息)。
其中,每根非根骨骼的柔软系数表征了每根骨骼受惯性影响的程度,当受惯性的影响越大时,物体越柔软,此时柔软系数的取值越高。在实际应用中,每根非根骨骼的柔软系数具体为多少,可以基于实际需要预先配置,通常可以设置为为0~1之间的数值。
步骤104,根据每根非根骨骼的第一位置信息、骨骼模型的骨骼层次结构、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息。
其中,骨骼模中的骨骼层次结构用于表征每根骨骼的与其它骨骼之间的层次关系,如针对其中的一个骨骼,基于该骨骼层次结构可以已知该骨骼的子骨骼为哪个或哪些骨骼,该骨骼的父骨骼为哪个或哪些骨骼。
在实际应用中,每根非根骨骼在当前帧图像中的实际位置信息的确定顺序,通常可以基于骨骼模型中的骨骼层次结构依次确定,即先确定出根骨骼在当前帧图像中的实际位置信息,然后基于骨骼层次结构确定根骨骼的子骨骼为哪个或哪些骨骼,然后确定根骨骼的子骨骼在当前帧图像中的实际位置信息;进一步的,根骨骼的子骨骼作为父骨骼,再基于骨骼模型中的骨骼层次结构确定该父骨骼的子骨骼为哪个或哪些骨骼,再确定该父骨骼的子骨骼在当前帧图像中的实际位置信息,依次类推,直至确定出目标物体模型中每根非根骨骼在当前帧图像中的实际位置信息。
其中,在确定每根非根骨骼在当前帧图像中的实际位置信息时,根据根骨骼在当前帧图像中的实际位置信息、根骨骼的子骨骼(其为非根骨骼)的第一位置信息、根骨骼的子骨骼的重力系数,确定出根骨骼的子骨骼在当前帧图像中的实际位置信息;进一步的,将根骨骼的子骨骼作为父骨骼,根据根骨骼的子骨骼在当前帧图像中的实际位置信息,根骨骼的子骨骼作为父骨骼时,其子骨骼(其为非根骨骼)的第一位置信息,以及其子骨骼重力系数,确定出其子骨骼在当前帧图像中的实际位置信息,依次类推,直至确定出目标物体模型中每根非根骨骼在当前帧图像中的实际位置信息。
其中,重力系数指的是骨骼受到重力的影响程度,每根骨骼的重力系数可以根据实际需要预先设置,通常情况时,为了保证目标物体模型的效果更好,可以将离根骨骼越近的骨骼的重力系数设置的越小;而每根非根骨骼的第一位置信息即为每根非根骨骼基于步骤102所得到的第一位置信息。
步骤105,基于所述网格蒙皮模型中蒙皮的各顶点与骨骼的绑定关系,以及每根骨骼在当前帧图像中的实际位置信息,确定所述目标物体模型在当前帧图像中的三维状态信息,该骨骼包括根骨骼和非根骨骼。
其中,三维状态信息指的是在具有长、宽、高三种度量的空间内,用于表征目标物体模型在当前帧图像中所在位置的信息,即可以基于该三维状态信息可以确定目标物体模型在当前帧图像中的位置,并且最终目标物体模型在当前帧图像中所呈现给用户的效果为三维立体的效果。
在本申请可选的实施例中,基于所述网格蒙皮模型中蒙皮的各顶点与骨骼的绑定关系,以及每根骨骼在当前帧图像中的实际位置信息,确定所述目标物体模型在当前帧图像中的三维状态信息,包括:
基于所述网格蒙皮模型中蒙皮的各顶点与骨骼的绑定关系,以及与各顶点具有绑定关系的骨骼在当前帧图像中的实际位置信息,确定所述各顶点在当前帧图像中的位置信息,该骨骼包括根骨骼和非根骨骼;
根据所述各顶点在当前帧图像中的位置信息、以及与各顶点具有绑定关系的骨骼在当前帧图像中的实际位置信息,确定所述目标物体模型在当前帧图像中的三维状态信息;
其中,各顶点与骨骼的绑定关系包括各顶点与根骨骼的绑定关系和各顶点与非根骨骼的绑定关系中的至少一种。
在实际应用中,网格蒙皮模型中蒙皮的各顶点是附着在骨骼模型中对应的骨骼上的,比如有些顶点可能只附着在根骨骼上,或者只附着在非根骨骼上,也有一些顶点可能即附着在根骨骼上也附着在非根骨骼上,因此确定各顶点在当前帧图像中的实际位置信息时,可以基于网格蒙皮模型中蒙皮的各顶点与骨骼的绑定关系,以及与各顶点具有绑定关系的骨骼在当前帧图像中的实际位置信息来确定。
其中,各顶点与骨骼的绑定关系是用于说明各顶点是如何绑定到骨骼上的,以及各顶点受绑定骨骼影响时的权重。这是因为由于网格蒙皮模型中蒙皮的各顶点是可以附着(绑定)在多根骨骼之上的,因此每个顶点可以被多个骨骼所控制,所以在确定各顶点在当前帧图像中的位置信息时,需要获知各顶点与骨骼的绑定关系。
其中,各顶点与骨骼之间的绑定关系可以根据实际需要预先配置,并且根据绑定关系,以及与各顶点具有绑定关系的骨骼在当前帧图像中的实际位置信息,确定各顶点在当前帧图像中的位置信息的具体实现方式,本申请实施例不具体限定。
在一示例中,假如顶点X同时被绑定在骨骼模型中的骨骼A、骨骼B和骨骼C,且已经预先配置顶点A与骨骼A、骨骼B和骨骼C的绑定关系。在确定出每根非根骨骼在当前帧图像中的实际位置信息之后,获取顶点A与骨骼的绑定关系,基于该绑定关系可以已知顶点A被同时绑定在骨骼A、骨骼B和骨骼C上,此时可以基于该绑定关系,以及确定的骨骼A、骨骼B和骨骼C在当前帧图像中的实际位置信息,确定顶点A在当前帧图像中的位置信息。
在实际应用中,由于网格蒙皮模型中蒙皮的各顶点附着在骨骼模型中对应的骨骼之上的,因此在确定各顶点在当前帧图像中的位置信息之后,可以基于各顶点在当前帧图像中的位置信息,以及与其绑定的骨骼在当前帧图像中的实际位置信息,来确定目标物体模型在当前帧图像中的三维状态信息。
其中,在获知各顶点在当前帧图像中的位置信息、以及与各顶点具有绑定关系的骨骼在当前帧图像中的实际位置信息后,如何确定目标物体模型在当前帧图像中的三维状态信息,本申请实施不做限定。比如,可以预先设置各骨骼相对于具有绑定关系的顶点的权重,将各骨骼在当前帧图像中的实际位置信息结合预设的权重,确定出各骨骼在当前帧图像中相对于绑定顶点的位置信息,在获知各顶点在当前帧图像中的位置信息后,将各顶点在当前帧图像中的位置信息结合与其具有绑定关系的骨骼相对于各顶点的位置信息,确定目标物体模型在当前帧图像中的三维状态信息。
在本申请实施例中,可以先假设目标物体只受惯性因素的影响,不受重力因素的影响,即仅考虑到位置因素时,每根非根骨骼在当前帧图像中的位置信息,然后再考虑到重力因素得到每根非根骨骼在当前帧图像中的实际位置信息,进而完成对目标物体的建模。由于在本申请实施例中,在对目标物体建模的过程时,仅考虑到了位置因素和重力因素,因此在建模的过程中可以降低计算量,可以将计算量和模型所呈现的效果得到有效地平衡,因此当一些计算量有限的终端设备在采用本申请实施例中的方法对目标物体进行建模时,也可以很好的完成对目标物体的建模。
在本申请可选的实施例中,根据运动状态信息、每根非根骨骼在上一帧图像中的实际位置信息,以及每根非根骨骼的柔软系数,确定每根非根骨骼的第一位置信息,包括:
基于运动状态信息,以及每根非根骨骼在上一帧图像中的实际位置信息,确定每根非根骨骼的第二位置信息;
基于每根非根骨骼在上一帧图像中的实际位置信息、每根非根骨骼的第二位置信息以及每根非根骨骼的柔软系数,确定每根非根骨骼的第一位置信息。
在实际应用中,在获取到目标物体在当前帧图像中的运动状态信息后,可以将每根非根骨骼在上一帧图像中的实际位置信息与获取到的运动状态信息结合,得到每根非根骨骼当前帧图像中的第二位置信息(即每根非根骨骼在作为刚性物体且不存在重力的条件时,在当前帧图像中的位置信息)。
其中,基于每根非根骨骼在上一帧图像中的实际位置信息与获取到的运动状态信息结合,确定每根非根骨骼当前帧图像中的第二位置信息的具体实现方式,本申请实施例不做具体限定。比如,可以预先设置每根非根骨骼在当前帧图像中相对于位移的位置信息的权重和每根非根骨骼在当前帧图像中相对于旋转角度的位置信息的权重;在已知每根非根骨骼在上一帧图像中的实际位置信息和运动状态信息后,将每根非根骨骼在上一帧图像中的实际位置信息分别与目标物体模型的位移和旋转角度进行结合,得到每根非根骨骼在当前帧图像中的相对于位移的位置信息和每根非根骨骼在当前帧图像中的相对于旋转角度的位置信息,然后将每根非根骨骼在当前帧图像中的相对于位移的位置信息和每根非根骨骼在当前帧图像中的相对于旋转角度的位置信息结合对应的权重,得到每根非根骨骼当前帧图像中的第二位置信息。
进一步的,由于目标物体可以受惯性影响,因此在确定每根非根骨骼的第二位置信息后,考虑到惯性因素,还可以将每根非根骨骼在上一帧图像中的实际位置信息、每根非根骨骼的第二位置信息以及每根非根骨骼的柔软系数进行结合,得到每根非根骨骼的第一位置信息(即目标物体为刚体且不存在重力的条件下,在仅考虑位置因素时,每根骨骼在当前帧图像中的位置信息)。
在一实例中,如图5a所示,假如非根骨骼Z在上一帧图像中的实际位置信息为P_rigid,非根骨骼Z的柔软系数为0.5,运动状态信息为3D位移(dx,dy,dz)和3D旋转角度(α,β,θ)。在确定非根骨骼Z的第一位置信息时,可以将P_rigid与位移(dx,dy,dz)和3D旋转角度(α,β,θ)进行结合,得到非根骨骼Z的第二位置信息(P_pred),然后基于得到的第二位置信息、非根骨骼Z在上一帧图像中的实际位置信息和非根骨骼Z的柔软系数(0.5),确定非根骨骼Z的第一位置信息(P_now_1)。基于此,如图5b所示,本申请实施例中还提供了多根非根骨骼(如图5b中所示的5根非根骨骼)在作为刚性物体时且不存在重力的条件下,在当前帧图像中的位置信息(即第二位置信息P_pred),以及考虑到惯性(即柔软系数)后,在当前帧图像中的位置信息(即第一位置信息P_now_1)的效果对比示意图。
在本申请可选的实施例中,基于下列方式确定每根非根骨骼的第一位置信息:
P_now_1=(P_pred*p+P_rigid*(1-p))/||P_pred*p+P_rigid*(1-p)||
其中,P_now_1表示每根非根骨骼的第一位置信息、P_pred表示每根非根骨骼的第二位置信息、P_rigid表示每根非根骨骼在上一帧图像中的实际位置信息、p表示每根非根骨骼的柔软系数、“||||”表示将该符号内的各元素先进行平方和运算再进行开根号运算。
也就是说,在确定每根非根骨骼的第二位置信息后,可以将确定的第二位置信息、该非根骨骼在上一帧图像中的实际位置信息以及该非根骨骼的柔软系数代入上述公式中,即可得到该非根骨骼在当前帧图像中的第一位置信息。
在本申请可选的实施例中,根据每根非根骨骼的第一位置信息、骨骼模型的骨骼层次结构、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息,包括:
根据每根非根骨骼的第一位置信息、每根非根骨骼的父骨骼在当前帧图像中的实际位置信息、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息;
其中,每根非根骨骼的父骨骼在当前帧图像中的实际位置信息是根据根骨骼的实际位置信息和骨骼模型的骨骼层次结构确定出的。
在实际应用中,由于物体目标还会可以受重力影响,因此在确定每根非根骨骼的第二位置信息后,还需考虑到重力因素,才可以确定每根非根骨骼在当前帧图像中的实际位置信息。在本申请实施例中,可以基于骨骼模型中的骨骼层次结构依次确定每根非根骨骼在当前帧图像中的实际位置信息,但是在计算的过程中还需要考虑到每根非根骨骼的父骨骼在当前帧图像中的实际位置信息。
在实际应用中,由于根骨骼是不存在父骨骼的,且根骨骼在当前帧图像中的实际位置信息可以直接基于目标物体模型的运动状态信息确定,因此在确定非根骨骼在当前帧图像中的实际位置信息时,可以在确定根骨骼在当前帧图像中的实际位置信息后,将根骨骼作为父骨骼,然后基于根骨骼在当前帧图像中的实际位置信息,根骨骼的子骨骼的第一位置信息、以及根骨骼的子骨骼的重力系数,确定根骨骼的子骨骼的在当前帧图像中的实际位置信息。
进一步的,在确定出根骨骼的子骨骼在当前帧图像中的实际位置信息后,此时根骨骼的子骨骼为父骨骼,然后根据根骨骼的子骨骼在当前帧图像中的实际位置信息,子骨骼的第一位置信息和子骨骼的重力系数,确定出子骨骼在当前帧图像中的实际位置信息,依次类推,直至计算出目标物体模型中每根非根骨骼在当前帧图像中的实际位置信息。
在一示例中,假如基于骨骼模型的骨骼层次结构确定目标物体模型中根骨骼的子骨骼为骨骼a,骨骼a的子骨骼为骨骼b、以及骨骼b的子骨骼为骨骼c。此时可以基于运动状态信息和根骨骼在上一帧图像中的实际位置信息,确定根骨骼在当前帧图像中的实际位置信息;然后基于根骨骼在当前帧图像中的实际位置信息、骨骼a的第一位置信息以及预先设置的骨骼a的重力系数,确定骨骼a在当前帧图像中的实际位置信息;进一步的,可以基于骨骼a在当前帧图像中的实际位置信息、骨骼b的第一位置信息以及骨骼b的重力系数,确定骨骼b在当前帧图像中的实际位置信息;以及基于骨骼b在当前帧图像中的实际位置信息、骨骼c的第一位置信息以及骨骼c的重力系数,确定骨骼c在当前帧图像中的实际位置信息。
在本申请可选的实施例中,根据每根非根骨骼的第一位置信息、每根非根骨骼的父骨骼在当前帧图像中的实际位置信息、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息,包括:
基于每根非根骨骼的父骨骼在当前帧图像中的实际位置信息,确定每根非根骨骼在的第三位置信息;
根据每根非根骨骼的第三位置信息、每根非根骨骼的第一位置信息以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息。
其中,每根非根骨骼的第三位置信息指的是,每根非根骨骼在当前帧图像中与其父骨骼保持原始角度时的位置信息。比如,某根非根骨骼在上一帧图像中与其父骨骼的相对角度为50度,在不考率该根非根骨骼和其父骨骼受重力因素的影响时,在当前帧图像中该根非根骨骼和其父骨骼的相对角度仍为50度时的位置信息。
在本申请实施例中,在确定每根非根骨骼的第一位置信息后,可以基于骨骼模型中的骨骼层次结构依次确定每根非根骨骼在当前帧图像中的实际位置信息,由于根骨骼是不存在父骨骼的,且根骨骼在当前帧图像中的实际位置信息可以直接基于目标物体模型的运动状态信息确定,因此确定非根骨骼在当前帧图像中的实际位置信息时,可以从根骨骼的子骨骼在当前帧图像中的实际位置信息开始确定。
在实际应用中,在确定根骨骼在当前帧图像中的实际位置信息之后,可以基于根骨骼在当前帧图像中的实际位置信息,确定根骨骼的子骨骼在当前帧图像中的第三位置信息,然后可以将第三位置信息与之前确定的第一位置信息和根骨骼的子骨骼的重力系数进行结合,即可确定出根骨骼的子骨骼在当前帧图像中的实际位置信息。
进一步的,在确定出根骨骼的子骨骼在当前帧图像中的实际位置信息后,此时根骨骼的子骨骼作为父骨骼,根据根骨骼的子骨骼在当前帧图像中的实际位置信息,确定出其子骨骼在当前帧图像中的第三位置信息,然后基于第三位置信息、其子骨骼的第一位置信息和其子骨骼的重力系数,确定出其子骨骼在当前帧图像中的实际位置信息,依次类推,直至计算出目标物体模型中每根非根骨骼在当前帧图像中的实际位置信息。
其中,基于每根非根骨骼的父骨骼在当前帧图像中的实际位置信息,确定每根非根骨骼在当前帧图像中的第三位置信息的具体实现方式,本申请实施例不具体限定。比如,由于每根非根骨骼在当前帧图像中的第三位置信息指的是每根非根骨骼在当前帧图像中与其父骨骼保持原始角度时的位置信息,因此,针对任一根非根骨骼,在获知该非根骨骼的父骨骼在当前帧图像中的实际位置信息后,可以将该根非根骨骼的父骨骼在当前帧图像中的实际位置信息结合与其子骨骼(即该根非根骨骼)的相对角度,得到该根非根骨骼在当前帧图像中的第三位置信息。
在一示例中,假如目标物体模型中根骨骼的子骨骼为骨骼A,骨骼A的子骨骼为骨骼B、以及骨骼B的子骨骼为骨骼C。此时可以基于运动状态信息确定根骨骼在当前帧图像中的实际位置信息,并确定骨骼A的第一位置信息,然后基于根骨骼在当前帧图像中的实际位置信息、骨骼A的第一位置信息以及预先设置的骨骼A的重力系数,确定骨骼A在当前帧图像中的实际位置信息;进一步的,在确定骨骼A在当前帧图像中的实际位置信息后,可以确定骨骼B的第一位置信息,然后基于骨骼A在当前帧图像中的实际位置信息、骨骼B的第一位置信息以及骨骼B的重力系数,确定骨骼B在当前帧图像中的实际位置信息;相应的,在确定骨骼B在当前帧图像中的实际位置信息后,可以确定骨骼C的第一位置信息,然后基于骨骼B在当前帧图像中的实际位置信息、骨骼C的第一位置信息以及骨骼C的重力系数,确定骨骼C在当前帧图像中的实际位置信息。
在本申请可选的实施例中,基于下列方式确定每根骨骼在当前帧图像中的实际位置信息:
P_now_2=(P_origin*k+P_now_1*(1-k))/||P_origin*k+P_now_1*(1-k)||
其中,P_now_2表示每根非根骨骼在当前帧图像中的实际位置信息、P_now_1表示每根非根骨骼的第一位置信息、P_origin表示每根非根骨骼的第三位置信息、k表示每根骨骼的重力系数、“||||”表示将该符号内的各元素先进行平方和运算再进行开根号运算。
也就是说,在确定每根非根骨骼的第三位置信息和第一位置信息后,可以将确定的每根非根骨骼的第三位置信息和第一位置信息,以及每根非根骨骼的重力系数代入上述公式中,即可得到每根非根骨骼在当前帧图像中的实际位置信息。
本申请实施例提供了一种骨骼蒙皮动画的处理装置,如图6所示,该骨骼蒙皮动画的处理装置60可以包括:运动状态信息获取模块601、骨骼位置信息确定模块602以及目标物体模型信息确定模块603,其中,
运动状态信息获取模块601,用于获取目标物体模型在当前帧图像中的运动状态信息,目标物体模型包括目标物体的骨骼模型和网格蒙皮模型,骨骼模型中包括根骨骼和非根骨骼;
骨骼位置信息确定模块602,用于确定根骨骼在当前帧图像中的实际位置信息,根据运动状态信息、每根非根骨骼在上一帧图像中的实际位置信息,以及每根非根骨骼的柔软系数,确定每根非根骨骼的第一位置信息,根据每根非根骨骼的第一位置信息、骨骼模型的骨骼层次结构、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息;
目标物体模型信息确定模块603,用于基于所述网格蒙皮模型中蒙皮的各顶点与骨骼的绑定关系,以及每根骨骼在当前帧图像中的实际位置信息,确定所述目标物体模型在当前帧图像中的三维状态信息,该骨骼包括根骨骼和非根骨骼。
本申请可选的实施例中,骨骼位置信息确定模块在根据运动状态信息、每根非根骨骼在上一帧图像中的实际位置信息,以及每根非根骨骼的柔软系数,确定每根非根骨骼的第一位置信息时,具体用于:
基于运动状态信息,以及每根非根骨骼在上一帧图像中的实际位置信息,确定每根非根骨骼的第二位置信息;以及基于每根非根骨骼在上一帧图像中的实际位置信息、每根非根骨骼的第二位置信息以及每根非根骨骼的柔软系数,确定每根非根骨骼的第一位置信息。
本申请可选的实施例中,骨骼位置信息确定模块在根据每根非根骨骼的第一位置信息、骨骼模型的骨骼层次结构、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息时,具体用于:
根据每根非根骨骼的第一位置信息、每根非根骨骼的父骨骼在当前帧图像中的实际位置信息、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息;
其中,每根非根骨骼的父骨骼在当前帧图像中的实际位置信息是根据根骨骼的实际位置信息和骨骼模型的骨骼层次结构确定出的。
本申请可选的实施例中,骨骼位置信息确定模块基于下列方式确定每根非根骨骼的第一位置信息:
P_now_1=(P_pred*p+P_rigid*(1-p))/||P_pred*p+P_rigid*(1-p)||
其中,P_now_1表示每根非根骨骼的第一位置信息、P_pred表示每根非根骨骼的第二位置信息、P_rigid表示每根非根骨骼在上一帧图像中的实际位置信息、p表示每根非根骨骼的柔软系数。
本申请可选的实施例中,骨骼位置信息确定模块在根据每根非根骨骼的第一位置信息、每根非根骨骼的父骨骼在当前帧图像中的实际位置信息、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息时,具体用于:
基于每根非根骨骼的父骨骼在当前帧图像中的实际位置信息,确定每根非根骨骼的第三位置信息;
根据每根非根骨骼在的第三位置信息、每根非根骨骼的第一位置信息以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息。
本申请可选的实施例中,骨骼位置信息确定模块基于下列方式确定每根非根骨骼在当前帧图像中的实际位置信息:
P_now_2=(P_origin*k+P_now_1*(1-k))/||P_origin*k+P_now_1*(1-k)||
其中,P_now_2表示每根非根骨骼在当前帧图像中的实际位置信息、P_now_1表示每根非根骨骼的第一位置信息、P_origin表示每根非根骨骼的第三位置信息、k表示每根骨骼的重力系数。
本申请可选的实施例中,运动状态信息包括目标物体模型的位移和旋转角度。
本申请实施例提供了一种电子设备,如图7所示,图7所示的电子设备2000包括:处理器2001和存储器2003。其中,处理器2001和存储器2003相连,如通过总线2002相连。可选地,电子设备2000还可以包括收发器2004。需要说明的是,实际应用中收发器2004不限于一个,该电子设备2000的结构并不构成对本申请实施例的限定。
处理器2001可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线2002可包括一通路,在上述组件之间传送信息。总线2002可以是PCI总线或EISA总线等。总线2002可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器2003可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器2003用于存储执行本申请方案的应用程序代码,并由处理器2001来控制执行。处理器2001用于执行存储器2003中存储的应用程序代码,以实现图6所示实施例提供的骨骼蒙皮动画的处理装置的动作。
本申请实施例提供了一种电子设备,本申请实施例中的电子设备包括:存储器和处理器;存储器,配置用于存储机器可读指令,指令在由处理器执行时,使得处理器执行本申请实施例中任一项方法。
在本申请实施例中,可以先假设目标物体为刚体且不存在重力,仅考虑到位置因素时,得出每根非根骨骼在当前帧图像中的位置信息,然后再考虑到重力因素得到每根非根骨骼在当前帧图像中的实际位置信息,进而完成对目标物体的建模。由于在本申请实施例中,在对目标物体建模的过程时,仅考虑到了位置因素和重力因素,因此在建模的过程中可以降低计算量,进而可以将计算量和模型所呈现的效果得到有效地平衡,因此当一些计算量有限的终端设备在采用本申请实施例中的方法对目标物体进行建模时,也可以很好的完成对目标物体的建模。
本申请实施例提供了一种计算机存储介质,该计算机存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行本申请实施例中任一项方法。
在本申请实施例中,可以先假设目标物体为刚体且不存在重力,仅考虑到位置因素时,得出每根非根骨骼在当前帧图像中的位置信息,然后再考虑到重力因素得到每根非根骨骼在当前帧图像中的实际位置信息,进而完成对目标物体的建模。由于在本申请实施例中,在对目标物体建模的过程时,仅考虑到了位置因素和重力因素,因此在建模的过程中可以降低计算量,以将计算量和模型所呈现的效果得到有效地平衡,因此当一些计算量有限的终端设备在采用本申请实施例中的方法对目标物体进行建模时,也可以很好的完成对目标物体的建模。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (6)
1.一种骨骼蒙皮动画的处理方法,其特征在于,包括:
获取目标物体模型在当前帧图像中的运动状态信息,所述目标物体模型包括目标物体的骨骼模型和网格蒙皮模型,所述骨骼模型中包括根骨骼和非根骨骼;
确定所述根骨骼在当前帧图像中的实际位置信息;
根据运动状态信息、每根非根骨骼在上一帧图像中的实际位置信息,以及每根非根骨骼的柔软系数,确定每根非根骨骼的第一位置信息;
根据每根非根骨骼的第一位置信息、骨骼模型的骨骼层次结构、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息;
基于所述网格蒙皮模型中蒙皮的各顶点与骨骼的绑定关系,以及每根骨骼在当前帧图像中的实际位置信息,确定所述目标物体模型在当前帧图像中的三维状态信息,所述骨骼包括根骨骼和非根骨骼;
所述根据运动状态信息、每根非根骨骼在上一帧图像中的实际位置信息,以及每根非根骨骼的柔软系数,确定每根非根骨骼的第一位置信息,包括:
基于所述运动状态信息,以及每根非根骨骼在上一帧图像中的实际位置信息,确定每根非根骨骼的第二位置信息;
基于每根非根骨骼在上一帧图像中的实际位置信息、每根非根骨骼的第二位置信息以及每根非根骨骼的柔软系数,确定每根非根骨骼的第一位置信息;
所述根据每根非根骨骼的第一位置信息、骨骼模型的骨骼层次结构、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息,包括:
根据每根非根骨骼的第一位置信息、每根非根骨骼的父骨骼在当前帧图像中的实际位置信息、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息;
其中,每根非根骨骼的父骨骼在当前帧图像中的实际位置信息是根据所述根骨骼的实际位置信息和所述骨骼模型的骨骼层次结构确定出的;
所述第二位置信息用于表征每根非根骨骼在作为刚性物体且不存在重力的条件时,在当前帧图像中的位置信息;
基于下列方式确定每根非根骨骼的第一位置信息:
P_now_1=(P_pred*p+P_rigid*(1-p))/||P_pred*p+P_rigid*(1-p)||
其中,P_now_1表示每根非根骨骼的第一位置信息、P_pred表示每根非根骨骼的第二位置信息、P_rigid表示每根非根骨骼在上一帧图像中的实际位置信息、p表示每根非根骨骼的柔软系数;
所述根据每根非根骨骼的第一位置信息、每根非根骨骼的父骨骼在当前帧图像中的实际位置信息、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息,包括:
基于每根非根骨骼的父骨骼在当前帧图像中的实际位置信息,确定每根非根骨骼的第三位置信息;
根据每根非根骨骼的第三位置信息、每根非根骨骼的第一位置信息以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息;
所述第三位置信息用于表征每根非根骨骼在当前帧图像中与其父骨骼保持原始角度时的位置信息。
2.根据权利要求1所述的方法,其特征在于,基于下列方式确定每根非根骨骼在当前帧图像中的实际位置信息:
P_now_2=(P_origin*k+P_now_1*(1-k))/||P_origin*k+P_now_1*(1-k)||其中,P_now_2表示每根非根骨骼在当前帧图像中的实际位置信息、P_now_1表示每根非根骨骼的第一位置信息、P_origin表示每根非根骨骼的第三位置信息、k表示每根骨骼的重力系数。
3.根据权利要求1所述的方法,其特征在于,所述运动状态信息包括所述目标物体模型的位移和旋转角度。
4.一种骨骼蒙皮动画的处理装置,其特征在于,包括:
运动状态信息获取模块,用于获取目标物体模型在当前帧图像中的运动状态信息,所述目标物体模型包括目标物体的骨骼模型和网格蒙皮模型,所述骨骼模型中包括根骨骼和非根骨骼;
骨骼位置信息确定模块,用于确定所述根骨骼在当前帧图像中的实际位置信息,以及根据运动状态信息、每根非根骨骼在上一帧图像中的实际位置信息,以及每根非根骨骼的柔软系数,确定每根非根骨骼的第一位置信息,根据每根非根骨骼的第一位置信息、骨骼模型的骨骼层次结构、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息;
目标物体模型信息确定模块,用于基于所述网格蒙皮模型中蒙皮的各顶点与骨骼的绑定关系,以及每根骨骼在当前帧图像中的实际位置信息,确定所述目标物体模型在当前帧图像中的三维状态信息,所述骨骼包括根骨骼和非根骨骼;
所述骨骼位置信息确定模块,具体用于:
基于所述运动状态信息,以及每根非根骨骼在上一帧图像中的实际位置信息,确定每根非根骨骼的第二位置信息;
基于每根非根骨骼在上一帧图像中的实际位置信息、每根非根骨骼的第二位置信息以及每根非根骨骼的柔软系数,确定每根非根骨骼的第一位置信息;
所述骨骼位置信息确定模块,具体用于:
根据每根非根骨骼的第一位置信息、每根非根骨骼的父骨骼在当前帧图像中的实际位置信息、以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息;
其中,每根非根骨骼的父骨骼在当前帧图像中的实际位置信息是根据所述根骨骼的实际位置信息和所述骨骼模型的骨骼层次结构确定出的;
所述第二位置信息用于表征每根非根骨骼在作为刚性物体且不存在重力的条件时,在当前帧图像中的位置信息;
所述骨骼位置信息确定模块基于下列方式确定每根非根骨骼的第一位置信息:
P_now_1=(P_pred*p+P_rigid*(1-p))/||P_pred*p+P_rigid*(1-p)||
其中,P_now_1表示每根非根骨骼的第一位置信息、P_pred表示每根非根骨骼的第二位置信息、P_rigid表示每根非根骨骼在上一帧图像中的实际位置信息、p表示每根非根骨骼的柔软系数;
所述骨骼位置信息确定模块,具体用于:
基于每根非根骨骼的父骨骼在当前帧图像中的实际位置信息,确定每根非根骨骼的第三位置信息;
根据每根非根骨骼的第三位置信息、每根非根骨骼的第一位置信息以及每根非根骨骼的重力系数,确定每根非根骨骼在当前帧图像中的实际位置信息;
所述第三位置信息用于表征每根非根骨骼在当前帧图像中与其父骨骼保持原始角度时的位置信息。
5.一种电子设备,其特征在于,其包括:
处理器;以及
存储器,配置用于存储机器可读指令,所述指令在由所述处理器执行时,使得所述处理器执行权利要求1-3中任一项所述的方法。
6.一种计算机存储介质,其特征在于,所述计算机存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行上述权利要求1-3中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910410610.1A CN110136232B (zh) | 2019-05-16 | 2019-05-16 | 骨骼蒙皮动画的处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910410610.1A CN110136232B (zh) | 2019-05-16 | 2019-05-16 | 骨骼蒙皮动画的处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110136232A CN110136232A (zh) | 2019-08-16 |
CN110136232B true CN110136232B (zh) | 2023-10-03 |
Family
ID=67574834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910410610.1A Active CN110136232B (zh) | 2019-05-16 | 2019-05-16 | 骨骼蒙皮动画的处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110136232B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111696184B (zh) * | 2020-06-10 | 2023-08-29 | 上海米哈游天命科技有限公司 | 骨骼蒙皮融合确定方法、装置、设备和存储介质 |
CN113808236A (zh) * | 2020-06-11 | 2021-12-17 | 北京达佳互联信息技术有限公司 | 图像处理方法、装置、电子设备和存储介质 |
CN111784809B (zh) * | 2020-07-09 | 2023-07-28 | 网易(杭州)网络有限公司 | 虚拟角色骨骼动画控制方法及装置、存储介质及电子设备 |
CN112541969B (zh) * | 2021-01-21 | 2022-04-12 | 深圳市桔子智能信息科技有限公司 | 一种三维人体模型骨骼动态转移绑定方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021584A (zh) * | 2014-06-25 | 2014-09-03 | 无锡梵天信息技术股份有限公司 | 一种骨骼蒙皮动画的实现方法 |
CN107067451A (zh) * | 2017-04-07 | 2017-08-18 | 广州爱九游信息技术有限公司 | 动画中动态骨骼的实现方法和装置 |
WO2018095273A1 (zh) * | 2016-11-24 | 2018-05-31 | 腾讯科技(深圳)有限公司 | 图像合成方法、装置以及匹配实现方法、装置 |
CN108133505A (zh) * | 2017-12-28 | 2018-06-08 | 北京像素软件科技股份有限公司 | 骨骼柔体实现方法、装置及电子设备 |
-
2019
- 2019-05-16 CN CN201910410610.1A patent/CN110136232B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104021584A (zh) * | 2014-06-25 | 2014-09-03 | 无锡梵天信息技术股份有限公司 | 一种骨骼蒙皮动画的实现方法 |
WO2018095273A1 (zh) * | 2016-11-24 | 2018-05-31 | 腾讯科技(深圳)有限公司 | 图像合成方法、装置以及匹配实现方法、装置 |
CN107067451A (zh) * | 2017-04-07 | 2017-08-18 | 广州爱九游信息技术有限公司 | 动画中动态骨骼的实现方法和装置 |
CN108133505A (zh) * | 2017-12-28 | 2018-06-08 | 北京像素软件科技股份有限公司 | 骨骼柔体实现方法、装置及电子设备 |
Non-Patent Citations (2)
Title |
---|
三维图形引擎中骨骼蒙皮动画的一种实现方法;王洪福等;《计算机应用研究》;20061210(第12期);第349-356页 * |
基于iPhone平台的骨骼动画研究与实现;王蕊等;《计算机工程与设计》;20101216;第31卷(第23期);第5043-5047页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110136232A (zh) | 2019-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110136232B (zh) | 骨骼蒙皮动画的处理方法、装置、电子设备及存储介质 | |
CN108010112B (zh) | 动画处理方法、装置及存储介质 | |
CN111199579B (zh) | 一种目标物的三维模型构建方法、装置、设备及介质 | |
US8154544B1 (en) | User specified contact deformations for computer graphics | |
CN112933597B (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
US10535176B2 (en) | Animation techniques for mobile devices | |
US8531464B1 (en) | Simulating skin deformation relative to a muscle | |
US20010019333A1 (en) | Methods and apparatus for transforming three-dimensional objects in video games | |
WO2013155603A1 (en) | Systems and methods for displaying animations on a mobile device | |
US10909744B1 (en) | Simulating garment with wrinkles based on physics based cloth simulator and machine learning model | |
CN110675466A (zh) | 渲染系统及渲染方法、装置、电子设备和存储介质 | |
EP3543956A1 (en) | Multipoint offset sampling deformation | |
US20050030310A1 (en) | Integrated object bend, squash and stretch method and apparatus | |
CN111803945A (zh) | 界面渲染方法、装置、电子设备及存储介质 | |
US20180276870A1 (en) | System and method for mass-animating characters in animated sequences | |
CN111798545A (zh) | 骨骼动画的播放方法、装置、电子设备和可读存储介质 | |
CN114529640B (zh) | 一种运动画面生成方法、装置、计算机设备和存储介质 | |
JP2021152724A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
CN111951360B (zh) | 动画模型处理方法、装置、电子设备及可读存储介质 | |
CN114359453A (zh) | 一种三维特效渲染方法、装置、存储介质及设备 | |
CN116115995A (zh) | 图像渲染处理方法、装置及电子设备 | |
CN110458928A (zh) | 基于unity3d的AR动画生成方法、装置、介质 | |
CN112785494B (zh) | 一种三维模型构建方法、装置、电子设备和存储介质 | |
CN109993689B (zh) | 一种美妆方法和装置 | |
CN114627149A (zh) | 时空轨迹模拟方法、装置、电子设备及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |