骨骼映射方法和装置、设备、存储介质

文档序号:192770 发布日期:2021-11-02 浏览:23次 >En<

阅读说明:本技术 骨骼映射方法和装置、设备、存储介质 (Skeleton mapping method and device, equipment and storage medium ) 是由 尹浩 于 2021-07-15 设计创作,主要内容包括:本申请公开了一种骨骼映射方法和装置、设备、存储介质,骨骼映射方法包括:获取源骨骼和目标骨骼;确定源骨骼的节点和目标骨骼的节点之间的第一映射代价;利用第一映射代价,确定源骨骼和目标骨骼之间的第一节点映射关系。上述方案,能够提高骨骼节点的映射效率。(The application discloses a bone mapping method, a bone mapping device, bone mapping equipment and a bone mapping storage medium, wherein the bone mapping method comprises the following steps: acquiring a source bone and a target bone; determining a first mapping cost between a node of a source bone and a node of a target bone; and determining a first node mapping relation between the source bone and the target bone by using the first mapping cost. By the scheme, the mapping efficiency of the bone nodes can be improved.)

骨骼映射方法和装置、设备、存储介质

技术领域

本申请涉及图像处理技术领域,特别是涉及一种骨骼映射方法和装置、设备、存储介质。

背景技术

目前,动画迁移逐渐走向人们的视野。所谓的动画迁移指的是使用一个骨骼的动画数据来驱动另一个骨骼运动。但是,在进行动画迁移之前,需要确定两个骨骼中各骨骼节点之间的映射关系,以便实现动画迁移。但是现目前确定两个骨骼中各骨骼节点之间的映射关系的方式仍然是人工确定,也就是手动建立两个骨骼之间的映射关系,若骨骼的数量多,结构较为复杂时,若仍然使用人工进行确定,十分耗时。

发明内容

本申请至少提供一种骨骼映射方法和装置、设备、存储介质。

本申请提供了一种骨骼映射方法,包括:获取源骨骼和目标骨骼;确定源骨骼的节点和目标骨骼的节点之间的第一映射代价;利用第一映射代价,确定源骨骼和目标骨骼之间的第一节点映射关系。

因此,通过使用源骨骼的节点和目标骨骼的节点之间的第一映射代价,即可确定源骨骼和目标骨骼之间的第一节点映射关系,无需人工确定,提高骨骼节点的映射效率,节省人工成本且整个过程方便快捷。

另外,采用除机器学习以外的来实现骨骼节点映射,无需预先对机器学习模型进行训练,简化映射实现流程,提高骨骼节点的映射效率,也无需人工标注训练样本,节省人工成本,而且,考虑不同骨骼的节点结构存在差异,采用一定样本训练得到的机器学习模型来进行骨骼节点映射,未必适应于不同结构的骨骼,存在一定的局限性。

其中,源骨骼包括至少一个源分支,目标骨骼包括至少一个目标分支,源分支和目标分支均包括至少一个节点;利用第一映射代价,确定源骨骼和目标骨骼之间的第一节点映射关系,包括:基于第一映射代价,确定源分支与目标分支之间的第二映射代价;依据第二映射代价,确定源骨骼和目标骨骼之间的第一节点映射关系。

因此,通过各节点之间的映射关系确定各分支之间的映射代价,先确定各分支之间的映射代价,依据各分支之间的映射代价能够得到更为准确的第一节点映射关系。

其中,基于第一映射代价,确定源分支与目标分支之间的第二映射代价,包括:确定源分支和目标分支之间的若干种候选映射关系;基于第一映射代价,确定每种候选映射关系所需的候选映射代价;选择满足第一预设条件的候选映射代价作为源分支和目标分支之间的第二映射代价。

因此,通过选择满足第一预设条件的候选映射代价作为源分支和目标分支之间的第二映射代价,使得获取得到的第二映射代价更为准确。

其中,候选映射关系包括源分支与目标分支之间的第二节点映射关系;其中,候选映射关系中所有第二节点映射关系之间均不存在交叉。

因此,通过限制各第二节点映射关系之间不存在交叉,使得确定的第二节点映射关系更为准确。

其中,基于第一映射代价,确定每种候选映射关系所需的候选映射代价,包括:基于候选映射关系中各第二节点映射关系所需的第一映射代价,确定候选分支映射关系所需的候选映射代价。

因此,通过各第二节点映射关系所需的第一映射代价,即可确定候选分支映射关系所需的候选映射代价。

其中,依据第二映射代价,确定源骨骼与目标骨骼之间的第一节点映射关系,包括:将源分支和目标分支的其中一个作为第一分支,另一个作为第二分支;对于每个第一分支,确定与第一分支之间的第二映射代价满足第二预设条件的第二分支,并获取第一分支与确定的第二分支之间的第二节点映射关系,其中,第二映射代价是基于第二节点映射关系所需的第一映射代价确定的;利用不同第一分支对应的第二节点映射关系,确定源骨骼与目标骨骼之间的第一节点映射关系。

因此,通过选择与第一分支之间的第二映射代价满足第二预设条件的第二分支,并以此确定第一分支与该第二分支之间的第二节点映射关系,使得获取到的第一节点映射关系更为准确。

其中,确定源骨骼的节点和目标骨骼的节点之间的第一映射代价,包括:获取源骨骼的节点和目标骨骼的节点关于至少一种参数之间的差异信息,其中,至少一种参数包括表示节点的位置情况的位置参数和/或表示节点与所在骨骼的其他节点的关联程度的关联性参数;利用关于至少一种参数之间的差异信息,确定源骨骼的节点和目标骨骼的节点之间的第一映射代价。

因此,通过上述一种或多种参数之间的差异信息确定第一映射代价,能够综合多个维度的信息,使得最终的第一映射代价更准确。

其中,位置参数包括以下至少一种:节点在世界坐标系下的位置、以及节点与根节点之间的距离与节点所在分支的长度之间的占比,关联性参数包括中心度和节点度数,其中,中心度为节点所经过的分支数量,节点度数为节点的父节点与子节点的总数。

因此,通过获取以上至少一种位置参数、关联性参数,使得获取得到的第一映射代价更准确。

其中,利用关于至少一种参数之间的差异信息,确定源骨骼的节点和目标骨骼的节点之间的第一映射代价,包括:将关于至少一种参数之间的差异信息进行加权处理,得到源骨骼的节点和目标骨骼的节点之间的第一映射代价。

