首页> 中国专利> 三维网格顶点特征确定方法、骨骼蒙皮方法及相关装置

三维网格顶点特征确定方法、骨骼蒙皮方法及相关装置

摘要

本申请实施例公开了人工智能领域的三维网格顶点特征确定方法、骨骼蒙皮方法及相关装置,其中该三维网格顶点特征确定方法包括:针对目标骨骼结构中的每个关节,在目标三维网格的图拓扑结构中查找该关节对应的代表顶点,组成该关节对应的顶点代表簇;针对图拓扑结构中的每个目标顶点,根据该目标顶点的位置、各个关节各自对应的顶点代表簇和各个关节的位置,确定非欧空间下目标顶点到各个关节的距离,作为目标顶点与目标骨骼结构之间的非欧空间距离特征;根据各个目标顶点各自与目标骨骼结构之间的非欧空间距离特征,确定目标三维网格与目标骨骼结构之间的非欧空间距离特征。该方法能够构建出合理的三维网格顶点特征。

著录项

  • 公开/公告号CN112884868A

    专利类型发明专利

  • 公开/公告日2021-06-01

    原文格式PDF

  • 申请/专利权人 腾讯科技(深圳)有限公司;

    申请/专利号CN202110484068.1

  • 发明设计人 常天元;

    申请日2021-04-30

  • 分类号G06T13/20(20110101);G06T17/20(20060101);

  • 代理机构44285 深圳市深佳知识产权代理事务所(普通合伙);

  • 代理人常忠良

  • 地址 518064 广东省深圳市南山区高新区科技中一路腾讯大厦35层

  • 入库时间 2023-06-19 11:11:32

说明书

技术领域

本申请涉及人工智能(Artificial Intelligence,AI)技术领域,尤其涉及一种三维网格顶点特征确定方法、骨骼蒙皮方法及相关装置。

背景技术

骨骼蒙皮是用于将三维动画模型中三维网格(3D Mesh)上的顶点与骨骼关节绑定的技术。由于3D Mesh上的顶点通常会受到多个不同关节不同程度的控制,因此需要通过骨骼蒙皮技术为3D Mesh上的顶点配置关节权重,该关节权重用于决定不同关节的动作对于3D Mesh上的顶点的影响程度。

目前,在美术工业链上,大部分3D Mesh的骨骼蒙皮需要美工技术人员根据自身经验进行。具体的,美工技术人员需要根据自身经验认知手动为3D Mesh上的每个顶点配置关节权重,进而,结合骨骼动画观察骨骼蒙皮后的3D Mesh的运行形变,并根据该运行形变手动调整3D Mesh上的顶点的关节权重;如此,通过上述方式反复调整顶点的关节权重,直至在大幅度的运动姿势下3D Mesh的整体形变也能够自然平滑为止。

由于上述人工手动骨骼蒙皮的方式往往需要耗费大量的时间,配置效率很低,因此部分研究开始尝试采用深度学习算法,设计并训练网络模型学习3D Mesh的数据特征,使得网络模型能够基于给定的输入特征预测3D Mesh上顶点的关节权重。而通过网络模型预测的关节权重是否准确,在很大程度上取决于网络模型的输入特征即3D Mesh的顶点特征,如何构建合理的3D Mesh顶点特征作为网络模型的输入,已成为目前亟待解决的问题。

发明内容

本申请实施例提供了一种三维网格顶点特征确定方法、骨骼蒙皮方法及相关装置,能够构建出合理的3D Mesh顶点特征,并且通过网络模型基于该3D Mesh顶点特征进行骨骼蒙皮,能够取得较好的蒙皮效果。

有鉴于此,本申请第一方面提供了一种三维网格顶点特征确定方法,所述方法包括:

针对目标骨骼结构中的每个关节,在目标三维网格的图拓扑结构中查找所述关节对应的代表顶点,组成所述关节对应的顶点代表簇;

针对所述图拓扑结构中的每个目标顶点,根据所述目标顶点的位置、所述目标骨骼结构中各个关节各自对应的顶点代表簇中包括的代表顶点的位置、以及所述目标骨骼结构中各个关节的位置,确定非欧空间下所述目标顶点到所述目标骨骼结构中各个关节的距离,作为所述目标顶点与所述目标骨骼结构之间的非欧空间距离特征;

根据所述图拓扑结构中各个目标顶点各自与所述目标骨骼结构之间的非欧空间距离特征,确定所述目标三维网格与所述目标骨骼结构之间的非欧空间距离特征。

本申请第二方面提供了一种骨骼蒙皮方法,所述方法包括:

获取待蒙皮的目标三维网格对应的三维网格顶点特征;所述三维网格顶点特征至少包括:通过上述第一方面所述的三维网格顶点特征确定方法确定的所述目标三维网格与目标骨骼结构之间的非欧空间距离特征;

通过骨骼蒙皮模型,根据所述三维网格顶点特征,为所述目标三维网格中各个顶点配置关节权重。

本申请第三方面提供了一种三维网格顶点特征确定装置,所述装置包括:

顶点代表簇确定模块,用于针对目标骨骼结构中的每个关节,在目标三维网格的图拓扑结构中查找所述关节对应的代表顶点,组成所述关节对应的顶点代表簇;

非欧空间距离确定模块,用于针对所述图拓扑结构中的每个目标顶点,根据所述目标顶点的位置、所述目标骨骼结构中各个关节各自对应的顶点代表簇中包括的代表顶点的位置、以及所述目标骨骼结构中各个关节的位置,确定非欧空间下所述目标顶点到所述目标骨骼结构中各个关节的距离,作为所述目标顶点与所述目标骨骼结构之间的非欧空间距离特征;

网格顶点特征确定模块,用于根据所述图拓扑结构中各个目标顶点各自与所述目标骨骼结构之间的非欧空间距离特征,确定所述目标三维网格与所述目标骨骼结构之间的非欧空间距离特征。

本申请第四方面提供了一种骨骼蒙皮装置,所述装置包括:

特征获取模块,用于获取待蒙皮的目标三维网格对应的三维网格顶点特征;所述三维网格顶点特征至少包括:通过上述第一方面所述的三维网格顶点特征确定方法确定的所述目标三维网格与目标骨骼结构之间的非欧空间距离特征;

骨骼蒙皮模块,用于通过骨骼蒙皮模型,根据所述三维网格顶点特征,为所述目标三维网格中各个顶点配置关节权重。

本申请第五方面提供了一种电子设备,所述设备包括处理器以及存储器:

所述存储器用于存储计算机程序;

所述处理器用于根据所述计算机程序,执行上述第一方面所述的三维网格顶点特征确定方法的步骤、或者上述第二方面所述的骨骼蒙皮方法的步骤。

本申请第六方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面所述的三维网格顶点特征确定方法的步骤、或者上述第二方面所述的骨骼蒙皮方法的步骤。

本申请第七方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面所述的三维网格顶点特征确定方法的步骤、或者上述第二方面所述的骨骼蒙皮方法的步骤。

从以上技术方案可以看出,本申请实施例具有以下优点:

本申请实施例提供了一种三维网格顶点特征确定方法,该方法创新性地提出了用于确定三维网格中的顶点与骨骼关节之间的非欧空间距离的方案。在该三维网格顶点特征确定方法中,可以先在目标三维网格的图拓扑结构中,查找目标骨骼结构中各个关节各自对应的顶点代表簇;然后,针对目标三维网格中的每个目标顶点,基于目标骨骼结构中各个关节各自对应的顶点代表簇,确定非欧空间下该目标顶点与目标骨骼结构中各个关节之间的距离;进而,以此为基础构建目标三维网格与目标骨骼结构之间的非欧空间距离特征。上述方法通过引入三维网格的图拓扑结构,刻画三维网格中的顶点与骨骼关节在非欧空间下的距离关系;相比欧式空间距离特征而言,三维网格与骨骼结构之间的非欧空间距离特征能更准确地反映三维网格中的顶点与骨骼关节之间的位置关系,相应地,在利用网络模型预测三维网格中顶点的关节权重的过程中引入该三维网格与骨骼结构之间的非欧空间距离特征,能帮助网络模型更准确地预测骨骼关节对于三维网格中顶点的控制关系,从而避免发生将三维网格中的顶点与骨骼关节误绑的情况,有效地提升针对顶点配置的关节权重的准确度,取得更好的骨骼蒙皮效果,使得三维网格在其绑定的骨骼运动形变的过程中更加平滑自然。

附图说明

