CN114241100A - 虚拟对象的蒙皮处理方法、装置、设备、介质及程序产品 - Google Patents

虚拟对象的蒙皮处理方法、装置、设备、介质及程序产品 Download PDF

Info

Publication number
CN114241100A
CN114241100A CN202210177689.XA CN202210177689A CN114241100A CN 114241100 A CN114241100 A CN 114241100A CN 202210177689 A CN202210177689 A CN 202210177689A CN 114241100 A CN114241100 A CN 114241100A
Authority
CN
China
Prior art keywords
vertex
model
joint
bone
feature
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.)
Granted
Application number
CN202210177689.XA
Other languages
English (en)
Other versions
CN114241100B (zh
Inventor
陈添财
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210177689.XA priority Critical patent/CN114241100B/zh
Publication of CN114241100A publication Critical patent/CN114241100A/zh
Application granted granted Critical
Publication of CN114241100B publication Critical patent/CN114241100B/zh
Priority to PCT/CN2022/134011 priority patent/WO2023160051A1/zh
Priority to US18/329,974 priority patent/US20230316688A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/403D [Three Dimensional] animation of characters, e.g. humans, animals or virtual beings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/02Non-photorealistic rendering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2016Rotation, translation, scaling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2021Shape modification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Architecture (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请提供了一种虚拟对象的蒙皮处理方法、装置、设备、存储介质及计算机程序产品;方法包括:获取虚拟对象的三维模型以及对象骨骼;确定三维模型包括的至少一个模型顶点的顶点位置、以及对象骨骼包括的至少一个骨骼关节的关节位置;针对各模型顶点,基于顶点位置和至少一个关节位置,确定模型顶点对应各骨骼关节的蒙皮参数;其中,模型顶点的顶点位置由至少一个骨骼关节的关节位置所决定,蒙皮参数,用于指示各骨骼关节对模型顶点的影响权重;基于至少一个模型顶点对应的蒙皮参数,对虚拟对象的对象骨骼进行蒙皮处理,以基于蒙皮结果渲染得到虚拟对象;通过本申请,能够提高虚拟对象的蒙皮处理效果。

Description

虚拟对象的蒙皮处理方法、装置、设备、介质及程序产品
技术领域
本申请涉及计算机技术领域,尤其涉及一种虚拟对象的蒙皮处理方法、装置、设备、存储介质及计算机程序产品。
背景技术
相关技术中,针对虚拟对象的蒙皮处理方案,通常把用到的骨骼关节全部统一到一副超级骨架中,然后确定三维模型上每个顶点到这副超级骨架中每个关节的影响权重以实现蒙皮。但是,针对骨骼结构相似的虚拟对象的蒙皮处理尚可实现,而对于骨骼结构区别较大的虚拟对象(比如人物和动物)的蒙皮处理则无法支持,蒙皮处理效果差。
发明内容
本申请实施例提供一种虚拟对象的蒙皮处理方法、装置、设备、存储介质及计算机程序产品,能够提高虚拟对象的蒙皮处理效果。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种虚拟对象的蒙皮处理方法,包括:
获取虚拟对象的三维模型以及对象骨骼;
确定所述三维模型包括的至少一个模型顶点的顶点位置、以及所述对象骨骼包括的至少一个骨骼关节的关节位置;
针对各所述模型顶点,基于所述顶点位置和至少一个所述关节位置,确定所述模型顶点对应各所述骨骼关节的蒙皮参数;
其中,所述模型顶点的顶点位置由至少一个所述骨骼关节的关节位置所决定,所述蒙皮参数,用于指示各所述骨骼关节对所述模型顶点的影响权重;
基于至少一个所述模型顶点对应的所述蒙皮参数,对所述虚拟对象的对象骨骼进行蒙皮处理,以基于蒙皮结果渲染得到所述虚拟对象。
本申请实施例还提供一种虚拟对象的蒙皮处理装置,包括:
获取模块,用于获取虚拟对象的三维模型以及对象骨骼;
第一确定模块,用于确定所述三维模型包括的至少一个模型顶点的顶点位置、以及所述对象骨骼包括的至少一个骨骼关节的关节位置;
第二确定模块,用于针对各所述模型顶点,基于所述顶点位置和至少一个所述关节位置,确定所述模型顶点对应各所述骨骼关节的蒙皮参数;
其中,所述模型顶点的顶点位置由至少一个所述骨骼关节的关节位置所决定,所述蒙皮参数,用于指示各所述骨骼关节对所述模型顶点的影响权重;
蒙皮处理模块,用于基于至少一个所述模型顶点对应的所述蒙皮参数,对所述虚拟对象的对象骨骼进行蒙皮处理,以基于蒙皮结果渲染得到所述虚拟对象。
上述方案中,所述第二确定模块,还用于针对各所述骨骼关节的关节位置,分别执行如下处理:对所述顶点位置进行特征提取,得到所述模型顶点的顶点特征,并对所述关节位置进行特征提取,得到所述骨骼关节的关节特征;确定所述顶点位置和所述关节位置之间的距离所对应的距离特征;基于所述顶点特征、所述关节特征和所述距离特征,确定所述模型顶点对应所述骨骼关节的蒙皮参数。
上述方案中,所述第二确定模块,还用于通过机器学习模型的位置特征提取层,对所述顶点位置进行特征提取,得到所述模型顶点的第一位置特征;通过所述机器学习模型的位置特征更新层,基于所述模型顶点关联的至少一个目标模型顶点的顶点位置,对所述第一位置特征进行更新,得到所述模型顶点的第二位置特征;通过所述机器学习模型的局部特征提取层,基于所述第一位置特征和所述第二位置特征,确定所述模型顶点的局部顶点特征;通过所述机器学习模型的全局特征提取层,基于所述第二位置特征,确定所述模型顶点的全局顶点特征;通过所述机器学习模型的特征处理层,执行所述局部顶点特征与所述全局顶点特征之间的减操作,得到所述模型顶点的顶点特征。
上述方案中,所述位置特征更新层包括至少两个级联的子位置特征更新层;所述第二确定模块,还用于通过第一级的子位置特征更新层,基于所述模型顶点关联的至少一个目标模型顶点的顶点位置,对所述第一位置特征进行更新,得到相应的中间位置特征;通过非第一级的子位置特征更新层,基于所述模型顶点关联的至少一个目标模型顶点的顶点位置,对所述中间位置特征进行更新,得到所述第二位置特征。
上述方案中,所述第二确定模块,还用于通过所述机器学习模型的位置特征更新层,确定所述模型顶点与所述三维模型中除所述模型顶点之外的至少两个其他模型顶点之间的顶点距离;按照各所述顶点距离,对所述至少两个其他模型顶点进行升序排序,得到相应的排序结果;基于所述排序结果,选取排序靠前的目标数量的其他模型顶点作为所述模型顶点关联的至少一个目标模型顶点。
上述方案中,所述第二确定模块,还用于通过所述机器学***均处理,得到平均位置特征;将所述第一位置特征更新为所述平均位置特征,以得到所述模型顶点的第二位置特征。
上述方案中,所述位置特征更新层包括至少两个级联的子位置特征更新层,每个所述子位置特征更新层输出相应的中间位置特征;所述第二确定模块,还用于将所述第一位置特征和各所述中间位置特征输入所述局部特征提取层中;通过所述局部特征提取层,基于所述第一位置特征和各所述中间位置特征,输出所述模型顶点的局部顶点特征。
上述方案中,所述位置特征更新层包括至少两个级联的子位置特征更新层,每个所述子位置特征更新层输出相应的中间位置特征;所述第二确定模块,还用于将各所述中间位置特征输入所述全局特征提取层中;通过所述全局特征提取层,基于各所述中间位置特征,输出所述模型顶点的全局顶点特征。
上述方案中,所述机器学习模型还包括距离特征提取层,所述第二确定模块,还用于通过所述机器学习模型的距离特征提取层,确定所述顶点位置和所述关节位置之间的距离;对所述距离进行特征提取,得到所述距离特征。
上述方案中,所述机器学习模型还包括全连接层及特征预测层,所述第二确定模块,还用于通过所述机器学习模型的全连接层,对所述顶点特征、所述关节特征和所述距离特征进行拼接,得到相应的拼接特征;通过所述机器学习模型的特征预测层,基于所述拼接特征进行蒙皮参数的预测,得到所述模型顶点对应所述骨骼关节的蒙皮参数。
上述方案中,所述第二确定模块,还用于获取用于训练所述机器学习模型的训练样本;其中,所述训练样本标注有相应的样本标签,所述训练样本包括顶点位置样本和关节位置样本;通过所述机器学习模型,基于所述顶点位置样本和所述关节位置样本进行蒙皮参数的预测,得到预测结果;获取所述预测结果和所述样本标签之间的差异,并基于所述差异确定所述机器学习模型的损失函数的值;基于所述损失函数的值,更新所述机器学习模型的模型参数,以得到训练完成的机器学习模型。
上述方案中,所述第二确定模块,还用于针对各所述模型顶点,分别执行如下处理:从至少一个所述骨骼关节中,获取与所述模型顶点关联的至少一个目标骨骼关节;基于所述顶点位置和所述至少一个目标骨骼关节的关节位置,确定所述模型顶点对应各所述目标骨骼关节的蒙皮参数。
上述方案中,所述蒙皮处理模块,还用于获取各所述骨骼关节对应的骨骼变换参数;针对各所述模型顶点,基于所述模型顶点的顶点位置、所述模型顶点对应各所述骨骼关节的蒙皮参数、以及各所述骨骼关节对应的骨骼变换参数,确定所述模型顶点对应各所述骨骼关节的目标顶点位置;基于至少一个所述模型顶点对应的目标顶点位置,对所述虚拟对象的对象骨骼进行蒙皮处理。
上述方案中,所述蒙皮处理模块,还用于针对各所述骨骼关节,将所述模型顶点的顶点位置、所述模型顶点对应所述骨骼关节的蒙皮参数、以及所述骨骼关节对应的骨骼变换参数进行相乘,得到所述模型顶点对应所述骨骼关节的中间顶点位置;将至少一个所述骨骼关节对应的中间顶点位置进行相加,得到所述模型顶点对应各所述骨骼关节的目标顶点位置。
上述方案中,所述获取模块,还用于在虚拟对象的蒙皮处理界面中,呈现模型选择功能项、骨骼选择功能项、以及蒙皮处理功能项;接收到基于所述模型选择功能项所选择的目标三维模型,响应于针对所述目标三维模型的确认操作,确定所述目标三维模型为所述三维模型;接收到基于所述骨骼选择功能项所选择的目标对象骨骼,响应于针对所述目标对象骨骼的确认操作,确定所述目标对象骨骼为所述对象骨骼;响应于针对所述蒙皮处理功能项的触发操作,获取所述虚拟对象的所述三维模型以及所述对象骨骼。
本申请实施例还提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的虚拟对象的蒙皮处理方法。
本申请实施例还提供一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时,实现本申请实施例提供的虚拟对象的蒙皮处理方法。
本申请实施例还提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时,实现本申请实施例提供的虚拟对象的蒙皮处理方法。
本申请实施例具有以下有益效果:
获取虚拟对象的三维模型以及对象骨骼,并确定三维模型包括的至少一个模型顶点的顶点位置、以及对象骨骼包括的至少一个骨骼关节的关节位置,从而针对各模型顶点,基于顶点位置和至少一个关节位置,确定模型顶点对应各骨骼关节的蒙皮参数;由于模型顶点的顶点位置由至少一个骨骼关节的关节位置所决定,而该蒙皮参数用于指示各骨骼关节对模型顶点的影响权重,则可以基于至少一个模型顶点对应的蒙皮参数,对虚拟对象的对象骨骼进行蒙皮处理,以基于蒙皮结果渲染得到虚拟对象。如此,针对各形态骨骼结构的虚拟对象,均能够实现虚拟对象的蒙皮处理,提高虚拟对象的蒙皮处理效果。
附图说明
图1是本申请实施例提供的虚拟对象的蒙皮处理***100的架构示意图;
图2是本申请实施例提供的实施虚拟对象的蒙皮处理方法的电子设备500的结构示意图;
图3是本申请实施例提供的虚拟对象的蒙皮处理方法的流程示意图;
图4是本申请实施例提供的三维模型和对象骨骼的示意图;
图5是本申请实施例提供的蒙皮处理界面的显示示意图;
图6是本申请实施例提供的机器学习模型的结构示意图;
图7是本申请实施例提供的模型顶点的顶点特征的提取流程示意图;
图8是本申请实施例提供的骨骼关节的关节特征的提取流程示意图;
图9是本申请实施例提供的模型顶点对应骨骼关节的蒙皮参数的确定流程示意图;
图10是本申请实施例提供的多层感知机的结构示意图;
图11是本申请实施例提供的模型顶点关联的目标模型顶点的示意图;
图12是本申请实施例提供的基于最大池化层选择最大值的示意图;
图13是本申请实施例提供的对象骨骼的示意图;
图14是本申请实施例提供的子位置特征更新层的结构示意图;
图15是本申请实施例提供的虚拟对象的蒙皮效果的示意图一;
图16是本申请实施例提供的虚拟对象的蒙皮效果的示意图二。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
1)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
本申请实施例提供一种虚拟对象的蒙皮处理方法、装置、设备、存储介质及计算机程序产品,能够提高虚拟对象的蒙皮处理效果。
下面说明本申请实施例提供的虚拟对象的蒙皮处理方法的实施场景。参见图1,图1是本申请实施例提供的虚拟对象的蒙皮处理***100的架构示意图,为实现支撑一个示例性应用,终端400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或有线链路实现数据传输。
终端400,用于响应于针对虚拟对象的蒙皮处理指令,发送针对虚拟对象的蒙皮处理请求至服务器200;
服务器200,用于接收到针对虚拟对象的蒙皮处理请求,获取虚拟对象的三维模型以及对象骨骼;确定三维模型包括的至少一个模型顶点的顶点位置、以及对象骨骼包括的至少一个骨骼关节的关节位置;针对各模型顶点,基于顶点位置和至少一个关节位置,确定模型顶点对应各骨骼关节的蒙皮参数;基于至少一个模型顶点对应的蒙皮参数,对虚拟对象的对象骨骼进行蒙皮处理,得到蒙皮结果,将蒙皮结果返回至终端400;其中,该模型顶点的顶点位置由至少一个骨骼关节的关节位置所决定,该蒙皮参数,用于指示各骨骼关节对模型顶点的影响权重;
终端400,用于接收到服务器200返回的蒙皮结果,基于蒙皮结果渲染得到虚拟对象并显示。
在一些实施例中,本申请实施例提供的虚拟对象的蒙皮处理方法可以由各种电子设备实施,例如,可以由终端单独实施,也可以由服务器单独实施,也可以由终端和服务器协同实施。例如终端独自执行本申请实施例提供的虚拟对象的蒙皮处理方法,或者,终端向服务器发送针对虚拟对象的蒙皮处理请求,服务器根据接收的蒙皮处理请求执行本申请实施例提供的虚拟对象的蒙皮处理方法。本申请实施例可应用于各种场景,包括但不限于云技术、人工智能、智慧交通、辅助驾驶等。
在一些实施例中,本申请实施例提供的实施虚拟对象的蒙皮处理的电子设备可以是各种类型的终端设备或服务器,其中,服务器(例如服务器200)可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,Content Delivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端(例如终端400)可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备(例如智能音箱)、智能家电(例如智能电视)、智能手表、车载终端等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例对此不做限制。
在一些实施例中,终端或服务器可以通过运行计算机程序来实现本申请实施例提供的虚拟对象的蒙皮处理方法,举例来说,计算机程序可以是操作***中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作***中安装才能运行的程序;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
在一些实施例中,多个服务器可组成为一区块链,而服务器为区块链上的节点,区块链中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。其中,本申请实施例提供的虚拟对象的蒙皮处理方法所相关的数据(例如虚拟对象的三维模型、对象骨骼、蒙皮参数等)可保存于区块链上。
下面说明本申请实施例提供的实施虚拟对象的蒙皮处理方法的电子设备。参见图2,图2是本申请实施例提供的实施虚拟对象的蒙皮处理方法的电子设备500的结构示意图。以电子设备500为图1所示的终端为例,本申请实施例提供的实施虚拟对象的蒙皮处理方法的电子设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。电子设备500中的各个组件通过总线***540耦合在一起。可理解,总线***540用于实现这些组件之间的连接通信。总线***540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线***540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
存储器550可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。
在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作***551,包括用于处理各种基本***服务和执行硬件相关任务的***程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
在一些实施例中,本申请实施例提供的虚拟对象的蒙皮处理装置可以采用软件方式实现,图2示出了存储在存储器550中的虚拟对象的蒙皮处理装置553,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块5531、第一确定模块5532、第二确定模块5533和蒙皮处理模块5534,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的虚拟对象的蒙皮处理装置可以采用软硬件结合的方式实现,作为示例,本申请实施例提供的虚拟对象的蒙皮处理装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的虚拟对象的蒙皮处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
下面说明本申请实施例提供的虚拟对象的蒙皮处理方法。在一些实施例中,本申请实施例提供的虚拟对象的蒙皮处理方法可以由各种电子设备实施,例如,可以由终端单独实施,也可以由服务器单独实施,也可以由终端和服务器协同实施。以终端实施为例,参见图3,图3是本申请实施例提供的虚拟对象的蒙皮处理方法的流程示意图,本申请实施例提供的虚拟对象的蒙皮处理方法包括:
步骤101:终端获取虚拟对象的三维模型以及对象骨骼。
这里,终端可以设置有用于对虚拟对象进行蒙皮处理的应用程序,终端通过运行相应的应用程序实现对虚拟对象的蒙皮处理。在实际应用中,终端在进行蒙皮处理时,首先获取待处理的虚拟对象的三维模型以及对象骨骼,比如,可以在存储位置(比如数据库、本地存储区域等)预先设置并存储多个三维模型和多个对象骨骼,在需要时可以从存储位置获取并使用。其中,该三维模型包括至少一个模型顶点,每个模型顶点具有相应的顶点位置,该顶点位置可通过三维位置坐标描述;该对象骨骼包括至少一个骨骼关节,每个骨骼关节具有相应的关节位置,该关节位置也可通过三维位置坐标描述。
作为示例,参见图4,图4是本申请实施例提供的三维模型和对象骨骼的示意图。这里,如图4中(1)所示,该三维模型包括多个模型顶点,每个模型顶点具有相应的顶点位置;如图4中(2)所示,该对象骨骼包括多个骨骼关节,每个骨骼关节具有相应的关节位置。
在一些实施例中,终端可通过如下方式获取虚拟对象的三维模型以及对象骨骼:在虚拟对象的蒙皮处理界面中,呈现模型选择功能项、骨骼选择功能项、以及蒙皮处理功能项;接收到基于模型选择功能项所选择的目标三维模型,响应于针对目标三维模型的确认操作,确定目标三维模型为三维模型;接收到基于骨骼选择功能项所选择的目标对象骨骼,响应于针对目标对象骨骼的确认操作,确定目标对象骨骼为对象骨骼;响应于针对蒙皮处理功能项的触发操作,获取虚拟对象的三维模型以及对象骨骼。
这里,上述虚拟对象的三维模型和对象骨骼可以是用户根据需要选取的。在实际应用中,终端提供用于实现虚拟对象的蒙皮处理的蒙皮处理界面,该蒙皮处理界面中可显示用于选择虚拟对象的三维模型的模型选择功能项、以及用于选择虚拟对象的对象骨骼的骨骼选择功能项。用户可基于该模型选择功能项选择需要的虚拟对象的三维模型,以及基于该骨骼选择功能项选择需要的虚拟对象的对象骨骼。
首先,选择三维模型:当接收到针对模型选择功能项的触发操作时,呈现供选择的多个候选三维模型,响应于针对多个候选三维模型中目标三维模型的选择操作,则接收到基于模型选择功能项所选择的目标三维模型,此时,当接收到针对目标三维模型的确认操作时,则确定选择的目标三维模型为虚拟对象的三维模型。然后,选择对象骨骼:当接收到针对骨骼选择功能项的触发操作时,呈现供选择的多个候选对象骨骼,响应于针对多个候选对象骨骼中目标对象骨骼的选择操作,则接收到基于模型选择功能项所选择的目标对象骨骼。此时,当接收到针对目标对象骨骼的确认操作时,则确定选择的目标对象骨骼为虚拟对象的对象骨骼。
同时,还可以在虚拟对象的蒙皮处理界面中,呈现用于触发针对虚拟对象的蒙皮指令的蒙皮处理功能项。当接收到针对蒙皮处理功能项的触发操作时,则表征用户触发了针对虚拟对象的蒙皮指令,此时,响应于针对蒙皮处理功能项的触发操作,获取虚拟对象的三维模型以及对象骨骼,以对三维模型和对象骨骼进行后续的蒙皮处理。
作为示例,参见图5,图5是本申请实施例提供的蒙皮处理界面的显示示意图。这里,在虚拟对象的蒙皮处理界面中,显示用于选择虚拟对象的三维模型的模型选择功能项、以及用于选择虚拟对象的对象骨骼的骨骼选择功能项,并显示对应模型选择功能项的确认功能项“选定”、以及对应骨骼选择功能项的确认功能项“选定”,同时还显示用于触发针对虚拟对象的蒙皮指令的蒙皮处理功能项“开始蒙皮”。
应用上述实施例,通过为用户提供用于实现虚拟对象的蒙皮处理的人机交互界面,方便用户选择需要的三维模型和对象骨骼以实现虚拟对象的蒙皮处理,提高蒙皮处理效率。
步骤102:确定三维模型包括的至少一个模型顶点的顶点位置、以及对象骨骼包括的至少一个骨骼关节的关节位置。
这里,当终端获取到虚拟对象的三维模型以及对象骨骼后,确定三维模型包括的至少一个模型顶点的顶点位置,即获取三维模型包括的各模型顶点的三维坐标信息;同时,还确定对象骨骼包括的至少一个骨骼关节的关节位置,即获取对象骨骼包括的各骨骼关节的三维坐标信息。
步骤103:针对各模型顶点,基于顶点位置和至少一个关节位置,确定模型顶点对应各骨骼关节的蒙皮参数。
其中,模型顶点的顶点位置由至少一个骨骼关节的关节位置所决定,蒙皮参数,用于指示各骨骼关节对模型顶点的影响权重。
这里,终端在确定三维模型包括的至少一个模型顶点的顶点位置、以及对象骨骼包括的至少一个骨骼关节的关节位置后,针对各模型顶点分别执行如下处理:基于该模型顶点的顶点位置以及各骨骼关节的关节位置,确定该模型顶点对应各骨骼关节的蒙皮参数。在实际应用中,该模型顶点的顶点位置由至少一个骨骼关节的关节位置所决定,也就是说,该模型顶点受至少一个骨骼关节的影响,而蒙皮参数即用于指示各骨骼关节对模型顶点的影响权重,其中,同一模型顶点对应的影响权重的加和为1。
在实际应用中,对虚拟对象进行蒙皮处理的过程可以理解为:建立三维模型和对象骨骼之间的绑定关系,即建立每个模型顶点和相应骨骼关节之间的绑定关系,以基于建立的绑定关系对虚拟对象的对象骨骼进行蒙皮处理。而上述能够决定该模型顶点的顶点位置的至少一个骨骼关节即为与该模型顶点存在绑定关系的骨骼关节,上述每个骨骼关节对该模型顶点的影响权重即为每个骨骼关节对应该模型顶点的绑定权重,以基于该绑定权重构建该绑定关系。
作为示例,三维模型包括的模型顶点1的顶点位置由骨骼关节1、骨骼关节2和骨骼关节3的关节位置所决定,即模型顶点1受骨骼关节1、骨骼关节2和骨骼关节3所影响,且骨骼关节1-3对模型顶点1的影响权重分别为0.5、0.2和0.3。也就是说,模型顶点1与骨骼关节1、骨骼关节2以及骨骼关节3存在绑定关系,绑定权重分别为0.5、0.2和0.3,可以通过如下绑定关系表达:模型顶点1的目标顶点位置=0.5*模型顶点1的顶点位置*骨骼关节1的骨骼变换矩阵+0.2*模型顶点1的顶点位置*骨骼关节2的骨骼变换矩阵+0.3*模型顶点1的顶点位置*骨骼关节3的骨骼变换矩阵。其中,模型顶点1对应各骨骼关节的影响权重的加和为1。
接下来针对三维模型包括的各模型顶点,对如何确定模型顶点对应各骨骼关节的蒙皮参数进行详细说明。在一些实施例中,终端可通过如下方式基于顶点位置和至少一个关节位置,确定模型顶点对应各骨骼关节的蒙皮参数:针对各骨骼关节的关节位置,分别执行如下处理:对顶点位置进行特征提取,得到模型顶点的顶点特征,并对关节位置进行特征提取,得到骨骼关节的关节特征;获取顶点位置和关节位置之间的距离所对应的距离特征;基于顶点特征、关节特征和距离特征,确定模型顶点对应骨骼关节的蒙皮参数。
这里,针对各模型顶点,终端可通过如下方式确定模型顶点对应各骨骼关节的蒙皮参数:针对各骨骼关节的关节位置,分别执行如下处理:首先,对模型顶点的顶点位置进行特征提取,得到模型顶点的顶点特征,并对骨骼关节的关节位置进行特征提取,得到骨骼关节的关节特征,在实际实施时,可通过特征提取算法(比如尺度不变特征变换算法等)、用于特征提取的机器学习模型等方式实现。然后,获取顶点位置和关节位置之间的距离所对应的距离特征,在实际实施时,可确定顶点位置和关节位置之间的欧式距离,然后提取欧式距离的距离特征。最后,基于得到的顶点特征、关节特征和距离特征,确定模型顶点对应骨骼关节的蒙皮参数。
应用上述实施例,仅根据模型顶点的顶点位置和骨骼关节的关节位置,即可实现模型顶点对应骨骼关节的蒙皮参数的计算,提高蒙皮参数的计算效率,减少设备计算资源的占用,提高处理资源利用率,从而提高蒙皮处理效率。
在实际应用中,上述确定模型顶点对应各骨骼关节的蒙皮参数的各个步骤可通过机器学习模型实现,比如通过机器学习模型进行顶点位置的特征提取、通过机器学习模型实现距离特征的提取等,基于此,可以预先训练得到该机器学习模型,然后基于该训练得到的机器学习模型实现上述各个步骤。
在一些实施例中,终端可通过如下方式训练得到机器学习模型,以通过训练得到的机器学习模型确定模型顶点对应各骨骼关节的蒙皮参数:获取用于训练机器学习模型的训练样本;其中,训练样本标注有相应的样本标签,训练样本包括顶点位置样本和关节位置样本,样本标签为训练样本对应的实际蒙皮参数;通过机器学习模型,基于顶点位置样本和关节位置样本进行蒙皮参数的预测,得到预测结果;获取预测结果和样本标签之间的差异,并基于差异确定机器学习模型的损失函数的值;基于损失函数的值,更新机器学习模型的模型参数,以得到训练完成的机器学习模型。
这里,可以预先构建机器学习模型,在实际实施时,可以基于卷积神经网络、深度神经网络、循环神经网络等网络构建。在构建完成机器学习模型后,该构建的机器学习模型包括初始的模型参数,为使机器学习模型的预测精度更加准确,对机器学习模型进行训练。
首先,获取用于训练机器学习模型的训练样本,该训练样本包括顶点位置样本和关节位置样本,训练样本标注有相应的样本标签,该样本标签为训练样本对应的实际蒙皮参数,用于基于实际蒙皮参数和机器学习模型输出的预测结果的差异,更新机器学习模型的模型参数,以对机器学习模型进行训练。
然后,将训练样本(即顶点位置样本和关节位置样本)输入机器学习模型中,通过机器学习模型基于顶点位置样本和关节位置样本进行蒙皮参数的预测,得到相应的预测结果。
最后,基于预测结果和训练样本的样本标签更新机器学习模型的模型参数。获取预测结果和样本标签之间的差异,并基于差异确定机器学习模型的损失函数的值,当损失函数的值超出损失阈值时,基于损失函数确定机器学习模型的误差信号,从而将误差信号在机器学习模型中反向传播,并在传播的过程中更新机器学习模型中各个层的模型参数,以得到训练完成的机器学习模型。
在本申请实施例中,该机器学习模型包括位置特征提取层、位置特征更新层、距离特征提取层、局部特征提取层、全局特征提取层、特征处理层、全连接层及特征预测层。
在机器学习模型训练完成后,基于训练完成的机器学习模型进行处理。在一些实施例中,终端可通过如下方式对顶点位置进行特征提取,得到模型顶点的顶点特征:通过机器学习模型的位置特征提取层,对顶点位置进行特征提取,得到模型顶点的第一位置特征;通过机器学习模型的位置特征更新层,基于模型顶点关联的至少一个目标模型顶点的顶点位置,对第一位置特征进行更新,得到模型顶点的第二位置特征;通过机器学习模型的局部特征提取层,基于第一位置特征和第二位置特征,确定模型顶点的局部顶点特征;通过机器学习模型的全局特征提取层,基于第二位置特征,确定模型顶点的全局顶点特征;通过机器学习模型的特征处理层,执行局部顶点特征与全局顶点特征之间的减操作,得到模型顶点的顶点特征。
这里,首先,终端通过机器学习模型的位置特征提取层,对顶点位置进行特征提取,得到模型顶点的第一位置特征;然后,通过机器学习模型的位置特征更新层对第一位置特征进行更新,具体是将模型顶点关联的至少一个目标模型顶点的顶点位置输入位置特征更新层,通过位置特征更新层对第一位置特征进行更新,得到模型顶点的第二位置特征;再将第一位置特征和第二位置特征输入机器学习模型的局部特征提取层中,通过局部特征提取层得到模型顶点的局部顶点特征;同时,还将第二位置特征输入机器学习模型的全局特征提取层,通过全局特征提取层基于第二位置特征,确定模型顶点的全局顶点特征;最后,将得到的局部顶点特征和全局顶点特征输入机器学习模型的特征处理层,通过特征处理层,执行局部顶点特征与全局顶点特征之间的减操作,得到模型顶点的顶点特征。
应用上述实施例,通过机器学习模型实现模型顶点的顶点特征的提取,提高了顶点特征提取的准确率和效率,以保证蒙皮参数的计算准确性和计算速度。
在一些实施例中,位置特征更新层包括至少两个级联的子位置特征更新层;终端可通过如下方式对第一位置特征进行更新,得到模型顶点的第二位置特征:通过第一级的子位置特征更新层,基于模型顶点关联的至少一个目标模型顶点的顶点位置,对第一位置特征进行更新,得到相应的中间位置特征;通过非第一级的子位置特征更新层,基于模型顶点关联的至少一个目标模型顶点的顶点位置,对中间位置特征进行更新,得到第二位置特征。
这里,上述位置特征更新层包括至少两个级联的子位置特征更新层,基于此,终端可通过如下方式对第一位置特征进行更新,得到模型顶点的第二位置特征:通过第一级的子位置特征更新层,基于模型顶点关联的至少一个目标模型顶点的顶点位置,对第一位置特征进行更新,得到相应的中间位置特征;通过非第一级的子位置特征更新层,基于模型顶点关联的至少一个目标模型顶点的顶点位置,对中间位置特征进行更新,得到第二位置特征。具体地,通过非第一级中第i级(其中,i为大于1的整数)的子位置特征更新层,基于模型顶点关联的至少一个目标模型顶点的顶点位置,对第i-1级的子位置特征更新层输出的中间位置特征进行更新,并将更新结果输入第i+1级的子位置特征更新层,直至最后一级的子位置特征更新层。将最后一级的子位置特征更新层输出的结果作为第二位置特征。
在实际实施时,通过第一级的子位置特征更新层,可以提取模型顶点关联的至少一个目标模型顶点的顶点位置的目标位置特征,然后通过聚合各目标位置特征来对第一位置特征进行更新,得到相应的中间位置特征。
应用上述实施例,通过设置级联结构的位置特征更新层,提升了机器学习模型的模型深度,从而提高机器学习模型的计算精度,保证蒙皮参数的准确性,以提高蒙皮处理效果。
在一些实施例中,终端可通过如下方式确定模型顶点关联的至少一个目标模型顶点:通过机器学习模型的位置特征更新层,确定模型顶点与三维模型中除模型顶点之外的至少两个其他模型顶点之间的顶点距离;按照各顶点距离,对至少两个其他模型顶点进行升序排序,得到相应的排序结果;基于排序结果,选取排序靠前的目标数量的其他模型顶点作为模型顶点关联的至少一个目标模型顶点。在实际应用中,该目标数量可以是预设的,比如6个,在按照各顶点距离对至少两个其他模型顶点进行升序排序后,得到按照顶点距离从小到大依次排列的多个其他模型顶点,从而可以将排列的前6个其他模型顶点作为目标模型顶点。
这里,上述模型顶点关联的至少一个目标模型顶点可通过如下方式确定:通过机器学习模型的位置特征更新层,确定三维模型中除该模型顶点之外的至少两个其他模型顶点,然后计算该模型顶点与各其他模型顶点之间的顶点距离,从而按照各顶点距离,对该至少两个其他模型顶点进行升序排序,得到排序结果,以基于排序结果,从该至少两个其他模型顶点中,选择排序靠前的目标数量的其他模型顶点作为模型顶点关联的至少一个目标模型顶点。在实际实施时,该过程可通过K-近邻算法来实现。
在一些实施例中,终端可通过如下方式对第一位置特征进行更新,得到模型顶点的第二位置特征:通过机器学***均处理,得到平均位置特征;将第一位置特征更新为平均位置特征,以得到模型顶点的第二位置特征。
应用上述实施例,根据距离模型顶点相近的多个目标模型顶点的目标位置特征,对该模型顶点的位置特征进行更新,使得所提取的模型顶点的位置特征更精确,以提高蒙皮参数的计算精确度。
在一些实施例中,位置特征更新层包括至少两个级联的子位置特征更新层,每个子位置特征更新层输出相应的中间位置特征;终端可通过如下方式基于第一位置特征和第二位置特征,确定模型顶点的局部顶点特征:将第一位置特征和各中间位置特征输入局部特征提取层中;通过局部特征提取层,基于第一位置特征和各中间位置特征,输出模型顶点的局部顶点特征。
这里,上述位置特征更新层包括至少两个级联的子位置特征更新层,且每个子位置特征更新层输出有相应的中间位置特征。此时,终端将第一位置特征和各子位置特征更新层输出的中间位置特征输入至局部特征提取层中,从而通过局部特征提取层输出模型顶点的局部顶点特征。
在一些实施例中,位置特征更新层包括至少两个级联的子位置特征更新层,每个子位置特征更新层输出相应的中间位置特征;终端可通过如下方式基于第二位置特征,确定模型顶点的全局顶点特征:将各中间位置特征输入全局特征提取层中;通过全局特征提取层,基于各中间位置特征,输出模型顶点的全局顶点特征。
这里,上述位置特征更新层包括至少两个级联的子位置特征更新层,且每个子位置特征更新层输出有相应的中间位置特征。此时,终端将各子位置特征更新层输出的中间位置特征输入至全局特征提取层中,从而通过全局特征提取层输出模型顶点的全局顶点特征。
需要说明的是,骨骼关节的关节特征的提取流程和上述顶点特征的提取流程可以是相同的,即上述机器学习模型的位置特征提取层、位置特征更新层、全局特征提取层、局部特征提取层、以及特征处理层的处理流程也可适用于关节特征的提取。
应用上述实施例,通过设置级联结构的位置特征更新层,提升了机器学习模型的模型深度,从而提高机器学习模型的计算精度,保证蒙皮参数的准确性,以提高蒙皮处理效果。
在一些实施例中,机器学习模型还包括距离特征提取层,终端可通过如下方式获取顶点位置和关节位置之间的距离所对应的距离特征:通过机器学习模型的距离特征提取层,确定顶点位置和关节位置之间的距离;对距离进行特征提取,得到距离特征。
这里,终端通过机器学习模型的距离特征提取层计算顶点位置和关节位置之间的距离,具体是计算顶点位置和关节位置之间的欧式距离,然后对得到的距离进行特征提取,得到距离特征。
应用上述实施例,在确定模型顶点对应骨骼关节的蒙皮参数时,除了获取模型顶点的位置特征和骨骼关节的关节特征,还获取了顶点位置和关节位置之间的距离所对应的距离特征,从而基于顶点特征、关节特征和距离特征,确定模型顶点对应骨骼关节的蒙皮参数,使得蒙皮参数的计算更精确,从而提高蒙皮处理效果。
在一些实施例中,机器学习模型还包括全连接层及特征预测层,终端可通过如下方式基于顶点特征、关节特征和距离特征,得到模型顶点对应骨骼关节的蒙皮参数:通过机器学习模型的全连接层,对顶点特征、关节特征和距离特征进行拼接,得到相应的拼接特征;通过机器学习模型的特征预测层,基于拼接特征进行蒙皮参数的预测,得到模型顶点对应骨骼关节的蒙皮参数。
这里,机器学习模型还包括全连接层及特征预测层。终端可以将顶点特征、关节特征和距离特征输入至全连接层,从而基于全连接层对顶点特征、关节特征和距离特征进行拼接,得到相应的拼接特征。然后通过特征预测层,对拼接特征进行蒙皮参数的预测,得到模型顶点对应骨骼关节的蒙皮参数。在实际实施时,该特征预测层包括激活函数,比如softmax函数,可通过该激活函数基于拼接特征预测得到蒙皮参数。
作为示例,参见图6,图6是本申请实施例提供的机器学习模型的结构示意图。这里,该机器学习模型包括位置特征提取层610、位置特征更新层620(包括3个子位置特征更新层)、全局特征提取层630、局部特征提取层640、特征处理层650、距离特征提取层660(包括3个子距离特征提取层)、全连接层670及特征预测层680。这里,位置特征提取层(Position-mlp)、局部特征提取层(Local-mlp)以及全局特征提取层(Global-mlp)基于MLP网络构建,每个MLP网络的结构如表(1)所示:
表(1)
Figure 770823DEST_PATH_IMAGE001
其中,位置特征提取层的输入为(N,3)和(M,3),这里,N表示输入的三维模型的模型顶点的数量,M表示输入的对象骨骼的骨骼关节的数量,(N,3)和(M,3)分别表示模型顶点的xyz位置信息和骨骼关节的xyz位置信息。
其中,位置特征更新层由多个子位置特征更新层(即边卷积网络EdgeConv)构成。每个EdgeConv用于提取三维模型和对象骨骼的邻域信息。具体地,以模型顶点的处理为例,EdgeConv可根据每个模型顶点的位置特征,求得三维模型中两两顶点之间的欧式距离,确定每个模型顶点的k个最近的邻居模型顶点(即上述通过K近邻算法确定的与模型顶点关联的至少一个目标模型顶点),简称k近邻;然后再聚合该k个邻居模型顶点的位置特征来更新该模型顶点自身的位置特征,得到更新后的位置特征。此处,3个EdgeConv堆叠提升了网络的深度,有助于提升神经网络的拟合能力。
其中,局部特征提取层(Local-mlp)用于基于位置特征提取层(Position-mlp)的输出、各子位置特征更新层(EdgeConv)的输出进行处理,得到局部特征。以模型顶点的处理为例,局部特征提取层(Local-mlp)得到局部顶点特征。其中,全局特征提取层(Global-mlp)基于各子位置特征更新层(EdgeConv)的输出进行处理,得到全局特征。以模型顶点的处理为例,全局特征提取层(Global-mlp)得到全局顶点特征。
其中,特征处理层(即Global-mlp和Local-mlp的中间的减操作处理),以模型顶点的处理为例,用于将局部特征提取层(Local-mlp)输出的局部顶点特征,减去全局特征提取层(Global-mlp)输出的全局顶点特征,得到顶点特征(N,C),C为顶点特征的特征维度;以骨骼关节的处理为例,用于将局部特征提取层(Local-mlp)输出的局部关节特征,减去全局特征提取层(Global-mlp)输出的全局关节特征,得到关节特征(M,C),C为关节特征的特征维度。
其中,距离特征提取层,包括3个子距离特征提取层(Dist网络),每个子距离特征提取层与相应的子位置特征更新层(EdgeConv)相连,基于相应的子位置特征更新层(EdgeConv)输出的更新的顶点位置特征和关节位置特征,输出距离特征。
其中,全连接层(concate层)用于将特征处理层输出的顶点特征、特征处理层输出的关节特征、以及各子距离特征提取层(Dist网络)输出的距离特征进行拼接,得到拼接特征(N,M,C_total),其中,C_total为拼接特征的特征维度。
其中,特征预测层(Predict-MLP)用于基于拼接特征进行蒙皮参数(即影响权重)的预测。具体地,特征预测层(Predict-MLP)基于输入的拼接特征(N,M,C_total),经过多层MLP后输出(N,M,1)并squeeze掉最后1维成为(N,M),再经过softmax函数的操作,输出预测结果,即每个模型顶点对应每个骨骼的影响权重。
需要说明的是,上述Position-mlp、EdgeConv、Global-mlp、Local-mlp这些网络供三维模型(mesh-graph)的模型顶点和对象骨骼(skeleton-graph)的骨骼关节共用,每个网络均会有两组输出,一组代表模型顶点的输出,另一组代表骨骼关节的输出。
参见图7,图7是本申请实施例提供的模型顶点的顶点特征的提取流程示意图,包括:步骤201:通过机器学习模型的位置特征提取层,对顶点位置进行特征提取,得到模型顶点的第一位置特征。步骤202:通过机器学习模型的位置特征更新层,确定模型顶点与三维模型中除模型顶点之外的至少两个其他模型顶点之间的顶点距离。步骤203:按照各顶点距离,对至少两个其他模型顶点进行升序排序,得到相应的排序结果,并基于排序结果,选取排序靠前的目标数量的其他模型顶点作为模型顶点关联的至少一个目标模型顶点。步骤204:通过机器学习模型的位置特征更新层,基于模型顶点关联的至少一个目标模型顶点的顶点位置,对第一位置特征进行更新,得到模型顶点的第二位置特征。步骤205:通过机器学习模型的局部特征提取层,基于第一位置特征和第二位置特征,确定模型顶点的局部顶点特征。步骤206:通过机器学习模型的全局特征提取层,基于第二位置特征,确定模型顶点的全局顶点特征。步骤207:通过机器学习模型的特征处理层,执行局部顶点特征与全局顶点特征之间的减操作,得到模型顶点的顶点特征。
参见图8,图8是本申请实施例提供的骨骼关节的关节特征的提取流程示意图,包括:步骤301:通过机器学习模型的位置特征提取层,对关节位置进行特征提取,得到骨骼关节的第三位置特征。步骤302:通过机器学习模型的位置特征更新层,确定骨骼关节与对象骨骼中除骨骼关节之外的至少两个其他骨骼关节之间的关节距离。步骤303:按照各关节距离,对至少两个其他骨骼关节进行升序排序,得到相应的排序结果,并基于排序结果,选取排序靠前的目标数量的其他骨骼关节作为骨骼关节关联的至少一个目标骨骼关节。步骤304:通过机器学习模型的位置特征更新层,基于骨骼关节关联的至少一个目标骨骼关节的关节位置,对第三位置特征进行更新,得到骨骼关节的第四位置特征。步骤305:通过机器学习模型的局部特征提取层,基于第三位置特征和第四位置特征,确定骨骼关节的局部关节特征。步骤306:通过机器学习模型的全局特征提取层,基于第四位置特征,确定骨骼关节的全局关节特征。步骤307:通过机器学习模型的特征处理层,执行局部关节特征与全局关节特征之间的减操作,得到骨骼关节的关节特征。
参见图9,图9是本申请实施例提供的模型顶点对应骨骼关节的蒙皮参数的确定流程示意图,包括:步骤401:获取执行步骤201-步骤207所得到的顶点特征,以及获取执行步骤301-步骤307所得到的关节特征。步骤402:通过机器学习模型的距离特征提取层,确定顶点位置和关节位置之间的距离,并对距离进行特征提取,得到距离特征。步骤403:通过机器学习模型的全连接层,对顶点特征、关节特征和距离特征进行拼接,得到相应的拼接特征。步骤404:通过机器学习模型的特征预测层,基于拼接特征进行蒙皮参数的预测,得到模型顶点对应骨骼关节的蒙皮参数。
应用上述实施例,基于机器学习模型的存在,根据模型顶点的顶点位置和骨骼关节的关节位置即可实现蒙皮参数的计算,使得针对各形态骨骼结构的虚拟对象,均能够实现虚拟对象的蒙皮处理,提高蒙皮处理效果。
在另外一些实施例中,终端可通过如下方式确定模型顶点对应各骨骼关节的蒙皮参数:针对各模型顶点,分别执行如下处理:从至少一个骨骼关节中,获取与模型顶点关联的至少一个目标骨骼关节;基于顶点位置和至少一个目标骨骼关节的关节位置,确定模型顶点对应各目标骨骼关节的蒙皮参数。
这里,终端针对各模型顶点分别执行如下处理:从至少一个骨骼关节中,获取与模型顶点关联的至少一个目标骨骼关节,该目标骨骼关节可以是与模型顶点的距离低于距离阈值的骨骼关节、可以是与模型顶点绑定的骨骼关节等等。然后计算顶点位置和该至少一个目标骨骼关节的关节位置,确定模型顶点对应各目标骨骼关节的蒙皮参数。应用上述实施例,仅从对象骨骼包括的骨骼关节中选取部分目标骨骼关节,以确定模型顶点对应各目标骨骼关节的蒙皮参数,减少了计算量,提高计算效率。
步骤104:基于至少一个模型顶点对应的蒙皮参数,对虚拟对象的对象骨骼进行蒙皮处理,以基于蒙皮结果渲染得到虚拟对象。
这里,终端在确定各模型顶点对应的蒙皮参数后,基于该至少一个模型顶点对应的蒙皮参数,对虚拟对象的对象骨骼进行蒙皮处理,从而基于蒙皮处理得到的蒙皮结果渲染得到虚拟对象。
在一些实施例中,终端可通过如下方式基于至少一个模型顶点对应的蒙皮参数,对虚拟对象的对象骨骼进行蒙皮处理:获取各骨骼关节对应的骨骼变换参数;针对各模型顶点,基于模型顶点的顶点位置、模型顶点对应各骨骼关节的蒙皮参数、以及各骨骼关节对应的骨骼变换参数,确定模型顶点对应各骨骼关节的目标顶点位置;基于至少一个模型顶点对应的目标顶点位置,对虚拟对象的对象骨骼进行蒙皮处理。
这里,终端在确定各模型顶点对应的蒙皮参数后,获取各骨骼关节对应的骨骼变换参数。该骨骼变换参数为骨骼关节对应的骨骼变换矩阵。然后针对各模型顶点,基于该模型顶点的顶点位置、模型顶点对应各骨骼关节的蒙皮参数、以及各骨骼关节对应的骨骼变换参数,确定模型顶点对应各骨骼关节的目标顶点位置,从而能够基于至少一个模型顶点对应的目标顶点位置,对虚拟对象的对象骨骼进行蒙皮处理。
应用上述实施例,基于得到的蒙皮参数,实现对虚拟对象的对象骨骼的蒙皮处理,所得到的蒙皮结果能够使渲染得到的虚拟对象的显示效果更好,提高用户在虚拟场景中的沉浸感和体验感。
在一些实施例中,终端可通过如下方式基于模型顶点的顶点位置、模型顶点对应各骨骼关节的蒙皮参数、以及各骨骼关节对应的骨骼变换参数,确定模型顶点对应各骨骼关节的目标顶点位置:针对各骨骼关节,将模型顶点的顶点位置、模型顶点对应骨骼关节的蒙皮参数、以及骨骼关节对应的骨骼变换参数进行相乘,得到模型顶点对应骨骼关节的中间顶点位置;将至少一个骨骼关节对应的中间顶点位置进行相加,得到模型顶点对应各骨骼关节的目标顶点位置。
作为示例,三维模型包括的模型顶点1的顶点位置由骨骼关节1、骨骼关节2和骨骼关节3的关节位置所决定,即模型顶点1受骨骼关节1、骨骼关节2和骨骼关节3所影响,且骨骼关节1-3对模型顶点1的影响权重(即蒙皮参数)分别为0.5、0.2和0.3。模型顶点1的目标顶点位置=0.5*模型顶点1的顶点位置*骨骼关节1的骨骼变换矩阵+0.2*模型顶点1的顶点位置*骨骼关节2的骨骼变换矩阵+0.3*模型顶点1的顶点位置*骨骼关节3的骨骼变换矩阵。
应用本申请上述实施例,获取虚拟对象的三维模型以及对象骨骼,并确定三维模型包括的至少一个模型顶点的顶点位置、以及对象骨骼包括的至少一个骨骼关节的关节位置,从而针对各模型顶点,基于顶点位置和至少一个关节位置,确定模型顶点对应各骨骼关节的蒙皮参数;由于模型顶点的顶点位置由至少一个骨骼关节的关节位置所决定,而该蒙皮参数用于指示各骨骼关节对模型顶点的影响权重,则可以基于至少一个模型顶点对应的蒙皮参数,对虚拟对象的对象骨骼进行蒙皮处理,以基于蒙皮结果渲染得到虚拟对象。如此,针对各形态骨骼结构的虚拟对象,均能够实现虚拟对象的蒙皮处理,提高虚拟对象的蒙皮处理效果。
下面将说明本申请实施例在一个实际的应用场景中的示例性应用。接下来首先对本申请实施例涉及的名词进行解释:
1)3D mesh:3D网格,即上述三维模型,可以是虚拟场景中虚拟对象的3D模型,如图4中(1)所示。
2)蒙皮(Skinning):三维动画术语,用于3D虚拟场景(比如游戏场景)中。在三维软件中创建的三维模型的基础上,为三维模型添加骨骼,由于骨骼与三维模型是相互独立的,为了让骨骼驱动三维模型产生合理的运动,把三维模型绑定到骨骼上的技术叫做蒙皮。作为示例,3D mesh上的模型顶点1受骨骼关节1、骨骼关节2和骨骼关节3的作用影响,每根骨骼关节对模型顶点1的影响权重依次为0.5、0.2和0.3。有了这个数值关系,就可以通过骨骼的运动,更新mesh顶点的位置,使得顶点产生位移,相当于也控制了mesh顶点的运动,这也是骨骼动画的基础。骨骼结构的示意图如图4中(2)所示。
3)自动蒙皮(Automatic Skinning):自动建立mesh模型和对象骨骼之间的数值关系,以基于数值关系进行蒙皮处理。
4)多层感知机(MLP,Multi-Layer Perceptron):参见图10,图10是本申请实施例提供的多层感知机的结构示意图,这里,多层感知机是机器学习模型中的一组基本网络的组成形式,由一个输入层、多个隐藏层和一个输出层构成。
5)K近邻(KNN,K-Nearest Neighbours):用于计算与每个模型顶点之间的欧式距离最近的K个其他模型顶点,参见图11,图11是本申请实施例提供的模型顶点关联的目标模型顶点的示意图。这里,K=6,与模型顶点1关联的目标模型顶点的数量为6个,即模型顶点1的6个近邻的目标模型顶点。
6)Conv2d:即2维卷积层,机器学习模型中常用的一种网络结构。
7)MaxPooling:最大池化层,机器学习模型中用于取某个维度或某些维度或某些区域的最大值的网络结构。如图12所示,图12是本申请实施例提供的基于最大池化层选择最大值的示意图,这里,针对图12中(1)所示的16个方格,针对每4个方格,通过池化处理选取该4个方格中的最大值,得到如图12中(2)所示的池化结果。
8)KL距离(即Kullback-Leibler Divergence):用于衡量两个概率分布的距离,为本申请实施例中机器学习模型的损失函数,公式如下:
Figure 48352DEST_PATH_IMAGE002
其中,
Figure 779547DEST_PATH_IMAGE003
为损失函数的值,
Figure 84496DEST_PATH_IMAGE004
表示实际蒙皮参数(即影响权重),
Figure 901142DEST_PATH_IMAGE005
表示机器学习模型预测得到的预测结果。
相关技术中,通常采用一套超级骨架来缓解不同骨骼的蒙皮处理问题,超级骨架的构建是把用到的骨骼关节全部统一到一副骨架中,再确定mesh上的每个顶点到这副超级骨架中每个关节的影响权重。但是这种方法比较适用于骨骼结构变化不大的蒙皮处理,对于骨骼变化较大的蒙皮处理,比如既有人物又有动物的蒙皮处理则不适用,而蒙皮处理过程中往往涉及各种类型的骨骼结构,相关技术中尚无解决方案。
基于此,本申请实施例提供一种虚拟对象的蒙皮处理方法,以至少解决上述存在的问题。接下来继续说明本申请实施例提供的虚拟对象的蒙皮处理方法。在实际应用中,蒙皮处理会遇到各种各样的对象骨骼,比如人形的、兽形的、怪物形的,即使是人形的骨骼,也会加入各种各样的裙摆结构,或者由于设计特点,导致骨架发生较大变化,参见图13,图13是本申请实施例提供的对象骨骼的示意图。这里,图13中(1)和(2)均为人物的骨骼示意图,由于人物设计(比如姿势、形态等)的差异,图13中(1)和(2)中的骨骼的形状也有较大差异,包括骨骼数目上的差异和形态上的差异。
继续参见图4,如图4中(1)所示,三维模型(3D Mesh)可以看成是由点(模型顶点)及其关系(边)构成的graph,简称mesh-graph;如图4中(2)所示,对象骨骼也可以看成由骨骼关节(点)以及骨骼关节间的父子关系构成的graph,简称skeleton-graph。而,蒙皮处理的过程可以理解为建立两个graph(即三维模型和对象骨骼间)的匹配的过程。
在本申请实施例中,采用基于机器学习模型的监督学习方法,首先通过机器学习模型提取出三维模型的各个模型顶点的顶点特征、以及对象骨骼的各个骨骼关节的关节特征,然后基于顶点特征和骨骼关节特征,通过机器学习模型预测得到模型顶点对应各骨骼关节的蒙皮参数(即影响权重)。在实际实施时,机器学习模型可以基于开源的Python机器学习库构建,其输入通过(*,c_in)表示,其输出通过(*,c_out)表示,其中,*表示模型顶点的数量,c_in表示每个模型顶点的特征维度,比如c_in可以是(x,y,z)这3个维度的位置信息,可以用来学习不同顶点数量的三维模型对应的顶点特征,以及用来学习不不同骨骼形状的对象骨骼对应的关节特征。如此,通过构建的机器学习模型,并用提供的人工蒙皮数据进行训练,能够得到训练完成的机器学习模型,以适配各种各样的三维模型和对象骨架的自动蒙皮处理。
接下来从产品侧对本申请实施例提供的虚拟对象的蒙皮处理方法进行说明。参见图5,在虚拟对象的蒙皮处理界面中,显示用于选择虚拟对象的三维模型的模型选择功能项、以及用于选择虚拟对象的对象骨骼的骨骼选择功能项,并显示对应模型选择功能项的确认功能项“选定”、以及对应骨骼选择功能项的确认功能项“选定”,同时还显示用于触发针对虚拟对象的蒙皮指令的蒙皮处理功能项“开始蒙皮”。在实际实施时,1)选择需要处理的三维模型;2)点击“在场景中选择模型”右边的“选定”按钮,触发针对所选择的三维模型的确认操作;3)选择需要处理的对象骨骼;4)点击“在场景中选择骨骼”右边的“选定”按钮,触发针对所选择的对象骨骼的确认操作;5)点击“开始蒙皮”按钮进行蒙皮处理。在实际实施时,还可以提供用于进行用户的定制化处理(比如固定某些接缝处的权重)的功能界面、以及用于配置服务参数(比如项目名称、网络地址等)的功能界面。
接下来从产品侧对本申请实施例提供的虚拟对象的蒙皮处理方法进行说明。参见图6,该机器学习模型包括位置特征提取层、位置特征更新层、局部特征提取层、全局特征提取层、特征处理层、距离特征提取层、全连接层及特征预测层。这里,位置特征提取层(Position-mlp)、局部特征提取层(Local-mlp)以及全局特征提取层(Global-mlp)基于MLP网络构建,每个MLP网络的结构如表(1)所示:
表(1)
Figure 434891DEST_PATH_IMAGE006
其中,位置特征提取层的输入为(N,3)和(M,3),这里,N表示输入的三维模型的模型顶点的数量,M表示输入的对象骨骼的骨骼关节的数量,(N,3)和(M,3)分别表示模型顶点的xyz位置信息和骨骼关节的xyz位置信息。
其中,位置特征更新层由多个子位置特征更新层(即边卷积网络EdgeConv)构成。每个EdgeConv用于提取三维模型和对象骨骼的邻域信息。具体地,以模型顶点的处理为例,EdgeConv可根据每个模型顶点的位置特征,求得三维模型中两两顶点之间的欧式距离,确定每个模型顶点的k个最近的邻居模型顶点(即上述通过K近邻算法确定的与模型顶点关联的至少一个目标模型顶点),简称k近邻;然后再聚合该k个邻居模型顶点的位置特征来更新该模型顶点自身的位置特征,得到更新后的位置特征。参见图14,图14是本申请实施例提供的子位置特征更新层的结构示意图,以针对模型顶点(为N个)的处理为例,这里,C_in表示EdgeConv输入的特征维度,即模型顶点的位置特征的特征维度;通过K近邻算法(SampleNeighbours)提取与模型顶点关联的、数量为K的邻居模型顶点;然后通过卷积层(即Conv2d{64,64})对模型顶点以及关联的K个邻居模型顶点的位置特征进行卷积处理,得到卷积结果,然后通过最大池化层输出更新得到的位置特征,即C_out,C_out表示EdgeConv输出的特征维度。此处,3个EdgeConv堆叠提升了网络的深度,有助于提升神经网络的拟合能力。
其中,局部特征提取层(Local-mlp)用于基于位置特征提取层(Position-mlp)的输出、各子位置特征更新层(EdgeConv)的输出进行处理,得到局部特征。以模型顶点的处理为例,局部特征提取层(Local-mlp)得到局部顶点特征。其中,全局特征提取层(Global-mlp)基于各子位置特征更新层(EdgeConv)的输出进行处理,得到全局特征。以模型顶点的处理为例,全局特征提取层(Global-mlp)得到全局顶点特征。
其中,特征处理层(即Global-mlp和Local-mlp的中间的减操作符号),以模型顶点的处理为例,用于将局部特征提取层(Local-mlp)输出的局部顶点特征,减去全局特征提取层(Global-mlp)输出的全局顶点特征,得到顶点特征。
其中,距离特征提取层,包括3个子距离特征提取层(Dist网络),每个子距离特征提取层与相应的子位置特征更新层(EdgeConv)相连,基于相应的子位置特征更新层(EdgeConv)输出的更新的顶点位置特征和关节位置特征,输出距离特征。
其中,全连接层(concate层)用于将特征处理层输出的顶点特征、特征处理层输出的关节特征、以及各子距离特征提取层(Dist网络)输出的距离特征进行拼接,得到拼接特征(N,M,C_total),其中,C_total为拼接特征的特征维度。
其中,特征预测层(Predict-MLP)用于基于拼接特征进行蒙皮参数(即影响权重)的预测。具体地,特征预测层(Predict-MLP)基于输入的拼接特征(N,M,C_total),经过多层MLP后输出(N,M,1),并squeeze掉最后1维成为(N,M),再经过softmax函数的操作,输出预测结果,即每个模型顶点对应每个骨骼的影响权重。
需要说明的是,上述Position-mlp、EdgeConv、Global-mlp、Local-mlp这些网络供三维模型(mesh-graph)和对象骨骼(skeleton-graph)共用,每个网络均会有两组输出,一组代表mesh-graph的输出,另一组代表skeleton-graph的输出。
在实际应用中,上述机器学习模型的使用分为训练和在线应用两部分。训练要基于已有的蒙皮数据进行训练,机器学习模型的输入只需要有mesh顶点的3D位置信息和骨骼关节的3D位置信息即可,机器学习模型会输出每个模型顶点对每根骨骼关节的预测影响权重。根据预测影响权重以及人工绑定的真实影响权重计算KL-divergence(即差异),然后根据上述损失函数的值结合Adam权重优化算法更新机器学习模型的模型参数。在线应用时,即在得到训练完成的机器学习模型后,输入三维模型的模型顶点的3D位置信息和对象骨骼的骨骼关节的3D位置信息,机器学习模型即可输出预测的影响权重。
在实际实施时,在机器学习模型的训练过程中,每个mesh-graph上的模型顶点可以只对应一部分skeleton-graph上的骨骼关节,这样可以加快训练速度,降低显存占用率。
应用本申请上述实施例,基于已有的人工蒙皮数据训练的机器学***均值很低,自动蒙皮处理效果准确。
参见图15和图16,图15是本申请实施例提供的虚拟对象的蒙皮效果的示意图一,图16是本申请实施例提供的虚拟对象的蒙皮效果的示意图二。其中,如图15所示,为动物型虚拟对象的蒙皮处理效果,包括动物虚拟对象在静止状态下的蒙皮效果(如图15中(1)所示)、动物虚拟对象在运动状态下(头部关节运动)的蒙皮效果(如图15中(2)所示)、动物虚拟对象在运动状态下(尾部关节运动)的蒙皮效果(如图15中(3)所示)、以及动物虚拟对象在运动状态下(腿部关节运动)的蒙皮效果(如图15中(4)所示)。
如图16所示,为人物型虚拟对象的蒙皮处理效果,包括人物虚拟对象在静止状态下的蒙皮效果(如图16中(1)所示)、人物虚拟对象在运动状态下(大腿关节和小腿关节运动)的蒙皮效果(如图16中(2)所示)、人物虚拟对象在运动状态下(手臂关节和上半身关节运动)的蒙皮效果(如图16中(3)所示)、以及人物虚拟对象在运动状态下(手指关节运动)的蒙皮效果(如图16中(4)所示)。结合图15和图16可以看出,不管是对于动物还是人形mesh和骨架,本申请实施例提供的虚拟对象的蒙皮处理方法均能得到不错的蒙皮效果。
可以理解的是,在本申请实施例中,涉及到用户信息等相关的数据,当本申请实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
下面继续说明本申请实施例提供的虚拟对象的蒙皮处理装置553的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器550的虚拟对象的蒙皮处理装置553中的软件模块可以包括:
获取模块5531,用于获取虚拟对象的三维模型以及对象骨骼;
第一确定模块5532,用于确定所述三维模型包括的至少一个模型顶点的顶点位置、以及所述对象骨骼包括的至少一个骨骼关节的关节位置;
第二确定模块5533,用于针对各所述模型顶点,基于所述顶点位置和至少一个所述关节位置,确定所述模型顶点对应各所述骨骼关节的蒙皮参数;
其中,所述模型顶点的顶点位置由至少一个所述骨骼关节的关节位置所决定,所述蒙皮参数,用于指示各所述骨骼关节对所述模型顶点的影响权重;
蒙皮处理模块5534,用于基于至少一个所述模型顶点对应的所述蒙皮参数,对所述虚拟对象的对象骨骼进行蒙皮处理,以基于蒙皮结果渲染得到所述虚拟对象。
在一些实施例中,所述第二确定模块5533,还用于针对各所述骨骼关节的关节位置,分别执行如下处理:对所述顶点位置进行特征提取,得到所述模型顶点的顶点特征,并对所述关节位置进行特征提取,得到所述骨骼关节的关节特征;确定所述顶点位置和所述关节位置之间的距离所对应的距离特征;基于所述顶点特征、所述关节特征和所述距离特征,确定所述模型顶点对应所述骨骼关节的蒙皮参数。
在一些实施例中,所述第二确定模块5533,还用于通过机器学习模型的位置特征提取层,对所述顶点位置进行特征提取,得到所述模型顶点的第一位置特征;通过所述机器学习模型的位置特征更新层,基于所述模型顶点关联的至少一个目标模型顶点的顶点位置,对所述第一位置特征进行更新,得到所述模型顶点的第二位置特征;通过所述机器学习模型的局部特征提取层,基于所述第一位置特征和所述第二位置特征,确定所述模型顶点的局部顶点特征;通过所述机器学习模型的全局特征提取层,基于所述第二位置特征,确定所述模型顶点的全局顶点特征;通过所述机器学习模型的特征处理层,执行所述局部顶点特征与所述全局顶点特征之间的减操作,得到所述模型顶点的顶点特征。
在一些实施例中,所述位置特征更新层包括至少两个级联的子位置特征更新层;所述第二确定模块5533,还用于通过第一级的子位置特征更新层,基于所述模型顶点关联的至少一个目标模型顶点的顶点位置,对所述第一位置特征进行更新,得到相应的中间位置特征;通过非第一级的子位置特征更新层,基于所述模型顶点关联的至少一个目标模型顶点的顶点位置,对所述中间位置特征进行更新,得到所述第二位置特征。
在一些实施例中,所述第二确定模块5533,还用于通过所述机器学习模型的位置特征更新层,确定所述模型顶点与所述三维模型中除所述模型顶点之外的至少两个其他模型顶点之间的顶点距离;按照各所述顶点距离,对所述至少两个其他模型顶点进行升序排序,得到相应的排序结果;基于所述排序结果,选取排序靠前的目标数量的其他模型顶点作为所述模型顶点关联的至少一个目标模型顶点。
在一些实施例中,所述第二确定模块5533,还用于通过所述机器学***均处理,得到平均位置特征;将所述第一位置特征更新为所述平均位置特征,以得到所述模型顶点的第二位置特征。
在一些实施例中,所述位置特征更新层包括至少两个级联的子位置特征更新层,每个所述子位置特征更新层输出相应的中间位置特征;所述第二确定模块5533,还用于将所述第一位置特征和各所述中间位置特征输入所述局部特征提取层中;通过所述局部特征提取层,基于所述第一位置特征和各所述中间位置特征,输出所述模型顶点的局部顶点特征。
在一些实施例中,所述位置特征更新层包括至少两个级联的子位置特征更新层,每个所述子位置特征更新层输出相应的中间位置特征;所述第二确定模块5533,还用于将各所述中间位置特征输入所述全局特征提取层中;通过所述全局特征提取层,基于各所述中间位置特征,输出所述模型顶点的全局顶点特征。
在一些实施例中,所述机器学习模型还包括距离特征提取层,所述第二确定模块5533,还用于通过所述机器学习模型的距离特征提取层,确定所述顶点位置和所述关节位置之间的距离;对所述距离进行特征提取,得到所述距离特征。
在一些实施例中,所述机器学习模型还包括全连接层及特征预测层,所述第二确定模块5533,还用于通过所述机器学习模型的全连接层,对所述顶点特征、所述关节特征和所述距离特征进行拼接,得到相应的拼接特征;通过所述机器学习模型的特征预测层,基于所述拼接特征进行蒙皮参数的预测,得到所述模型顶点对应所述骨骼关节的蒙皮参数。
在一些实施例中,所述第二确定模块5533,还用于获取用于训练所述机器学习模型的训练样本;其中,所述训练样本标注有相应的样本标签,所述训练样本包括顶点位置样本和关节位置样本;通过所述机器学习模型,基于所述顶点位置样本和所述关节位置样本进行蒙皮参数的预测,得到预测结果;获取所述预测结果和所述样本标签之间的差异,并基于所述差异确定所述机器学习模型的损失函数的值;基于所述损失函数的值,更新所述机器学习模型的模型参数,以得到训练完成的机器学习模型。
在一些实施例中,所述第二确定模块5533,还用于针对各所述模型顶点,分别执行如下处理:从至少一个所述骨骼关节中,获取与所述模型顶点关联的至少一个目标骨骼关节;基于所述顶点位置和所述至少一个目标骨骼关节的关节位置,确定所述模型顶点对应各所述目标骨骼关节的蒙皮参数。
在一些实施例中,所述蒙皮处理模块5534,还用于获取各所述骨骼关节对应的骨骼变换参数;针对各所述模型顶点,基于所述模型顶点的顶点位置、所述模型顶点对应各所述骨骼关节的蒙皮参数、以及各所述骨骼关节对应的骨骼变换参数,确定所述模型顶点对应各所述骨骼关节的目标顶点位置;基于至少一个所述模型顶点对应的目标顶点位置,对所述虚拟对象的对象骨骼进行蒙皮处理。
在一些实施例中,所述蒙皮处理模块5534,还用于针对各所述骨骼关节,将所述模型顶点的顶点位置、所述模型顶点对应所述骨骼关节的蒙皮参数、以及所述骨骼关节对应的骨骼变换参数进行相乘,得到所述模型顶点对应所述骨骼关节的中间顶点位置;将至少一个所述骨骼关节对应的中间顶点位置进行相加,得到所述模型顶点对应各所述骨骼关节的目标顶点位置。
在一些实施例中,所述获取模块5531,还用于在虚拟对象的蒙皮处理界面中,呈现模型选择功能项、骨骼选择功能项、以及蒙皮处理功能项;接收到基于所述模型选择功能项所选择的目标三维模型,响应于针对所述目标三维模型的确认操作,确定所述目标三维模型为所述三维模型;接收到基于所述骨骼选择功能项所选择的目标对象骨骼,响应于针对所述目标对象骨骼的确认操作,确定所述目标对象骨骼为所述对象骨骼;响应于针对所述蒙皮处理功能项的触发操作,获取所述虚拟对象的所述三维模型以及所述对象骨骼。
应用本申请上述实施例,获取虚拟对象的三维模型以及对象骨骼,并确定三维模型包括的至少一个模型顶点的顶点位置、以及对象骨骼包括的至少一个骨骼关节的关节位置,从而针对各模型顶点,基于顶点位置和至少一个关节位置,确定模型顶点对应各骨骼关节的蒙皮参数;由于模型顶点的顶点位置由至少一个骨骼关节的关节位置所决定,而该蒙皮参数用于指示各骨骼关节对模型顶点的影响权重,则可以基于至少一个模型顶点对应的蒙皮参数,对虚拟对象的对象骨骼进行蒙皮处理,以基于蒙皮结果渲染得到虚拟对象。如此,针对各形态骨骼结构的虚拟对象,均能够实现虚拟对象的蒙皮处理,提高虚拟对象的蒙皮处理效果。
本申请实施例还提供一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例提供的虚拟对象的蒙皮处理方法。
本申请实施例还提供一种计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的虚拟对象的蒙皮处理方法。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件***中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (19)