因此,通过对各参数设置对应的权重,能够提高各自的侧重性,使得第一映射代价更准确。

其中,在利用第一映射代价,确定源骨骼和目标骨骼之间的第一节点映射关系之后,方法还包括:将源骨骼和目标骨骼的至少一个作为待检验骨骼;将待检验骨骼中没有第一节点映射关系的节点作为目标节点,并基于与目标节点相邻的节点的第一节点映射关系,确定目标节点的第一节点映射关系。

因此,通过给未建立第一节点映射关系的节点构建第一节点映射关系,使得两个骨骼之间的第一节点映射关系更为丰满,以便后续操作。

其中,基于与目标节点相邻的节点的第一节点映射关系,确定目标节点的第一节点映射关系,包括:基于与目标节点相邻的节点的第一节点映射关系,确定目标节点的待定节点映射关系;响应于待定节点映射关系与待检验骨骼的第一节点映射关系不存在交叉,则将目标节点的待定节点映射关系作为目标节点的第一节点映射关系。

因此,通过限制各第一节点映射关系之间不存在交叉,使得确定的第一节点映射关系更为准确。

其中,获取目标骨骼,包括:对目标图像进行骨骼提取,得到初始骨骼;对初始骨骼进行节点聚类,得到目标骨骼。

因此,通过对提取到的初始骨骼进行聚类,使得最终的目标骨骼更为精简。

其中,初始骨骼包括多个节点以及至少一条边,其中,边是由相邻两个节点连接形成;对初始骨骼进行节点聚类,得到目标骨骼,包括:响应于初始骨骼中的边满足第三预设条件,将边对应的两个节点合并为一个节点;其中,第三预设条件包括以下任意一种或任意多种:边对应的一个或两个节点的中心度数大于第一阈值,边对应的两个节点之间的边的数量大于第二阈值,边对应的一个或两个节点对应的关节表面积小于第三阈值,边的长度小于第四阈值。

因此,通过使用上述任意一种或多种条件,即可对初始骨骼进行简化。

其中,在确定源骨骼的节点和目标骨骼的节点之间的第一映射代价之前,方法还包括:对源骨骼和目标骨骼的尺寸参数进行归一化,其中,尺寸参数包括相邻两个节点之间的距离。

因此,通过先对两个骨骼的尺寸进行归一化,能够减小二者的尺寸差异,从而提高第一映射关系构建的准确度。

其中,利用第一映射代价,确定源骨骼和目标骨骼之间的第一节点映射关系之后,方法还包括:将源骨骼相关的第一动画驱动数据迁移至目标骨骼上,得到目标骨骼的第二动画驱动数据。

因此,通过在构建第一映射关系之后,将源骨骼相关的第一动画驱动数据迁移到目标骨骼上,能够目标骨骼的动画驱动稳定性。

本申请提供了一种骨骼映射装置,包括:获取模块,用于获取源骨骼和目标骨骼;映射代价确定模块,用于确定源骨骼的节点和目标骨骼的节点之间的第一映射代价;映射模块,用于利用第一映射代价,确定源骨骼和目标骨骼之间的第一节点映射关系。

本申请提供了一种电子设备,包括存储器和处理器,处理器用于执行存储器中存储的程序指令,以实现上述骨骼映射方法。

本申请提供了一种计算机可读存储介质,其上存储有程序指令,程序指令被处理器执行时实现上述骨骼映射方法。

上述方案,通过使用源骨骼的节点和目标骨骼的节点之间的第一映射代价,即可确定源骨骼和目标骨骼之间的第一节点映射关系,无需人工确定,提高骨骼节点的映射效率,节省人工成本且整个过程方便快捷。

另外,采用除机器学习以外的来实现骨骼节点映射,无需预先对机器学习模型进行训练,简化映射实现流程,提高骨骼节点的映射效率,也无需人工标注训练样本,节省人工成本,而且,考虑不同骨骼的节点结构存在差异,采用一定样本训练得到的机器学习模型来进行骨骼节点映射,未必适应于不同结构的骨骼,存在一定的局限性。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本申请的实施例,并与说明书一起用于说明本申请的技术方案。

图1是本申请骨骼映射方法一实施例的流程示意图;

图2是本申请骨骼映射方法一实施例示出初始骨骼的示意图;

图3是本申请骨骼映射方法一实施例示出目标骨骼的示意图;

图4是本申请骨骼映射方法一实施例示出各节点的关节表面的示意图;

图5是本申请骨骼映射方法一实施例示出低分辨率的目标骨骼的示意图;

图6是本申请骨骼映射方法一实施例示出步骤S13的子流程的示意图;

图7是本申请骨骼映射方法一实施例示出第一映射代价的示意图;

图8是本申请骨骼映射方法一实施例示出部分候选映射关系的示意图;

图9是本申请骨骼映射装置一实施例的结构示意图;

图10是本申请电子设备一实施例的结构示意图;

图11是本申请计算机可读存储介质一实施例的结构示意图。

具体实施方式

下面结合说明书附图,对本申请实施例的方案进行详细说明。

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本申请。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。此外,本文中的“多”表示两个或者多于两个。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。

请参阅图1,图1是本申请骨骼映射方法一实施例的流程示意图。

具体而言,可以包括如下步骤:

步骤S11:获取源骨骼和目标骨骼。

获取源骨骼和目标骨骼的方式可以是直接接收用户输入的骨骼,还可以是接收用户输入的图片,通过对图像进行骨骼提取,得到对应的源骨骼和/或目标骨骼,还可以是获取用户输入的多维网格,通过对该多维网格进行处理,得到对应的骨骼。

步骤S12:确定源骨骼的节点和目标骨骼的节点之间的第一映射代价。

第一映射代价用于表示两个节点相似度。一般而言,若两个节点的相似度越高,则认为二者匹配的代价越低。因此,通过得到各节点之间的第一映射代价,就能够确定各节点之间的相似度。

步骤S13:利用第一映射代价,确定源骨骼和目标骨骼之间的第一节点映射关系。

如上述,两个节点之间的第一映射代价可以用于表示二者之间的相似度。通过参考第一映射代价,确定源骨骼和目标骨骼之间的第一节点映射关系,可以认为是间接根据源骨骼和目标骨骼中各节点之间的相似度,确定源骨骼和目标骨骼之间的第一节点映射关系。

