CN116310002A - 一种面部骨骼绑定方法、装置、电子设备及存储介质 - Google Patents

一种面部骨骼绑定方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116310002A
CN116310002A CN202310289209.3A CN202310289209A CN116310002A CN 116310002 A CN116310002 A CN 116310002A CN 202310289209 A CN202310289209 A CN 202310289209A CN 116310002 A CN116310002 A CN 116310002A
Authority
CN
China
Prior art keywords
face
binding
controller
mesh grid
skeleton
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310289209.3A
Other languages
English (en)
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.)
Chengdu Digital Sky Technology Co ltd
Original Assignee
Chengdu Digital Sky Technology 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 Chengdu Digital Sky Technology Co ltd filed Critical Chengdu Digital Sky Technology Co ltd
Priority to CN202310289209.3A priority Critical patent/CN116310002A/zh
Publication of CN116310002A publication Critical patent/CN116310002A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本申请提供一种面部骨骼绑定方法、装置、电子设备及存储介质,其中面部骨骼绑定方法包括:在待构建角色初始状态下,对面部骨骼与面部mesh网格数据进行绑定,获取第一绑定结果;加载历史骨骼控制器以及历史骨骼控制器的第一控制器参数;采用第一控制器参数计算面部骨骼位置,获取第一面部Mesh网格顶点位置;根据第一面部Mesh网格顶点位置、面部mesh网格数据以及第一控制器参数对第一绑定结果进行优化,获得第二绑定结果。采用控制器参数对面部骨骼位置进行计算,并采用面部Mesh网格顶点位置和作为ground truth的面部mesh网格数据对第一绑定结果进行优化,大大改善了面部骨骼绑定的绑定效果。

Description