1.一种虚拟对象的蒙皮处理方法,其特征在于,所述方法包括:
获取虚拟对象的三维模型以及对象骨骼;
确定所述三维模型包括的至少一个模型顶点的顶点位置、以及所述对象骨骼包括的至少一个骨骼关节的关节位置;
针对各所述模型顶点,基于所述顶点位置和至少一个所述关节位置,确定所述模型顶点对应各所述骨骼关节的蒙皮参数;
其中,所述模型顶点的顶点位置由至少一个所述骨骼关节的关节位置所决定,所述蒙皮参数,用于指示各所述骨骼关节对所述模型顶点的影响权重;
基于至少一个所述模型顶点对应的所述蒙皮参数,对所述虚拟对象的对象骨骼进行蒙皮处理,以基于蒙皮结果渲染得到所述虚拟对象。
2.如权利要求1所述的方法,其特征在于,所述基于所述顶点位置和至少一个所述关节位置,确定所述模型顶点对应各所述骨骼关节的蒙皮参数,包括:
针对各所述骨骼关节的关节位置,分别执行如下处理:
对所述顶点位置进行特征提取,得到所述模型顶点的顶点特征,并对所述关节位置进行特征提取,得到所述骨骼关节的关节特征;
确定所述顶点位置和所述关节位置之间的距离所对应的距离特征;
基于所述顶点特征、所述关节特征和所述距离特征,确定所述模型顶点对应所述骨骼关节的蒙皮参数。
3.如权利要求2所述的方法,其特征在于,所述对所述顶点位置进行特征提取,得到所述模型顶点的顶点特征,包括:
通过机器学习模型的位置特征提取层,对所述顶点位置进行特征提取,得到所述模型顶点的第一位置特征;
通过所述机器学习模型的位置特征更新层,基于所述模型顶点关联的至少一个目标模型顶点的顶点位置,对所述第一位置特征进行更新,得到所述模型顶点的第二位置特征;
通过所述机器学习模型的局部特征提取层,基于所述第一位置特征和所述第二位置特征,确定所述模型顶点的局部顶点特征;
通过所述机器学习模型的全局特征提取层,基于所述第二位置特征,确定所述模型顶点的全局顶点特征;
通过所述机器学习模型的特征处理层,执行所述局部顶点特征与所述全局顶点特征之间的减操作,得到所述模型顶点的顶点特征。
4.如权利要求3所述的方法,其特征在于,所述位置特征更新层包括至少两个级联的子位置特征更新层;
所述通过所述机器学习模型的位置特征更新层,基于所述模型顶点关联的至少一个目标模型顶点的顶点位置,对所述第一位置特征进行更新,得到所述模型顶点的第二位置特征,包括:
通过第一级的子位置特征更新层,基于所述模型顶点关联的至少一个目标模型顶点的顶点位置,对所述第一位置特征进行更新,得到相应的中间位置特征;
通过非第一级的子位置特征更新层,基于所述模型顶点关联的至少一个目标模型顶点的顶点位置,对所述中间位置特征进行更新,得到所述第二位置特征。
5.如权利要求3所述的方法,其特征在于,所述通过所述机器学习模型的位置特征更新层,基于所述模型顶点关联的至少一个目标模型顶点的顶点位置,对所述第一位置特征进行更新,得到所述模型顶点的第二位置特征之前,所述方法还包括:
通过所述机器学习模型的位置特征更新层,确定所述模型顶点与所述三维模型中除所述模型顶点之外的至少两个其他模型顶点之间的顶点距离;
按照各所述顶点距离,对所述至少两个其他模型顶点进行升序排序,得到相应的排序结果;
基于所述排序结果,选取排序靠前的目标数量的其他模型顶点作为所述模型顶点关联的至少一个目标模型顶点。
6.如权利要求3所述的方法,其特征在于,所述通过所述机器学习模型的位置特征更新层,基于所述模型顶点关联的至少一个目标模型顶点的顶点位置,对所述第一位置特征进行更新,得到所述模型顶点的第二位置特征,包括:
通过所述机器学习模型的位置特征更新层,分别对各所述目标模型顶点进行特征提取,得到相应的目标位置特征;
对至少一个所述目标位置特征进行平均处理,得到平均位置特征;
将所述第一位置特征更新为所述平均位置特征,以得到所述模型顶点的第二位置特征。
7.如权利要求3所述的方法,其特征在于,所述位置特征更新层包括至少两个级联的子位置特征更新层,每个所述子位置特征更新层输出相应的中间位置特征;
所述通过所述机器学习模型的局部特征提取层,基于所述第一位置特征和所述第二位置特征,确定所述模型顶点的局部顶点特征,包括:
将所述第一位置特征和各所述中间位置特征输入所述局部特征提取层中;
通过所述局部特征提取层,基于所述第一位置特征和各所述中间位置特征,输出所述模型顶点的局部顶点特征。
8.如权利要求3所述的方法,其特征在于,所述位置特征更新层包括至少两个级联的子位置特征更新层,每个所述子位置特征更新层输出相应的中间位置特征;
所述通过所述机器学习模型的全局特征提取层,基于所述第二位置特征,确定所述模型顶点的全局顶点特征,包括:
将各所述中间位置特征输入所述全局特征提取层中;
通过所述全局特征提取层,基于各所述中间位置特征,输出所述模型顶点的全局顶点特征。
9.如权利要求3所述的方法,其特征在于,所述机器学习模型还包括距离特征提取层,所述确定所述顶点位置和所述关节位置之间的距离所对应的距离特征,包括:
通过所述机器学习模型的距离特征提取层,确定所述顶点位置和所述关节位置之间的距离;
对所述距离进行特征提取,得到所述距离特征。
10.如权利要求3所述的方法,其特征在于,所述机器学习模型还包括全连接层及特征预测层,所述基于所述顶点特征、所述关节特征和所述距离特征,得到所述模型顶点对应所述骨骼关节的蒙皮参数,包括:
通过所述机器学习模型的全连接层,对所述顶点特征、所述关节特征和所述距离特征进行拼接,得到相应的拼接特征;
通过所述机器学习模型的特征预测层,基于所述拼接特征进行蒙皮参数的预测,得到所述模型顶点对应所述骨骼关节的蒙皮参数。
11.如权利要求3所述的方法,其特征在于,所述方法还包括:
获取用于训练所述机器学习模型的训练样本;
其中,所述训练样本标注有相应的样本标签,所述训练样本包括顶点位置样本和关节位置样本;
通过所述机器学习模型,基于所述顶点位置样本和所述关节位置样本进行蒙皮参数的预测,得到预测结果;
获取所述预测结果和所述样本标签之间的差异,并基于所述差异确定所述机器学习模型的损失函数的值;
基于所述损失函数的值,更新所述机器学习模型的模型参数,以得到训练完成的机器学习模型。
12.如权利要求1所述的方法,其特征在于,所述针对各所述模型顶点,基于所述顶点位置和至少一个所述关节位置,确定所述模型顶点对应各所述骨骼关节的蒙皮参数,包括:
针对各所述模型顶点,分别执行如下处理:
从至少一个所述骨骼关节中,获取与所述模型顶点关联的至少一个目标骨骼关节;
基于所述顶点位置和所述至少一个目标骨骼关节的关节位置,确定所述模型顶点对应各所述目标骨骼关节的蒙皮参数。
13.如权利要求1所述的方法,其特征在于,所述基于至少一个所述模型顶点对应的所述蒙皮参数,对所述虚拟对象的对象骨骼进行蒙皮处理,包括:
获取各所述骨骼关节对应的骨骼变换参数;
针对各所述模型顶点,基于所述模型顶点的顶点位置、所述模型顶点对应各所述骨骼关节的蒙皮参数、以及各所述骨骼关节对应的骨骼变换参数,确定所述模型顶点对应各所述骨骼关节的目标顶点位置;
基于至少一个所述模型顶点对应的目标顶点位置,对所述虚拟对象的对象骨骼进行蒙皮处理。
14.如权利要求13所述的方法,其特征在于,所述基于所述模型顶点的顶点位置、所述模型顶点对应各所述骨骼关节的蒙皮参数、以及各所述骨骼关节对应的骨骼变换参数,确定所述模型顶点对应各所述骨骼关节的目标顶点位置,包括:
针对各所述骨骼关节,将所述模型顶点的顶点位置、所述模型顶点对应所述骨骼关节的蒙皮参数、以及所述骨骼关节对应的骨骼变换参数进行相乘,得到所述模型顶点对应所述骨骼关节的中间顶点位置;
将至少一个所述骨骼关节对应的中间顶点位置进行相加,得到所述模型顶点对应各所述骨骼关节的目标顶点位置。
15.如权利要求1所述的方法,其特征在于,所述获取虚拟对象的三维模型以及对象骨骼,包括:
在虚拟对象的蒙皮处理界面中,呈现模型选择功能项、骨骼选择功能项、以及蒙皮处理功能项;
接收到基于所述模型选择功能项所选择的目标三维模型,响应于针对所述目标三维模型的确认操作,确定所述目标三维模型为所述三维模型;
接收到基于所述骨骼选择功能项所选择的目标对象骨骼,响应于针对所述目标对象骨骼的确认操作,确定所述目标对象骨骼为所述对象骨骼;
响应于针对所述蒙皮处理功能项的触发操作,获取所述虚拟对象的所述三维模型以及所述对象骨骼。
16.一种虚拟对象的蒙皮处理装置,其特征在于,所述装置包括:
获取模块,用于获取虚拟对象的三维模型以及对象骨骼;
第一确定模块,用于确定所述三维模型包括的至少一个模型顶点的顶点位置、以及所述对象骨骼包括的至少一个骨骼关节的关节位置;
第二确定模块,用于针对各所述模型顶点,基于所述顶点位置和至少一个所述关节位置,确定所述模型顶点对应各所述骨骼关节的蒙皮参数;
其中,所述模型顶点的顶点位置由至少一个所述骨骼关节的关节位置所决定,所述蒙皮参数,用于指示各所述骨骼关节对所述模型顶点的影响权重;
蒙皮处理模块,用于基于至少一个所述模型顶点对应的所述蒙皮参数,对所述虚拟对象的对象骨骼进行蒙皮处理,以基于蒙皮结果渲染得到所述虚拟对象。
17.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至15任一项所述的虚拟对象的蒙皮处理方法。
18.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时,实现权利要求1至15任一项所述的虚拟对象的蒙皮处理方法。
19.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时,实现权利要求1至15任一项所述的虚拟对象的蒙皮处理方法。
CN202210177689.XA 2022-02-25 2022-02-25 虚拟对象的蒙皮处理方法、装置、设备、介质及程序产品 Active CN114241100B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202210177689.XA CN114241100B (zh) 2022-02-25 2022-02-25 虚拟对象的蒙皮处理方法、装置、设备、介质及程序产品
PCT/CN2022/134011 WO2023160051A1 (zh) 2022-02-25 2022-11-24 虚拟对象的蒙皮处理方法、装置、电子设备、存储介质及计算机程序产品
US18/329,974 US20230316688A1 (en) 2022-02-25 2023-06-06 Skinning method and apparatus for virtual object, electronic device, storage medium, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210177689.XA CN114241100B (zh) 2022-02-25 2022-02-25 虚拟对象的蒙皮处理方法、装置、设备、介质及程序产品

