BlendShape生成方法、装置、电子设备及介质与流程

未命名 09-07 阅读:168 评论:0

blendshape生成方法、装置、电子设备及介质
技术领域
1.本技术涉及计算机动画技术领域,具体而言,涉及一种blendshape生成方法、装置、电子设备及介质。


背景技术:

2.融合形变blendshape是一种使基础表情过渡到目标表情的形变,是一种表情动画制作过程中的重要技术。
3.相关技术在经过3d扫描得到角色的一系列扫描表情后,需要花费大量的时间在拆分表情上面,经过拆分后的blendshape再由绑定师进行绑定并添加控制器,动画师再基于控制器进行动画制作,从而导致blendshape生成效率较低。


技术实现要素:

4.本技术实施例的目的在于提供一种blendshape生成方法、装置、电子设备及介质,用以改善blendshape生成效率。
5.第一方面,本技术实施例提供一种blendshape生成方法,所述方法包括:获取目标角色的真实表情;确定参考角色迁移到所述目标角色的迁移blendshape;根据所述迁移blendshape,计算所述目标角色的组合表情;以最小化第一目标函数为优化目标,对所述迁移blendshape进行优化,获取第一目标blendshape;所述第一目标函数用以指示所述组合表情与所述真实表情之间的偏差。
6.在上述方案的实现过程中,该方法首先通过参考角色来获取迁移blendshape,然后再对迁移blendshape进行优化,从而实现blendshape的自动生成,大大提高blendshape的生成效率,进而提高面部动画制作效率。
7.在第一方面的一种实现方式中,在所述以最小化第一目标函数为优化目标,对所述迁移blendshape进行优化,获取第一目标blendshape之后,所述方法还包括:计算所述迁移blendshape的mask数组;根据所述mask数组,以最小化第二目标函数为优化目标,对所述第一目标blendshape进行优化,获取第二目标blendshape;所述第二目标函数用于对所述第一目标blendshape进行拉普拉斯正则优化。
8.在上述方案的实现过程中,通过对第一目标blendshape进行拉普拉斯正则优化,从而获取保持有bsi语义的第二目标blendshape,有利于改善上述blendshape生成方法所生成的blendshape的效果。
9.在第一方面的一种实现方式中,在所述根据所述mask数组,以最小化第二目标函数为优化目标,对所述第一目标blendshape进行优化,获取第二目标blendshape之后,所述方法还包括:采用所述mask数组,对所述第二目标blendshape进行优化,获取第三目标blendshape。
10.在上述方案的实现过程中,通过采用mask数组对第二目标blendshape进行优化,从而获取语义更加接近bsi的第三目标blendshape,有利于进一步改善上述blendshape生
成方法所生成的blendshape的效果。
11.在第一方面的一种实现方式中,在采用所述mask数组,对所述第二目标blendshape进行优化,获取第三目标blendshape之后,所述方法还包括:根据所述mask数组,以最小化第三目标函数为优化目标,对所述第三目标blendshape进行优化,获取第四目标blendshape;所述第三目标函数用于对所述第三目标blendshape进行拉普拉斯正则优化。
12.在上述方案的实现过程中,通过对第三目标blendshape再次进行拉普拉斯正则优化,从而获取语义更加接近bsi的第四目标blendshape,有利于改善上述blendshape生成方法所生成的blendshape的效果。
13.在第一方面的一种实现方式中,所述第一目标函数,包括:
14.用以指示所述组合表情与所述真实表情之间顶点偏差的第一偏差项;
15.和/或用以指示所述组合表情与所述真实表情之间形变梯度偏差的第二偏差项;
16.和/或用以指示所述组合表情与所述真实表情之间位移变形偏差的第三偏差项;
17.和/或用以指示所述组合表情与所述真实表情之间拉普拉斯形变偏差的第四偏差项。
18.在上述方案的实现过程中,第一目标函数可以包括第一偏差项、第二偏差项、第三偏差项和第四偏差项中至少一项,一方面,使得上述blendshpae生成方法能够适用于更多的应用场景,提高了上述blendshape生成方法的适应性;另一方面,在对迁移blendshape进行优化时除顶点偏差外,还可以增加形变梯度正则、位移距离正则、拉普拉斯形变正则,有利于改善上述blendshape生成方法所生成blendshape的效果。
19.在第一方面的一种实现方式中,所述确定参考角色迁移到所述目标角色的迁移blendshape,包括:获取参考角色以及所述参考角色静止姿态下mesh和骨骼点位置的绑定、所述参考角色的自然表情和所述参考角色的参考blendshape;根据所述参考角色、所述参考角色静止姿态下mesh和骨骼点位置的绑定和所述参考角色的自然表情,确定所述目标角色静止姿态下的骨骼点位置;根据所述参考角色静止姿态下mesh和骨骼点位置的绑定以及所述目标角色静止姿态下的骨骼点位置,确定所述目标角色静止姿态下mesh和骨骼点位置的绑定;根据所述参考blendshape,确定参考角色迁移到所述目标角色的迁移blendshape。
20.在上述方案的实现过程中,相较于相关技术中直接采用人工方式构建目标角色blendshape的方式,上述方案通过参考角色来获取目标角色的mesh与骨骼点的绑定以及目标角色的迁移blendshape,一方面,实现了目标角色迁移blendshape的自动获取,提高了blendshape的生成效率;另一方面,在参考角色的基础上获取目标角色的迁移blendshape,有利于改善blendshape的生成效果。
21.在第一方面的一种实现方式中,所述根据所述参考角色、所述参考角色静止姿态下mesh和骨骼点位置的绑定和所述参考角色的自然表情,确定所述目标角色静止姿态下的骨骼点位置,包括:针对所述参考角色静止姿态下的各个骨骼点,确定与该骨骼点位置之间距离最短的所述参考角色的自然表情的第一顶点以及所述第一顶点的顶点索引;计算所述第一顶点与所述骨骼点位置之间的相对位置变化量;在所述真实表情中,根据所述第一顶点的所述顶点索引,确定与所述第一顶点所对应的第二顶点;根据所述第二顶点和所述相对位置变化量,确定所述目标角色静止姿态下的骨骼点位置;重复上述步骤,直至遍历所述
参考角色静止姿态下的各个骨骼点,获取所述目标角色静止姿态下所有骨骼点的骨骼点位置。
22.在上述方案的实现过程中,相较于直接获取用于参考角色的blendshape,上述方案通过参考角色静止姿态下mesh和骨骼点位置的绑定以及参考角色的自然表情确定目标角色静止姿态下的骨骼点位置,然后再根据作用于目标角色静止姿态下骨骼点上的位移和旋转所产生的形变获取用于目标角色的迁移blendshape,有利于进一步改善迁移blendshape的生成效果,从而使得后续优化出的目标blendshape也具有更好的效果。
23.第三方面,本技术实施例提供一种电子设备,包括:处理器、存储器和通信总线,其中所述处理器和所述存储器通过所述通信总线完成相互间的通信;所述存储器中存储有可被所述处理器执行的计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
24.第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被处理器读取并运行时,执行第一方面或第一方面的任意一种可能的实现方式提供的方法。
25.本技术的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术实施例了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
26.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
27.图1为本技术实施例提供的blendshape生成方法的流程示意图;
28.图2为本技术实施例提供的blendshape生成装置的结构示意图;
29.图3为本技术实施例提供的电子设备的结构示意图。
具体实施方式
30.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。以下实施例仅用于更加清楚地说明本技术的技术方案,因此只作为示例,而不能以此来限制本技术的保护范围。
31.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同;本文中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本技术;本技术的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。
32.在本技术实施例的描述中,技术术语“第一”“第二”等仅用于区别不同对象,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量、特定顺序或主次关系。在本技术实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
33.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包
含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
34.在本技术实施例的描述中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
35.目前,在例如游戏制作等领域中,大都是采用扫描、绑定、动画师调整的方式制作写实角色面部动画,在经过3d扫描得到写实角色的一系列扫描表情后,需要花费大量的时间在拆分表情上,然后由绑定师对经过拆分的blendshape进行绑定并添加控制器,再由动画师基于控制器进行动画制作,采用这种方式生成blendshape的效率较低,进而影响了面部动画制作效率。
36.基于此,本技术实施例提供一种blendshape生成方法,该方法首先通过参考角色来初步获取由参考角色迁移到目标角色的迁移blendshape,然后再对迁移blendshape进行优化,从而实现blendshape的自动生成,大大提高blendshape的生成效率,进而提高面部动画制作效率。
37.上述blendshape生成方法可以应用于采用blendshape进行面部动画制作的场景中。
38.请参见图1,本技术实施例提供一种blendshpae生成方法,该方法包括:
39.步骤s110:获取目标角色的真实表情;
40.步骤s120:确定参考角色迁移到目标角色的迁移blendshape;
41.步骤s130:根据迁移blendshape,计算目标角色的组合表情;
42.步骤s140:以最小化第一目标函数为优化目标,对迁移blendshape进行优化,获取第一目标blendshape,其中第一目标函数用以指示组合表情与真实表情之间的偏差。
43.在上述方案的实现过程中,该方法首先通过参考角色来获取迁移blendshape,然后再对迁移blendshape进行优化,从而实现blendshape的自动生成,大大提高blendshape的生成效率,进而提高面部动画制作效率。
44.下面分别详细介绍上述步骤s110至步骤s140:
45.首先,对步骤s110进行详细介绍:
46.可以理解的是,上述步骤s110中的目标角色是指待生成blendshape的真实演员所对应的动画角色。
47.目标角色真实表情的获取方法包括:
48.(1)采集演员的面部图像;
49.面部图像可以采用例如lightstage技术(光影舞台技术)来采集,lightstage技术是指通过相机阵列,以多角度、高精度照片既还原演员的三维结构,也获取演员面部的反射,以便在计算机中重建演员的3d模型;
50.可以理解的是,目标角色的真实表情可能不止一个,但在目标角色真实表情中存在一个真实表情的自然表情,其他表情的blendshape则可以由目标角色真实表情过渡到该表情的形变;
51.另外,可以理解的是,采用lightstage技术获取的一个演员表情的面部图像也可
能不止一个。
52.(2)对面部图像进行三维重建并对三维重建模型进行重拓扑;
53.可以采用三维重建算法对面部图像进行三维重建以获得演员面部的三维模型;当然,也可以采用例如reality capture、meshroom等三维重建软件对面部图像进行三维重建以获得演员面部的三维模型;
54.可以理解的是,经过三维重建后获得的三维模型是稠密的三维模型,由于稠密三维模型的拓扑是杂乱无章的,因此可以利用人脸非刚体注册算法对稠密的三维模型进行重拓扑;当然,也可以采用例如wrap4d等重拓扑软件实现对稠密三维模型的重拓扑,获取重拓扑后的真实表情低模;
55.(3)对重拓扑后的模型进行对齐操作;
56.对重拓扑后的真实表情低模进行对齐处理,使得模型满足以下约束:
57.a、模型中线的位置符合绑定要求;
58.b、在所有真实表情低模中不包含后续生成blendshape明显用不到的面部运动;
59.c、在所有真实表情低模中不包含不规则的面部运动。
60.需要指出的是,上述面部运动并非是指面部表情,可以理解的是,面部表情是经过一个或多个面部运动后形成的,上述面部运动则是指面部表情形成过程中的面部运动。
61.可以理解的是,可以采用人工对齐的方式对真实表情低模进行对齐处理,从而使得后续生成的blendshape满足面部动画制作需求。
62.下面对步骤s120进行详细描述:
63.步骤s120中的参考角色是指现有的动画角色,可以是从例如metahuman等相关软件下载的角色,也可以是原有的已经生成blendshape的角色。本技术实施例通过参考角色来获取目标角色的迁移blendshape,大大提高了blendshape的生成效率。
64.作为上述blendshape生成方法的一种可选实施方式,步骤s120确定参考角色迁移到目标角色的迁移blendshape,包括:获取参考角色以及参考角色静止姿态下mesh和骨骼点位置的绑定、参考角色的自然表情和参考角色的参考blendshape;根据参考角色、参考角色静止姿态下mesh和骨骼点位置的绑定和参考角色的自然表情,确定目标角色静止姿态下的骨骼点位置;根据参考角色静止姿态下mesh和骨骼点位置的绑定以及目标角色静止姿态下的骨骼点位置,确定目标角色静止姿态下mesh和骨骼点位置的绑定;根据参考blendshape,确定参考角色迁移到目标角色的迁移blendshape。
65.将从metahuman软件中下载metahuman角色作为参考角色,从metahuman软件中所下载的是metahuman角色的mesh与骨骼点的绑定;可以通过将metahuman角色导入maya软件,在指定参考角色的自然表情后,通过软件中的控制器来生成该参考角色的参考blendshape;
66.然后,根据参考角色、参考角色静止姿态下mesh和骨骼点位置的绑定和参考角色的自然表情,确定目标角色静止姿态下的骨骼点位置;
67.在获取目标角色静止姿态下的骨骼点位置后,可以将metahuman角色的mesh与骨骼点的绑定拷贝给目标角色,从而获取目标角色静止姿态下mesh和骨骼点位置的绑定;
68.可以理解的是,上述绑定是指mesh与骨骼点位置之间的绑定,可以利用线性混合蒙皮算法lbs获得最终的模型位置,lbs算法的计算公式为:
[0069][0070]
其中,表示第i个顶点的形变结果;|b|表示骨骼点数量;w
ij
表示第j个骨骼点对第i个顶点的影响权重;pi表示静止姿势下第i个顶点的位置;和分别表示第j个骨骼点在第t个配置下的旋转矩阵和平移向量;
[0071]
根据上述公式可知,一个参考blendshape对应一组骨骼点的旋转矩阵和位移向量,将旋转矩阵和位移向量作用到目标角色的静止姿态上,即可获得由参考角色迁移到目标角色的迁移blendshape。
[0072]
在上述方案的实现过程中,相较于相关技术中直接采用人工方式构建目标角色blendshape的方式,上述方案通过参考角色来获取目标角色的mesh与骨骼点的绑定以及目标角色的迁移blendshape,一方面,实现了目标角色迁移blendshape的自动获取,提高了blendshape的生成效率;另一方面,在参考角色的基础上获取目标角色的迁移blendshape,有利于改善blendshape的生成效果。
[0073]
作为上述blendshape生成方法的一种可选实施方式,根据参考角色、参考角色静止姿态下mesh和骨骼点位置的绑定和参考角色的自然表情,确定目标角色静止姿态下的骨骼点位置,包括:针对参考角色静止姿态下的各个骨骼点,确定与该骨骼点位置之间距离最短的参考角色的自然表情的第一顶点以及第一顶点的顶点索引;计算第一顶点与骨骼点位置之间的相对位置变化量;在真实表情中,根据第一顶点的顶点索引,确定与第一顶点所对应的第二顶点;根据第二顶点和相对位置变化量,确定目标角色静止姿态下的骨骼点位置;重复上述步骤,直至遍历参考角色静止姿态下的各个骨骼点,获取目标角色静止姿态下所有骨骼点的骨骼点位置。
[0074]
可以理解的是,在参考角色表情和目标角色表情中均具有若干顶点,每个顶点均具有顶点索引,并且参考角色自然表情和目标角色自然表情中处于相同位置的顶点的顶点索引相同,即可以通过顶点索引分别在参考角色表情和目标角色表情中分别确定顶点。可以理解的是,上述顶点索引可以为顶点所对应的编号,或者其他能够用于识别唯一顶点的标识。
[0075]
可以理解的是,可以通过控制第二顶点移动相对位置变化量,从而获取目标角色静止姿态下的骨骼点位置。
[0076]
在上述方案的实现过程中,相较于直接获取用于参考角色的blendshape,上述方案通过参考角色静止姿态下mesh和骨骼点位置的绑定以及参考角色的自然表情确定目标角色静止姿态下的骨骼点位置,然后再根据作用于目标角色静止姿态下骨骼点上的位移和旋转所产生的形变获取用于目标角色的迁移blendshape,有利于进一步改善迁移blendshape的生成效果,从而使得后续优化出的目标blendshape也具有更好的效果。
[0077]
下面详细介绍步骤s130:
[0078]
令进行重拓扑并对齐后所获取的目标角色的真实表情为e,其维度为[,3],n表示表情顶点个数;目标角色的自然表情为b,其维度为[n,3];真实表情e所要拆分出的目标blendshape为{obs1,obs2,obs3,

,obsi,

,obs
nb
},nb表示要拆分出的blendshape的个数,
obsi的维度为[n,3],其对应的系数为{w1,w2,w3,

,wi,

,w
nb
};迁移blendshape为{bs1,bs2,bs3,

,bsi,

,bs
nb
},目标角色的组合表情e