一种面部骨骼绑定方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种面部骨骼绑定方法、装置、电子设备及存储介质。
背景技术
目前,角色动画中的虚拟角色的面部运动可以采用骨骼蒙皮动画,骨骼蒙皮动画拥有骨架和蒙皮两个部分,在将骨骼蒙皮动画应用到虚拟角色面部的运动时,需要将面部骨骼与蒙皮进行绑定。
在相关技术中,不同角色的面部骨骼与蒙皮的绑定信息是复用的,但在对绑定信息进行复用后,需要人工根据经验对绑定信息进行微调,但进行微调后的绑定信息依然无法获得当前角色的最佳绑定,绑定效果不佳。
发明内容
本申请实施例的目的在于提供一种面部骨骼绑定方法、装置、电子设备及存储介质,用以改善复用绑定信息的绑定效果。
第一方面,本申请实施例提供一种面部骨骼绑定方法,包括:在待构建角色初始状态下,对面部骨骼与面部mesh网格数据进行绑定,获取第一绑定结果;加载历史骨骼控制器以及所述历史骨骼控制器的第一控制器参数;采用所述第一控制器参数计算所述面部骨骼位置,获取第一面部Mesh网格顶点位置;根据所述第一面部Mesh网格顶点位置、所述面部mesh网格数据以及所述第一控制器参数对所述第一绑定结果进行优化,获得第二绑定结果。
在上述方案的实现过程中,采用控制器参数对面部骨骼位置进行计算,并采用面部Mesh网格顶点位置和作为ground truth的面部mesh网格数据对第一绑定结果进行优化,大大改善了面部骨骼绑定的绑定效果。
在第一方面的一种实现方式中,所述根据所述第一面部Mesh网格顶点位置、所述面部mesh网格数据以及所述第一控制器参数对所述第一绑定结果进行优化,获得第二绑定结果,包括:根据所述第一面部Mesh网格顶点位置以及所述面部mesh网格数据,优化所述第一控制器参数,获取第二控制器参数;采用所述第二控制器参数计算所述面部骨骼位置,获取第二面部Mesh网格顶点位置;根据所述第二面部Mesh网格顶点位置以及所述面部mesh网格数据,优化所述第一绑定结果,获取第二绑定结果。
在上述方案的实现过程中,通过固定第一绑定结果,对第一控制器参数进行优化,获取优化后的第二控制器参数,使得骨骼控制器获得最优参数;通过固定第二控制器参数,对第一绑定结果进行优化,获取优化后的第二绑定结果,使得待构建角色获得最优绑定结果,有效改善了面部骨骼的绑定效果。
在第一方面的一种实现方式中,所述根据所述第一面部Mesh网格顶点位置以及所述面部mesh网格数据,优化所述第一控制器参数,获取第二控制器参数,包括:以所述第一面部Mesh网格顶点位置与所述面部mesh网格数据中面部骨骼真实位置之间的偏差最小为优化目标,优化所述第一控制器参数,获取第二控制器参数。
在上述方案的实现过程中,以采用第一控制器参数所计算出的第一面部Mesh网格顶点位置与面部mesh网格数据中面部骨骼真实位置之间的偏差最小为优化目标,获得优化后的第二控制器参数,使得在固定第一绑定结果的情况下获得最优的第二控制器参数,并且采用第二控制器参数所计算的面部骨骼位置可以有效还原面部mesh网格数据,有效改善了面部骨骼的绑定效果。
在第一方面的一种实现方式中,所述优化所述第一绑定结果,获取第二绑定结果,包括:以所述第二面部Mesh网格顶点位置与所述面部mesh网格数据中的面部骨骼真实位置之间的偏差最小为目标,优化所述第一绑定结果,获取第二绑定结果。
在上述方案的实现过程中,通过第二面部Mesh网格顶点位置与面部mesh网格数据中的面部骨骼真实位置之间的偏差最小为目标,对第一绑定结果进行优化,获得第二绑定结果,使得第二绑定结果可以在有限的控制器参数范围内有效拟合角色的表情,解决了绑定信息复用后表情拟合效果较差的问题,有效改善了面部骨骼的绑定效果。
在第一方面的一种实现方式中,所述根据所述第一面部Mesh网格顶点位置、所述面部mesh网格数据以及所述第一控制器参数对所述第一绑定结果进行优化,获得第二绑定结果,包括:获取所述面部骨骼在骨骼树中所处深度层级,根据所述深度层级、所述第一面部Mesh网格顶点位置、所述面部mesh网格数据以及所述第一控制器参数对所述第一绑定结果进行分层优化,获取第二绑定结果。
所述根据所述第一面部Mesh网格顶点位置、所述面部mesh网格数据以及所述第一控制器参数对所述第一绑定结果进行优化,获得第二绑定结果,包括:
获取所述面部骨骼在骨骼树中所处深度层级,根据所述深度层级、所述第一面部Mesh网格顶点位置、所述面部mesh网格数据以及所述第一控制器参数对所述第一绑定结果进行分层优化,获取第二绑定结果。
在第一方面的一种实现方式中,所述采用所述第一控制器参数计算所述面部骨骼位置,获取第一面部Mesh网格顶点位置,包括:采用线性混合蒙皮LBS以及所述第一控制器参数计算所述面部骨骼位置,获取第一面部Mesh网格顶点位置;
所述采用所述第二控制器参数计算所述面部骨骼位置,获取第二面部Mesh网格顶点位置,包括:采用线性混合蒙皮LBS以及所述第二控制器参数计算所述面部骨骼位置,获取第二面部Mesh网格顶点位置。
在上述方案的实现过程中,采用线性混合蒙皮LBS精确计算面部骨骼位置,从而使得上述面部骨骼绑定方法能够根据精确的面部Mesh网格顶点位置对绑定结果进行优化,从而有效改善在绑定信息复用时面部骨骼绑定的绑定效果。
在第一方面的一种实现方式中,所述优化所述第一绑定结果,获取第二绑定结果,包括:对所述第一绑定结果中的面部骨骼与面部mesh网格数据顶点的权重、待构建角色初始状态下面部骨骼位置以及待构建角色初始状态下面部骨骼的旋转量中至少一项进行优化,获取第二绑定结果。
在上述方案的实现过程中,可以根据实际应用情况,选取面部骨骼与面部mesh网格数据顶点的权重、待构建角色初始状态下面部骨骼位置以及待构建角色初始状态下面部骨骼的旋转量中至少一项进行优化,使得上述面部骨骼绑定方法能够适用于更多应用场景,提高了上述面部骨骼绑定方法的适应性。
第二方面,本申请实施例提供一种面部骨骼绑定装置,包括:
初始绑定模块,用于在待构建角色初始状态下,对面部骨骼与面部mesh网格数据进行绑定,获取第一绑定结果;
骨骼控制器加载模块,用于加载历史骨骼控制器以及所述历史骨骼控制器的第一控制器参数;
第一计算模块,用于采用所述第一控制器参数计算所述面部骨骼位置,获取第一面部Mesh网格顶点位置;
绑定结果优化模块,用于根据所述第一面部Mesh网格顶点位置、所述面部mesh网格数据以及所述第一控制器参数对所述第一绑定结果进行优化,获得第二绑定结果。
第三方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
第四方面,本申请实施例提供一种电子设备,包括:存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的面部骨骼绑定方法的流程示意图;
图2为本申请实施例提供的面部骨骼绑定装置的结构示意图;
图3为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。以下实施例仅用于更加清楚地说明本申请的技术方案,因此只作为示例,而不能以此来限制本申请的保护范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。
在本申请实施例的描述中,技术术语“第一”“第二”等仅用于区别不同对象,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量、特定顺序或主次关系。在本申请实施例的描述中,
“多个”的含义是两个以上,除非另有明确具体的限定。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,
本文所描述的实施例可以与其它实施例相结合。
在本申请实施例的描述中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
目前,角色动画中骨骼蒙皮的方式一般采用如下步骤:
构建真实人脸的4D数据,即一段时间序列的3D人脸mesh网格数据;
根据绑定信息,计算上述时间序列内的控制器参数,形成控制器动画;
根据经验对控制器参数进行人工微调。
由于目前不同角色的绑定信息是复用的,因此在对人工进行微调时,一般仅能够对控制器参数进行微调,而最常出现的情况是无论如何调整控制器参数,都无法获得满足预设误差要求的mesh网格,导致角色动画的动画效果与真人效果相差甚远。
基于上述发现,本申请实施例提供一种面部骨骼绑定方法,该方法采用历史骨骼控制器的第一控制器参数,并通过第一控制器参数计算面部骨骼位置,获得第一面部Mesh网格顶点位置,根据第一面部Mesh网格顶点位置、面部mesh网格数据和第一控制器参数对待构建角色的初始绑定进行优化,以获得待构建角色的面部骨骼与面部mesh网格数据的最优绑定,从而使得所构建的角色能够拟合真实表情。
下面详细介绍上述面部骨骼绑定方法,请参见图1,本申请实施例提供一种面部骨骼绑定方法,包括:
步骤S110:在待构建角色初始状态下,对面部骨骼与面部mesh网格数据进行绑定,获取第一绑定结果;
步骤S120:加载历史骨骼控制器以及历史骨骼控制器的第一控制器参数;
步骤S130:采用第一控制器参数计算面部骨骼位置,获取第一面部Mesh网格顶点位置;
步骤S140:根据第一面部Mesh网格顶点位置、面部mesh网格数据以及第一控制器参数对第一绑定结果进行优化,获得第二绑定结果。
在上述方案的实现过程中,采用第一面部Mesh网格顶点位置、面部mesh网格数据和第一控制器参数对第一绑定结果进行自动优化,提高了面部骨骼绑定效率;同时,相较于人工微调的方式,采用控制器参数对面部骨骼位置进行计算,并采用面部Mesh网格顶点位置和作为ground truth的面部mesh网格数据对第一绑定结果进行优化,大大改善了面部骨骼绑定的绑定效果。
下面详细介绍步骤S110:
步骤S110中的待构建角色初始状态是指角色的面部静默姿态,也可以称为Neutral姿态,待构建角色在该静默姿态下进行面部骨骼与面部mesh网格数据的绑定。
步骤S110中的面部骨骼可以采用预先设置好的虚拟角色面部骨骼,也可以在Metahuman中雕刻所要获得的角色,然后导出角色模型和骨骼。
步骤S110中的面部mesh网格数据可以采用多视图几何技术和稠密重建技术对拍摄的人脸图片进行人脸重建,从而获得真实人脸的mesh网格数据。可以理解的是,mesh网格数据可以为4D数据,即在一段时间序列内3D人脸mesh网格数据。
可以理解的是,在对人脸进行重建获取真实人脸的mesh网格数据后可以采用例如非刚体注册的非刚体重拓扑算法将稠密重建所得到的杂乱无章的mesh网格数据重拓扑为拓扑一致的mesh网格数据。
步骤S110在对面部骨骼与面部mesh网格数据进行绑定时所要获取的数据包括:骨骼与面部mesh网格数据中顶点的绑定权重、在初始状态下骨骼的旋转量和平移量。可以理解的是,骨骼与面部mesh网格数据中顶点的绑定权重、在初始状态下骨骼的旋转量和平移量均可以是由历史绑定信息所复用来的绑定信息,步骤S110可以将历史绑定信息应用在待构建角色中,构建初始绑定,其中,绑定信息可以导出为.fbx文件进行存储。
下面详细介绍步骤S120:
步骤S120中的骨骼控制器可以控制一个或多个面部骨骼,通过调整骨骼控制器的参数即可调整该骨骼控制器所控制的一个或多个面部骨骼。步骤S120中所获取的骨骼控制器的第一控制器参数可以从历史骨骼控制器中复用,骨骼控制器的参数可以转换为对应骨骼在初始状态下骨骼的旋转量和平移量。
本申请实施例中的骨骼控制器的个数可以为258个,骨骼控制器的第一控制器参数记作CRTL,取值范围为(0,1)。根据MetaHuman的Rig Logic规则,还可以根据258个控制器参数CRTL获取476个PSD系数,记作PSD=Q(CRTL),其中,Q为常数映射。
下面详细介绍步骤S130:
作为上述面部骨骼绑定方法的一种可选实施方式,步骤S130采用第一控制器参数计算面部骨骼位置,获取第一面部Mesh网格顶点位置,包括:采用线性混合蒙皮LBS以及第一控制器参数计算面部骨骼位置,获取第一面部Mesh网格顶点位置。该实施方式例如:
第一面部Mesh网格顶点位置是指根据第一控制器参数和第一绑定结果对mesh顶点位置进行计算后所获得的位置信息,线性混合蒙皮LBS采用如下公式计算第一面部Mesh网格顶点位置:
Figure BDA0004140839170000101
其中,Mi为所计算出的面部mesh网格顶点位置;Wij为第j根骨骼与第i个mesh顶点的绑定权重;Pi为在初始状态下的mesh点位置;Rj为初始状态下骨骼的旋转量;Tj为初始状态下骨骼的平移量;B为面部骨骼数量。
需要指出的是,Mi和Pi均是在世界坐标系下的全局表示,Tj和Rj由第j根骨骼的变换矩阵Bone_mesh拆解获得,变换矩阵Bone_mesh的获取方法为:
以采用Metahuman软件进行三维建模为例,在获取PSD系数和CRTL系数后,将其组合记作Input,根据数学关系映射,可以建立面部骨骼与骨骼控制器之间的数学表达式:
Bone_delta=D*Input
其中,D为采用Metahuman软件进行角色建模时所获得的DNA系数矩阵,D∈RB*9×C;Input为PSD系数和CRTL系数的组合矩阵,Input∈RC×1;B为面部骨骼数量,C为PSD系数和CRTL系数的数量和;B*9×C中的常数9表示每根骨骼具有9个可编辑量,包括三个位移量translationX、translationY和translationZ;三个旋转量RotationX、RotationY和RotationZ;以及三个尺度ScaleX、ScaleY和scaleZ;
上述表达式中的Input参数得到的是骨骼Bone_delta相对于初始绑定的局部变化量,根据骨骼父子关系,更新每根骨骼的全局变化量;
用于表征具有父子关系的骨骼之间变化量关系的表达式为:
Figure BDA0004140839170000111
其中,Bone_global表示骨骼的全局变换矩阵;Bone_parent_global表示当前骨骼的父骨骼的全局变换矩阵;Bone_local表示骨骼的局部变换矩阵;Bone_delta表示由Input所计算的骨骼局部变换矩阵;运算符号
Figure BDA0004140839170000112
表示将矩阵Bone_local和矩阵Bone_delta进行叠加处理;
然后计算骨骼在mesh空间中的变换矩阵:
Bone_mesh=Bone_global*BindInverseMatrix
其中,BindInverseMatrix为骨骼空间到mesh空间的转化矩阵,可以从所存储的.fbx文件中读取。
下面详细介绍步骤S140:
作为上述面部骨骼绑定方法的一种可选实施方式,步骤S140根据第一面部Mesh网格顶点位置、面部mesh网格数据以及第一控制器参数对第一绑定结果进行优化,获得第二绑定结果,包括:根据第一面部Mesh网格顶点位置以及面部mesh网格数据,优化第一控制器参数,获取第二控制器参数;采用第二控制器参数计算面部骨骼位置,获取第二面部Mesh网格顶点位置;根据第二面部Mesh网格顶点位置以及面部mesh网格数据,优化所述第一绑定结果,获取第二绑定结果。该实施方式例如:固定骨骼与面部mesh网格数据中顶点的绑定权重、在初始状态下骨骼的旋转量和平移量等第一绑定结果,根据第一面部Mesh网格顶点位置以及面部mesh网格数据,对第一控制器参数进行优化;采用第二控制器参数计算面部骨骼位置,获取第二面部Mesh网格顶点位置;固定第二控制器参数,根据第二面部Mesh网格顶点位置以及面部mesh网格数据,对第一绑定结果进行优化,获得第二绑定结果。
作为上述部骨骼绑定方法的一种可选实施方式,步骤S140采用第二控制器参数计算面部骨骼位置,获取第二面部Mesh网格顶点位置,包括:采用线性混合蒙皮LBS以及第二控制器参数计算面部骨骼位置,获取第二面部Mesh网格顶点位置。具体实施方式请参见上述步骤S130中对第一面部Mesh网格顶点位置的描述。
作为上述部骨骼绑定方法的一种可选实施方式,步骤S140根据第一面部Mesh网格顶点位置以及面部mesh网格数据,优化第一控制器参数,获取第二控制器参数,包括:以第一面部Mesh网格顶点位置与面部mesh网格数据中面部骨骼真实位置之间的偏差最小为优化目标,优化第一控制器参数,获取第二控制器参数。该实施方式例如:
将面部mesh网格数据作为目标量V,假设mesh顶点数量为N,对于每一帧动画图像,求解:
Figure BDA0004140839170000131
其中,Mi为第一面部Mesh网格顶点位置;Vi,t为在t帧下的面部mesh网格数据;
可以理解的是,可以采用最优化方法对上式进行求解,从而求得优化后的每一帧的控制器参数Input,即第二控制器参数。
作为上述面部骨骼绑定方法的一种可选实施方式,步骤S140优化所述第一绑定结果,获取第二绑定结果,包括:以第二面部Mesh网格顶点位置与面部mesh网格数据中的面部骨骼真实位置之间的偏差最小为目标,优化第一绑定结果,获取第二绑定结果。该实施方式例如:
以对待构建角色初始状态下面部骨骼位置进行优化为例,优化方法为:
Figure BDA0004140839170000132
Tj,t=G(tj,0+ctj,t)
其中,B为骨骼数量;T为总帧数;tj,0表示第j根骨骼在初始状态下的局部位置;ctj,t表示在t帧,即t时刻骨骼控制器所产生的局部位置变化量;d()表示计算相似度;G()表示根据父子关系将面部骨骼局部位置转换为全局位置;
可以采用例如梯度下降法等求解方法,求解上式的最优解,完成对第一绑定结果中待构建角色初始状态下面部骨骼位置的优化。
由于面部骨骼之间具有层级关系,即父骨骼的变化会影响子骨骼的变化,因此需要按照骨骼的深度层级,对骨骼绑定结果进行分层优化。
作为上述面部骨骼绑定方法的一种可选实施方式,步骤S140根据第一面部Mesh网格顶点位置、面部mesh网格数据以及第一控制器参数对第一绑定结果进行优化,获得第二绑定结果,包括:获取面部骨骼在骨骼树中所处深度层级,根据深度层级、第一面部Mesh网格顶点位置、面部mesh网格数据以及第一控制器参数对第一绑定结果进行分层优化,获取第二绑定结果。
作为上述面部骨骼绑定方法的一种可选实施方式,步骤S140优化第一绑定结果,获取第二绑定结果,包括:对第一绑定结果中的面部骨骼与面部mesh网格数据顶点的权重、待构建角色初始状态下面部骨骼位置以及待构建角色初始状态下面部骨骼的旋转量中至少一项进行优化,获取第二绑定结果。该实施方式例如:
对待构建角色初始状态下面部骨骼位置进行优化的方法请参见上述内容;
对待构建角色初始状态下面部骨骼的旋转量进行优化的方法为:
Figure BDA0004140839170000141
Rj,t=G(Rtransform(eulerj,0+ceulerj,t))
Rtransform(x,y,z)=Rz(z)*Ry(y)*Rx(x)
其中,eulerj,0表示第j根骨骼在初始状态下面部骨骼局部旋转欧拉角;ceulerj,t表示在t帧,即t时刻骨骼控制器所产生的面部骨骼局部旋转欧拉角变化量;Rtransform()表示将欧拉角转换为旋转矩阵,Rz、Ry和Rx分别为z轴元素旋转矩阵、y轴元素旋转矩阵和x轴元素旋转矩阵;
可以采用例如梯度下降法等求解方法,求解上式的最优解,完成对第一绑定结果中待构建角色初始状态下面部骨骼旋转量的优化。
另外同理,若需要对第一绑定结果中的面部骨骼与面部mesh网格数据顶点的权重进行优化,则可以直接以权重为自变量代入上述优化公式,并通过例如梯度下降法等求解方法进行求解,完成对第一绑定结果中的面部骨骼与面部mesh网格数据顶点的权重的优化。
另外,需要指出的是,若采用Metahuman软件进行三维建模,在获取第二绑定结果后,还可以对DNA系数进行微调,具体方法为:
对DNA系数进行微调,即对矩阵D进行微调,矩阵D为一个稀疏矩阵,包含865*9行和734列,其中每一行均可以表示为:
Y1=a1x1+a2x2+a3x3
其中,Y1与哪些x有关是恒定的,微调DNA系数是指调整系数a的值,因此将微调问题转化为线性回归问题,即转化为865*9个方程求解。
根据稀疏性,可以将方程分成多个方程组,提高计算效率。例如,Y1与x1、x2和x3有关,将所有与x1、x2和x3有关的Y找出,再将这些Y的x列出,直到Y的集合与x的集合能囊括所有集合中元素构成的方程式,则构成一组。Y代表的就是某个骨骼的delta量中的某个属性,即translationX、translationY、translationZ、RotationX、RotationY、RotationZ、ScaleX、ScaleY和scaleZ中的一项,x表示的就是CRTL系数和PSD系数。
制作258个BS(Blendshape,一组用于组成整体表情的基准,可以使用这组基准通过线性组合来计算整体的表情),对应的就是相应控制器值为1的mesh。BS可以是4D拍摄得到,也可以是人为制作的。依据上述优化骨骼位置和旋转量的方法,得到每一个BS对应的所有Y,在稀疏性分组后,利用线性回归或者最小二乘法求的系数a={a1,a2,a3…},得到最终的DNA系数D。
请参见图2,基于同一发明构思,本申请实施例中还提供一种面部骨骼绑定装置200,包括:
初始绑定模块210,用于在待构建角色初始状态下,对面部骨骼与面部mesh网格数据进行绑定,获取第一绑定结果;
骨骼控制器加载模块220,用于加载历史骨骼控制器以及所述历史骨骼控制器的第一控制器参数;
第一计算模块230,用于采用所述第一控制器参数计算所述面部骨骼位置,获取第一面部Mesh网格顶点位置;
绑定结果优化模块240,用于根据所述第一面部Mesh网格顶点位置、所述面部mesh网格数据以及所述第一控制器参数对所述第一绑定结果进行优化,获得第二绑定结果。
作为上述面部骨骼绑定装置的一种可选实施方式,绑定结果优化模块240包括:
控制器参数优化单元,用于根据所述第一面部Mesh网格顶点位置以及所述面部mesh网格数据,优化所述第一控制器参数,获取第二控制器参数;
第二计算单元,用于采用所述第二控制器参数计算所述面部骨骼位置,获取第二面部Mesh网格顶点位置;
绑定结果优化单元,用于根据所述第二面部Mesh网格顶点位置以及所述面部mesh网格数据,优化所述第一绑定结果,获取第二绑定结果。
作为上述面部骨骼绑定装置的一种可选实施方式,控制器参数优化单元具体用于:以所述第一面部Mesh网格顶点位置与所述面部mesh网格数据中面部骨骼真实位置之间的偏差最小为优化目标,优化所述第一控制器参数,获取第二控制器参数。
作为上述面部骨骼绑定装置的一种可选实施方式,绑定结果优化单元具体用于:以所述第二面部Mesh网格顶点位置与所述面部mesh网格数据中的面部骨骼真实位置之间的偏差最小为目标,优化所述第一绑定结果,获取第二绑定结果。
作为上述面部骨骼绑定装置的一种可选实施方式,面部骨骼绑定装置200还包括:
骨骼深度层级获取模块,用于获取所述面部骨骼在骨骼树中所处深度层级;
绑定结果优化模块240具体用于:根据所述深度层级、所述第一面部Mesh网格顶点位置、所述面部mesh网格数据以及所述第一控制器参数对所述第一绑定结果进行分层优化,获取第二绑定结果。
作为上述面部骨骼绑定装置的一种可选实施方式,第一计算模块230具体用于:采用线性混合蒙皮LBS以及计算第一控制器参数计算所述面部骨骼位置,获取第一面部Mesh网格顶点位置;
第二计算单元具体用于:采用线性混合蒙皮LBS以及所述第二控制器参数计算所述面部骨骼位置,获取第二面部Mesh网格顶点位置。
作为上述面部骨骼绑定装置的一种可选实施方式,绑定结果优化模块240至少包括以下单元中至少一项:
权重优化单元,用于对第一绑定结果中的第一绑定结果中的面部骨骼与面部mesh网格数据顶点的权重进行优化;
骨骼位置优化单元,用于对第一绑定结果中的待构建角色初始状态下面部骨骼位置进行优化;
骨骼旋转量优化单元,用于对第一绑定结果中的待构建角色初始状态下面部骨骼旋转量进行优化。
图3为本申请实施例提供的一种电子设备的示意图。参照图3,电子设备300包括:处理器310、存储器320以及通信接口330,这些组件通过通信总线340和/或其他形式的连接机构(未示出)互连并相互通讯。
其中,存储器320包括一个或多个(图中仅示出一个),其可以是,但不限于,随机存取存储器(Random Access Memory,简称RAM),只读存储器(Read Only Memory,简称ROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,简称EEPROM)等。处理器310以及其他可能的组件可对存储器320进行访问,读和/或写其中的数据。
处理器310包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器310可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、微控制单元(Micro Controller Unit,简称MCU)、网络处理器(Network Processor,简称NP)或者其他常规处理器;还可以是专用处理器,包括数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application SpecificIntegrated Circuits,简称ASIC)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
通信接口330包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互。例如,通信接口330可以是以太网接口;可以是移动通信网络接口,例如3G、4G、5G网络的接口;还是可以是具有数据收发功能的其他类型的接口。
在存储器320中可以存储一个或多个计算机程序指令,处理器310可以读取并运行这些计算机程序指令,以实现本申请实施例提供的面部骨骼绑定方法以及其他期望的功能。
可以理解,图3所示的结构仅为示意,电子设备300还可以包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。图3中所示的各组件可以采用硬件、软件或其组合实现。例如,电子设备300可以是单台服务器(或其他具有运算处理能力的设备)、多台服务器的组合、大量服务器的集群等,并且,既可以是物理设备也可以是虚拟设备。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机的处理器读取并运行时,执行本申请实施例提供的面部骨骼绑定方法。例如,计算机可读存储介质可以实现为图3中电子设备300中的存储器320。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种面部骨骼绑定方法,其特征在于,包括:
在待构建角色初始状态下,对面部骨骼与面部mesh网格数据进行绑定,获取第一绑定结果;
加载历史骨骼控制器以及所述历史骨骼控制器的第一控制器参数;
采用所述第一控制器参数计算所述面部骨骼位置,获取第一面部Mesh网格顶点位置;
根据所述第一面部Mesh网格顶点位置、所述面部mesh网格数据以及所述第一控制器参数对所述第一绑定结果进行优化,获得第二绑定结果。
2.根据权利要求1所述的面部骨骼绑定方法,其特征在于,所述根据所述第一面部Mesh网格顶点位置、所述面部mesh网格数据以及所述第一控制器参数对所述第一绑定结果进行优化,获得第二绑定结果,包括:
根据所述第一面部Mesh网格顶点位置以及所述面部mesh网格数据,优化所述第一控制器参数,获取第二控制器参数;
采用所述第二控制器参数计算所述面部骨骼位置,获取第二面部Mesh网格顶点位置;
根据所述第二面部Mesh网格顶点位置以及所述面部mesh网格数据,优化所述第一绑定结果,获取第二绑定结果。
3.根据权利要求2所述的面部骨骼绑定方法,其特征在于,所述根据所述第一面部Mesh网格顶点位置以及所述面部mesh网格数据,优化所述第一控制器参数,获取第二控制器参数,包括:
以所述第一面部Mesh网格顶点位置与所述面部mesh网格数据中面部骨骼真实位置之间的偏差最小为优化目标,优化所述第一控制器参数,获取第二控制器参数。
4.根据权利要求2所述的面部骨骼绑定方法,其特征在于,所述优化所述第一绑定结果,获取第二绑定结果,包括:
以所述第二面部Mesh网格顶点位置与所述面部mesh网格数据中的面部骨骼真实位置之间的偏差最小为目标,优化所述第一绑定结果,获取第二绑定结果。
5.根据权利要求1所述的面部骨骼绑定方法,其特征在于,所述根据所述第一面部Mesh网格顶点位置、所述面部mesh网格数据以及所述第一控制器参数对所述第一绑定结果进行优化,获得第二绑定结果,包括:
获取所述面部骨骼在骨骼树中所处深度层级,根据所述深度层级、所述第一面部Mesh网格顶点位置、所述面部mesh网格数据以及所述第一控制器参数对所述第一绑定结果进行分层优化,获取第二绑定结果。
6.根据权利要求2所述的面部骨骼绑定方法,其特征在于,所述采用所述第一控制器参数计算所述面部骨骼位置,获取第一面部Mesh网格顶点位置,包括:
采用线性混合蒙皮LBS以及所述第一控制器参数计算所述面部骨骼位置,获取第一面部Mesh网格顶点位置;
所述采用所述第二控制器参数计算所述面部骨骼位置,获取第二面部Mesh网格顶点位置,包括:
采用线性混合蒙皮LBS以及所述第二控制器参数计算所述面部骨骼位置,获取第二面部Mesh网格顶点位置。
7.根据权利要求1所述的面部骨骼绑定方法,其特征在于,所述优化所述第一绑定结果,获取第二绑定结果,包括:
对所述第一绑定结果中的面部骨骼与面部mesh网格数据顶点的权重、待构建角色初始状态下面部骨骼位置以及待构建角色初始状态下面部骨骼的旋转量中至少一项进行优化,获取第二绑定结果。
8.一种面部骨骼绑定装置,其特征在于,包括:
初始绑定模块,用于在待构建角色初始状态下,对面部骨骼与面部mesh网格数据进行绑定,获取第一绑定结果;
骨骼控制器加载模块,用于加载历史骨骼控制器以及所述历史骨骼控制器的第一控制器参数;
第一计算模块,用于采用所述第一控制器参数计算所述面部骨骼位置,获取第一面部Mesh网格顶点位置;
绑定结果优化模块,用于根据所述第一面部Mesh网格顶点位置、所述面部mesh网格数据以及所述第一控制器参数对所述第一绑定结果进行优化,获得第二绑定结果。
9.一种电子设备,其特征在于,包括:处理器、存储器和通信总线,其中,所述处理器和所述存储器通过所述通信总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1~7中任一项所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令被计算机运行时,使所述计算机执行如权利要求1~7中任一项所述的方法。
CN202310289209.3A 2023-03-22 2023-03-22 一种面部骨骼绑定方法、装置、电子设备及存储介质 Pending CN116310002A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310289209.3A CN116310002A (zh) 2023-03-22 2023-03-22 一种面部骨骼绑定方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310289209.3A CN116310002A (zh) 2023-03-22 2023-03-22 一种面部骨骼绑定方法、装置、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116310002A true CN116310002A (zh) 2023-06-23