图1为采用现有技术得到的3D Mesh的骨骼蒙皮效果图;

图2为本申请实施例提供的三维网格顶点特征确定方法和骨骼蒙皮方法的应用场景示意图;

图3为本申请实施例提供的三维网格顶点特征确定方法的流程示意图;

图4为本申请实施例提供的3D游戏皮肤的骨骼蒙皮效果示意图;

图5为本申请实施例提供的骨骼蒙皮方法的流程示意图;

图6为采用本申请实施例提供的方法得到的3D Mesh的骨骼蒙皮效果图;

图7为本申请实施例提供的第一种三维网格顶点特征确定装置的结构示意图;

图8为本申请实施例提供的第二种三维网格顶点特征确定装置的结构示意图;

图9为本申请实施例提供的第三种三维网格顶点特征确定装置的结构示意图;

图10为本申请实施例提供的第四种三维网格顶点特征确定装置的结构示意图;

图11为本申请实施例提供的骨骼蒙皮装置的结构示意图;

图12为本申请实施例提供的终端设备的结构示意图;

图13为本申请实施例提供的服务器的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

计算机视觉技术(Computer Vision,CV)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。

本申请实施例提供的方案涉及人工智能领域中的计算机视觉技术,具体通过如下实施例进行说明:

目前,学术界部分研究开始尝试采用深度学习算法,设计并训练端到端的用于对3D Mesh进行骨骼蒙皮的网络模型,以利用该网络模型自动为3D Mesh中的顶点配置关节权重。如何提升网络模型针对3D Mesh中的顶点配置的关节权重的准确度,以取得更好的骨骼蒙皮效果,一直是工业界落地应用上述自动骨骼蒙皮方案的一个巨大挑战。对于上述自动骨骼蒙皮方案的研究,目前普遍聚焦于对网络模型结构的优化,即主要研究方向仍是通过优化网络模型的结构,来提升该网络模型的骨骼蒙皮效果。

然而,经本申请发明人研究发现,改进网络模型的输入特征,对于网络模型取得的骨骼蒙皮效果也会产生明显的优化效果。具体的,本申请发明人研究发现,目前用于骨骼蒙皮的网络模型的输入特征主要包括3D Mesh中的顶点的位置、3D Mesh中的顶点的法向量、以及3D Mesh中的顶点到骨骼关节的欧式距离,这些输入特征仅能表达3D Mesh中的顶点的空间位置和顶点到骨骼关节的欧式空间距离,而忽略了3D Mesh中的顶点与骨骼关节在非欧空间下的距离度量,这容易导致3D Mesh中的边缘顶点以及与骨骼关节之间的欧式空间距离较小的顶点出现误绑骨骼关节的情况。若3D Mesh中的顶点与骨骼关节误绑,则在所绑定的骨骼运动的过程中3D Mesh将会发生不规则的拉伸和穿插,对骨骼蒙皮的整体效果产生很大的影响。

为了便于理解上述未考虑3D Mesh中的顶点与骨骼关节之间的非欧空间距离特征的方案存在的缺陷,下面结合图1所示的3D Mesh骨骼蒙皮效果图进行介绍。图1中(a)为呈a姿势(a-pose)静止站立的3D Mesh,(a)中的顶点A在欧式空间下与左手关节距离很近,(a)中的顶点B在欧式空间下与右手关节距离很近,上述顶点A与顶点B在欧式空间下与骨盆关节的距离都比较远,在不考虑3D Mesh中的顶点与骨骼关节之间的非欧空间距离特征的情况下,用于骨骼蒙皮的网络模型将会根据顶点与骨骼关节在欧式空间下的距离,将顶点A与左手关节绑定,将顶点B与右手关节绑定,而不将顶点A和顶点B与骨盆关节绑定;经上述骨骼蒙皮处理后,跟随所绑定的骨骼关节运动的3D Mesh的形变拉伸效果如图1中(b)所示,从(b)可以看出顶点A和顶点B明显被误绑到了手部关节上,3D Mesh的骨骼蒙皮效果较差。

针对上述相关技术存在的问题,本申请实施例提供了一种三维网格顶点特征确定方法和骨骼蒙皮方法。其中,三维网格顶点特征确定方法能够构建3D Mesh中的顶点与骨骼关节之间的非欧空间距离特征;骨骼蒙皮方法能够将所构建的非欧空间距离特征应用于自动骨骼蒙皮方案,从而提升骨骼蒙皮效果。

具体的,在本申请实施例提供的三维网格顶点特征确定方法中,针对目标骨骼结构中的每个关节,在目标三维网格的图拓扑结构中查找该关节对应的代表顶点,组成该关节对应的顶点代表簇;然后,针对该图拓扑结构中的每个目标顶点,根据该目标顶点的位置、目标骨骼结构中各个关节各自对应的顶点代表簇中包括的代表顶点的位置、以及目标骨骼结构中各个关节的位置,确定非欧空间下目标顶点到目标骨骼结构中各个关节的距离,作为该目标顶点与目标骨骼结构之间的非欧空间距离特征;进而,根据图拓扑结构中各个目标顶点各自与目标骨骼结构之间的非欧空间距离特征,确定该目标三维网格与目标骨骼结构之间的非欧空间距离特征。

在本申请实施例提供的骨骼蒙皮方法中,获取待蒙皮的目标三维网格对应的三维网格顶点特征,该三维网格顶点特征至少包括:通过上述三维网格顶点特征确定方法确定的目标三维网格与目标骨骼结构之间的非欧空间距离特征;进而,通过预先训练的骨骼蒙皮模型,根据获取的三维网格顶点特征,为目标三维网格中各个顶点配置对应的关节权重。

上述三维网格顶点特征确定方法,创新性地提出了用于确定三维网格中的顶点与骨骼关节之间的非欧空间距离的方案,通过引入三维网格的图拓扑结构,刻画三维网格中的顶点与骨骼关节在非欧空间下的距离关系;相比欧式空间距离特征而言,三维网格与骨骼结构之间的非欧空间距离特征能够更准确地反映三维网格中的顶点与骨骼关节之间的位置关系。相应地,上述骨骼蒙皮方法在利用骨骼蒙皮模型预测三维网格中顶点的关节权重的过程中,引入该三维网格与骨骼结构之间的非欧空间距离特征,能帮助网络模型更准确地预测骨骼关节对于三维网格中顶点的控制关系,从而避免发生将三维网格中的顶点与骨骼关节误绑的情况,有效地提升针对顶点配置的关节权重的准确度,取得更好的骨骼蒙皮效果,使得三维网格在其绑定的骨骼运动形变的过程中更加平滑自然。

应理解,本申请实施例提供的三维网格顶点特征确定方法和骨骼蒙皮方法,可以应用于具备三维图像处理能力的设备,如终端设备或服务器。其中,终端设备具体可以为智能手机、计算机、平板电脑、个人数字助理(Personal Digital Assitant,PDA)、车载终端等;服务器具体可以为应用服务器或Web服务器,实际部署时,可以为独立服务器,也可以为集群服务器或云服务器。如本申请所公开的三维网格顶点特征确定方法和骨骼蒙皮方法,其中涉及的三维网格的图拓扑结构、三维网格顶点特征数据等均可保存于区块链上。

为了便于理解本申请实施例提供的三维网格顶点特征确定方法和骨骼蒙皮方法,下面以该三维网格顶点特征确定方法的执行主体和骨骼蒙皮方法的执行主体为同一终端设备为例,对该三维网格顶点特征确定方法和骨骼蒙皮方法的应用场景进行示例性介绍。

参见图2,图2为本申请实施例提供的三维网格顶点特征确定方法和骨骼蒙皮方法的应用场景示意图。如图2所示,该应用场景中包括终端设备210和数据库220;终端设备210可以通过网络从数据库220中调取所需的数据,或者数据库220也可以集成在终端设备210中。其中,数据库220用于存储待蒙皮的3D Mesh;终端设备210用于执行本申请实施例提供的三维网格顶点特征确定方法和骨骼蒙皮方法。

在实际应用中,终端设备210可以先执行本申请实施例提供的三维网格顶点特征确定方法,确定待蒙皮的目标3D Mesh与目标骨骼结构之间的非欧空间距离特征。

具体的,终端设备210可以先从数据库220中调取待蒙皮的目标3D Mesh,并构建该3D Mesh对应的图拓扑结构,该图拓扑结构用于以数据的形式表示目标3D Mesh。示例性的,目标3D Mesh的图拓扑结构可以表示为