上述方案,通过使用源骨骼的节点和目标骨骼的节点之间的第一映射代价,即可确定源骨骼和目标骨骼之间的第一节点映射关系,无需人工确定,提高骨骼节点的映射效率,节省人工成本且整个过程方便快捷。

另外,采用除机器学习以外的来实现骨骼节点映射,无需预先对机器学习模型进行训练,简化映射实现流程,提高骨骼节点的映射效率,也无需人工标注训练样本,节省人工成本,而且,考虑不同骨骼的节点结构存在差异,采用一定样本训练得到的机器学习模型来进行骨骼节点映射,未必适应于不同结构的骨骼,存在一定的局限性。

一些公开实施例中,获取目标骨骼的方式可以是,对目标图像进行骨骼提取,得到初始骨骼。然后对初始骨骼进行简化,得到目标骨骼。其中,目标图像指的是包括目标对象的图像,目标骨骼为目标对象的骨骼。目标图像的形式可以是对目标对象拍摄得到,也可以是卡通图,还可以是手绘图。对目标图像进行骨骼提取的方式可以是对目标图像进行轮廓提取,并对提取得到的轮廓进行三角剖分得到三维网格,三维网格包括多个顶点。对三维网格进行骨骼提取,得到初始骨骼。其中,对初始骨骼进行简化的方式有多种,例如根据真实形体的骨架结构对初始骨骼进行简化,或者对初始骨骼进行节点聚类,得到目标骨骼。

另一些公开实施例中,得到目标骨骼的方式还可以是:获取输入的目标网格、对输入的网格创建新关节,并执行区域增长算法,直至每个多边形网格均分配给一个关节。然后对关节表面进行采样为点云。计算每个关节的定向边界框,并判断各关节对应的定向边界框是否发生碰撞,若是,则判断关节中的任意两个点云的距离是否小于预先设定的距离,若是,则生成接触,得到接触图。对接触图进行聚类,判断骨骼中的哪些边是可以折叠的,依次对接触图进行简化,得到最终的目标骨骼。其中,生成接触图的方式可参见一般的现有技术,此处不再赘述。进行聚类的方式同样可以参见下述,此处不做过多叙述。

为更好地理解初始骨骼和目标骨骼之间的区别,请参见图2和图3,图2是本申请骨骼映射方法一实施例示出初始骨骼的示意图,图3是本申请骨骼映射方法一实施例示出目标骨骼的示意图。

如图2和图3所示,图2是对一个目标对象为恐龙的初始骨骼,很明显,初始骨骼中骨骼分支数量众多,且各节点之间的连接关系紊乱。而经过简化之后的目标骨骼分支数量相对较少,且各节点之间的连接关系清晰。通过使用简化后的目标骨骼进行骨骼映射,能够提高骨骼映射的准确度。

其中,初始骨骼包括多个节点以及至少一条边。多个可以是两个及以上。其中,边是由相邻两个节点连接形成。对初始骨骼进行节点聚类,得到目标骨骼的方式可以是响应于初始骨骼中的边满足第三预设条件,将边对应的两个节点合并为一个节点。其中,合并的方式可以是保留父节点,删除子节点,即将子节点合并至其父节点。另一些公开实施例中,可以将父节点合并至其子节点,当然,在另一些公开实施例中,还可将两个节点生成为新的节点,该新的节点可以是这两个节点的中点。因此,关于合并的方式此处不做具体规定。通过对提取到的初始骨骼进行聚类,使得最终的目标骨骼更为精简。

其中,第三预设条件包括以下任意一种或任意多种:

1、边对应到的一个或两个节点的节点度数大于第一阈值。节点度数为节点的父节点与其子节点的数量之和。第一阈值可以是3及以上。即,边对应的任意一个节点包括两个及以上的子节点。

2、边对应的两个节点之间的边的数量大于第二阈值。第二阈值可以是二及以上,也就是相邻两个节点之间边的数量大于或等于2。

3、边对应的一个或两个节点对应的关节表面积小于第三阈值。其中,关节表面积的计算方式可以是先对骨骼进行蒙皮,得到各个顶点对应的网格面积,并将该网格面积作为关节表面积。或者,网格面积可以是处于该节点对应的定向边界框中的网格的面积。其中,第三阈值可以自行设定,此处不做限制。为更好地理解关节表面积,请参见图4,图4是本申请骨骼映射方法一实施例示出各节点的关节表面的示意图。如图4所示,恐龙表面不同深度的颜色的代表其属于不同的节点。

4、边的长度小于第四阈值。其中,第四阈值也可自行设定。

其中,若只使用前两个条件对初始骨骼进行简化,得到高分辨率的目标骨骼,若同时使用上述四个条件对初始骨骼进行简化,则得到低分辨率的目标骨骼。其中,可以使用低分辨率的目标骨骼进行骨骼映射,可以减少骨骼映射的时间,当然,也可以是先使用高分辨率的目标骨骼进行骨骼映射,再利用低分辨率的骨骼对第一节点映射关系进行简化,得到更为精简的第一节点映射关系。通过使用上述任意一种或多种条件,即可对初始骨骼进行简化。为更好地理解高分辨的目标骨骼和低分辨率的目标骨骼,请同时参见图3和图5,图5是本申请骨骼映射方法一实施例示出低分辨率的目标骨骼的示意图,图3可以认为是经过上述第一个条件和第二个条件进行简化后的高分辨率的目标骨骼。如图3和图5所示,经过低分辨率的目标骨骼相比高分辨率的目标骨骼而言,节点的数量以及分支的数量均大幅度减少,高分辨率的目标骨骼能够提供更多的细节信息,而低分辨率的目标骨骼能够更好地表示目标对象的粗略结构。

其中,对于满足第三预设条件的节点进行合并的方式可以是对满足第四预设条件的边进行折叠。其中,第四预设条件为最小边成本。其中,最小边成本的计算方式可以是:

C(Eij)=w1CShape(Eij)+w2CSamp(Eij);

其中,CShape为形状成本,CSamp为采样成本。二者对应的权重分别为w1和w2。其中,形状成本有助于保持骨骼的整体形状,而采样成本有助于防止长边的生成。其中,这里的长边指的是长度超出预先设定的正常长度的边。

获取形状成本的方式可以是:

其中,分别是倒塌中心到节点i和节点j的所有相邻边的距离之和。其中,倒塌中心指的是节点i和节点j的中点。

其中,计算ε(p)i的方式可以是:

这里,是三维向量p的齐次坐标,T表示转置。

进一步地,矩阵Kij的计算的方式可以是:

其中,a=(ni-nj)/||ni-nj||,以及b=a*ni。x、y、z用于表示坐标轴的三个方向。

其中,获取采样成本的方式可以是:

其中,对各关节的表面进行采样得到点云。ni指的是与节点i关联的关节的表面的点云的质心。同理,nj指的是与节点j关联的关节的表面的点云的质心。即,ni和nj是三维向量。其中,εi是连接到节点i的所有的边的集合。

其中,获取源骨骼的方式还可以是对目标图像进行分类,得到目标对象的类别,并选择与类别匹配的骨骼模型作为源骨骼。具体地,本公开实施例可以采用预测标签映射,也可以采用数据集标签映射。预测标签映射对目标对象的分类结果包括目标对象的预测骨骼拓扑结构类型,例如预测骨骼拓扑结构类型包括二足、四足等等。也就是,预测标签映射的过程主要是预测目标对象的骨骼拓扑结构特点。数据集标签映射的分类结果需要给出输入图像中目标对象的具体种类,例如目标对象为猫、狗、大熊猫、狗熊等等。本公开实施例选择采用预测标签映射,具体应用过程中,若目标对象为大熊猫,而预测标签映射给出的目标对象类别为四足,并选择与类别匹配的骨骼模型作为源骨骼,若选择的源骨骼为四足的狗熊。虽然大熊猫和狗熊不同,但是他们实际上具有大致相同的骨骼拓扑结构,因此,将狗熊的动画驱动数据迁移到大熊猫上也能够以自然合理的形式出现。也就是通过预测标签映射虽然无法得到完全正确的目标对象的类别,但是也不影响对最终目标骨骼的驱动。同时,因为预测标签映射没有进一步获知目标对象的具体类别,从而降低了计算成本。

一些公开实施例中,确定源骨骼的节点与目标骨骼的节点之间的第一映射代价的方式可以是:首先,获取源骨骼的节点和目标骨骼的节点关于至少一种参数之间的差异信息。然后利用关于至少一种参数之间的差异信息,确定源骨骼的节点和目标骨骼的节点之间的第一映射代价。具体地,至少一种参数包括表示节点的位置情况的位置参数和/或表示节点与所在骨骼的其他节点的关联程度的关联性参数。具体地,一些公开实施例中,选择使用表示节点的位置情况的位置参数的差异信息,确定第一映射代价,一些公开实施例中,选择使用表示节点与所在骨骼的其他节点的关联程度的关联性参数的差异信息,确定第一映射代价,另一些公开实施例中,结合上述二者确定第一映射代价。通过上述一种或多种参数之间的差异信息确定第一映射代价,能够综合多个维度的信息,使得最终的第一映射代价更准确。

进一步地,位置参数包括以下至少一种:节点在世界坐标系下的位置、以及节点与根节点之间的距离与节点所在分支的长度之间的占比。世界坐标系可以是以对应骨骼的根节点为原点的坐标系。即,节点在世界坐标系下的位置具体是节点与根节点之间的相对位置关系。节点与根节点之间的距离与节点所在分支的长度之间的占比,例如,目标骨骼中,节点S与根节点之间的距离为z,节点所在分支的长度为x,该占比则为z/x。

其中,关联性参数包括中心度和节点度数。其中,中心度为节点所经过的分支数量。节点度数为节点的父节点与子节点的总数。例如,目标骨骼中节点A同时处于三个目标分支中,则节点A的中心度为3,若A节点的子节点有1个,则节点A的节点度数为2。即,节点的中心度大于或等于其节点度数。通过获取以上至少一种位置参数、关联性参数,使得获取得到的第一映射代价更准确。

其中,利用关于至少一种参数之间的差异信息,确定源骨骼的节点和目标骨骼的节点之间的第一映射代价的方式可以是将关于至少一种目标骨骼的节点之间的差异信息进行加权处理,得到源骨骼的节点和目标骨骼的节点之间的第一映射代价。通过对各参数设置对应的权重,能够提高各自的侧重性,使得第一映射代价更准确。

一些公开实施例中,节点在世界坐标系下的位置对应的权重最大。以及,节点位置参数中所有参数对应的权重均大于关联性参数所有参数对应的权重。中心度对应的权重大于节点度数对应的权重。一些应用场景中,节点在世界坐标系下的位置对应的权重设置为10、节点与根节点之间的距离与节点所在分支的长度之间的占比对应的权重为2、中心度对应的权重为0.2、节点度数对应的权重为1。具体地,获取两个节点之间的第一映射代价的公式如下:

其中,指的是节点在世界坐标系下的位置差异,指的是上述占比的差异,指的是节点的节点度数之间的差异,以及指的是节点的中心度之间的差异。其中,a1-a4表示权重。

另一些公开实施例中,还可参考节点对应的网格表面积的差异综合确定第一映射代价。具体地,包括节点对应的网格表面积的计算第一映射代价的方式如下:

其中,a5为权重,与a5相乘的为表面积差异。

一些公开实施例中,请参见图6,图6是本申请骨骼映射方法一实施例示出步骤S13的子流程的示意图。如图6所示,上述步骤S13可具体包括以下步骤S131至步骤S132:

步骤S131:基于第一映射代价,确定源分支与目标分支之间的第二映射代价。

其中,源骨骼包括至少一个源分支,目标骨骼包括至少一个目标分支。其中,至少一个可以是一个或两个及以上。源骨骼和目标骨骼的分支数可以相同也可以不同。例如,一些场景中,源骨骼的分支数大于目标骨骼的分支数,另一些场景中,源骨骼的分支数小于或等于目标骨骼的分支数。源分支和目标分支包括至少一个节点。