Family

ID=86786816

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310289209.3A Pending CN116310002A (zh) 2023-03-22 2023-03-22 一种面部骨骼绑定方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116310002A (zh)

Cited By (1)

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

Cited By (2)

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

Similar Documents

Publication Publication Date Title
US11302064B2 (en) Method and apparatus for reconstructing three-dimensional model of human body, and storage medium
CN109993819B (zh) 虚拟角色的蒙皮方法及装置、电子设备
CN105184861B (zh) 一种自动人体三维重建系统
CN114067057A (zh) 一种基于注意力机制的人体重建方法、模型、装置
CN116310076A (zh) 基于神经辐射场的三维重建方法、装置、设备及存储介质
US20150127301A1 (en) Updating A CAD Model To Reflect Global Or Local Shape Changes
CN116310002A (zh) 一种面部骨骼绑定方法、装置、电子设备及存储介质
CN113140034B (zh) 基于房间布局的全景新视角生成方法、装置、设备和介质
CN112699791A (zh) 虚拟对象的脸部生成方法、装置、设备和可读存储介质
CN103268634A (zh) 一种外存模型基于顶点聚类的快速并行自适应简化方法
CN109472861A (zh) 交互式树木建模方法、模型生成方法、系统及仿生树木
CN113780446A (zh) 一种可重参数化的轻量级体素深度学习方法
CN111369662A (zh) Ct图像中血管的三维模型重建方法及系统
CN110415341A (zh) 一种三维人脸模型的生成方法、装置、电子设备及介质
CN116152442B (zh) 一种三维点云模型生成方法及装置
CN110532670B (zh) 一种适分析样条实体模型构建方法及系统
CN108090953A (zh) 感兴趣区域重建方法、系统以及计算机可读存储介质
CN116766596A (zh) 人物模型打印方法、装置、电子设备及存储介质
CN113178000B (zh) 三维重建方法、装置、电子设备及计算机存储介质
CN115205411A (zh) 一种遮挡体生成方法、装置、电子设备和介质
CN115049764A (zh) Smpl参数预测模型的训练方法、装置、设备及介质
CN114419255A (zh) 融合真实人脸的三维人头模型生成方法、装置、电子设备及存储介质
CN116912433B (zh) 三维模型骨骼绑定方法、装置、设备及存储介质
CN111445585B (zh) 基于对偶凸包域的三维形状对应方法及装置
CN112819961B (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