CN113379903A - 数据的迁移方法及装置、电子设备、可读存储介质 - Google Patents
数据的迁移方法及装置、电子设备、可读存储介质 Download PDFInfo
- Publication number
- CN113379903A CN113379903A CN202110744454.XA CN202110744454A CN113379903A CN 113379903 A CN113379903 A CN 113379903A CN 202110744454 A CN202110744454 A CN 202110744454A CN 113379903 A CN113379903 A CN 113379903A
- Authority
- CN
- China
- Prior art keywords
- node
- model
- vector
- reference point
- pointing
- 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.)
- Pending
Links
- 238000013508 migration Methods 0.000 title claims abstract description 90
- 230000005012 migration Effects 0.000 title claims abstract description 89
- 238000000034 method Methods 0.000 title claims abstract description 56
- 239000013598 vector Substances 0.000 claims abstract description 227
- 238000006073 displacement reaction Methods 0.000 claims abstract description 38
- 238000010606 normalization Methods 0.000 claims abstract description 25
- 238000012545 processing Methods 0.000 claims abstract description 20
- 230000008569 process Effects 0.000 claims description 18
- 230000009471 action Effects 0.000 abstract description 18
- 230000033001 locomotion Effects 0.000 description 22
- 210000000988 bone and bone Anatomy 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 210000003127 knee Anatomy 0.000 description 4
- 210000000707 wrist Anatomy 0.000 description 4
- 210000003423 ankle Anatomy 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000003414 extremity Anatomy 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008570 general process Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供的数据的迁移方法及装置、电子设备、可读存储介质,依据第一模型中的参考点的位置坐标和参考点的位置坐标,获取第一参考点指向目标节点的第一向量,将第一模型各向量在第一向量上的投影长度之和作为第一参数,将第二模型各向量在第一向量上的投影长度之和作为第二参数,使用第一参数,对第一向量进行归一化处理,得到归一化第一向量,使用第二参数将归一化第一向量反归一化至第二模型,得到第一参考点的指向向量,依据第一参考点的指向位移坐标,确定将目标节点的位置坐标迁移至对应目标节点后得到的迁移位置坐标。第二模型依据迁移位置坐标驱动的虚拟对象呈现的动作能够贴近实体的动作,即具有较高的精准性。
Description
技术领域
本申请涉及电子信息领域,尤其涉及一种数据的迁移方法及装置、电子设备、可读存储介质。
背景技术
3D虚拟对象(通常包括人物以及动物)的制作在动画制作以及电影特效等场景中有广泛的应用。以3D虚拟人物作为3D虚拟对象的一种示例,制作3D虚拟人物的大体流程为:通过动作捕捉技术捕捉实体如演员的各种动作,生成指示这些动作的数据,再将数据分配到指定的3D模型上。
实际中,用于承载数据的模型的各部分的比例,可能与实际的动作捕捉实体的各部分的比例不同,还以3D虚拟人物为例:用于承载数据的3D模型与演员的身材比例不同,所以,制作出的虚拟对象可能存在动作不精准的问题,例如:由于3D模型的身材比例与演员的身材比例差异有差异而导致的“穿模”。“穿模”是指3D模型做出一些不符合物理原理的动作,比如肢体伸到了身体内部,如图1中被圈住的区域所示,二次元虚拟偶像的右臂穿入到了身体内部。
可见,如何提高虚拟对象的动作的精准性,成为目前虚拟对象制作领域中亟待解决的问题。
发明内容
本申请提供了一种数据的迁移方法及装置、电子设备、可读存储介质,目的在于解决如何提高虚拟对象的动作的精准性的问题。
为了实现上述目的,本申请提供了以下技术方案:
一种数据的迁移方法,用于将第一模型的数据迁移至拓扑关系相同的第二模型,包括:
依据所述第一模型中的节点的旋转数据,获取所述第一模型的网格中的参考点的位置坐标;
依据所述第一模型中的节点的位置坐标和所述参考点的位置坐标,获取第一参考点指向目标节点的向量,作为第一向量;所述目标节点为所述第一模型中的任意一个待数据迁移的节点,所述第一参考点为所述第一模型的网格中的任意一个参考点;
将第一模型各向量在所述第一向量上的投影长度之和,作为第一参数;所述第一模型各向量为第一节点序列中,相邻的两个节点的前一个节点指向后一个节点的向量,所述第一节点序列为在所述第一模型上,从第一节点移动到所述目标节点的过程中,依次经过的节点按照被经过的顺序,构成的序列,所述第一节点为所述第一模型的初始状态下与所述第一参考点的距离满足预设条件的节点;
将第二模型各向量在所述第一向量上的投影长度之和,作为第二参数;所述第二模型各向量为第二节点序列中,相邻的两个节点的前一个节点指向后一个节点的向量,所述第二节点序列为在所述第二模型上,从对应第一节点移动到对应目标节点的过程中,依次经过的节点按照被经过的顺序,构成的序列;所述对应第一节点为:与所述第一节点表示相同拓扑关系的节点,所述对应目标节点为:与所述目标节点表示相同拓扑关系的节点;
使用所述第一参数,对所述第一向量进行归一化处理,得到归一化第一向量;
使用所述第二参数将所述归一化第一向量反归一化至所述第二模型,得到所述第一参考点的指向向量;;
依据至少所述第一参考点的指向位移坐标,确定将所述目标节点的位置坐标迁移至所述对应目标节点后得到的迁移位置坐标,所述第一参考点的指向位移坐标为将所述第一参考点沿所述指向向量的方向,移动所述指向向量的长度后得到的坐标。
可选的,所述依据所述第一模型中的节点的位置坐标和所述参考点的位置坐标,获取第一参考点指向目标节点的向量,作为第一向量,包括:
依据所述目标节点的位置坐标,确定所述第一参考点的初始位移坐标,所述第一参考点的初始位移坐标为将所述第一参考点沿所述第一向量的方向,移动所述第一向量的长度后的得到的坐标;
依据所述第一参考点的初始位移坐标以及所述第一参考点的位置坐标,获取所述第一向量。
可选的,所述使用所述第一参数,对所述第一向量进行归一化处理,得到归一化第一向量,包括:
依据所述第一向量与所述第一参数的比值,得到所述第一参考点的归一化第一向量;
所述使用所述第二参数将所述归一化第一向量反归一化至所述第二模型,得到所述第一参考点的指向向量,包括:
依据所述归一化第一向量与所述第二参数的乘积,获取所述第一参考点的指向向量。
可选的,所述依据至少所述第一参考点的指向位移坐标,确定将所述目标节点的位置坐标迁移至所述对应目标节点后得到的迁移位置坐标,包括:
依据所述第一模型的各个参考点的指向位移坐标,确定将所述目标节点的位置坐标迁移至所述对应目标节点后得到的迁移位置坐标。
可选的,还包括:
依据所述对应目标节点的位置坐标以及所述第二模型中的节点的初始位置坐标,确定所述对应目标节点的迁移旋转数据,所述初始位置坐标为,在所述将所述目标节点的所述位置坐标迁移至所述第二模型的所述对应目标节点的迁移位置数据之前,所述第二模型中的节点的预设位置坐标。
可选的,所述第一模型和所述第二模型均为人体模型;
所述目标节点为所述第一模型中的任意一个待数据迁移的节点,包括:
所述目标节点为所述第一模型中除躯干节点之外的任意一个待数据迁移的节点。
一种数据的迁移装置,用于将第一模型的数据迁移至拓扑关系相同的第二模型,包括:
第一获取模块,用于依据所述第一模型中的节点的旋转数据,获取所述第一模型的网格中的参考点的位置坐标;
第二获取模块,用于依据所述第一模型中的节点的位置坐标和所述参考点的位置坐标,获取第一参考点指向目标节点的向量,作为第一向量;所述目标节点为所述第一模型中的任意一个待数据迁移的节点,所述第一参考点为所述第一模型的网格中的任意一个参考点
第一处理模块,用于将第一模型各向量在所述第一向量上的投影长度之和,作为第一参数;所述第一模型各向量为第一节点序列中,相邻的两个节点的前一个节点指向后一个节点的向量,所述第一节点序列为在所述第一模型上,从第一节点移动到所述目标节点的过程中,依次经过的节点按照被经过的顺序,构成的序列,所述第一节点为所述第一模型的初始状态下与所述第一参考点的距离满足预设条件的节点;
第二处理模块,用于将第二模型各向量在所述第一向量上的投影长度之和,作为第二参数;所述第二模型各向量为第二节点序列中,相邻的两个节点的前一个节点指向后一个节点的向量,所述第二节点序列为在所述第二模型上,从对应第一节点移动到对应目标节点的过程中,依次经过的节点按照被经过的顺序,构成的序列;所述对应第一节点为:与所述第一节点表示相同拓扑关系的节点,所述对应目标节点为:与所述目标节点表示相同拓扑关系的节点;
归一化模块,用于使用所述第一参数,对所述第一向量进行归一化处理,得到归一化第一向量;
反归一化模块,用于使用所述第二参数将所述归一化第一向量反归一化至所述第二模型,得到所述第一参考点的指向向量;
迁移模块,用于依据至少所述第一参考点的指向位移坐标,确定将所述目标节点的位置坐标迁移至所述对应目标节点后得到的迁移位置坐标,所述第一参考点的指向位移坐标为将所述第一参考点沿所述指向向量的方向,移动所述指向向量的长度后得到的坐标。
可选的,所述迁移模块还用于:
依据所述对应目标节点的位置坐标以及所述第二模型中的节点的初始位置坐标,确定所述对应目标节点的迁移旋转数据,所述初始位置坐标为,在所述将所述目标节点的所述位置坐标迁移至所述第二模型的所述对应目标节点的迁移位置数据之前,所述第二模型中的节点的预设位置坐标。
一种电子设备,包括:
处理器和存储器;
所述存储器用于存储程序,所述处理器用于运行所述程序,以上述的数据的迁移方法。
一种计算机可读存储介质,其上存储有程序,在电子设备运行所述程序时,实现权上述的数据的迁移方法。
本申请所述的技术方案,依据第一模型中的参考点的位置坐标和参考点的位置坐标,获取第一参考点指向目标节点的第一向量,将第一模型各向量在第一向量上的投影长度之和作为第一参数,将第二模型各向量在第一向量上的投影长度之和作为第二参数,使用第一参数,对第一向量进行归一化处理,得到归一化第一向量,使用第二参数将归一化第一向量反归一化至第二模型,得到第一参考点的指向向量,依据第一参考点的指向位移坐标,确定将目标节点的位置坐标迁移至对应目标节点后得到的迁移位置坐标。可见,利用归一化方法,屏蔽第一模型的第一节点序列构成的路径的长度的特异性,再将归一化第一向量反归一化至第二模型中,以使得指向向量获得第二节点序列构成的路径的长度特征,因此,使用指向向量确定的目标节点的位置坐标,与第二模型匹配,从而第二模型依据迁移位置坐标驱动的虚拟对象呈现的动作能够贴近实体的动作,即具有较高的精准性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为作为虚拟对象的示例的虚拟动画人物“穿模”的示例图;
图2a为与人体一部分关节点对应的人体3D模型的示例图;
图2b为图2a所示的模型被驱动获得的网格的示例图;
图3为本申请实施例公开的一种数据的迁移方法的流程图;
图4为本申请实施例公开的又一种数据的迁移方法的流程图;
图5为本申请实施例公开的一种数据的迁移装置的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
申请人在研究的过程中发现,因为要展示实体做出的动作,所以指定的3D模型中的驱动骨骼节点(以下简称为节点)与实体中的关节点通常具有相同的拓扑关系,即指定的3D模型中的驱动骨骼节点,与实体中的全部或部分关节点一一对应。
但指定的3D模型中,节点距离的比例,不一定与实体中的对应关节点长度的比例相同,所以,指定的3D模型展示的动作,可能与实体做出的动作有较大偏差。
因此,申请人提出:
为了提高虚拟对象的动作的精准性,可以先构建与实体适配的3D模型,以下称为第一模型。将捕捉到的数据分配至第一模型,得到第一模型中的节点的数据(位置坐标以及旋转数据),再将第一模型中的节点的数据,迁移至指定的3D模型,以下称为第二模型,使用第二模型驱动虚拟对象。
在以下实施例中,提出了一种将第一模型中节点的数据迁移到第二模型中节点的技术方案,目的在于屏蔽第一模型与第二模型中节点之间距离的比例的差异,使得第二模型按照迁移后的数据展示的动作,更贴近实体的动作,即虚拟对象的动作更为精准。
下面先对一些定义进行解释和说明:
拓扑关系是指节点的类型以及节点之间的连接关系。节点的类型为对应的实体中的关节点的类型,例如图2a所示的各种节点。可以理解的是,图2a所示为与人体的一部分关节点对应的节点。
第一模型和第二模型均为3D模型,其中包括的节点的数据包括位置坐标和旋转数据。旋转数据的定义可参见现有技术。
节点距离的比例是指:第一节点A与第二节点B之间的距离S1,与其它两个节点C和D之间的距离S2的比值,即S1/S2。其中,距离可由节点的位置坐标计算得到。以图2a为例,利用Hips和LeftHips Hips的位置坐标,得到Hips与LeftHips之间的距离S1,利用Hips和RightHips的位置坐标,得到Hips与RightHips之间的距离S2,S1除以S2,得到节点距离的比例。
实体中关节点长度的比例是指,关节点之间的骨骼长度的比值,例如,关节点1与关节点2之间的骨骼长度为S3,关节点3与关节点4之间的骨骼长度为S4,S3/S4即为一个关节点长度比例。
第一模型与实体适配是指:第一模型中的节点与实体中的关节点一一对应,且,第一模型中的节点距离的比例,与实体中对应关节点长度的比例相同,例如,图2a中Hips与LeftHips之间的距离除以Hips与RightHips之间的距离得到的比值,与人体中的Hips与LeftHips之间的骨骼长度除以人体中的Hips与RightHips的骨骼长度得到的比值相等。
模型中的节点与实体中的关节点对应是指:模型中的某个节点被分配的数据,是实体中的某个关节点的位移或旋转采集得到的数据,则该节点与该关节点对应。
模型的网格是指,对3D模型中的节点的旋转数据进行驱动,得到的包围所述3D模型的平面。如果将3D模型中连接的节点看作是骨架,则网格可以看作是包裹骨架的“皮肉”。
通常使用Unity或Blender等3D软件利用3D模型的旋转数据将3D模型驱动起来获得网格。这里不再赘述具体流程。
在驱动3D模型的旋转数据获得网格时,可以设置网格的形状。参考点为网格中的某点,可以在获得网格之前指定。例如网格可以为矩形,参考点可以为矩形的左上顶点。
在第一模型以及第二模型被构建时,各个节点被赋值默认的位置坐标和选择数据,而此时还没有为模型分配从实体采集的运动数据,此时模型的状态称为初始状态。以人体模型为例,通常,模型的初始的状态为T-Pose状态,即模型中的节点的连线呈“T”状。
基于上述内容可知,第一模型与第二模型具有相同的拓扑关系,第一模型中的节点与第二模型中的节点一一对应,即第一模型中的节点,在第二模型中均有唯一的对应节点。
图2a为本申请实施例使用的一种人体3D模型的示例,Hips表示臀部节点,Spine1表示脊柱第一(关)节点,Spine2表示脊柱第二(关)节点,Neck表示颈部(关)节点,Head表示头部(关)节点,LeftShoulder表示左肩(关)节点,RightShoulder表示右肩(关)节点,LeftElbow表示左肘(关)节点,RightElbow表示右肘(关)节点,LeftWrist表示左手腕(关)节点,RightWrist表示右手腕(关)节点,LeftHips表示左臀部(关)节点,RightHips表示右臀部(关)节点,LeftKnee表示左膝盖(关)节点,RightKnee表示右左膝盖(关)节点,LeftAnkle表示左脚踝(关)节点,RightAnkle表示右脚踝(关)节点。
图2b为基于图2a生成的模型的网格的示例,其中网格以三角形为例。参考点以三角形的重心为例。网格包括头部网格和躯干网格。
其中,T表示网格中的三角形。P1 A-B表示三角形T1 A-B的重心,可看作一个参考点的位置坐标。
基于上述网格的定义可以看出,网格跟节点连接构成的骨架相比更接近实体。
在以下实施例中,将第一模型中的任意一个待数据迁移的节点称为目标节点,将目标节点在第二模型中的对应节点称为对应目标节点。任意节点(如目标节点)在第一模型中表示的拓扑关系,与对应节点(如对应目标节点)在第二模型表示的拓扑关系相同,即任意节点的对应节点,为在拓扑关系中表示相同关系的节点。
例如,如图2a所示,目标节点为第一模型中的LeftWrist,则第二模型中的LeftWrist为对应目标节点。第一模型中的LeftWrist的拓扑关系为与LeftElbow相连,第二模型中的LeftWrist的拓扑关系也为与LeftElbow相连。
下面将对本申请实施例提出的数据的迁移流程进行详细说明。
图3为本申请实施例公开的一种数据的迁移方法的流程,包括以下步骤:
S31、依据第一模型中的节点的旋转数据,获取第一模型的网格中的参考点的位置坐标。
S31的具体实现方式如前所述,这里不再赘述。
S32、依据第一模型中的节点的位置坐标和参考点的位置坐标,获取第一参考点指向目标节点的向量,作为第一向量。
目标节点为所述第一模型中的任意一个待数据迁移的节点,第一参考点为第一模型的网格中的任意一个参考点。
S31的一种实现方式为:将第一参考点指向目标节点的方向作为第一向量的方向,将第一参考点与目标节点的距离作为第一向量的长度,即可确定第一向量。第一参考点与目标节点的距离由第一参考点与目标节点的位置坐标确定。
除了上述实现方式,本申请实施例还提出了另一种实现方式,具有更高的精度,将在以下实施例中详细说明。
S33、将第一模型各向量在第一向量上的投影长度之和,作为第一参数。
各第一模型向量为第一节点序列中,相邻的两个节点的前一个节点指向后一个节点的向量。第一节点序列为在第一模型上,从第一节点移动到目标节点的过程中,依次经过的节点按照被经过的顺序,构成的序列。
本实施例中,第一节点为第一模型的初始状态下与第一参考点的距离满足预设条件的节点,本实施例中,预设条件可以为但不限于:距离最近。节点与参考点之间的距离,可以依据节点的位置坐标与参考点的位置坐标确定。
第一模型的初始状态是指,第一模型被构建时节点被分配默认数值,而未被分配实体的运动中采集的数据的状态。
S34、将第二模型各向量在第一向量上的投影长度之和,作为第二参数。
第二模型各向量为第二节点序列中,相邻的两个节点的前一个节点指向后一个节点的向量。
第二节点序列为在第二模型上,从对应第一节点移动到对应目标节点的过程中,依次经过的节点按照被经过的顺序,构成的序列。
对应第一节点为:与第一节点表示相同拓扑关系的节点,对应目标节点为:与目标节点表示相同拓扑关系的节点。
可以看出,第一参数表示第一节点序列中的节点构成的路径,在第一向量方向上的长度分量。
S35、使用第一参数,对第一向量进行归一化处理,得到归一化第一向量。
因为第一参数表示第一节点序列中的节点构成的路径,在第一向量方向上的长度分量,所以第一向量使用第一参数得到的归一化第一向量,可以看作是消除了长度的特异性的向量。即第一模型中的第一节点序列构成的路径中,各节点之间的距离对归一化第一向量的影响已经被消除。
S36、使用第二参数将归一化第一向量反归一化至第二模型,得到第一参考点的指向向量。
第二参数表示第二节点序列中的节点构成的路径,在第一向量方向上的长度分量,所以归一化第一向量乘以第二参数,可以看作将归一化第一向量映射到了第二模型。即指向向量具有了第二节点序列构成的路径中,各个节点之间的距离特征。
S37、依据至少第一参考点的指向位移坐标,确定将目标节点的位置坐标迁移至对应目标节点后得到的迁移位置坐标。
第一参考点的指向位移坐标为将第一参考点沿指向向量的方向,移动指向向量的长度后得到的坐标。
从上述流程可以看出,本实施例中,利用归一化方法,屏蔽第一模型的第一节点序列构成的路径的长度的特异性,再将归一化第一向量映射至第二模型中,以使得指向向量获得第二节点序列构成的路径的长度特征,因此,使用指向向量确定的目标节点的位置坐标,与第二模型匹配,从而第二模型依据位置坐标驱动虚拟对象呈现的动作能够贴近实体的动作,即具有较高的精准性。
并且,本实施例中,使用参考点获得节点的位置坐标,因为参考点具有更实体的特性,所以能够进一步提高虚拟对象的动作的精准性。
下面为将上述实施例应用在图2a以及图2b所示的人体3D模型的流程,包括以下步骤:
1、依据第一模型中的节点的旋转数据,获取第一模型的网格中的参考点的位置坐标。
2、依据第一模型中的节点的位置坐标和参考点的位置坐标,获取第一参考点指向目标节点的向量,作为第一向量。
如前所述,目标节点为第一模型中的任意一个待数据迁移的节点,在本步骤以及以下实施例中,目标节点的示例为LeftWrist。
第一参考节点为图2b所示的任意一个三角形的中心。
假设与第一参考节点距离最近的节点为图2a所示的Hips,则第一节点为Hips。
3、将第一模型各向量在第一向量上的投影长度之和,作为第一参数。
第一模型各向量为第一节点序列中,相邻的两个节点的前一个节点指向后一个节点的向量。第一节点序列为在第一模型上,从第一节点移动到目标节点的过程中,依次经过的节点按照被经过的顺序,构成的序列。
其中,前一个节点指向后一个节点的向量的长度,通过前一个节点与后一个节点的位置坐标的之差得到,方向为前一个节点指向后一个节点的方向。
以图2a为例,从第一模型中的Hips移动到LeftWrist的过程中,依次被经过的节点为:Hips->Spine1->Spine2->LeftShoulder->LeftElbow->LeftWrist,因此,第一节点序列为(Hips,Spine1,Spine2,LeftShoulder,LeftElbow,LeftWrist)。
各第一模型向量为:
在以上各式中,P表示位置坐标,src表示第一模型。
从上述第一参数的计算公式可以看出,第一参数表示第一节点序列中的节点构成的路径,在第一向量方向上的长度分量。
4、将第二模型各向量在第一向量上的投影长度之和,作为第二参数。
第二模型各向量为第二节点序列中,相邻的两个节点的前一个节点指向后一个节点的向量。第二节点序列为在第二模型上,从对应第一节点移动到对应目标节点的过程中,依次经过的节点按照被经过的顺序,构成的序列。
依据以上对应节点的定义,与第一模型中的第一节点序列的示例相对应的第二节点序列的示例为第二模型中节点构成的如下序列:
(Hips,Spine1,Spine2,LeftShoulder,LeftElbow,LeftWrist)。
各第二模型向量为:
在以上各式中,P表示位置坐标,tar表示第二模型。
5、使用第一参数,对第一向量进行归一化处理,得到归一化第一向量。
因为第一参数表示第一节点序列中的节点构成的路径,在第一向量方向上的长度分量,所以第一向量使用第一参数得到的归一化第一向量,可以看作是消除了长度的特异性的向量。即第一模型中的第一节点序列构成的路径中,各节点之间的距离对归一化第一向量的影响已经被消除。
可以理解的是,上述计算归一化向量的公式仅为示例,还可以为其它形式,例如,在上式乘以一个系数等。
6、使用第二参数将归一化第一向量反归一化至第二模型,得到第一参考点的指向向量。
第二参数表示第二节点序列中的节点构成的路径,在第一向量方向上的长度分量,所以归一化第一向量乘以第二参数,可以看作将归一化第一向量映射到了第二模型。即指向向量具有了第二节点序列构成的路径中,各个节点之间的距离特征。
7、依据至少第一参考点的指向位移坐标,确定将目标节点的位置坐标迁移至对应目标节点后得到的迁移位置坐标。
从上述流程可以看出,本实施例中,利用归一化方式将第一模型中的数据去除人体身材比例的影响后,再将数据分配至第二模型,且分配至第二模型时考虑到了第二模型的身材比例,并且,引入能够反映人体“胖瘦”的参考点,所以,能够使得第二模型驱动的虚拟人物的动作与实体的动作更为贴近,从而具有更高的准确性。
图4为本申请实施例公开的一种数据的迁移方法的流程,与图3所示的流程相比,主要区别在于,限定或增加了能够进一步提高精度以及节省资源的步骤。
图4中包括以下步骤:
S41、采集第一模型的节点的数据。
其中,第一模型的运动数据包括第一模型中的节点的位置数据以及旋转数据。
如前所述,可以使用动作捕捉技术采集实体在运动过程中,各个关节点的数据,并将采集到的数据分配至第一模型中的节点。第一模型中任意一个节点的数据包括节点的位置坐标以及旋转数据
可以理解的是,如果连续采集动作数据,则可以形成多帧动作数据,本实施例中,将第一模型的任意一帧动作数据记为:
旋转数据:
其中,src表示第一模型,Hips表示臀部(关)节点,Spine1表示脊柱第一(关)节点,Spine2表示脊柱第二(关)节点,Neck表示颈部(关)节点,Head表示头部(关)节点,LeftShoulder表示左肩(关)节点,RightShoulder表示右肩(关)节点,LeftElbow表示左肘(关)节点,RightElbow表示右肘(关)节点,LeftWrist表示左手腕(关)节点,RightWrist表示右手腕(关)节点,LeftHips表示左臀部(关)节点,RightHips表示右臀部(关)节点,LeftKnee表示左膝盖(关)节点,RightKnee表示右左膝盖(关)节点,LeftAnkle表示左脚踝(关)节点,RightAnkle表示右脚踝(关)节点。
位置坐标:
S42、依据旋转数据,获取第一模型的网格中的参考点的位置坐标。
S43、将第一模型中的躯干节点的位置坐标,作为第二模型中的对应节点的迁移位置坐标。
躯干节点是指位于躯干部分的节点。也就是说,对于人体3D模型中的躯干上的节点,可以直接将通过动作捕捉技术分配给第一模型中节点的位置坐标作为第二模型中对应节点的位置坐标,而无需通过上述实施例所述的步骤迁移。
因为人体的躯干节点不参与运动,或者对于运动的贡献有限,所以躯干节点的位置坐标,对于动作精准性的影响不大,因此,直接将第一模型的躯干节点的位置坐标,作为第二模型中对应节点的迁移位置坐标,在不会明显降低虚拟对象的动作的精准性的前提下,能够节省算力,以及降低时延。
S44、确定第一模型中,全部参考点的指向向量。
为了便于说明,将第一模型的参考点中的任一参考点,称为第一参考点。
其中,refi A为参考点,其中i=1、2、……n,i的不同取值表示各个参考点。λi为预设的权重参数,可以预先设置。以下将第一参考点指向LeftWrist节点的向量称为第一向量。
可以理解的是,式(1)的含义为:LeftWrist节点的位置数据为,各个参考点的第二向量的加权和,其中,第一参考点的第二向量为,第一参考点的第一向量与第一参考点在第一模型中的位置数据之和。
也就是说,以上流程还可以表述为:依据目标节点的位置坐标,确定第一节点的初始位移坐标,第一参考点的初始位移坐标为将第一参考点沿第一向量的方向,移动第一向量的长度后的得到的坐标。依据第一参考点的初始位移坐标以及第一参考点的位置坐标,获取第一向量。
可以理解的是,每一个参考点均按照上述流程,即可获得对应的第一向量。
本步骤所述的获取第一向量的方式,由多个参考点确定第一向量,因此,比使用目标节点和第一参考点的位置坐标确定的方式的准确度高。
在获取vi后,各个参考点的第一参数、第二参数以及指向向量的获取方式,可以参见上述第一参考点的指向向量的获取方法,这里不再赘述。
S45、依据第一模型的各个参考点的指向位移坐标,确定将目标节点的位置坐标迁移至对应目标节点后得到的迁移位置坐标。
与上述实施例中,仅使用第一参考点确定目标节点的迁移位置坐标相比,使用多个参考点确定目标节点的迁移位置的方式,获得的结果更为准确。
因为目标节点为除躯干节点之外的任意一个节点,所以依次对除躯干节点之外的节点进行上述处理,即可得到除躯干节点之外的全部其它节点的迁移位置坐标。
S46、依据对应目标节点的迁移位置坐标以及第二模型中的节点的初始位置坐标,确定对应目标节点的迁移旋转数据。
其中,初始位置坐标可以在构建第二模型时配置,对于本步骤是已知数据。
具体的,可以利用IK算法,由迁移位置坐标以及初始位置坐标,确定迁移旋转数据,这里不再赘述。
可以理解的是,使用迁移后位置坐标以及初始位置坐标,确定迁移旋转数据的方式,与确定迁移位置坐标的方式相比,比较易于实现,所以也能够节省算力以及时间资源。
图4所示的流程,具有以下有益效果:
1、使用人体3D骨骼模型中各节点之间的向量与位置数据的关系,确定各节点之间的向量,更能贴近节点之间的真实拓扑关系。
2、长度是导致同构模型“穿模”的原因,而本实施例中,以长度向量为依据,分别确定第一参数和第二参数,因此,能够从根本上解决第二模型驱动的虚拟对象运动不精确例如“穿模”问题。
3、依据迁移位置坐标确定迁移旋转数据,以及,躯干节点的节点的迁移前位置坐标直接作为迁移位置坐标,在获得满足准确性需求的迁移数据的前提下,能够节省资源。
图5为本申请实施例公开的一种数据的迁移装置,包括:第一获取模块、第二获取模块、第一处理模块、第二处理模块、归一化模块、反归一化模块以及迁移模块。
第一获取模块用于依据所述第一模型中的节点的旋转数据,获取所述第一模型的网格中的参考点的位置坐标。
第二获取模块用于依据所述第一模型中的节点的位置坐标和所述参考点的位置坐标,获取第一参考点指向目标节点的向量,作为第一向量;所述目标节点为所述第一模型中的任意一个待数据迁移的节点,所述第一参考点为所述第一模型的网格中的任意一个参考点。
第一处理模块用于将第一模型各向量在所述第一向量上的投影长度之和,作为第一参数;所述第一模型各向量为第一节点序列中,相邻的两个节点的前一个节点指向后一个节点的向量,所述第一节点序列为在所述第一模型上,从第一节点移动到所述目标节点的过程中,依次经过的节点按照被经过的顺序,构成的序列,所述第一节点为所述第一模型的初始状态下与所述第一参考点的距离满足预设条件的节点。
第二处理模块用于将第二模型各向量在所述第一向量上的投影长度之和,作为第二参数;所述第二模型各向量为第二节点序列中,相邻的两个节点的前一个节点指向后一个节点的向量,所述第二节点序列为在所述第二模型上,从对应第一节点移动到对应目标节点的过程中,依次经过的节点按照被经过的顺序,构成的序列;所述对应第一节点为:与所述第一节点表示相同拓扑关系的节点,所述对应目标节点为:与所述目标节点表示相同拓扑关系的节点。
归一化模块用于使用所述第一参数,对所述第一向量进行归一化处理,得到归一化第一向量。
反归一化模块用于使用所述第二参数将所述归一化第一向量反归一化至所述第二模型,得到所述第一参考点的指向向量。
迁移模块用于依据至少所述第一参考点的指向位移坐标,确定将所述目标节点的位置坐标迁移至所述对应目标节点后得到的迁移位置坐标,所述第一参考点的指向位移坐标为将所述第一参考点沿所述指向向量的方向,移动所述指向向量的长度后得到的坐标。
可选的,所述迁移模块还用于:
依据所述对应目标节点的位置坐标以及所述第二模型中的节点的初始位置坐标,确定所述对应目标节点的迁移旋转数据,所述初始位置坐标为,在所述将所述目标节点的所述位置坐标迁移至所述第二模型的所述对应目标节点的迁移位置数据之前,所述第二模型中的节点的预设位置坐标。
可选的,所述第二获取模块用于依据所述第一模型中的节点的位置坐标和所述参考点的位置坐标,获取第一参考点指向目标节点的向量,作为第一向量,包括:
所述第二获取模块具体用于,依据所述目标节点的位置坐标,确定所述第一参考点的初始位移坐标,所述第一参考点的初始位移坐标为将所述第一参考点沿所述第一向量的方向,移动所述第一向量的长度后的得到的坐标;依据所述第一参考点的初始位移坐标以及所述第一参考点的位置坐标,获取所述第一向量。
可选的,所述归一化模块用于使用所述第一参数,对所述第一向量进行归一化处理,得到归一化第一向量包括:
所述归一化模块具体用于,依据所述第一向量与所述第一参数的比值,得到所述第一参考点的归一化第一向量。
可选的,所述反归一化模块用于使用所述第二参数将所述归一化第一向量反归一化至所述第二模型,得到所述第一节点的指向向量包括:所述反归一化模块具体用于,依据所述归一化第一向量与所述第二参数的乘积,获取所述第一节点的指向向量
可选的,所述迁移模块用于依据至少所述第一参考点的指向位移坐标,确定将所述目标节点的位置坐标迁移至所述对应目标节点后得到的迁移位置坐标包括:
所述迁移模块具体用于,依据所述第一模型的各个参考点的指向位移坐标,确定将所述目标节点的位置坐标迁移至所述对应目标节点后得到的迁移位置坐标。
可选的,所述第一模型和所述第二模型为人体模型。所述目标节点为所述第一模型中的任意一个待数据迁移的节点,包括:所述目标节点为所述第一模型中除躯干节点之外的任意一个待数据迁移的节点。
本实施例所述的装置,用于将第一模型的数据迁移至拓扑关系相同的第二模型,使得得到迁移后数据的第二模型驱动的虚拟对象的动作精准性较高。
本申请实施例还公开了一种电子设备,包括:处理器和存储器,所述存储器用于存储程序,所述处理器用于运行所述程序,以实现上述实施例所述的数据的迁移方法。
本申请实施例还公开了一种计算机可读存储介质,其上存储有程序,其特征在于,在电子设备运行所述程序时,实现上述实施例所述的数据的迁移方法。
本申请实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本申请实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据的迁移方法,用于将第一模型的数据迁移至拓扑关系相同的第二模型,其特征在于,包括:
依据所述第一模型中的节点的旋转数据,获取所述第一模型的网格中的参考点的位置坐标;
依据所述第一模型中的节点的位置坐标和所述参考点的位置坐标,获取第一参考点指向目标节点的向量,作为第一向量;所述目标节点为所述第一模型中的任意一个待数据迁移的节点,所述第一参考点为所述第一模型的网格中的任意一个参考点;
将第一模型各向量在所述第一向量上的投影长度之和,作为第一参数;所述第一模型各向量为第一节点序列中,相邻的两个节点的前一个节点指向后一个节点的向量,所述第一节点序列为在所述第一模型上,从第一节点移动到所述目标节点的过程中,依次经过的节点按照被经过的顺序,构成的序列,所述第一节点为所述第一模型的初始状态下与所述第一参考点的距离满足预设条件的节点;
将第二模型各向量在所述第一向量上的投影长度之和,作为第二参数;所述第二模型各向量为第二节点序列中,相邻的两个节点的前一个节点指向后一个节点的向量,所述第二节点序列为在所述第二模型上,从对应第一节点移动到对应目标节点的过程中,依次经过的节点按照被经过的顺序,构成的序列;所述对应第一节点为:与所述第一节点表示相同拓扑关系的节点,所述对应目标节点为:与所述目标节点表示相同拓扑关系的节点;
使用所述第一参数,对所述第一向量进行归一化处理,得到归一化第一向量;
使用所述第二参数将所述归一化第一向量反归一化至所述第二模型,得到所述第一参考点的指向向量;
依据至少所述第一参考点的指向位移坐标,确定将所述目标节点的位置坐标迁移至所述对应目标节点后得到的迁移位置坐标,所述第一参考点的指向位移坐标为将所述第一参考点沿所述指向向量的方向,移动所述指向向量的长度后得到的坐标。
2.根据权利要求1所述的方法,其特征在于,所述依据所述第一模型中的节点的位置坐标和所述参考点的位置坐标,获取第一参考点指向目标节点的向量,作为第一向量,包括:
依据所述目标节点的位置坐标,确定所述第一参考点的初始位移坐标,所述第一参考点的初始位移坐标为将所述第一参考点沿所述第一向量的方向,移动所述第一向量的长度后的得到的坐标;
依据所述第一参考点的初始位移坐标以及所述第一参考点的位置坐标,获取所述第一向量。
3.根据权利要求1所述的方法,其特征在于,所述使用所述第一参数,对所述第一向量进行归一化处理,得到归一化第一向量,包括:
依据所述第一向量与所述第一参数的比值,得到所述第一参考点的归一化第一向量;
所述使用所述第二参数将所述归一化第一向量反归一化至所述第二模型,得到所述第一参考点的指向向量,包括:
依据所述归一化第一向量与所述第二参数的乘积,获取所述第一参考点的指向向量。
4.根据权利要求1所述的方法,其特征在于,所述依据至少所述第一参考点的指向位移坐标,确定将所述目标节点的位置坐标迁移至所述对应目标节点后得到的迁移位置坐标,包括:
依据所述第一模型的各个参考点的指向位移坐标,确定将所述目标节点的位置坐标迁移至所述对应目标节点后得到的迁移位置坐标。
5.根据权利要求1-4任一项所述的方法,其特征在于,还包括:
依据所述对应目标节点的位置坐标以及所述第二模型中的节点的初始位置坐标,确定所述对应目标节点的迁移旋转数据,所述初始位置坐标为,在所述将所述目标节点的所述位置坐标迁移至所述第二模型的所述对应目标节点的迁移位置数据之前,所述第二模型中的节点的预设位置坐标。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述第一模型和所述第二模型均为人体模型;
所述目标节点为所述第一模型中的任意一个待数据迁移的节点,包括:
所述目标节点为所述第一模型中除躯干节点之外的任意一个待数据迁移的节点。
7.一种数据的迁移装置,用于将第一模型的数据迁移至拓扑关系相同的第二模型,其特征在于,包括:
第一获取模块,用于依据所述第一模型中的节点的旋转数据,获取所述第一模型的网格中的参考点的位置坐标;
第二获取模块,用于依据所述第一模型中的节点的位置坐标和所述参考点的位置坐标,获取第一参考点指向目标节点的向量,作为第一向量;所述目标节点为所述第一模型中的任意一个待数据迁移的节点,所述第一参考点为所述第一模型的网格中的任意一个参考点;
第一处理模块,用于将第一模型各向量在所述第一向量上的投影长度之和,作为第一参数;所述第一模型各向量为第一节点序列中,相邻的两个节点的前一个节点指向后一个节点的向量,所述第一节点序列为在所述第一模型上,从第一节点移动到所述目标节点的过程中,依次经过的节点按照被经过的顺序,构成的序列,所述第一节点为所述第一模型的初始状态下与所述第一参考点的距离满足预设条件的节点;
第二处理模块,用于将第二模型各向量在所述第一向量上的投影长度之和,作为第二参数;所述第二模型各向量为第二节点序列中,相邻的两个节点的前一个节点指向后一个节点的向量,所述第二节点序列为在所述第二模型上,从对应第一节点移动到对应目标节点的过程中,依次经过的节点按照被经过的顺序,构成的序列;所述对应第一节点为:与所述第一节点表示相同拓扑关系的节点,所述对应目标节点为:与所述目标节点表示相同拓扑关系的节点;
归一化模块,用于使用所述第一参数,对所述第一向量进行归一化处理,得到归一化第一向量;
反归一化模块,用于使用所述第二参数将所述归一化第一向量反归一化至所述第二模型,得到所述第一参考点的指向向量;
迁移模块,用于依据至少所述第一参考点的指向位移坐标,确定将所述目标节点的位置坐标迁移至所述对应目标节点后得到的迁移位置坐标,所述第一参考点的指向位移坐标为将所述第一参考点沿所述指向向量的方向,移动所述指向向量的长度后得到的坐标。
8.根据权利要求7所述的装置,其特征在于,所述迁移模块还用于:
依据所述对应目标节点的位置坐标以及所述第二模型中的节点的初始位置坐标,确定所述对应目标节点的迁移旋转数据,所述初始位置坐标为,在所述将所述目标节点的所述位置坐标迁移至所述第二模型的所述对应目标节点的迁移位置数据之前,所述第二模型中的节点的预设位置坐标。
9.一种电子设备,其特征在于,包括:
处理器和存储器;
所述存储器用于存储程序,所述处理器用于运行所述程序,以实现权利要求1-6任一项所述的数据的迁移方法。
10.一种计算机可读存储介质,其上存储有程序,其特征在于,在电子设备运行所述程序时,实现权利要求1-6任一项所述的数据的迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110744454.XA CN113379903A (zh) | 2021-06-30 | 2021-06-30 | 数据的迁移方法及装置、电子设备、可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110744454.XA CN113379903A (zh) | 2021-06-30 | 2021-06-30 | 数据的迁移方法及装置、电子设备、可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113379903A true CN113379903A (zh) | 2021-09-10 |
Family
ID=77580480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110744454.XA Pending CN113379903A (zh) | 2021-06-30 | 2021-06-30 | 数据的迁移方法及装置、电子设备、可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113379903A (zh) |
-
2021
- 2021-06-30 CN CN202110744454.XA patent/CN113379903A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tiwari et al. | Neural-gif: Neural generalized implicit functions for animating people in clothing | |
Feng et al. | Avatar reshaping and automatic rigging using a deformable model | |
Mori et al. | Estimating human body configurations using shape context matching | |
WO2021169839A1 (zh) | 一种基于骨骼关键点的动作还原方法以及装置 | |
Shin et al. | Computer puppetry: An importance-based approach | |
US11948376B2 (en) | Method, system, and device of generating a reduced-size volumetric dataset | |
Stoll et al. | Fast articulated motion tracking using a sums of gaussians body model | |
US8830269B2 (en) | Method and apparatus for deforming shape of three dimensional human body model | |
CN110827383B (zh) | 三维模型的姿态模拟方法、装置、存储介质和电子设备 | |
Bertiche et al. | DeePSD: Automatic deep skinning and pose space deformation for 3D garment animation | |
CN107590708B (zh) | 一种生成用户特定体形模型的方法和装置 | |
KR20140101439A (ko) | 포즈를 추정하기 위한 방법 및 장치 | |
KR20220025023A (ko) | 애니메이션 처리 방법 및 장치, 컴퓨터 저장 매체 그리고 전자 디바이스 | |
Villegas et al. | Contact-aware retargeting of skinned motion | |
JP2019096113A (ja) | キーポイントデータに関する加工装置、方法及びプログラム | |
JPH09330424A (ja) | 3次元骨格構造の動き変換装置 | |
Hong et al. | Garment4d: Garment reconstruction from point cloud sequences | |
CN113362431A (zh) | 数据的迁移方法及装置、电子设备、可读存储介质 | |
Romeo et al. | Muscle Simulation with Extended Position Based Dynamics. | |
CN113379903A (zh) | 数据的迁移方法及装置、电子设备、可读存储介质 | |
Oliveira et al. | Animating scanned human models | |
CN115761074A (zh) | 动画数据处理方法、装置、电子设备及介质 | |
CN113724363A (zh) | 数据的迁移方法及装置、电子设备、可读存储介质 | |
CN113744375A (zh) | 数据的迁移方法及装置、电子设备、可读存储介质 | |
KR20010057880A (ko) | 보행 동작 변형 애니메이션 방법 |
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 |