具体地,确定源分支和目标分支之间的若干种候选映射关系。其中,如图7和图8所示,图7是本申请骨骼映射方法一实施例示出第一映射代价的示意图,图8是本申请骨骼映射方法一实施例示出部分候选映射关系的示意图。其中,图7仅示出了部分节点之间的第一映射代价,图8示出了与图7对应节点的部分候选映射关系。图7中,假设第一列的节点A、B、C、D属于目标骨骼中的一条目标分支,而第一行的节点1、2、3属于源骨骼的一条源分支。其中,可以认为节点A与节点1分为位于各自分支中最靠近根节点的节点,节点D与节点3可以认为分别是各自分支中的叶节点。叶节点指的是分支中与根节点距离最远的节点,即没有子节点的节点。即,默认目标骨骼的根节点映射到源骨骼的根节点,由此,在后续计算中可以少计算两个根节点之间的第一映射代价,减少资源消耗。如图7和图8所示,A1表示节点A与节点1之间建立映射,B2、C3、D3以及C2同理。这里的“-”连接两组映射,其中,A1-B2-C3表示目标分支和源分支之间的候选映射关系。节点1与节点A之间的第一映射代价为0.1,节点1与节点B之间的第一映射代价为0.4,节点2与节点B之间的第一映射代价为0.2,节点2与节点C之间的第一映射代价为0.6,节点3与节点C之间的第一映射代价为0.3,节点3与节点D之间的第一映射代价为0.1,其余节点之间的第一映射代价图未示。示出的部分候选映射关系包括A1-B2-C3、A1-B2-D3、A1-C2-D3以及B1-C2-D3。

其中,候选映射关系包括源分支与目标分支之间的第二节点映射关系。具体地,第二节点映射关系可以认为是部分第一节点映射关系。继上例,第二节点映射关系可以是A1、B2、C3,即A1表示节点A与节点1构建第二节点映射关系,B2以及C3同理。一些公开实施例中,候选映射关系中所有的第二节点映射关系之间均不存在交叉。也就是,每一组候选映射关系中,各个第二节点映射关系不存在交叉。举例说明,假设目标骨骼中节点A与源骨骼中的节点2建立第二节点映射关系,节点B与节点1建立第二节点映射关系,则认为A2与B1存在交叉。另一些公开实施例中,每组候选映射关系中,各第二节点映射关系不存在重合点,即不出现目标骨骼中多个节点与源骨骼中同一个节点构建第二节点映射关系的情况。总而言之,就是确定候选映射关系时,可以从根节点往叶节点的顺序构建,也可以从叶节点往根节点的顺序构建。通过限制各第二节点映射关系之间不存在交叉,使得确定的第二节点映射关系更为准确。

然后,基于第一映射代价,确定每种候选映射关系所需的候选映射代价。各第二节点映射关系对应的映射代价为第一映射代价。具体地,基于候选映射关系中各第二节点映射关系所需的第一映射代价,确定候选分支映射关系所需的候选映射代价。即上例,候选映射关系为A1-B2-C3时,该候选映射关系中包括的第二节点映射关系为A1、B2、C3,此时,A1的第一映射代价为0.1,B2的第一映射代价为0.2,C3的第一映射代价为0.1。此时,该候选映射关系对应的候选映射代价为0.4。通过各第二节点映射关系所需的第一映射代价,即可确定候选分支映射关系所需的候选映射代价。

得到各候选映射关系所需的候选映射代价之后,选择满足第一预设条件的候选映射代价作为源分支和目标分支之间的第二映射代价。通过选择满足第一预设条件的候选映射代价作为源分支和目标分支之间的第二映射代价,使得获取得到的第二映射代价更为准确。

其中,第一预设条件可以候选映射代价最小。即,从所有候选映射代价中选择最小值,作为第二映射代价。即上例,图3和图4示出的部分候选映射关系中,A1-B2-C3对应的候选映射代价为0.6、A1-B2-D3对应的候选映射代价为0.4、A1-C2-D3对应的候选映射代价为0.8,以及B1-C2-D3对应的候选映射代价为1.1。其中,最小值为0.4,则将0.4作为源分支与目标分支之间的第二映射代价。并,确定该源分支与目标分支之间的第二节点映射关系为A1-B2-D3。可选地,将该源分支与目标分支之间的第二节点映射关系用第一矩阵表示,其中,第一矩阵中每个元素表示具体的分支。

如上述,本公开实施例中,以第一预设条件为第一映射代价最小,因此,获取最小第二映射代价的方式如下:

步骤S132:依据第二映射代价,确定源骨骼和目标骨骼之间的第一节点映射关系。

具体地,将源分支和目标分支中的其中一个作为第一分支,另一个作为第二分支,对于每个第一分支,确定第一分支之间的第二映射代价满足第二预设条件的第二分支。其中,第二预设条件可以是最小值。也就是选择与第一分支之间的第二映射代价最小的第二分支。如上述,第二映射代价是基于第二节点映射关系所需的第一映射代价确定的。一些公开实施例中,构建第二矩阵。具体地,根据两个骨骼的各分支构建第二矩阵,其中,第二矩阵中的每一个元素为分支映射组对应的第二映射代价。

具体地,第二矩阵B可以表示为:

其中,为第一矩阵,用于表示分支之间的第二映射代价,分支为骨骼h的分支,为骨骼a的分支。

然后,利用不同第一分支对应的第二节点映射关系,确定源骨骼与目标骨骼之间的第一节点映射关系。因为各分支之间的第二节点映射关系已知,因此,可以在确定各分支之间的映射关系确定之后,即可确定骨骼中各节点之间的第一节点映射关系。通过各节点之间的映射关系确定各分支之间的映射代价,先确定各分支之间的映射代价,依据各分支之间的映射代价能够得到更为准确的第一节点映射关系。

进一步地,通过选择与第一分支之间的第二映射代价满足第二预设条件的第二分支,并以此确定第一分支与该第二分支之间的第二节点映射关系,使得获取到的第一节点映射关系更为准确。另一些公开实施例中,除了参考各分支之间的第二映射代价确定各分支之间的映射关系之外,还可参考源骨骼和/或目标骨骼的结构。例如若源骨骼中某两条骨骼分支处于对称状态,则目标骨骼理应使用对称的两条分支与之建立映射关系,不能使用非对称的分支与源骨骼对称的两条分支建立映射关系。例如,若源骨骼和目标骨骼均为人体骨骼,源骨骼中两只手臂的分支为对称分支,两条腿的分支为对称分支,此时,目标骨骼不能使用一只手臂和一条腿的分支与源骨骼中两只手臂的分支建立映射关系。当然,这仅是举例,在实践中,可具体根据源骨骼或目标骨骼的结构为二者建立第一节点映射关系。

一些公开实施例中,将源骨骼和目标骨骼的至少一个作为待检验骨骼。例如,只将源骨骼作为待检验骨骼或只将目标骨骼作为待检验骨骼,又或者可以同时将源骨骼和目标骨骼作为待检验骨骼。