然后,终端设备210可以针对目标骨骼结构中的每个关节,在上述目标3D Mesh的图拓扑结构中查找到该关节对应的代表顶点,并利用该关节对应的代表顶点组成该关联对应的顶点代表簇,此处关节对应的顶点代表簇能够反映关节在目标3D Mesh上的对应位置。接着,终端设备210可以针对目标3D Mesh的图拓扑结构中的每个目标顶点,根据该目标顶点自身的位置、目标骨骼结构中各个关节各自对应的顶点代表簇中包括的代表顶点的位置、以及该目标骨骼结构中各个关节的位置,确定非欧空间下该目标顶点与目标骨骼结构中各个关节之间的距离,并将其作为该目标顶点与目标骨骼结构之间的非欧空间距离特征。最终,终端设备210可以根据目标3D Mesh的图拓扑结果中的各个目标顶点各自与目标骨骼结构之间的非欧空间距离特征,构建该目标3D Mesh与目标骨骼结构之间的非欧空间距离特征。

终端设备210通过上述方式确定出目标3D Mesh与目标骨骼结构之间的非欧空间距离特征后,可以进一步执行本申请实施例提供的骨骼蒙皮方法,将目标3D Mesh与目标骨骼结构绑定,为目标3D Mesh中的各个顶点配置对应的关节权重,从而使得目标3D Mesh可以跟随目标骨骼结构的运动而相应地拉伸形变。

具体的,终端设备210可以调用预先训练好的骨骼蒙皮模型,根据目标3D Mesh对应的三维网格顶点特征,为该目标3D Mesh中的各个顶点配置对应的关节权重。此处目标3DMesh对应的三维网格顶点特征至少包括:终端设备210此前确定的目标3D Mesh与目标骨骼结构之间的非欧空间距离特征,此外,该目标3D Mesh对应的三维网格顶点特征还可以包括:目标3D Mesh中各个顶点的位置、目标3D Mesh中各个顶点的法向量、以及目标3D Mesh中各个顶点到目标骨骼结构中各个关节的欧式距离。

应理解,图1所示的应用场景仅为示例,在实际应用中,终端设备210也可以独立创建待蒙皮的目标3D Mesh,无需从数据库220中调取待蒙皮的目标3D Mesh。此外,本申请实施例提供的三维网格顶点特征确定方法以及骨骼蒙皮方法也可以均由服务器执行;或者,本申请实施例提供的三维网格顶点特征确定方法以及骨骼蒙皮方法也可以由不同的执行主体执行,例如,由终端设备执行本申请实施例提供的三维网格顶点特征确定方法,由服务器执行本申请实施例提供的骨骼蒙皮方法。在此不对本申请实施例提供的三维网格顶点特征确定方法以及骨骼蒙皮方法的应用场景做任何限定。

下面先通过方法实施例对本申请提供的三维网格顶点特征确定方法进行详细介绍。

参见图3,图3为本申请实施例提供的三维网格顶点特征确定方法的流程示意图。为了便于描述,下述实施例仍以该三维网格顶点特征确定方法的执行主体为终端设备为例进行介绍。如图3所示,该方法包括以下步骤:

步骤301:针对目标骨骼结构中的每个关节,在目标三维网格的图拓扑结构中查找所述关节对应的代表顶点,组成所述关节对应的顶点代表簇。

终端设备针对目标3D Mesh确定其与目标骨骼结构之间的非欧空间距离特征时,需要先针对目标骨骼结构中的每个关节,在目标3D Mesh包括的各顶点中查找该关节对应的代表顶点,并利用所查找到的代表顶点组成该关节对应的顶点代表簇。

需要说明的是,目标3D Mesh为待蒙皮的三维网格模型结构,目标骨骼结构为目标3D Mesh的绑定对象。下文中本申请实施例提供的骨骼蒙皮方法旨在将目标3D Mesh与目标骨骼结构绑定,使得目标3D Mesh可以跟随目标骨骼结构的运动而发生自然的拉伸和形变。

以本申请实施例提供的骨骼蒙皮方法应用于为3D游戏皮肤进行骨骼蒙皮的场景为例,上述目标3D Mesh为待蒙皮的3D游戏皮肤,上述目标骨骼结构为该3D游戏皮肤适用的游戏虚拟角色。通常情况下,一款游戏中不同角色同一Mesh精度的皮肤绑定的普遍是标准骨骼结构,该标准骨骼结构的大小和高度基本能够决定待绑定的3D Mesh中各个部位区域的位置和坐标,在对3D Mesh进行骨骼蒙皮的过程中,待蒙皮的3D Mesh通常呈a-pose站立姿势,如此更有助于用于骨骼蒙皮的网络模型学习数据的特征分布。

图4所示为一种示例性的3D游戏皮肤的骨骼蒙皮效果示意图。图4中(a)所示为呈a-pose站立姿势的3D Mesh游戏皮肤。图4中(b)所示为该3D Mesh游戏皮肤所需绑定的标准的人体骨骼结构,该人体骨骼结构采用67个关节来表示人体的骨骼架构。本申请实施例提供的骨骼蒙皮方法旨在为(a)所示的3D Mesh游戏皮肤中的各个顶点配置关节权重,以使该3D Mesh游戏皮肤与标准的人体骨骼结构绑定,从而达到在所绑定的人体骨骼结构运动时3D Mesh游戏皮肤中各个部位区域可以受不同关节权重的作用而产生相应的形变和拉伸的效果。图4中(c)所示为人体骨骼结构中的躯干(spine)关节旋转45°后3D Mesh游戏皮肤的整体蒙皮表现效果,从(c)可以看出3D Mesh游戏皮肤中躯干关节的周围区域发生了明显的拉伸和形变。

应理解,本申请实施例中的目标3D Mesh除了可以为游戏场景中待蒙皮的3D Mesh游戏皮肤外,也可以为游戏场景中待蒙皮的3D Mesh虚拟角色,还可以为其它应用场景中待蒙皮的3D Mesh,如3D视频或3D动图中3D角色的3D Mesh等,本申请在此不对该目标3D Mesh做任何限定。此外,本申请实施例中的目标骨骼结构除了可以为标准人体骨骼结构外,也可以为呈现特定姿态的人体骨骼结构,还可以为其它对象(如动物等)的骨骼结构,本申请在此也不对该目标骨骼结构做任何限定。

本申请实施例为了便于构建3D Mesh顶点特征,终端设备可以将目标3D Mesh抽象为对应的图拓扑结构,该图拓扑结构能够以数据的形式表示目标3D Mesh的结构。示例性的,假设目标3D Mesh包括N个顶点,终端设备可以将该目标3D Mesh抽象表示为图拓扑结构

应理解,上述目标3D Mesh的图拓扑结构仅为示例,在实际应用中,终端设备也可以根据实际需求,构建其它形式的图拓扑结构表示目标3D Mesh,本申请在此不对目标3DMesh的图拓扑结构的形式做任何限定。

在一种可能的实现方式中,为了保证所确定的关节对应的顶点代表簇,能够较准确地体现关节在目标3D Mesh上的对应位置,终端设备可以通过以下方式在目标3D Mesh的图拓扑结构中查找目标骨骼结构中某个关节对应的代表顶点,并利用查找到的代表顶点组成该关节对应的顶点代表簇:在目标3D Mesh的图拓扑结构中查找n(n为大于1的整数)个候选代表顶点,组成该关节对应的候选代表顶点集合,此处的候选代表顶点与该关节之间的欧式距离满足预设欧式距离条件;进而,基于目标采样策略,从该关节对应的候选代表顶点集合中采集k(k为大于1、且小于等于n的整数)个代表顶点,组成该关节对应的顶点代表簇,此处的目标采样策略用于控制从候选代表顶点集合中采集的k个代表顶点在三维空间中环绕该关节。

具体的,终端设备针对关节bi确定其对应的顶点代表簇时,可以先根据目标3DMesh中各个顶点到该关节bi之间的距离,从目标3D Mesh中查找到与该关节bi距离较近的n个候选代表顶点,组成该关节bi对应的候选代表顶点集合。进而,再采用目标采样策略,如顶点最远端采样(Furthest Point Sample)策略,从该关节bi对应的候选代表顶点集合中采集k个在三维空间中环绕着关节bi的候选代表顶点,作为该关节bi对应的代表顶点,组成该关节bi对应的顶点代表簇。

作为一种示例,终端设备可以通过以下任意一种方式确定某关节对应的候选代表顶点集合:

第一种方式,确定目标3D Mesh的图拓扑结构中各个顶点与该关节之间的欧式距离,根据该图拓扑结构中各个顶点与该关节之间的欧式距离,从该图拓扑结构中选取与该关节之间的欧式距离较小的n个顶点作为候选代表顶点,组成该关节对应的候选代表顶点集合。示例性的,终端设备针对关节bi确定其对应的候选代表顶点集合时,可以先计算目标3D Mesh的图拓扑结构中各个顶点与该关节bi之间的欧式距离,然后对各个顶点与该关节bi之间的欧式距离进行升序排序,进而选择排序靠前的n个欧式距离所对应的顶点,组成该关节bi对应的候选代表顶点集合S={v

第二种方式,确定目标3D Mesh的图拓扑结构中各个顶点与该关节之间的欧式距离,进而确定该图拓扑结构中与该关节之间的欧式距离在预设欧式距离阈值内的顶点作为候选代表顶点,组成该关节对应的候选代表顶点集合。示例性的,终端设备针对关节bi确定其对应的候选代表顶点集合时,可以先计算目标3D Mesh的图拓扑结构中各个顶点与该关节bi之间的欧式距离,然后将图拓扑结构中与该关节bi之间的欧式距离在预设欧式距离阈值内的顶点,均作为候选代表顶点,利用这些候选代表顶点组成该关节bi对应的候选代表顶点集合S={v

通过上述方式确定关节对应的候选代表顶点集合,能够保证初步查找到的候选代表顶点与该关节具有一定的关联性,从而为后续确定该关节对应的顶点代表簇提供较好的数据基础,初步保证所确定的关节对应的顶点代表簇的准确性。应理解,上述确定关节对应的候选代表顶点集合的方式仅为示例,在实际应用中,终端设备也可以根据实际需求,采用其它方式确定关节对应的候选代表顶点集合,本申请在此不对关节对应的候选代表顶点集合的确定方式做任何限定。

作为一种示例,终端设备可以采用顶点最远端采样策略,从关节对应的候选代表顶点集合中采集k个代表顶点,组成该关节对应的顶点代表簇。即,终端设备可以从候选代表顶点集合中选取代表顶点,迁移至顶点代表簇;然后,针对候选点顶点集合中剩余的每个候选代表顶点,根据该候选代表顶点与顶点代表簇中各代表顶点之间的欧式距离,确定该候选代表顶点与顶点代表簇之间的欧式距离;进而,根据候选代表顶点集合中剩余的各个候选代表顶点各自与顶点代表簇之间的欧式距离,从该候选代表顶点集合中剩余的候选代表顶点中选取代表顶点,迁移至该顶点代表簇。

示例性的,终端设备可以采用递增的方式从候选代表顶点集合中选取所需添加至顶点代表簇中的代表顶点。假设关节bi对应的候选代表顶点集合为A,其中包括n个候选代表顶点,终端设备所需确定的关节bi对应的顶点代表簇为B,其中包括k个代表顶点,则终端设备可以通过以下步骤获得顶点代表簇B:

首先,从候选代表顶点集合A中随机选取一个候选代表顶点vi作为初始代表顶点,并将其从候选代表顶点集合A中迁移至顶点代表簇B中,即B={vi}。然后,针对候选代表顶点集合A中剩余的n-1个候选代表顶点中的每个候选代表顶点,计算其到顶点代表簇B中包括的代表顶点vi的欧式距离,作为该候选代表顶点到顶点代表簇B的欧式距离;进而,从n-1个候选代表顶点中,选择到顶点代表簇B的欧式距离最大的候选代表顶点vj作为代表顶点,将其从候选代表顶点集合A中迁移至顶点代表簇B中,即B={vi,vj}。进而,针对候选代表顶点集合A中剩余的n-2个候选代表顶点中的每个候选代表顶点,计算其到顶点代表簇B中包括的代表顶点vi的欧式距离、以及其到代表顶点vj的欧式距离,并将其中较小的欧式距离作为该候选代表顶点到顶点代表簇B的欧式距离;进而,从n-2个候选代表顶点中,选择到顶点代表簇B的欧式距离最大的候选代表顶点vk作为代表顶点,将其从候选代表顶点集合A中迁移至顶点代表簇B中,即B={vi,vj,vk}。如此,重复执行上述步骤,直至顶点代表簇B中包括的代表顶点的数目达到k为止。

应理解,在实际应用中,终端设备从候选代表顶点集合中选取初始代表顶点时,除了可以仅选择一个初始代表顶点迁移至顶点代表簇中外,也可以同时选择多个初始代表顶点迁移至顶点代表簇中,本申请在此不对所选择的初始代表顶点的数目做任何限定。此外,终端设备每次从候选代表顶点集合向顶点代表簇迁移代表顶点时,除了可以仅迁移一个代表顶点外,也可以迁移多个代表顶点,本申请在此也不对每次迁移的代表顶点的数目做任何限定。

通过上述方式采用顶点最远端采样策略确定关节对应的顶点代表簇,能够较好的保证所确定的顶点代表簇中包括的顶点在三维空间中环绕着该关节,从而保证所确定的顶点代表簇能够较准确地体现关节在目标3D Mesh上的对应位置,有利于后续准确地确定目标3D Mesh上的顶点在非欧空间下与关节之间的距离。应理解,在实际应用中,终端设备也可以根据实际需求,采用其它采样策略从候选代表顶点集合中采集关节对应的代表顶点,组成关节对应的顶点代表簇,本申请在此不对采集关节对应的代表顶点时所采用的采样策略做任何限定。

步骤302:针对所述图拓扑结构中的每个目标顶点,根据所述目标顶点的位置、所述目标骨骼结构中各个关节各自对应的顶点代表簇中包括的代表顶点的位置、以及所述目标骨骼结构中各个关节的位置,确定非欧空间下所述目标顶点到所述目标骨骼结构中各个关节的距离,作为所述目标顶点与所述目标骨骼结构之间的非欧空间距离特征。

终端设备确定出目标骨骼结构中各个关节各自对应的顶点代表簇后,可以进一步确定目标3D Mesh中各个目标顶点与目标骨骼结构之间的非欧空间距离特征。具体的,终端设备针对目标3D Mesh的图拓扑结构中的每个目标顶点,可以根据该目标顶点自身的位置、目标骨骼结构中各个关节各自对应的顶点代表簇中包括的代表顶点的位置、以及该目标骨骼结构中各个关节的位置,确定该目标顶点在非欧空间下与目标骨骼结构中各个关节之间的距离,并将该目标顶点在非欧空间下与目标骨骼结构中各个关节之间的距离,作为该目标顶点与目标骨骼结构之间的非欧空间距离特征。

需要说明的是,上述目标3D Mesh中的目标顶点可以为目标3D Mesh中的任一个顶点,也可以为目标3D Mesh中特定的顶点,本申请在此不对该目标3D Mesh中的目标顶点做任何限定。

在一种可能的实现方式中,终端设备可以通过以下方式确定非欧空间下目标顶点到目标骨骼结构中每个关节的距离:在该关节对应的顶点代表簇中确定与目标顶点对应的目标代表顶点,并且确定目标3D Mesh的图拓扑结构上该目标顶点与该目标代表顶点之间的图测地线距离;然后,确定该目标代表顶点与该关节之间的欧式距离;进而,根据该目标顶点与该目标代表顶点之间的图测地线距离、以及该目标代表顶点与该关节之间的欧式距离,确定非欧空间下该目标顶点到该关节的距离。

示例性的,终端设备确定目标3D Mesh中的目标顶点vi在非欧空间下到目标骨骼结构中的关节bj的距离时,可以先在关节bj对应的顶点代表簇中确定目标顶点vi对应的目标代表顶点sk,并且确定目标3D Mesh上目标顶点vi与目标代表顶点sk之间的图测地线距离g

如此,通过上述方式确定非欧空间下目标3D Mesh中的目标顶点到目标骨骼结构中的关节的距离,可以保证所确定的距离能够较为准确地反映目标顶点与该关节在非欧空间下的位置关系,进而,有助于构建能够较为准确地反映目标顶点与目标骨骼结构中各关节间的位置关系的非欧空间距离特征。

作为一种示例,终端设备可以通过以下方式在关节对应的顶点代表簇中确定目标顶点对应的目标代表顶点:针对该关节对应的顶点代表簇中的每个代表顶点,根据目标3DMesh的图拓扑结构,确定该代表顶点与该目标顶点之间的图测地线距离,作为该代表顶点对应的图测地线距离;进而,根据该关节对应的顶点代表簇中各代表顶点各自对应的图测地线距离,确定所对应的图测地线距离最小的代表顶点,作为该目标顶点对应的目标代表顶点。

具体的,鉴于目标3D Mesh的图拓扑结构能够以数据的形式表征目标3D Mesh的结构,其中包括对于目标3D Mesh中顶点位置的数据表示、对于目标3D Mesh中顶点间的连接边的表示,基于此,可以采用特定的图上路径距离算法(如迪杰特斯拉算法),根据该目标3DMesh的图拓扑结构计算该目标3D Mesh上任意两个顶点之间的图路径距离,即图测地线距离。

在本申请实施例中,终端设备在关节bj对应的顶点代表簇中确定目标顶点vi对应的目标代表顶点时,可以计算关节bj对应的顶点代表簇中各个代表顶点各自与目标顶点vi之间的图路径距离,最终,从该顶点代表簇中挑选出与目标顶点vi之间的图路径距离最小的代表顶点sk,作为该目标顶点vi对应的目标代表顶点,并且获取该目标顶点vi与该目标代表顶点sk之间的图路径距离,作为该目标顶点vi到关节bj对应的顶点代表簇的图测地线距离,用作后续计算目标顶点vi在非欧空间下到关节bj的距离时使用。

如此,通过上述方式在关节对应的顶点代表簇中确定目标顶点对应的目标代表顶点,能够保证所确定的目标代表顶点与目标顶点之间的位置关系,在一定程度上较准确地反映目标顶点与该关节之间的位置关系,进而为确定非欧空间下目标顶点到该关节的距离提供较准确的数据支撑。

可选的,为了保证所确定的目标3D Mesh中的顶点之间的图测地线距离更加准确,本申请实施例可以引入带距离权重的图拓扑结构,来度量目标3D Mesh中的顶点之间的图测地线距离。即,终端设备可以针对目标3D Mesh的图拓扑结构中的每个顶点,计算该顶点与其邻居顶点之间的欧式距离,作为该图拓扑结构的距离权重;进而,通过迪杰特斯拉算法,根据该图拓扑结构以及该图拓扑结构的距离权重,确定关节对应的顶点代表簇中的代表顶点与目标顶点之间的图测地线距离。

具体的,终端设备可以基于目标3D Mesh的图拓扑结构,计算该图拓扑结构中每个顶点与其邻居顶点之间的欧式距离,作为该图拓扑结构的距离权重,该距离权重实质上是图拓扑结构中的连接边对应的距离权重。需要说明的是,某顶点的邻居顶点是指与该顶点之间具有直接连接的边的顶点;例如,假设顶点A与顶点B通过连接边直接连接,顶点B与顶点C通过连接边直接连接,而顶点A与顶点C之间没有直接连接的边,则顶点A与顶点B互为邻居顶点,顶点B与顶点C互为邻居顶点,而顶点A与顶点C不是邻居顶点;换言之,在3D Mesh的图拓扑结构中包括由0和1组成的顶点邻接矩阵A的情况下,若顶点i与顶点j之间的连通值a(i,j)=1,则说明顶点i与顶点j互为邻居顶点,反之,若顶点i与顶点j之间的连通值a(i,j)=0,则说明顶点i与顶点j不是邻居顶点。

终端设备计算出图拓扑结构中每个顶点与其邻居顶点之间的欧式距离,得到该图拓扑结构的距离权重后,可以基于该带距离权重的图拓扑结构,采用迪杰特斯拉算法,计算关节对应的顶点代表簇中每个代表顶点与目标顶点之间的图路径距离,即每个代表顶点与目标顶点之间的图测地线距离。

应理解,在实际应用中,终端设备除了可以采用迪杰特斯拉算法计算代表顶点与目标顶点之间的图测地线距离外,还可以根据实际需求,采用其它距离计算方法,计算代表顶点与目标顶点之间的图测地线距离;本申请在此不对所采用的图测地线距离的计算方法做任何限定。

如此,引入带距离权重的图拓扑结构,度量目标3D Mesh中顶点之间的图测地线距离,能够保证计算得到的图测地线距离更加准确,即能够更准确地反映目标3D Mesh中的目标顶点与关节之间的位置关系。

在实际应用中,很多3D Mesh中的顶点并不是全部都是图连通的,可能由多个独立连通的子图构成,这种情况在服饰的3D Mesh中更为普遍,例如服饰的3D Mesh中可能会包括很多对应于配饰的独立连通的子图;对于3D Mesh中不连通区域的顶点,若要通过图拓扑结构度量其到关节对应的顶点代表簇的图测地线距离是比较困难的。

为了解决上述问题,实现通过3D Mesh的图拓扑结构度量3D Mesh中不连通区域的顶点到关节对应的顶点代表簇的图测地线距离,本申请实施例提供的技术方案从扩展邻居顶点和顶点间的连接边的角度出发,提出了一种能够提升3D Mesh中顶点间的连通性的实现方式。即,终端设备可以在确定图拓扑结构中的目标顶点与目标骨骼结构之间的非欧空间距离特征之前,针对该图拓扑结构中的待扩展顶点,将该图拓扑结构中位于该待扩展顶点对应的扩展范围内的顶点,均设置为该待扩展顶点的邻居顶点,并构建该待扩展顶点与其邻居顶点之间的连接边。

示例性的,终端设备可以将目标3D Mesh中的每个顶点均视为待扩展顶点;进而,针对该目标3D Mesh中的每个顶点,以该顶点为中心、以Mcm为半径在三维空间中构造球形范围,作为该顶点对应的扩展范围,该扩展范围内的各个顶点均可以作为该顶点对应的邻居顶点,并且构建该顶点与其邻居顶点之间的连接边。

应理解,在实际应用中,终端设备也可以在目标3D Mesh中选取部分顶点作为待扩展顶点,例如,选取位于子连通图边缘的顶点作为待扩展顶点,本申请在此不对目标3DMesh的图拓扑结构中的待扩展顶点做任何限定。此外,上述待扩展顶点对应的扩展范围也仅为示例,终端设备针对待扩展顶点也可以设置其它类型的扩展范围,本申请在此也不对待扩展顶点对应的扩展范围做任何限定。

如此,通过上述邻居顶点扩展方式,终端设备可以针对目标3D Mesh中不连通区域的顶点扩展邻居顶点和顶点间的连接边,从而将目标3D Mesh中不连通区域的顶点连通起来,提升目标3D Mesh的图拓扑结构的整体连通性。

步骤303:根据所述图拓扑结构中各个目标顶点各自与所述目标骨骼结构之间的非欧空间距离特征,确定所述目标三维网格与所述目标骨骼结构之间的非欧空间距离特征。

终端设备通过步骤302,确定出目标3D Mesh中每个目标顶点与目标骨骼结构之间的非欧空间距离特征后,可以进一步将目标3D Mesh中各个目标顶点各自与目标骨骼结构之间的非欧空间距离特征组合起来,从而得到该目标3D Mesh与该目标骨骼结构之间的非欧空间距离特征。

示例性的,假设目标3D Mesh中包括N个目标顶点,该目标3D Mesh所要绑定的目标骨骼结构为包括67个关节的标准人体骨骼结构;终端设备通过步骤302确定出的每个目标顶点与目标骨骼结构之间的非欧空间距离特征的大小应当为1*67维,其中,每一维对应于该目标顶点与目标骨骼结构中一个关节在非欧空间下的距离;终端设备组合N个目标顶点各自与目标骨骼结构之间的非欧空间距离特征,将得到N*67维大小的非欧空间距离特征,该非欧空间距离特征即为目标3D Mesh与目标骨骼结构之间的非欧空间距离特征。

上述三维网格顶点特征确定方法,创新性地提出了用于确定三维网格中的顶点与骨骼关节之间的非欧空间距离的方案,通过引入三维网格的图拓扑结构,刻画三维网格中的顶点与骨骼关节在非欧空间下的距离关系;相比欧式空间距离特征而言,三维网格与骨骼结构之间的非欧空间距离特征能够更准确地反映三维网格中的顶点与骨骼关节之间的位置关系。相应地,在利用骨骼蒙皮模型预测三维网格中顶点的关节权重的过程中,引入该三维网格与骨骼结构之间的非欧空间距离特征,能帮助网络模型更准确地预测骨骼关节对于三维网格中顶点的控制关系,从而避免发生将三维网格中的顶点与骨骼关节误绑的情况,有效地提升针对顶点配置的关节权重的准确度,取得更好的骨骼蒙皮效果,使得三维网格在其绑定的骨骼运动形变的过程中更加平滑自然。

下面通过方法实施例,对使用通过图3所示的方法确定的目标3D Mesh与目标骨骼结构之间的非欧空间距离特征进行自动骨骼蒙皮的方案进行介绍,即对本申请提供的骨骼蒙皮方法进行详细介绍。

参见图5,图5为本申请实施例提供的骨骼蒙皮方法的流程示意图。为了便于描述,下述实施例仍以该骨骼蒙皮方法的执行主体为终端设备为例进行介绍。如图5所示,该方法包括以下步骤:

步骤501:获取待蒙皮的目标三维网格对应的三维网格顶点特征;所述三维网格顶点特征至少包括:通过图3所示的三维网格顶点特征确定方法确定的所述目标三维网格与目标骨骼结构之间的非欧空间距离特征。

终端设备基于目标骨骼结构对目标3D Mesh进行骨骼蒙皮时,需要获取该目标3DMesh对应的3D Mesh顶点特征。此处获取的目标3D Mesh对应的3D Mesh顶点特征应至少包括:通过上述图3所示实施例确定的目标3D Mesh与目标骨骼结构之间的非欧空间距离特征。

此外,为了更准确地描述该目标3D Mesh中顶点的位置特征,所获取的目标3DMesh对应的3D Mesh顶点特征还可以包括:目标3D Mesh中各个顶点的位置和目标3D Mesh中各个顶点的法向量中的至少一项。考虑到目标3D Mesh中的顶点到目标骨骼结构中的关节的欧式距离,在为目标3D Mesh进行骨骼蒙皮时也具有一定的参考价值,因此,所获取的目标3D Mesh对应的3D Mesh顶点特征还可以包括:目标3D Mesh中各个顶点到目标骨骼结构中各个关节的欧式距离。

应理解,在实际应用中,终端设备所获取的目标3D Mesh对应的3D Mesh顶点特征并不仅局限于上述特征,还可以根据实际需求获取与目标3D Mesh中的顶点相关的其它特征,本申请在此不对所获取的目标3D Mesh对应的3D Mesh顶点特征做任何限定。

步骤502:通过骨骼蒙皮模型,根据所述三维网格顶点特征,为所述目标三维网格中各个顶点配置关节权重。

终端设备获取到目标3D Mesh对应的3D Mesh顶点特征后,可以调取预先训练好的骨骼蒙皮模型;进而,将所获取的3D Mesh顶点特征输入该骨骼蒙皮模型,该骨骼蒙皮模型对输入的3D Mesh顶点特征进行相应地分析处理后,将输出目标3D Mesh中各个顶点各自对应的关节权重。

需要说明的是,上述骨骼蒙皮模型可以是预先训练的、用于为3D Mesh中的顶点配置关节权重的端到端的神经网络模型。该骨骼蒙皮模型可以通过对输入的3D Mesh顶点特征进行分析处理,确定待绑定的骨骼结构中各关节对于3D Mesh中各顶点的控制关系及控制程度,进而输出其为3D Mesh中各顶点配置的关节权重。该骨骼蒙皮模型可以为任意结构的神经网络模型,本申请在此不对该骨骼蒙皮模型的结构做具体限定。

上述骨骼蒙皮方法在利用骨骼蒙皮模型预测三维网格中顶点的关节权重的过程中,引入该三维网格与骨骼结构之间的非欧空间距离特征,能帮助网络模型更准确地预测骨骼关节对于三维网格中顶点的控制关系,从而避免发生将三维网格中的顶点与骨骼关节误绑的情况,有效地提升针对顶点配置的关节权重的准确度,取得更好的骨骼蒙皮效果,使得三维网格在其绑定的骨骼运动形变的过程中更加平滑自然。

为了便于进一步理解本申请实施例提供的技术方案,下面以本申请实施例提供的方法用于为3D游戏皮肤的3D Mesh进行骨骼蒙皮为例,对本申请实施例提供的方法进行整体示例性介绍。

终端设备针对3D游戏皮肤的3D Mesh进行骨骼蒙皮之前,需要先确定该3D游戏皮肤的3D Mesh顶点特征。

具体的,采用深度学习算法预测3D Mesh中各个顶点的关节权重时,通常需要将3DMesh抽象为图拓扑结构,即以数据的形式表示该3D游戏皮肤的3D Mesh。假设3D游戏皮肤的3D Mesh中包括N个顶点,该3D游戏皮肤的3D Mesh所要绑定的目标骨骼结构中包括B个关节;终端设备可以将该3D游戏皮肤的3D Mesh抽象表示为图拓扑结构数据

由于3D游戏皮肤的3D Mesh中的顶点与其要绑定的骨骼结构中的关节是独立的两个部分,在非欧空间下难以准确地度量3D Mesh中的顶点到各个关节的距离。因此,本申请实施例通过引入3D Mesh的图拓扑结构,来近似刻画3D游戏皮肤的3D Mesh中的顶点到骨骼结构中的关节在非欧空间下的距离关系。具体思路是,在3D Mesh的图拓扑结构中找到骨骼结构中的关节对应的顶点代表簇,利用关节对应的顶点代表簇近似刻画关节在3D Mesh的图拓扑结构中的位置,如此,可以利用3D Mesh的图拓扑结构,确定3D Mesh中的顶点到关节对应的顶点代表簇的图测地线距离,以此来表达3D Mesh中的顶点在非欧空间下到骨骼结构中的关节的距离。

本申请实施例基于关节对应的顶点代表簇,确定3D游戏皮肤的3D Mesh中的顶点在非欧空间下到骨骼结构中关节的距离的流程,主要包括以下步骤:

(1)为骨骼结构中的每个关节,在3D游戏皮肤的3D Mesh的图拓扑结构中找到该关节周边的一群顶点,组成该关节对应的顶点代表簇。

(2)通过在3D游戏皮肤的3D Mesh的图拓扑结构中构造邻居顶点,来增加3D Mesh中顶点间的连接边,从而提升3D Mesh的图拓扑结构的连通性。

(3)基于3D游戏皮肤的3D Mesh的图拓扑结构,计算3D Mesh上的顶点到关节对应的顶点代表簇的图测地线距离,并且计算顶点代表簇中顶点对应的目标代表顶点与关节之间的欧式距离,结合顶点到顶点代表簇的图测地线距离以及目标代表顶点与关节之间的欧式距离,得到顶点在非欧空间下到关节的距离表示。

下面对这三个步骤逐一进行详细介绍。

首先,介绍关节对应的顶点代表簇的确定方式。本申请实施例确定关节对应的顶点代表簇的方式主要包括两个步骤:

第一步是,计算关节bi到3D游戏皮肤的3D Mesh上各个顶点的欧式距离,并且从中选出n个欧式距离较小的顶点,组成关节bi对应的候选代表顶点集合S={v

第二步是,采用顶点最远端采样策略,从关节bi对应的候选代表顶点集合中采集k个代表顶点,组成该关节bi对应的顶点代表簇R={v

顶点最远端采样策略的主体思想是从候选代表顶点集合S中采样出k个顶点距离最大的代表顶点。假设候选代表顶点集合S包括n个候选代表顶点,采用顶点最远端采样策略欲得到顶点代表簇B,其中包括k个代表顶点,该顶点最远端采样策略的具体实现步骤如下:

首先,从候选代表顶点集合S中随机选取一个候选代表顶点vi作为初始代表顶点,并将其从候选代表顶点集合S中迁移至顶点代表簇B中,即B={vi}。然后,针对候选代表顶点集合S中剩余的n-1个候选代表顶点中的每个候选代表顶点,计算其到顶点代表簇B中包括的代表顶点vi的欧式距离,作为该候选代表顶点到顶点代表簇B的欧式距离;进而,从n-1个候选代表顶点中,选择到顶点代表簇B的欧式距离最大的候选代表顶点vj作为代表顶点,将其从候选代表顶点集合S中迁移至顶点代表簇B中,即B={vi,vj}。进而,针对候选代表顶点集合S中剩余的n-2个候选代表顶点中的每个候选代表顶点,计算其到顶点代表簇B中包括的代表顶点vi的欧式距离、以及其到代表顶点vj的欧式距离,并将其中较小的欧式距离作为该候选代表顶点到顶点代表簇B的欧式距离;进而,从n-2个候选代表顶点中,选择到顶点代表簇B的欧式距离最大的候选代表顶点vk作为代表顶点,将其从候选代表顶点集合S中迁移至顶点代表簇B中,即B={vi,vj,vk}。如此,重复执行上述步骤,直至顶点代表簇B中包括的代表顶点的数目达到k为止。

接下来,介绍扩展邻居顶点和连接边的实现方式。

由于3D 游戏皮肤的3D Mesh中的顶点通常并不是全部都是图连通的,而是由多个连通子图构成的,例如,在3D游戏服饰的3D Mesh中会包括大量独立的连通子图的配饰等,对于3D Mesh中不连通区域的顶点,若要通过图拓扑结构度量其到关节对应的顶点代表簇的图测地线距离是比较困难的。针对3D Mesh中存在不连通区域顶点的问题,本申请实施例从扩展邻居顶点和顶点间的连接边的角度出发,提出了一种能够提升3D Mesh中顶点间的连通性的实现方式。

具体实现方式如下:针对3D游戏皮肤的3D Mesh中的每个顶点,以该顶点为中心、以Mcm为半径在三维空间中构造球形范围,作为该顶点对应的扩展范围,该扩展范围内的各个顶点均可以共享邻居顶点。通过这种方式,为3D游戏皮肤的3D Mesh中不连通区域的顶点扩展邻居顶点和顶点间的连接边,可以有效地将3D Mesh中不连通区域的顶点连通起来,提升3D Mesh的图拓扑结构的整体连通性。

最后,介绍计算3D Mesh中的顶点在非欧空间下到关节的距离的方式。

本申请实施例计算3D Mesh中的顶点在非欧空间下到关节的距离时,引入了带距离权重的3D Mesh的图拓扑结构来度量,具体实现方式如下:

首先,利用3D游戏皮肤的3D Mesh的图拓扑结构,计算各个顶点与其邻居顶点间的欧式距离,作为该图拓扑结构的距离权重,即为顶点与顶点间的连接边配置距离权重。然后,基于带距离权重的图拓扑结构,通过迪杰特斯拉算法计算关节bj对应的顶点代表簇中的各个代表顶点与3D Mesh中的顶点vi间的图路径距离,并从关节bj对应的顶点代表簇中选出与顶点vi间的图路径距离最短的代表顶点sk,将该代表顶点sk作为该关节bj对应的顶点代表簇中与顶点vi对应的目标代表顶点,并将该目标代表顶点sk与顶点vi之间的图路径距离作为顶点vi到该关节bj对应的顶点代表簇的图测地线距离g

如此,通过上述方式计算出非欧空间下3D游戏皮肤的3D Mesh中的各顶点各自到待绑定的骨骼结构中各个关节的距离,并利用所计算出的各非欧空间下的距离,组成该3D游戏皮肤的3D Mesh与该骨骼结构之间的非欧空间距离特征。

进而,终端设备可以利用预先训练好的骨骼蒙皮模型,根据上述3D游戏皮肤的3DMesh与待绑定的骨骼结构之间的非欧空间距离特征、3D游戏皮肤的3D Mesh中各个顶点的位置、3D游戏皮肤的3D Mesh中各个顶点的法向量、以及3D游戏皮肤的3D Mesh与待绑定的骨骼结构之间的欧式空间距离特征,为该3D 游戏皮肤的3D Mesh进行骨骼蒙皮,即为该3D游戏皮肤的3D Mesh中的各个顶点配置对应的关节权重,使得该3D游戏皮肤可以跟随所绑定的骨骼结构的运动而产生相应的拉伸和形变。

采用本申请实施例提供的方法,对图1中(a)所示的3D Mesh进行骨骼蒙皮,得到的骨骼蒙皮效果如图6所示。从图6所示的骨骼蒙皮效果示意图可以看出,3D Mesh抬手时裙子边缘的顶点没有随之发生形变,即没有将裙子边缘的顶点误绑至手部关节上,如此也验证了本申请实施例提供的方法,可以有效地提高骨骼蒙皮模型针对3D Mesh上的顶点预测的关节权重的准确度,可以显著提升骨骼蒙皮效果。

针对上文描述的三维网格顶点特征确定方法和骨骼蒙皮方法,本申请还提供了对应的三维网格顶点特征确定装置和骨骼蒙皮装置,以使上述三维网格顶点特征确定方法和骨骼蒙皮方法在实际中得以应用及实现。

参见图7,图7是与上文图3所示的三维网格顶点特征确定方法对应的一种三维网格顶点特征确定装置700的结构示意图。如图7所示,该三维网格顶点特征确定装置700包括:

顶点代表簇确定模块701,用于针对目标骨骼结构中的每个关节,在目标三维网格的图拓扑结构中查找所述关节对应的代表顶点,组成所述关节对应的顶点代表簇;

非欧空间距离确定模块702,用于针对所述图拓扑结构中的每个目标顶点,根据所述目标顶点的位置、所述目标骨骼结构中各个关节各自对应的顶点代表簇中包括的代表顶点的位置、以及所述目标骨骼结构中各个关节的位置,确定非欧空间下所述目标顶点到所述目标骨骼结构中各个关节的距离,作为所述目标顶点与所述目标骨骼结构之间的非欧空间距离特征;

网格顶点特征确定模块703,用于根据所述图拓扑结构中各个目标顶点各自与所述目标骨骼结构之间的非欧空间距离特征,确定所述目标三维网格与所述目标骨骼结构之间的非欧空间距离特征。

可选的,在图7所示的三维网格顶点特征确定装置700的基础上,参见图8,图8为本申请实施例提供的另一种三维网格顶点特征确定装置800的结构示意图。如图8所示,所述顶点代表簇确定模块701包括:

候选代表顶点查找子模块801,用于在所述图拓扑结构中查找n个候选代表顶点,组成所述关节对应的候选代表顶点集合;所述候选代表顶点与所述关节之间的欧氏距离满足预设欧式距离条件;所述n为大于1的整数;

代表顶点采集子模块802,用于基于目标采样策略,从所述关节对应的候选代表顶点集合中采集k个所述代表顶点,组成所述关节对应的顶点代表簇;所述目标采样策略用于控制从所述候选代表顶点集合中采集的所述k个代表顶点在三维空间中环绕所述关节;所述k为大于1、且小于等于所述n的整数。

可选的,在图8所示的三维网格顶点特征确定装置800的基础上,所述代表顶点采集子模块802具体用于:

从所述候选代表顶点集合中选取代表顶点,迁移至所述顶点代表簇;

针对所述候选代表顶点集合中剩余的每个候选代表顶点,根据所述候选代表顶点与所述顶点代表簇中各代表顶点之间的欧式距离,确定所述候选代表顶点与所述顶点代表簇之间的欧式距离;

根据所述候选代表顶点集合中剩余的各个候选代表顶点各自与所述顶点代表簇之间的欧式距离,从所述候选代表顶点集合中剩余的候选代表顶点中选取代表顶点,迁移至所述顶点代表簇。

可选的,在图8所示的三维网格顶点特征确定装置800的基础上,所述候选代表顶点查找子模块801具体用于:

确定所述图拓扑结构中各个顶点与所述关节之间的欧式距离;根据所述图拓扑结构中各个顶点与所述关节之间的欧式距离,从所述图拓扑结构中选取与所述关节之间的欧式距离较小的n个顶点作为所述候选代表顶点,组成所述候选代表顶点集合;

或者,确定所述图拓扑结构中各个顶点与所述关节之间的欧式距离;确定所述图拓扑结构中与所述关节之间的欧式距离在预设欧式距离阈值内的顶点作为所述候选代表顶点,组成所述候选代表顶点集合。

可选的,在图7所示的三维网格顶点特征确定装置700的基础上,参见图9,图9为本申请实施例提供的另一种三维网格顶点特征确定装置900的结构示意图。如图9所示,所述非欧空间距离确定模块702包括:

图测地线距离确定子模块901,用于确定所述关节对应的顶点代表簇中与所述目标顶点对应的目标代表顶点;并且确定所述图拓扑结构上所述目标顶点与所述目标代表顶点之间的图测地线距离;

欧式距离确定子模块902,用于确定所述目标代表顶点与所述关节之间的欧式距离;

非欧空间距离确定子模块903,用于根据所述目标顶点与所述目标代表顶点之间的图测地线距离、以及所述目标代表顶点与所述关节之间的欧式距离,确定所述非欧空间下所述目标顶点到所述关节的距离。

可选的,在图9所示的三维网格顶点特征确定装置900的基础上,所述图测地线距离确定子模块901具体用于:

针对所述关节对应的顶点代表簇中的每个代表顶点,根据所述图拓扑结构,确定所述代表顶点与所述目标顶点之间的图测地线距离,作为所述代表顶点对应的图测地线距离;

根据所述关节对应的顶点代表簇中各个代表顶点各自对应的图测地线距离,确定所对应的图测地线距离最小的代表顶点,作为所述目标顶点对应的目标代表顶点。

可选的,在图9所示的三维网格顶点特征确定装置900的基础上,所述图测地线距离确定子模块901具体用于:

针对所述图拓扑结构中的每个顶点,计算所述顶点与其邻居顶点之间的欧式距离,作为所述图拓扑结构的距离权重;

通过迪杰特斯拉算法,根据所述图拓扑结构以及所述图拓扑结构的距离权重,确定所述代表顶点与所述目标顶点之间的图测地线距离。

可选的,在图7所示的三维网格顶点特征确定装置700的基础上,参见图10,图10为本申请实施例提供的另一种三维网格顶点特征确定装置1000的结构示意图。如图10所示,所述装置还包括:

邻居顶点扩展模块1001,用于针对所述图拓扑结构中的待扩展顶点,将所述图拓扑结构中位于所述待扩展顶点对应的扩展范围内的顶点,设置为所述待扩展顶点的邻居顶点,构建所述待扩展顶点与其邻居顶点之间的连接边。

参见图11,图11是与上文图5所示的骨骼蒙皮方法对应的一种骨骼蒙皮装置1100的结构示意图。如图11所示,该骨骼蒙皮装置1100包括:

特征获取模块1101,用于获取待蒙皮的目标三维网格对应的三维网格顶点特征;所述三维网格顶点特征至少包括:通过图3所示的三维网格顶点特征确定方法确定的所述目标三维网格与目标骨骼结构之间的非欧空间距离特征;

骨骼蒙皮模块1102,用于通过骨骼蒙皮模型,根据所述三维网格顶点特征,为所述目标三维网格中各个顶点配置关节权重。

可选的,所述三维网格顶点特征还包括:所述目标三维网格中各个顶点的位置、所述目标三维网格中各个顶点的法向量、所述目标三维网格中各个顶点到所述目标骨骼结构中各个关节的欧式距离。

上述三维网格顶点特征确定装置,创新性地提出了用于确定三维网格中的顶点与骨骼关节之间的非欧空间距离的方案,通过引入三维网格的图拓扑结构,刻画三维网格中的顶点与骨骼关节在非欧空间下的距离关系;相比欧式空间距离特征而言,三维网格与骨骼结构之间的非欧空间距离特征能够更准确地反映三维网格中的顶点与骨骼关节之间的位置关系。相应地,上述骨骼蒙皮装置在利用骨骼蒙皮模型预测三维网格中顶点的关节权重的过程中,引入该三维网格与骨骼结构之间的非欧空间距离特征,能帮助网络模型更准确地预测骨骼关节对于三维网格中顶点的控制关系,从而避免发生将三维网格中的顶点与骨骼关节误绑的情况,有效地提升针对顶点配置的关节权重的准确度,取得更好的骨骼蒙皮效果,使得三维网格在其绑定的骨骼运动形变的过程中更加平滑自然。

本申请实施例还提供了一种用于确定三维网格顶点特征以及骨骼蒙皮的设备,该设备具体可以是终端设备或者服务器,下面将从硬件实体化的角度对本申请实施例提供的终端设备和服务器进行介绍。

参见图12,图12是本申请实施例提供的终端设备的结构示意图。如图12所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(英文全称:PersonalDigital Assistant,英文缩写:PDA)、销售终端(英文全称:Point of Sales,英文缩写:POS)、车载电脑等任意终端设备,以终端为计算机为例:

图12示出的是与本申请实施例提供的终端相关的计算机的部分结构的框图。参考图12,计算机包括:射频(英文全称:Radio Frequency,英文缩写:RF)电路1210、存储器1220、输入单元1230(其中包括触控面板1231和其他输入设备1232)、显示单元1240(其中包括显示面板1241)、传感器1250、音频电路1260(其可以连接扬声器1261和传声器1262)、无线保真(英文全称:wireless fidelity,英文缩写:WiFi)模块1270、处理器1280、以及电源1290等部件。本领域技术人员可以理解,图12中示出的计算机结构并不构成对计算机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

存储器1220可用于存储软件程序以及模块,处理器1280通过运行存储在存储器1220的软件程序以及模块,从而执行计算机的各种功能应用以及数据处理。存储器1220可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1220可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

处理器1280是计算机的控制中心,利用各种接口和线路连接整个计算机的各个部分,通过运行或执行存储在存储器1220内的软件程序和/或模块,以及调用存储在存储器1220内的数据,执行计算机的各种功能和处理数据,从而对计算机进行整体监控。可选的,处理器1280可包括一个或多个处理单元;优选的,处理器1280可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1280中。

在本申请实施例中,该终端所包括的处理器1280还具有以下功能:

针对目标骨骼结构中的每个关节,在目标三维网格的图拓扑结构中查找所述关节对应的代表顶点,组成所述关节对应的顶点代表簇;

针对所述图拓扑结构中的每个目标顶点,根据所述目标顶点的位置、所述目标骨骼结构中各个关节各自对应的顶点代表簇中包括的代表顶点的位置、以及所述目标骨骼结构中各个关节的位置,确定非欧空间下所述目标顶点到所述目标骨骼结构中各个关节的距离,作为所述目标顶点与所述目标骨骼结构之间的非欧空间距离特征;

根据所述图拓扑结构中各个目标顶点各自与所述目标骨骼结构之间的非欧空间距离特征,确定所述目标三维网格与所述目标骨骼结构之间的非欧空间距离特征。

或者,

获取待蒙皮的目标三维网格对应的三维网格顶点特征;所述三维网格顶点特征至少包括:通过图3所示的三维网格顶点特征确定方法确定的所述目标三维网格与目标骨骼结构之间的非欧空间距离特征;

通过骨骼蒙皮模型,根据所述三维网格顶点特征,为所述目标三维网格中各个顶点配置关节权重。

可选的,所述处理器1280还用于执行本申请实施例提供的三维网格顶点特征确定方法和骨骼蒙皮方法的任意一种实现方式的步骤。

参见图13,图13为本申请实施例提供的一种服务器1300的结构示意图。该服务器1300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1322(例如,一个或一个以上处理器)和存储器1332,一个或一个以上存储应用程序1342或数据1344的存储介质1330(例如一个或一个以上海量存储设备)。其中,存储器1332和存储介质1330可以是短暂存储或持久存储。存储在存储介质1330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1322可以设置为与存储介质1330通信,在服务器1300上执行存储介质1330中的一系列指令操作。

服务器1300还可以包括一个或一个以上电源1326,一个或一个以上有线或无线网络接口1350,一个或一个以上输入输出接口1358,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。

上述实施例中由服务器所执行的步骤可以基于该图13所示的服务器结构。

其中,CPU 1322用于执行如下步骤:

针对目标骨骼结构中的每个关节,在目标三维网格的图拓扑结构中查找所述关节对应的代表顶点,组成所述关节对应的顶点代表簇;

针对所述图拓扑结构中的每个目标顶点,根据所述目标顶点的位置、所述目标骨骼结构中各个关节各自对应的顶点代表簇中包括的代表顶点的位置、以及所述目标骨骼结构中各个关节的位置,确定非欧空间下所述目标顶点到所述目标骨骼结构中各个关节的距离,作为所述目标顶点与所述目标骨骼结构之间的非欧空间距离特征;

根据所述图拓扑结构中各个目标顶点各自与所述目标骨骼结构之间的非欧空间距离特征,确定所述目标三维网格与所述目标骨骼结构之间的非欧空间距离特征。

或者,

获取待蒙皮的目标三维网格对应的三维网格顶点特征;所述三维网格顶点特征至少包括:通过图3所示的三维网格顶点特征确定方法确定的所述目标三维网格与目标骨骼结构之间的非欧空间距离特征;

通过骨骼蒙皮模型,根据所述三维网格顶点特征,为所述目标三维网格中各个顶点配置关节权重。

可选的,CPU 1322还可以用于执行本申请实施例提供的三维网格顶点特征确定方法和骨骼蒙皮方法的任意一种实现方式的步骤。

本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的三维网格顶点特征确定方法和骨骼蒙皮方法中的任意一种实施方式。

本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前述各个实施例所述的三维网格顶点特征确定方法和骨骼蒙皮方法中的任意一种实施方式。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

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

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

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

应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号