Publications (2)

Publication Number Publication Date
CN114241100A true CN114241100A (zh) 2022-03-25
CN114241100B CN114241100B (zh) 2022-06-03

Family

ID=80748354

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210177689.XA Active CN114241100B (zh) 2022-02-25 2022-02-25 虚拟对象的蒙皮处理方法、装置、设备、介质及程序产品

Country Status (3)

Country Link
US (1) US20230316688A1 (zh)
CN (1) CN114241100B (zh)
WO (1) WO2023160051A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115861500A (zh) * 2022-12-09 2023-03-28 上海哔哩哔哩科技有限公司 2d模型碰撞体生成方法及装置
CN116468831A (zh) * 2023-06-20 2023-07-21 腾讯科技(深圳)有限公司 模型处理方法、装置、设备及存储介质
WO2023160051A1 (zh) * 2022-02-25 2023-08-31 腾讯科技(深圳)有限公司 虚拟对象的蒙皮处理方法、装置、电子设备、存储介质及计算机程序产品
CN117173299A (zh) * 2023-09-15 2023-12-05 韶关学院 一种影视素材模拟生成***及方法
WO2024120032A1 (zh) * 2022-12-07 2024-06-13 腾讯科技(深圳)有限公司 虚拟对象的毛发处理方法、装置、设备、存储介质及程序产品

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116883624B (zh) * 2023-09-07 2023-11-21 海马云(天津)信息技术有限公司 骨骼快速绑定方法和装置、电子设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130107003A1 (en) * 2011-10-31 2013-05-02 Electronics And Telecommunications Research Institute Apparatus and method for reconstructing outward appearance of dynamic object and automatically skinning dynamic object
CN106846499A (zh) * 2017-02-09 2017-06-13 腾讯科技(深圳)有限公司 一种虚拟模型的生成方法及装置
CN109993819A (zh) * 2019-04-09 2019-07-09 网易(杭州)网络有限公司 虚拟角色的蒙皮方法及装置、电子设备
US20200410733A1 (en) * 2019-06-25 2020-12-31 Netease (Hangzhou) Network Co.,Ltd. Method for skinning character model, device for skinning character model, storage medium and electronic device
CN112862933A (zh) * 2021-02-04 2021-05-28 北京百度网讯科技有限公司 用于优化模型的方法、装置、设备以及存储介质
CN112884868A (zh) * 2021-04-30 2021-06-01 腾讯科技(深圳)有限公司 三维网格顶点特征确定方法、骨骼蒙皮方法及相关装置
CN112991502A (zh) * 2021-04-22 2021-06-18 腾讯科技(深圳)有限公司 一种模型训练方法、装置、设备及存储介质
CN113034691A (zh) * 2021-03-22 2021-06-25 广州虎牙科技有限公司 人体模型的骨骼绑定方法、装置及电子设备
CN113554736A (zh) * 2021-09-22 2021-10-26 成都市谛视科技有限公司 骨骼动画顶点矫正方法及模型的学习方法、装置和设备
CN113902876A (zh) * 2021-12-06 2022-01-07 腾讯科技(深圳)有限公司 骨骼蒙皮方法、装置、计算机设备和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021524627A (ja) * 2018-05-22 2021-09-13 マジック リープ, インコーポレイテッドMagic Leap,Inc. 仮想アバタをアニメーション化するための骨格システム
CN112184862B (zh) * 2020-10-12 2024-05-14 网易(杭州)网络有限公司 虚拟对象的控制方法、装置及电子设备
CN114241100B (zh) * 2022-02-25 2022-06-03 腾讯科技(深圳)有限公司 虚拟对象的蒙皮处理方法、装置、设备、介质及程序产品

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130107003A1 (en) * 2011-10-31 2013-05-02 Electronics And Telecommunications Research Institute Apparatus and method for reconstructing outward appearance of dynamic object and automatically skinning dynamic object
CN106846499A (zh) * 2017-02-09 2017-06-13 腾讯科技(深圳)有限公司 一种虚拟模型的生成方法及装置
CN109993819A (zh) * 2019-04-09 2019-07-09 网易(杭州)网络有限公司 虚拟角色的蒙皮方法及装置、电子设备
US20200410733A1 (en) * 2019-06-25 2020-12-31 Netease (Hangzhou) Network Co.,Ltd. Method for skinning character model, device for skinning character model, storage medium and electronic device
CN112862933A (zh) * 2021-02-04 2021-05-28 北京百度网讯科技有限公司 用于优化模型的方法、装置、设备以及存储介质
CN113034691A (zh) * 2021-03-22 2021-06-25 广州虎牙科技有限公司 人体模型的骨骼绑定方法、装置及电子设备
CN112991502A (zh) * 2021-04-22 2021-06-18 腾讯科技(深圳)有限公司 一种模型训练方法、装置、设备及存储介质
CN112884868A (zh) * 2021-04-30 2021-06-01 腾讯科技(深圳)有限公司 三维网格顶点特征确定方法、骨骼蒙皮方法及相关装置
CN113554736A (zh) * 2021-09-22 2021-10-26 成都市谛视科技有限公司 骨骼动画顶点矫正方法及模型的学习方法、装置和设备
CN113902876A (zh) * 2021-12-06 2022-01-07 腾讯科技(深圳)有限公司 骨骼蒙皮方法、装置、计算机设备和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
蒋德茂等: "四元数在骨骼蒙皮动画中的应用", 《苏州大学学报(自然科学版)》, no. 02, 10 April 2008 (2008-04-10), pages 42 - 51 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023160051A1 (zh) * 2022-02-25 2023-08-31 腾讯科技(深圳)有限公司 虚拟对象的蒙皮处理方法、装置、电子设备、存储介质及计算机程序产品
WO2024120032A1 (zh) * 2022-12-07 2024-06-13 腾讯科技(深圳)有限公司 虚拟对象的毛发处理方法、装置、设备、存储介质及程序产品
CN115861500A (zh) * 2022-12-09 2023-03-28 上海哔哩哔哩科技有限公司 2d模型碰撞体生成方法及装置
CN115861500B (zh) * 2022-12-09 2023-08-18 上海哔哩哔哩科技有限公司 2d模型碰撞体生成方法及装置
CN116468831A (zh) * 2023-06-20 2023-07-21 腾讯科技(深圳)有限公司 模型处理方法、装置、设备及存储介质
CN116468831B (zh) * 2023-06-20 2023-08-22 腾讯科技(深圳)有限公司 模型处理方法、装置、设备及存储介质
CN117173299A (zh) * 2023-09-15 2023-12-05 韶关学院 一种影视素材模拟生成***及方法