将待检验骨骼中没有第一节点映射关系的节点作为目标节点。并基于与目标节点相邻的节点的第一节点映射关系,确定目标节点的第一节点映射关系。与目标节点相邻的节点可以是目标节点的父节点,也可以是目标节点的子节点。例如,将其子节点的第一节点映射关系作为目标节点的映射关系。通过给未建立第一节点映射关系的节点构建第一节点映射关系,使得两个骨骼之间的第一节点映射关系更为丰满,以便后续操作。

可选地,基于与目标节点相邻的节点的第一节点映射关系,确定目标节点的待定节点映射关系。其中,确定待定节点映射关系的方式如上述。若当前节点的子节点大于1时,若根据其中一个子节点的映射关系确定的该待定节点映射关系,可能会导致其他分支的第一节点映射关系出现交叉的情况,因此,获取使得所有分支中的第一节点映射关系均不出现交叉的待定映射关系作为目标节点的第一节点映射关系。具体地,响应于待定节点映射关系与待检验骨骼的第一节点映射关系不存在交叉,则将目标节点的待定节点映射关系作为目标节点的第一节点映射关系。当然,若所有的待定节点映射关系均会导致第一节点映射关系出现交叉,则不对该目标节点建立第一节点映射关系。通过限制各第一节点映射关系之间不存在交叉,使得确定的第一节点映射关系更为准确。

一些应用场景中,若待检验骨骼为目标骨骼时,且目标节点只有一个子节点时,可以根据其子节点的第一节点映射关系确定目标节点的映射关系,例如,将目标节点与其子节点映射到源骨骼中的同一节点。一些应用场景中,若目标节点存在多个子节点时,根据多条分支的节点进行合并,去上限节点。具体地,若待检验骨骼存在冗余的节点,且另一骨骼存在空闲的节点,则为冗余的节点与空闲的节点建立第一节点映射关系。若待检验骨骼中连接两个及以上的节点映射到另一骨骼的同一节点,则认为待检验骨骼中存在冗余的节点。另一骨骼存在空闲的节点指的是与该冗余节点具备映射关系的节点的相邻节点没有第一节点映射关系。例如,待检验骨骼为目标骨骼时,若目标骨骼的第一分支中连续的节点J与其子节点K同时映射到源骨骼中第二分支中的同一节点H,且节点H的子节点I没有第一节点映射关系,判断将节点K与节点I建立第一映射关系,是否会造成第一节点映射关系之间交叉,若是,则保持节点J与其子节点K同时映射到源骨骼中第二分支中的同一节点H,若不会,则将节点K与节点I建立第一映射关系。另一些公开实施例中,在待检验骨骼为目标骨骼的情况下,若源骨骼携带有动画数据时,则判断源骨骼中满足预设要求的节点是否构建了第一节点映射关系,若否,则为该节点构建第一节点映射关系。其中,预设要求可以是节点度数大于3,其中,为该节点建立第一节点映射关系的前提同上,即,各第一节点映射关系之间不存在交叉。

一些公开实施例中,若待定节点映射关系与待检验骨骼的第一节点映射关系存在交叉时,则将目标节点与另一骨骼的根节点建立第一节点映射关系。此时,其目标节点所在骨骼的根节点与目标节点同时映射到另一骨骼的根节点。

一些公开实施例中,在确定源骨骼和目标骨骼的节点之间的第一映射代价之前,还可执行以下步骤:对源骨骼和目标骨骼的尺寸参数进行归一化。其中,尺寸参数包括相邻两个节点之间的距离。例如,若目标骨骼和源骨骼均为人形骨骼,若其中一个骨骼中两个节点之间的距离均为100mm,而另一骨骼中两个节点之间的距离为1mm,因二者的两个节点之间的距离相差过大,则很可能导致建立的第一节点映射关系不准确。因此,对源骨骼和目标骨骼的尺寸参数进行归一化,能够减少二者的差距,从而提高第一节点映射关系的准确度。

一些公开实施例中,在确定源骨骼和目标骨骼的节点之间的第一映射代价之前,还可执行以下步骤:统一源骨骼和目标骨骼的方向。其中,统一的方式可以是人工进行调整,也可以是根据当前源骨骼和目标骨骼根节点的朝向调整至第三方向或将其中一个骨骼的根节点的朝向调整至另一骨骼的根节点的朝向,从而实现两个骨骼的朝向的统一。若两个骨骼的朝向不同,可能会导致映射关系的不准确。例如,若源骨骼和目标骨骼均为人体骨骼。若源骨骼的根节点朝向北方,而目标骨骼的根节点朝向南方,即源骨骼和目标骨骼相背而立,若根据当前的朝向进行骨骼映射,很可能导致源骨骼的左手映射到目标骨骼的右手等情况出现。

其中,在利用第一映射代价,确定所述源骨骼和所述目标骨骼之间的第一节点映射关系之后,还可执行以下步骤:将源骨骼相关的第一动画驱动数据迁移至目标骨骼上,得到目标骨骼的第二动画驱动数据。其中,在源骨骼未经过修改时,则源骨骼相关的第一动画驱动数据即为构建源骨骼时,创建的第一动画驱动数据,若源骨骼经过修改,则源骨骼相关的第一动画驱动数据同样为修改之后的动画驱动数据。

在获得源骨骼和目标骨骼之间的第一节点映射关系之后,进行节点对齐。

其中,进行节点对齐,主要是为了确定源骨骼和目标骨骼之间的第一位姿变换关系。具体地,按照从根源节点到叶源节点的顺序,分别将源骨骼中的各源节点与目标骨骼中对应映射的目标节点进行对齐,以得到各源节点与映射的目标节点之间的第一位姿变换关系。根节点为所在的骨骼分支数量最多的节点。则根源节点指的是最终源骨骼中的根节点,同理,根目标节点指的是最终目标骨骼的根节点。最终源骨骼和最终目标骨骼指的是经过拓扑结构对齐后的源骨骼和目标骨骼。其中,叶节点指的是具有父节点但没有子节点的节点。叶源节点指的是最终源骨骼中的叶节点,叶目标节点指的是最终目标骨骼中的叶节点。

第一位姿变换关系为源节点与映射的目标节点在第一坐标系中的变换关系。通过最终源骨骼的根源节点和最终目标骨骼的根目标节点均平移至第一坐标系的原点,能够获取最终源骨骼的根源节点和最终目标骨骼的根目标节点之间的偏移量。具体地,对于最终源骨骼中的每个源节点,获取使源节点对齐于映射的目标节点所需的偏移量。其中,偏移量包括平移分量和旋转分量。一般而言,平移分量中包括缩放分量。然后基于源节点对应的偏移量,得到源节点的第一位姿变换关系。