的计算方法为:
[0079][0080]
需要指出的是,上述所要拆分出的目标blendshapeobsi及其系数wi均是通过人工设置的。从而使得拆分出的目标blendshape能够满足人工预期。
[0081]
下面详细介绍步骤s140:
[0082]
作为上述blendshape生成方法的一种可选实施方式,步骤s140中的第一目标函数,包括:
[0083]
用以指示组合表情与真实表情之间顶点偏差的第一偏差项;
[0084]
和/或用以指示组合表情与真实表情之间形变梯度偏差的第二偏差项;
[0085]
和/或用以指示组合表情与真实表情之间位移变形偏差的第三偏差项;
[0086]
和/或用以指示组合表情与真实表情之间拉普拉斯形变偏差的第四偏差项。
[0087]
下面分别介绍上述第一偏差项至第四偏差项:
[0088]
(1)第一偏差项
[0089]
第一偏差项的计算方法为:
[0090][0091]
其中,表示组合表情与真实表情之间顶点偏差,的计算方法可以为:
[0092][0093]
(2)第二偏差项
[0094]
第二偏差项的计算方法为:
[0095][0096]
其中,g

表示进行形变梯度操作,将其作用在obsi会获得obsi对应的形变梯度;表示迁移blendshape,即bsi的形变梯度;obsi为第一目标blendshape。
[0097]
上述第二偏差项用以指示组合表情与真实表情之间形变梯度偏差,形变梯度偏差用于限制obsi具有与bsi相似的形状变形;
[0098]
(3)第三偏差项
[0099]
第三偏差项的计算方法为:
[0100]
ed=‖obs
i-bsi‖2[0101]
上述第三偏差项用以指示组合表情与真实表情之间位移变形偏差,位移形变偏差用于限制obsi具有与bsi相似的位移变形;
[0102]
(4)第四偏差项
[0103]
第四偏差项的计算方法为:
[0104]el
=‖lobs
i-δ
*
‖2[0105]
其中,l表示laplace矩阵;δ
*
表示bsi的微分坐标;
[0106]
上述第四偏差项用以指示组合表情与真实表情之间拉普拉斯形变偏差,拉普拉斯
形变偏差用于限制obsi具有与bsi相近的微分坐标。
[0107]
可选地,上述第一目标函数可以包括第一偏差项、第二偏差项、第三偏差项和第四偏差项,此时,第一目标函数的计算方法为:
[0108][0109]
其中,λd、λr和λ
l
分别为位移距离正则项系数、形变梯度正则项系数和拉普拉斯正则项系数,三个正则项系数可以通过线性稀疏求解包进行求解获得。
[0110]
在上述方案的实现过程中,第一目标函数可以包括第一偏差项、第二偏差项、第三偏差项和第四偏差项中至少一项,一方面,使得上述blendshpae生成方法能够适用于更多的应用场景,提高了上述blendshape生成方法的适应性;另一方面,在对迁移blendshape进行优化时除顶点偏差外,还可以增加形变梯度正则、位移距离正则、拉普拉斯形变正则,有利于改善上述blendshape生成方法所生成blendshape的效果。
[0111]
作为上述blendshape生成方法的一种可选实施方式,在步骤s140以最小化第一目标函数为优化目标,对迁移blendshape进行优化,获取第一目标blendshape之后,上述blendshape方法还包括:
[0112]
步骤s150:计算迁移blendshape的mask数组;
[0113]
步骤s160:根据所述mask数组,以最小化第二目标函数为优化目标,对所述第一目标blendshape进行优化,获取第二目标blendshape;所述第二目标函数用于对所述第一目标blendshape进行拉普拉斯正则优化。
[0114]
可以理解的是,上述步骤s150中的mask数组可以为一个一维数组,其维度与自然表情的顶点数一致,数组中存储的是一组0~1之间的浮点数,其功能是:用于控制生成blendshape时控制blendshape变化的范围和幅度,数值为0的顶点表示在使用blendshape对表情进行过渡时该顶点不运动,数值大于0的顶点表示在使用blendshape对表情进行过渡时该顶点运动。每一个blendshape均对应有一个mask数组。
[0115]
上述步骤s150计算迁移blendshape的mask数组的方法可以为:
[0116]
确定mask的范围,将每个迁移blendshape与目标角色自然表情作差,确定哪些顶点进行了运动,并获取这些顶点的顶点索引,并将运动顶点的顶点权重设置为1,而未运动顶点的权重设置为0;
[0117]
绘制表情边缘部分的顶点权重,使得表情边缘的顶点运动进行渐变变化;可以理解的是,可以采用blender或者其他3d软件,通过人工方式绘制顶点权重,使得表情边缘的顶点运动是渐变变化的;
[0118]
获取绘制之后的顶点权重为迁移blendshape对应的mask数组。
[0119]
步骤s160中的第二目标函数的计算方法可以为:
[0120][0121]
其中,λ1和λ2分别表示第一正则系数和第二正则系数;ind0表示maski中权重小于预设权重阈值的顶点的顶点索引;ind1表示maski中权重大于预设权重阈值的顶点的顶点索引;oobsi表示第二目标blendshape;
[0122]
在上述方案的实现过程中,通过对第一目标blendshape进行拉普拉斯正则优化,从而获取保持有bsi语义的第二目标blendshape,有利于改善上述blendshape生成方法所生成的blendshape的效果。
[0123]
作为上述blendshape生成方法的一种可选实施方式,在步骤s160根据mask数组,以最小化第二目标函数为优化目标,对第一目标blendshape进行优化,获取第二目标blendshape之后,上述blendshape生成方法还包括:
[0124]
步骤s170:采用mask数组,对第二目标blendshape进行优化,获取第三目标blendshape。
[0125]
上述步骤s170获取第三目标blendshape的方法可以为:
[0126]
ooobsi=oobsi×
maski[0127]
其中,ooobsi和oobsi分别为第三目标blendshape和第二目标blendshape;maski表示第i个blendshape对应的mask数组。
[0128]
在上述方案的实现过程中,通过采用mask数组对第二目标blendshape进行优化,从而获取语义更加接近bsi的第三目标blendshape,有利于进一步改善上述blendshape生成方法所生成的blendshape的效果。
[0129]
作为上述blendshape生成方法的一种可选实施方式,在步骤s160采用mask数组,对第二目标blendshape进行优化,获取第三目标blendshape之后,上述blendshape生成方法还包括:
[0130]
步骤s180:根据mask数组,以最小化第三目标函数为优化目标,对第三目标blendshape进行优化,获取第四目标blendshape;第三目标函数用于对第三目标blendshape进行拉普拉斯正则优化。
[0131]
步骤s180中第三目标函数的计算方法可以为:
[0132][0133]
在上述方案的实现过程中,通过对第三目标blendshape再次进行拉普拉斯正则优化,从而获取语义更加接近bsi的第四目标blendshape,有利于改善上述blendshape生成方法所生成的blendshape的效果。
[0134]
可以理解是,在实际应用中,可以对步骤s160、步骤s170和步骤s180进行循环迭代,在迭代预设次数后获得,语义更加接近b
□i的目标blendshape,从而有效改善上述blendshape生成方法所生成的blendshape的效果。
[0135]
请参见图2,基于同一发明构思,本技术实施例中还提供一种blendshape生成装置200,该装置包括:
[0136]
真实表情获取模块210,用于获取目标角色的真实表情;
[0137]
迁移blendshape计算模块220,用于确定参考角色迁移到目标角色的迁移blendshape;
[0138]
组合表情计算模块230,用于根据迁移blendshape,计算目标角色的组合表情;
[0139]
第一优化模块240,用于以最小化第一目标函数为优化目标,对迁移blendshape进行优化,获取第一目标blendshape;第一目标函数用以指示组合表情与真实表情之间的偏
差。
[0140]
可选地,上述blendshape生成装置200还包括:
[0141]
mask数组计算模块,用于计算迁移blendshape的mask数组;
[0142]
第二优化模块,用于根据mask数组,以最小化第二目标函数为优化目标,对第一目标blendshape进行优化,获取第二目标blendshape,其中第二目标函数用于对第一目标blendshape进行拉普拉斯正则优化。
[0143]
可选地,上述blendshape生成装置200还包括:
[0144]
第三优化模块,用于采用mask数组,对第二目标blendshape进行优化,获取第三目标blendshape。
[0145]
可选地,上述blendshape生成装置200还包括:
[0146]
第四优化模块,用于根据mask数组,以最小化第三目标函数为优化目标,对第三目标blendshape进行优化,获取第四目标blendshape,其中,第三目标函数用于对第三目标blendshape进行拉普拉斯正则优化。
[0147]
可选地,上述第一优化模块240所采用的第一目标函数包括:
[0148]
用以指示所述组合表情与所述真实表情之间顶点偏差的第一偏差项;
[0149]
和/或用以指示所述组合表情与所述真实表情之间形变梯度偏差的第二偏差项;
[0150]
和/或用以指示所述组合表情与所述真实表情之间位移变形偏差的第三偏差项;
[0151]
和/或用以指示所述组合表情与所述真实表情之间拉普拉斯形变偏差的第四偏差项。
[0152]
可选地,迁移blendshape计算模块220包括:
[0153]
参考角色获取单元,用于获取参考角色以及参考角色静止姿态下mesh和骨骼点位置的绑定、参考角色的自然表情和参考角色的参考blendshape;
[0154]
目标角色骨骼点位置获取单元,用于根据参考角色、参考角色静止姿态下mesh和骨骼点位置的绑定和参考角色的自然表情,确定目标角色静止姿态下的骨骼点位置;
[0155]
目标角色绑定获取单元,用于根据参考角色静止姿态下mesh和骨骼点位置的绑定以及目标角色静止姿态下的骨骼点位置,确定目标角色静止姿态下mesh和骨骼点位置的绑定;
[0156]
迁移blendshape确定单元,用于根据参考blendshape,确定参考角色迁移到目标角色的迁移blendshape。
[0157]
可选地,目标角色骨骼点位置获取单元具体用于:
[0158]
针对参考角色静止姿态下的各个骨骼点,确定与该骨骼点位置之间距离最短的参考角色的自然表情的第一顶点以及第一顶点的顶点索引;计算第一顶点与骨骼点位置之间的相对位置变化量;在真实表情中,根据第一顶点的顶点索引,确定与第一顶点所对应的第二顶点;根据第二顶点和相对位置变化量,确定目标角色静止姿态下的骨骼点位置;重复上述步骤,直至遍历参考角色静止姿态下的各个骨骼点,获取目标角色静止姿态下所有骨骼点的骨骼点位置。
[0159]
图3为本技术实施例提供的一种电子设备的示意图。参照图3,电子设备300包括:处理器310、存储器320以及通信接口330,这些组件通过通信总线340和/或其他形式的连接机构(未示出)互连并相互通讯。
[0160]
其中,存储器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进行访问,读和/或写其中的数据。
[0161]
处理器310包括一个或多个(图中仅示出一个),其可以是一种集成电路芯片,具有信号的处理能力。上述的处理器310可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、微控制单元(micro controller unit,简称mcu)、网络处理器(network processor,简称np)或者其他常规处理器;还可以是专用处理器,包括数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuits,简称asic)、现场可编程门阵列(field programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
[0162]
通信接口330包括一个或多个(图中仅示出一个),可以用于和其他设备进行直接或间接地通信,以便进行数据的交互。例如,通信接口330可以是以太网接口;可以是移动通信网络接口,例如3g、4g、5g网络的接口;还是可以是具有数据收发功能的其他类型的接口。
[0163]
在存储器320中可以存储一个或多个计算机程序指令,处理器310可以读取并运行这些计算机程序指令,以实现本技术实施例提供的blendshape生成方法以及其他期望的功能。
[0164]
可以理解,图3所示的结构仅为示意,电子设备300还可以包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。图3中所示的各组件可以采用硬件、软件或其组合实现。例如,电子设备300可以是单台服务器(或其他具有运算处理能力的设备)、多台服务器的组合、大量服务器的集群等,并且,既可以是物理设备也可以是虚拟设备。
[0165]
本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序指令,所述计算机程序指令被计算机的处理器读取并运行时,执行本技术实施例提供的blendshape生成方法。例如,计算机可读存储介质可以实现为图3中电子设备300中的存储器320。
[0166]
在本技术所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0167]
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0168]
再者,在本技术各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0169]
以上所述仅为本技术的实施例而已,并不用于限制本技术的保护范围,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:
1.一种blendshape生成方法,其特征在于,所述方法包括:获取目标角色的真实表情;确定参考角色迁移到所述目标角色的迁移blendshape;根据所述迁移blendshape,计算所述目标角色的组合表情;以最小化第一目标函数为优化目标,对所述迁移blendshape进行优化,获取第一目标blendshape;所述第一目标函数用以指示所述组合表情与所述真实表情之间的偏差。2.根据权利要求1所述的blendshape生成方法,其特征在于,在所述以最小化第一目标函数为优化目标,对所述迁移blendshape进行优化,获取第一目标blendshape之后,所述方法还包括:计算所述迁移blendshape的mask数组;根据所述mask数组,以最小化第二目标函数为优化目标,对所述第一目标blendshape进行优化,获取第二目标blendshape;所述第二目标函数用于对所述第一目标blendshape进行拉普拉斯正则优化。3.根据权利要求2所述的blendshape生成方法,其特征在于,在所述根据所述mask数组,以最小化第二目标函数为优化目标,对所述第一目标blendshape进行优化,获取第二目标blendshape之后,所述方法还包括:采用所述mask数组,对所述第二目标blendshape进行优化,获取第三目标blendshape。4.根据权利要求3所述的blendshape生成方法,其特征在于,在采用所述mask数组,对所述第二目标blendshape进行优化,获取第三目标blendshape之后,所述方法还包括:根据所述mask数组,以最小化第三目标函数为优化目标,对所述第三目标blendshape进行优化,获取第四目标blendshape;所述第三目标函数用于对所述第三目标blendshape进行拉普拉斯正则优化。5.根据权利要求1~4中任一项所述的blendshape生成方法,其特征在于,所述第一目标函数,包括:用以指示所述组合表情与所述真实表情之间顶点偏差的第一偏差项;和/或用以指示所述组合表情与所述真实表情之间形变梯度偏差的第二偏差项;和/或用以指示所述组合表情与所述真实表情之间位移变形偏差的第三偏差项;和/或用以指示所述组合表情与所述真实表情之间拉普拉斯形变偏差的第四偏差项。6.根据权利要求1~4中任一项所述的blendshape生成方法,其特征在于,所述确定参考角色迁移到所述目标角色的迁移blendshape,包括:获取参考角色以及所述参考角色静止姿态下mesh和骨骼点位置的绑定、所述参考角色的自然表情和所述参考角色的参考blendshape;根据所述参考角色、所述参考角色静止姿态下mesh和骨骼点位置的绑定和所述参考角色的自然表情,确定所述目标角色静止姿态下的骨骼点位置;根据所述参考角色静止姿态下mesh和骨骼点位置的绑定以及所述目标角色静止姿态下的骨骼点位置,确定所述目标角色静止姿态下mesh和骨骼点位置的绑定;根据所述参考blendshape,确定参考角色迁移到所述目标角色的迁移blendshape。7.根据权利要求6所述的blendshape生成方法,其特征在于,所述根据所述参考角色、所述参考角色静止姿态下mesh和骨骼点位置的绑定和所述参考角色的自然表情,确定所述
目标角色静止姿态下的骨骼点位置,包括:针对所述参考角色静止姿态下的各个骨骼点,确定与该骨骼点位置之间距离最短的所述参考角色的自然表情的第一顶点以及所述第一顶点的顶点索引;计算所述第一顶点与所述骨骼点位置之间的相对位置变化量;在所述真实表情中,根据所述第一顶点的所述顶点索引,确定与所述第一顶点所对应的第二顶点;根据所述第二顶点和所述相对位置变化量,确定所述目标角色静止姿态下的骨骼点位置;重复上述步骤,直至遍历所述参考角色静止姿态下的各个骨骼点,获取所述目标角色静止姿态下所有骨骼点的骨骼点位置。8.一种blendshape生成装置,其特征在于,所述装置包括:真实表情获取模块、迁移blendshape计算模块、组合表情计算模块和第一优化模块;所述真实表情获取模块,用于获取目标角色的真实表情;所述迁移blendshape计算模块,用于确定参考角色迁移到所述目标角色的迁移blendshape;所述组合表情计算模块,用于根据所述迁移blendshape,计算所述目标角色的组合表情;所述第一优化模块,用于以最小化第一目标函数为优化目标,对所述迁移blendshape进行优化,获取第一目标blendshape;所述第一目标函数用以指示组合表情与所述真实表情之间的偏差。9.一种电子设备,其特征在于,包括:处理器、存储器和通信总线,其中,所述处理器和所述存储器通过所述通信总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1~7中任一项所述的方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储计算机指令,所述计算机指令被计算机运行时,使所述计算机执行如权利要求1~7中任一项所述的方法。

技术总结
本申请提供一种BlendShape生成方法、装置、电子设备及介质,其中,BlendShape生成方法包括:获取目标角色的真实表情;确定参考角色迁移到目标角色的迁移BlendShape;根据迁移BlendShape,计算目标角色的组合表情;以最小化第一目标函数为优化目标,对迁移BlendShape进行优化,获取第一目标BlendShape;第一目标函数用以指示组合表情与真实表情之间的偏差。该方法首先通过参考角色来获取迁移BlendShape,然后再对迁移BlendShape进行优化,从而实现BlendShape的自动生成,大大提高BlendShape的生成效率,进而提高面部动画制作效率。效率。效率。


技术研发人员:王立有 覃小春
受保护的技术使用者:成都数字天空科技有限公司
技术研发日:2023.06.27
技术公布日:2023/9/6
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