Also Published As

Publication number Publication date
US20230316688A1 (en) 2023-10-05
WO2023160051A1 (zh) 2023-08-31
CN114241100B (zh) 2022-06-03

Similar Documents

Publication Publication Date Title
CN114241100B (zh) 虚拟对象的蒙皮处理方法、装置、设备、介质及程序产品
CN110020633B (zh) 姿态识别模型的训练方法、图像识别方法及装置
JP7264376B2 (ja) 汎用学習済モデルの生成方法
CN109791642B (zh) 工作流的自动生成
CN112699855B (zh) 基于人工智能的图像场景识别方法、装置及电子设备
Jeon et al. Artificial intelligence for traffic signal control based solely on video images
CN109224442A (zh) 虚拟场景的数据处理方法、装置及存储介质
CN113902876B (zh) 骨骼蒙皮方法、装置、计算机设备和存储介质
CN111095170B (zh) 虚拟现实场景及其交互方法、终端设备
CN114139637B (zh) 多智能体信息融合方法、装置、电子设备及可读存储介质
CN109529338A (zh) 对象控制方法、装置、电子设计及计算机可读介质
US9984488B2 (en) Animating a virtual object in a virtual world
US20170221251A1 (en) Animating a virtual object in a virtual world
CN112991502A (zh) 一种模型训练方法、装置、设备及存储介质
CN112256537A (zh) 模型运行状态的展示方法、装置、计算机设备和存储介质
CN116468831B (zh) 模型处理方法、装置、设备及存储介质
GB2546815A (en) Animating a virtual object in a virtual world
CN112973130A (zh) 虚拟场景的回放模型构建方法、装置、设备及存储介质
CN111068329B (zh) 一种游戏关卡配置方法、装置、电子设备及存储介质
CN114964247A (zh) 基于高阶图卷积神经网络的人群感知导航方法及***
JP7510637B2 (ja) 汎用学習済モデルの生成方法
CN114247132B (zh) 虚拟对象的控制处理方法、装置、设备、介质及程序产品
CN117829242B (zh) 模型处理方法及相关设备
CN116977766A (zh) 动作补全模型的训练方法、装置、设备、介质及程序产品
CN116978363A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40069947

Country of ref document: HK