基于源节点对应的偏移量,得到源节点的第一位姿变换关系。具体地,基于源节点以及源节点的上级节点分别对应的偏移量,得到源节点的第一位姿变换关系。其中,源节点的上级节点为最终源骨骼中源节点的第一父节点、根源节点以及第一父节点与根源节点之间的节点。其中,偏移量均可以用矩阵表示,具体地,通过将源节点以及源节点的上级节点分别对应的偏移量进行矩阵乘法,即可得到源节点的第一位姿变换关系。

由此,可以将源骨骼上的动画数据迁移到目标骨骼上,以驱动待处理图像中的目标进行运动。

上述方案,通过在构建第一映射关系之后,将源骨骼相关的第一动画驱动数据迁移到目标骨骼上,能够目标骨骼的动画驱动稳定性。

上述方案,通过使用源骨骼的节点和目标骨骼的节点之间的第一映射代价,即可确定源骨骼和目标骨骼之间的第一节点映射关系,无需人工确定,提高骨骼节点的映射效率,节省人工成本且整个过程方便快捷。

另外,采用除机器学习以外的来实现骨骼节点映射,无需预先对机器学习模型进行训练,简化映射实现流程,提高骨骼节点的映射效率,也无需人工标注训练样本,节省人工成本,而且,考虑不同骨骼的节点结构存在差异,采用一定样本训练得到的机器学习模型来进行骨骼节点映射,未必适应于不同结构的骨骼,存在一定的局限性。

其中,骨骼映射方法的执行主体可以是骨骼映射装置,例如,骨骼映射方法可以由终端设备或服务器或其它处理设备执行,其中,终端设备可以为用户设备(UserEquipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(PersonalDigital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该骨骼映射方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。

请参阅图9,图9是本申请骨骼映射装置一实施例的结构示意图。骨骼映射装置10包括获取模块11、映射代价确定模块12以及映射模块13。获取模块11,用于获取源骨骼和目标骨骼;映射代价确定模块12,用于确定源骨骼的节点和目标骨骼的节点之间的第一映射代价;映射模块13,用于利用第一映射代价,确定源骨骼和目标骨骼之间的第一节点映射关系。

上述方案,通过使用源骨骼的节点和目标骨骼的节点之间的第一映射代价,即可确定源骨骼和目标骨骼之间的第一节点映射关系,无需人工确定,提高骨骼节点的映射效率,节省人工成本且整个过程方便快捷。

另外,采用除机器学习以外的来实现骨骼节点映射,无需预先对机器学习模型进行训练,简化映射实现流程,提高骨骼节点的映射效率,也无需人工标注训练样本,节省人工成本,而且,考虑不同骨骼的节点结构存在差异,采用一定样本训练得到的机器学习模型来进行骨骼节点映射,未必适应于不同结构的骨骼,存在一定的局限性。

一些公开实施例中,源骨骼包括至少一个源分支,目标骨骼包括至少一个目标分支,源分支和目标分支均包括至少一个节点;映射模块13利用第一映射代价,确定源骨骼和目标骨骼之间的第一节点映射关系,包括:基于第一映射代价,确定源分支与目标分支之间的第二映射代价;依据第二映射代价,确定源骨骼和目标骨骼之间的第一节点映射关系。

上述方案,通过各节点之间的映射关系确定各分支之间的映射代价,先确定各分支之间的映射代价,依据各分支之间的映射代价能够得到更为准确的第一节点映射关系。

一些公开实施例中,映射模块13基于第一映射代价,确定源分支与目标分支之间的第二映射代价,包括:确定源分支和目标分支之间的若干种候选映射关系;基于第一映射代价,确定每种候选映射关系所需的候选映射代价;选择满足第一预设条件的候选映射代价作为源分支和目标分支之间的第二映射代价。

上述方案,通过选择满足第一预设条件的候选映射代价作为源分支和目标分支之间的第二映射代价,使得获取得到的第二映射代价更为准确。

一些公开实施例中,候选映射关系包括源分支与目标分支之间的第二节点映射关系;其中,候选映射关系中所有第二节点映射关系之间均不存在交叉。

上述方案,通过限制各第二节点映射关系之间不存在交叉,使得确定的第二节点映射关系更为准确。

一些公开实施例中,映射模块13基于第一映射代价,确定每种候选映射关系所需的候选映射代价,包括:基于候选映射关系中各第二节点映射关系所需的第一映射代价,确定候选分支映射关系所需的候选映射代价。

上述方案,通过各第二节点映射关系所需的第一映射代价,即可确定候选分支映射关系所需的候选映射代价。

一些公开实施例中,映射模块13依据第二映射代价,确定源骨骼与目标骨骼之间的第一节点映射关系,包括:将源分支和目标分支的其中一个作为第一分支,另一个作为第二分支;对于每个第一分支,确定与第一分支之间的第二映射代价满足第二预设条件的第二分支,并获取第一分支与确定的第二分支之间的第二节点映射关系,其中,第二映射代价是基于第二节点映射关系所需的第一映射代价确定的;利用不同第一分支对应的第二节点映射关系,确定源骨骼与目标骨骼之间的第一节点映射关系。

上述方案,通过选择与第一分支之间的第二映射代价满足第二预设条件的第二分支,并以此确定第一分支与该第二分支之间的第二节点映射关系,使得获取到的第一节点映射关系更为准确。

一些公开实施例中,映射代价确定模块12确定源骨骼的节点和目标骨骼的节点之间的第一映射代价,包括:获取源骨骼的节点和目标骨骼的节点关于至少一种参数之间的差异信息,其中,至少一种参数包括表示节点的位置情况的位置参数和/或表示节点与所在骨骼的其他节点的关联程度的关联性参数;利用关于至少一种参数之间的差异信息,确定源骨骼的节点和目标骨骼的节点之间的第一映射代价。

上述方案,通过上述一种或多种参数之间的差异信息确定第一映射代价,能够综合多个维度的信息,使得最终的第一映射代价更准确。

一些公开实施例中,位置参数包括以下至少一种:节点在世界坐标系下的位置、以及节点与根节点之间的距离与节点所在分支的长度之间的占比,关联性参数包括中心度和节点度数,其中,中心度为节点所经过的分支数量,节点度数为节点的父节点与子节点的总数。

上述方案,通过获取以上至少一种位置参数、关联性参数,使得获取得到的第一映射代价更准确。

一些公开实施例中,映射代价确定模块12利用关于至少一种参数之间的差异信息,确定源骨骼的节点和目标骨骼的节点之间的第一映射代价,包括:将关于至少一种参数之间的差异信息进行加权处理,得到源骨骼的节点和目标骨骼的节点之间的第一映射代价。

上述方案,通过对各参数设置对应的权重,能够提高各自的侧重性,使得第一映射代价更准确。

一些公开实施例中,映射模块13在利用第一映射代价,确定源骨骼和目标骨骼之间的第一节点映射关系之后,映射模块13还用于:将源骨骼和目标骨骼的至少一个作为待检验骨骼;将待检验骨骼中没有第一节点映射关系的节点作为目标节点,并基于与目标节点相邻的节点的第一节点映射关系,确定目标节点的第一节点映射关系。

上述方案,通过给未建立第一节点映射关系的节点构建第一节点映射关系,使得两个骨骼之间的第一节点映射关系更为丰满,以便后续操作。

一些公开实施例中,映射模块13基于与目标节点相邻的节点的第一节点映射关系,确定目标节点的第一节点映射关系,包括:基于与目标节点相邻的节点的第一节点映射关系,确定目标节点的待定节点映射关系;响应于待定节点映射关系与待检验骨骼的第一节点映射关系不存在交叉,则将目标节点的待定节点映射关系作为目标节点的第一节点映射关系。

上述方案,通过限制各第一节点映射关系之间不存在交叉,使得确定的第一节点映射关系更为准确。

一些公开实施例中,获取模块11用于获取目标骨骼,包括:对目标图像进行骨骼提取,得到初始骨骼;对初始骨骼进行节点聚类,得到目标骨骼。

上述方案,通过对提取到的初始骨骼进行聚类,使得最终的目标骨骼更为精简。

一些公开实施例中,初始骨骼包括多个节点以及至少一条边,其中,边是由相邻两个节点连接形成;对初始骨骼进行节点聚类,得到目标骨骼,包括:响应于初始骨骼中的边满足第三预设条件,将边对应的两个节点合并为一个节点;其中,第三预设条件包括以下任意一种或任意多种:边对应的一个或两个节点的中心度数大于第一阈值,边对应的两个节点之间的边的数量大于第二阈值,边对应的一个或两个节点对应的关节表面积小于第三阈值,边的长度小于第四阈值。

上述方案,通过满足上述任意一种或多种,即可对初始骨骼进行简化。

一些公开实施例中,映射代价确定模块12在确定源骨骼的节点和目标骨骼的节点之间的第一映射代价之前,还用于:对源骨骼和目标骨骼的尺寸参数进行归一化,其中,尺寸参数包括相邻两个节点之间的距离。

上述方案,通过先对两个骨骼的尺寸进行归一化,能够减小二者的尺寸差异,从而提高第一映射关系构建的准确度。

一些公开实施例中,映射模块13利用第一映射代价,确定源骨骼和目标骨骼之间的第一节点映射关系之后,还用于:将源骨骼相关的第一动画驱动数据迁移至目标骨骼上,得到目标骨骼的第二动画驱动数据。

上述方案,通过在构建第一映射关系之后,将源骨骼相关的第一动画驱动数据迁移到目标骨骼上,能够目标骨骼的动画驱动稳定性。

上述方案,通过使用源骨骼的节点和目标骨骼的节点之间的第一映射代价,即可确定源骨骼和目标骨骼之间的第一节点映射关系,无需人工确定,提高骨骼节点的映射效率,节省人工成本且整个过程方便快捷。

另外,采用除机器学习以外的来实现骨骼节点映射,无需预先对机器学习模型进行训练,简化映射实现流程,提高骨骼节点的映射效率,也无需人工标注训练样本,节省人工成本,而且,考虑不同骨骼的节点结构存在差异,采用一定样本训练得到的机器学习模型来进行骨骼节点映射,未必适应于不同结构的骨骼,存在一定的局限性。

请参阅图10,图10是本申请电子设备一实施例的结构示意图。电子设备20包括存储器21和处理器22,处理器22用于执行存储器21中存储的程序指令,以实现上述任一骨骼映射方法实施例中的步骤。在一个具体的实施场景中,电子设备20可以包括但不限于:医疗设备、微型计算机、台式电脑、服务器,此外,电子设备20还可以包括笔记本电脑、平板电脑等移动设备,在此不做限定。

具体而言,处理器22用于控制其自身以及存储器21以实现上述任一骨骼映射方法实施例中的步骤。处理器22还可以称为CPU(Central Processing Unit,中央处理单元)。处理器22可能是一种集成电路芯片,具有信号的处理能力。处理器22还可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。另外,处理器22可以由集成电路芯片共同实现。

上述方案,通过使用源骨骼的节点和目标骨骼的节点之间的第一映射代价,即可确定源骨骼和目标骨骼之间的第一节点映射关系,无需人工确定,提高骨骼节点的映射效率,节省人工成本且整个过程方便快捷。

另外,采用除机器学习以外的来实现骨骼节点映射,无需预先对机器学习模型进行训练,简化映射实现流程,提高骨骼节点的映射效率,也无需人工标注训练样本,节省人工成本,而且,考虑不同骨骼的节点结构存在差异,采用一定样本训练得到的机器学习模型来进行骨骼节点映射,未必适应于不同结构的骨骼,存在一定的局限性。

请参阅图11,图11是本申请计算机可读存储介质一实施例的结构示意图。计算机可读存储介质30存储有能够被处理器运行的程序指令31,程序指令31用于实现上述任一骨骼映射方法实施例中的步骤。

上述方案,通过使用源骨骼的节点和目标骨骼的节点之间的第一映射代价,即可确定源骨骼和目标骨骼之间的第一节点映射关系,无需人工确定,提高骨骼节点的映射效率,节省人工成本且整个过程方便快捷。

另外,采用除机器学习以外的来实现骨骼节点映射,无需预先对机器学习模型进行训练,简化映射实现流程,提高骨骼节点的映射效率,也无需人工标注训练样本,节省人工成本,而且,考虑不同骨骼的节点结构存在差异,采用一定样本训练得到的机器学习模型来进行骨骼节点映射,未必适应于不同结构的骨骼,存在一定的局限性。

在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。

上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性、机械或其它的形式。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

25页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:三维虚拟角色图像生成方法及装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!