一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

骨骼驱动系数确定方法、装置、电子设备及可读存储介质与流程

2021-11-05 21:34:00 来源:中国专利 TAG:


1.本公开涉及图像处理技术领域,尤其涉及人工智能或者增强现实技术领域,具体而言,本公开涉及一种骨骼驱动系数确定方法、装置、电子设备及可读存储介质。


背景技术:

2.人脸是人类日常情感表达和交流最重要、最直接的载体。通过计算机生成具有真实感的人脸3d模型拥有广阔的应用前景,是近年来计算机图形学、计算机视觉、人工智能等领域中最具挑战性的问题之一。
3.目前,在生成人脸3d模型时,一般由电子设备将人脸照片发送给服务器,服务器基于混合变形(blendshape)技术生成人脸照片对应的人脸3d模型,同时获取用于生成人脸3d模型的多个blendshape系数。而后服务器将blendshape系数返回给电子设备,使得电子设备能够基于blendshape系数生成人脸3d模型。
4.上述blendshape系数的数据量较大,在服务器将blendshape系数发送给电子设备的过程中耗费较多的数据传输成本。


技术实现要素:

5.本公开为了解决上述缺陷中的至少一项,提供了一种骨骼驱动系数确定方法、装置、电子设备及可读存储介质。
6.根据本公开的第一方面,提供了一种骨骼驱动系数确定方法,该方法包括:
7.基于预配置的初始骨骼驱动系数驱动预配置的初始蒙皮骨骼模型进行变形,得到第一蒙皮骨骼模型;
8.若第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满足预设的差异数据条件,则对第一蒙皮骨骼模型进行至少一次变形,直至得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型,并获取用于驱动至少一次变形的目标骨骼驱动系数。
9.根据本公开的第二方面,提供了一种骨人脸模型的生成方法,该方法包括:
10.接收服务器发送的目标骨骼驱动系数,目标骨骼驱动系数是服务器基于预配置的初始骨骼驱动系数驱动预配置的初始蒙皮骨骼模型进行变形得到第一蒙皮骨骼模型,并在第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满足预设的差异数据条件时,对第一蒙皮骨骼模型进行至少一次变形,直至得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型后获取的;
11.基于目标骨骼驱动系数对初始蒙皮骨骼模型进行至少一次变形,得到第二蒙皮骨骼模型。
12.根据本公开的第三方面,提供了一种骨骼驱动系数确定装置,该装置包括:
13.第一变形模块,用于基于预配置的初始骨骼驱动系数驱动预配置的初始蒙皮骨骼模型进行变形,得到第一蒙皮骨骼模型;
14.第二变形模块,用于在第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满足预设的差异数据条件时,对第一蒙皮骨骼模型进行至少一次变形,直至得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型,并获取用于驱动至少一次变形的目标骨骼驱动系数。
15.根据本公开的第四方面,提供了一种人脸模型的生成装置,该装置包括:
16.骨骼驱动系数接收模块,用于接收服务器发送的目标骨骼驱动系数,目标骨骼驱动系数是服务器基于预配置的初始骨骼驱动系数驱动预配置的初始蒙皮骨骼模型进行变形得到第一蒙皮骨骼模型,并在第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满足预设的差异数据条件时,对第一蒙皮骨骼模型进行至少一次变形,直至得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型后获取的;
17.人脸模型生成模块,用于基于目标骨骼驱动系数对初始蒙皮骨骼模型进行至少一次变形,得到第二蒙皮骨骼模型。
18.根据本公开的第五方面,提供了一种电子设备,该电子设备包括:
19.至少一个处理器;以及
20.与上述至少一个处理器通信连接的存储器;其中,
21.存储器存储有可被上述至少一个处理器执行的指令,指令被上述至少一个处理器执行,以使上述至少一个处理器能够执行上述方法。
22.根据本公开的第六方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,该计算机指令用于使计算机执行上述方法。
23.根据本公开的第七方面,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现上述方法。
24.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
25.附图用于更好地理解本方案,不构成对本公开的限定。其中:
26.图1是本公开实施例提供的一种骨骼驱动系数确定方法的流程示意图;
27.图2是根据本公开实施例提供的一种人脸模型的生成系统的结构示意图;
28.图3是本公开实施例提供的一种人脸模型的生成方法的流程示意图;
29.图4是根据本公开实施例提供的一种骨骼驱动系数确定装置的结构示意图;
30.图5是根据本公开实施例提供的一种人脸模型的生成装置的结构示意图;
31.图6是用来实现本公开实施例提供的方法的电子设备的框图。
具体实施方式
32.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
33.目前,在通过生成人脸照片对应的人脸3d模型时,一般会预配置多个blendshape
模型,并生成每个blendshape模型对应的blendshape系数,服务器根据各个blendshape系数分别各blendshape模型进行加权,从而得到人脸照片对应的人脸3d模型。
34.作为一个示例,可以通过公式1来生成人脸照片对应的人脸3d模型。
35.shape=base a1
×
(bs1

base) a2
×
(bs2

base) a3
×
(bs3

base) a4
×
(bs4

base)
……
(公式一)
36.其中,shape表示人脸照片对应的人脸3d模型,base表示平均脸对应的人脸3d模型,bs1、bs2、bs3以及bs4均为blendshape模型,a1为bs1对应的blendshape系数,a2为bs2对应的blendshape系数,a3为bs3对应的blendshape系数,a4为bs4对应的blendshape系数。
37.在实际使用中,服务器会将由a1、a2、a3以及a4构成的一组blendshape系数发送至电子设备,以使电子设备基于blendshape系数生成人脸3d模型。
38.由于blendshape系数的数据量较大,一般为几百千字节(kilobyte,kb),这使得服务器将blendshape系数发送给电子设备的过程中会耗费较多的数据传输成本。
39.本技术实施例提供的骨骼驱动系数确定方法、装置、电子设备及可读存储介质,旨在解决现有技术的如上技术问题中的至少一个。
40.图1示出了本公开实施例提供的一种骨骼驱动系数确定方法的流程示意图,如图1中所示,该方法可以应用于服务器,该方法主要可以包括:
41.步骤s110:基于预配置的初始骨骼驱动系数驱动预配置的初始蒙皮骨骼模型进行变形,得到第一蒙皮骨骼模型;
42.步骤s120:若第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满足预设的差异数据条件,则对第一蒙皮骨骼模型进行至少一次变形,直至得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型,并获取用于驱动至少一次变形的目标骨骼驱动系数。
43.其中,目标蒙皮骨骼模型可以为服务器根据人脸图像生成的人脸3d模型,人脸图像可以由需要使用人脸3d模型的电子设备发送至服务器。
44.初始蒙皮骨骼模型可以预置于服务器,初始骨骼驱动系数用于驱动初始蒙皮骨骼模型进行第一次变形,得到第一蒙皮骨骼模型。
45.蒙皮骨骼模型包括多个骨骼节点,骨骼节点能够在骨骼驱动系数的驱动下进行刚性变换,即进行平移、旋转或缩放。蒙皮骨骼模型中的节点被蒙皮包裹,每个节点具有一个蒙皮区域,该蒙皮区域包括多个网格顶点,每个网格顶点受一个或多个节点的控制,当骨骼节点做刚性变换时,网格顶点的位置也会发生变化。
46.骨骼驱动系数中一般包含9个数值,分别为x坐标、y坐标以及z坐标所对应的3个平移值、3个欧拉角旋转值、3个缩放值。初始骨骼驱动系数可以根据实际需要进行预配置。
47.差异数据能够表征两个蒙皮骨骼模型之间的差异,可以通过配置差异数据条件来判断两个蒙皮骨骼模型之间差异程度。
48.具体而言,如果两个蒙皮骨骼模型的差异数据满足预设的差异数据条件,表示两个蒙皮骨骼模型的差异较小,可以认为两个蒙皮骨骼模型相似;如果两个蒙皮骨骼模型的差异数据不满足预设的差异数据条件,表示两个蒙皮骨骼模型的差异较大。
49.本公开实施例中,第一蒙皮骨骼模型是由初始蒙皮骨骼模型基于初始骨骼驱动系数进行第一次变形得到的,一般而言,第一蒙皮骨骼模型与目标蒙皮骨骼模型差异数据不
满足预设的差异数据条件,即第一蒙皮骨骼模型与目标蒙皮骨骼模型存在较大差异,这时可以对第一蒙皮骨骼模型进行至少一次迭代变形,直至迭代变形得到的蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据满足差异数据条件,即得到与目标蒙皮骨骼模型差异较小的第二蒙皮骨骼模型。
50.本公开实施例中,在对第一蒙皮骨骼进行至少一次变形确定出第二蒙皮骨骼模型之后,可以获取用于驱动各次变形的目标骨骼驱动系数。服务器可以将该目标骨骼驱动系数返回至电子设备,电子设备可以基于目标骨骼驱动系数对初始蒙皮骨骼模型进行迭代变形,最终得到第二蒙皮骨骼模型,从而将第二蒙皮骨骼模型作为人脸图像对应的人脸3d模型使用。
51.本公开实施例中,驱动各次迭代变形的目标驱动系数的数据量一般为几个千字节(kilobyte,kb),其远小于现有技术中blendshape系数的数据量,因此,在需要生成人脸3d模型时,由服务器将目标驱动系数发送给电子设备,相较于现有技术中服务器将blendshape系数发送给电子设备,其传输的数据量较小,能够节省数据传输成本。
52.本公开实施例提供的方法,通过基于预配置的初始骨骼驱动系数驱动预配置的初始蒙皮骨骼模型进行变形,得到第一蒙皮骨骼模型,若第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满足预设的差异数据条件,则对第一蒙皮骨骼模型进行至少一次变形,直至得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型,并获取用于驱动至少一次变形的目标骨骼驱动系数,基于本方案,能够为将目标骨骼驱动系数返回至电子设备,使得电子设备基于目标骨骼驱动系数生成人脸3d模型提供了基础,由于目标骨骼驱动系数的数据量较少,能够节省服务器与电子设备之间的数据传输成本。
53.本公开的一种可选方式中,对第一蒙皮骨骼模型进行至少一次变形,直至得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型,包括:
54.基于变形得到第一蒙皮骨骼模型前后的差异数据以及第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据,确定目标骨骼驱动系数;
55.基于目标骨骼驱动系数驱动对第一蒙皮骨骼模型进行变形,并确定第一蒙皮骨骼模型变形后是否能够得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型;
56.若不能,则将变形后的第一蒙皮骨骼模型作为第一蒙皮骨骼模型,重复执行基于变形得到第一蒙皮骨骼模型前后的差异数据以及第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据,确定目标骨骼驱动系数,基于目标骨骼驱动系数驱动对第一蒙皮骨骼模型进行变形,并确定第一蒙皮骨骼模型变形后是否能够得到第二蒙皮骨骼模型的步骤,直至第一蒙皮骨骼模型变形后能够得到第二蒙皮骨骼模型。
57.本公开实施例中,目标骨骼驱动系数用于驱动第一蒙皮骨骼模型进行变形时,目标骨骼驱动系数可以根据变形得到第一蒙皮骨骼模型前后的差异数据(即初始蒙皮骨骼模型与第一蒙皮骨骼模型的差异数据),以及第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据确定出。
58.如果变形后的第一蒙皮骨骼数据与目标蒙皮骨骼模型的差异数据满足差异数据条件,即变形后的第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异较小,则可以将该变形后的第一蒙皮骨骼模型确定为第二蒙皮骨骼模型,并停止迭代变形。
59.如果变形后的第一蒙皮骨骼数据与目标蒙皮骨骼模型的差异数据不满足差异数据条件,即变形后的第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异较大,则可以对该变形后的第一蒙皮骨骼模型进行迭代变形,即将该变形后的第一蒙皮骨骼模型作为第一蒙皮骨骼模型,重复执行确定目标骨骼驱动系数,基于目标骨骼驱动系数驱动对第一蒙皮骨骼模型进行变形,确定第一蒙皮骨骼模型变形后是否与目标蒙皮骨骼模型的差异较小的步骤,直至第一蒙皮骨骼模型变形后能够得到第二蒙皮骨骼模型。
60.本公开实施例中,通过多次迭代变形使得变形后得到的蒙皮骨骼模型不断的接近目标蒙皮骨骼模型,直至得到与目标蒙皮骨骼模型的差异较小的第二蒙皮骨骼模型。
61.本公开的一种可选方式中,基于变形得到第一蒙皮骨骼模型前后的差异数据以及第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据,确定目标骨骼驱动系数,包括:
62.基于变形得到第一蒙皮骨骼模型前后的差异数据构建第一矩阵;
63.基于第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据构建第二矩阵;
64.基于第一矩阵以及第二矩阵构建方程;
65.基于预配置的目标骨骼驱动系数的约束条件求解方程得到目标骨骼驱动系数。
66.本公开实施例中,可以构建第一矩阵来表征第一蒙皮骨骼模型前后的差异数据,构建第二矩阵来表征第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据。
67.作为一个示例,初始蒙皮骨骼模型中包括n个网格顶点,每个网格顶点包含x坐标、y坐标以及z坐标共3个坐标值,n个网格顶点共包含3n个坐标值。初始蒙皮骨骼模型中包括m个骨骼节点,每个骨骼节点即包括x坐标、y坐标以及z坐标分别所对应的3个平移值、3个欧拉角旋转值以及3个缩放值,共9个自由度,m个骨骼节点共对应9m个自由度。
68.在构建用于表征差异数据的矩阵时,可以将两个蒙皮骨骼模型中相对应的网格顶点的坐标作差,得到3n个坐标差值,将蒙皮骨骼模型中相对应的骨骼节点的坐标作差,9m个坐标差值,从而构建得到一个3n行9m列的矩阵。
69.本公开实施例中,可以基于第一矩阵以及第二矩阵构建方程,并基于预配置的目标骨骼驱动系数的约束条件求解方程得到目标骨骼驱动系数。
70.作为一个示例,基于第一矩阵以及第二矩阵构建出的方程可以如公式二所示:
71.ax=b;
ꢀꢀꢀꢀꢀꢀ
(公式二),
72.其中,a表示第一矩阵,b表示第二矩阵,x表示目标骨骼驱动系数。
73.求解上述方程,即在约束条件的约束下求解过约束方程组,可以转化为带约束的二次规划问题,从而使用经典方法(如拉格朗日法)求解,也相当于求解min.(ax

b)t
×
(ax

b)。
74.本公开的一种可选方式中,目标骨骼驱动系数包括:目标旋转系数、目标平移系数以及目标缩放系数,约束条件包括以下至少一项:
75.目标旋转系数的第一取值范围;
76.目标平移系数的第二取值范围;
77.目标缩放系数的第三取值范围。
78.本公开实施例中,约束条件即可以为目标骨骼驱动系数的取值范围,上述的第一取值范围,第二取值范围以及第三取值范围可以由设计人员根据实际经验指定。例如设定目标旋转系数的第一取值范围为大于10
°
小于50
°

79.本公开的一种可选方式中,差异条件包括:
80.变形前后的蒙皮骨骼模型中相互对应的蒙皮顶点之间的距离不大于预设值。
81.本公开实施例中,可以将变形得到的蒙皮骨骼模型与目标蒙皮骨骼模型中相应的蒙皮顶点之间的距离进行逐个比对,差异条件可以设定为相互对应的蒙皮顶点之间的距离不大于预设值,从而保证满足差异条件时,两个蒙皮骨骼模型之间的相似性。
82.作为一可选示例,可以根据蒙皮顶点的坐标计算,相互对应的蒙皮顶点之间的距离,该距离可以采用欧式距离。
83.本公开的一种可选方式中,上述方法还包括:
84.将目标骨骼驱动系数发送给电子设备,以使电子设备基于目标骨骼驱动系数对初始蒙皮骨骼模型进行至少一次变形,得到目标蒙皮骨骼模型。
85.本公开实施例中,服务器可以将该目标骨骼驱动系数返回至电子设备,电子设备可以存储有初始蒙皮骨骼模型。基于目标骨骼驱动系数对初始蒙皮骨骼模型进行迭代变形,最终得到第二蒙皮骨骼模型,从而将第二蒙皮骨骼模型作为人脸图像对应的人脸3d模型使用。
86.在实际使用中,初始骨骼驱动系数可以被预存储于电子设备,也可以与目标骨骼驱动系数一起被发送至电子设备。
87.作为一个示例,电子设备可以采集用户的人脸图像,而后将该人脸图像发送给服务器,服务器基于该人脸图像生成目标蒙皮骨骼模型,而后生成上述的目标骨骼驱动系数,并将目标骨骼驱动系数返回给电子设备,电子设备根据目标骨骼驱动系数对初始蒙皮骨骼模型进行迭代变形,最终得到第二蒙皮骨骼模型。
88.作为一示例,图2中示出了本公实施例提供的一种人脸模型的生成系统的结构示意图。
89.如图2中所示,可驱动的人脸骨骼,即初始蒙皮骨骼模型。输入的个性化虚拟形象形状,即目标蒙皮骨骼模型。骨骼系数约束规则,即目标骨骼驱动系数的约束条件。
90.线性系统生成器,用于根据骨骼驱动系统驱动初始蒙皮骨骼模型以及第一蒙皮骨骼模型的变形。
91.线性系统拟合器,用于在得到变形后的蒙皮骨骼模型后,求解基于差异数据构建的方程,得到用于驱动下次迭代变形的骨骼驱动系数。
92.人脸骨骼驱动系数更新,即将计算出用于驱动下一次迭代变形的骨骼驱动系数,并将其提供给线性系统生成器,以便进行下一次迭代变形。
93.判别器,用于判别变形后的蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据是否满足差异数据条件,当变形后的蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据满足差异数据条件时,可以认为变形后的蒙皮骨骼模型与目标蒙皮骨骼模型差异较小,这时可以结束迭代变形,而后将拟合结果输出,拟合结果即目标骨骼驱动系数;当变形后的蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满足差异数据条件时,可以认为变形后的蒙皮骨骼模型与目标蒙皮骨骼模型差异较大,这时可以对变形后蒙皮骨骼模型进行迭代变形,并确定判别变形后的蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据是否满足差异数据条件。
94.图3示出了本公开实施例提供的另一种骨骼驱动系数确定方法的流程示意图,如图3中所示,该方法可以应用于电子设备,该方法主要可以包括:
95.步骤s310:接收服务器发送的目标骨骼驱动系数,目标骨骼驱动系数是服务器基于预配置的初始骨骼驱动系数驱动预配置的初始蒙皮骨骼模型进行变形得到第一蒙皮骨骼模型,并在第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满足预设的差异数据条件时,对第一蒙皮骨骼模型进行至少一次变形,直至得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型后获取的;
96.步骤s320:基于目标骨骼驱动系数对初始蒙皮骨骼模型进行至少一次变形,得到第二蒙皮骨骼模型。
97.其中,目标蒙皮骨骼模型可以为服务器根据人脸图像生成的人脸3d模型,人脸图像可以由需要使用人脸3d模型的电子设备发送至服务器。服务器可以确定目标骨骼驱动系数,而后将目标骨骼系数发送给电子设备。
98.服务器可以预置初始蒙皮骨骼模型,通过初始骨骼驱动系数驱动初始蒙皮骨骼模型进行第一次变形,得到第一蒙皮骨骼模型。
99.蒙皮骨骼模型包括多个骨骼节点,骨骼节点能够在骨骼驱动系数的驱动下进行刚性变换,即进行平移、旋转或缩放。蒙皮骨骼模型中的节点被蒙皮包裹,每个节点具有一个蒙皮区域,该蒙皮区域包括多个网格顶点,每个网格顶点受一个或多个节点的控制,当骨骼节点做刚性变换时,网格顶点的位置也会发生变化。
100.骨骼驱动系数中一般包含9个数值,分别为x坐标、y坐标以及z坐标所对应的3个平移值、3个欧拉角旋转值、3个缩放值。初始骨骼驱动系数可以根据实际需要进行预配置。
101.差异数据能够表征两个蒙皮骨骼模型之间的差异,可以通过配置差异数据条件来判断两个蒙皮骨骼模型之间差异程度。
102.具体而言,如果两个蒙皮骨骼模型的差异数据满足预设的差异数据条件,表示两个蒙皮骨骼模型的差异较小,可以认为两个蒙皮骨骼模型相似;如果两个蒙皮骨骼模型的差异数据不满足预设的差异数据条件,表示两个蒙皮骨骼模型的差异较大。
103.本公开实施例中,第一蒙皮骨骼模型是由初始蒙皮骨骼模型基于初始骨骼驱动系数进行第一次变形得到的,一般而言,第一蒙皮骨骼模型与目标蒙皮骨骼模型差异数据不满足预设的差异数据条件,即第一蒙皮骨骼模型与目标蒙皮骨骼模型存在较大差异,这时可以对第一蒙皮骨骼模型进行至少一次迭代变形,直至迭代变形得到的蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据满足差异数据条件,即得到与目标蒙皮骨骼模型差异较小的第二蒙皮骨骼模型。
104.本公开实施例中,服务器在对第一蒙皮骨骼进行至少一次变形确定出第二蒙皮骨骼模型之后,可以获取用于驱动各次变形的目标骨骼驱动系数。服务器可以将该目标骨骼驱动系数返回至电子设备,电子设备可以基于目标骨骼驱动系数对初始蒙皮骨骼模型进行迭代变形,最终得到第二蒙皮骨骼模型,从而将第二蒙皮骨骼模型作为人脸图像对应的人脸3d模型使用。
105.电子设备可以存储有初始蒙皮骨骼模型。基于目标骨骼驱动系数对初始蒙皮骨骼模型进行迭代变形,最终得到第二蒙皮骨骼模型,从而将第二蒙皮骨骼模型作为人脸图像对应的人脸3d模型使用。
106.在实际使用中,初始骨骼驱动系数可以被预存储于电子设备,也可以与目标骨骼驱动系数一起被发送至电子设备。
107.本公开实施例中,驱动各次迭代变形的目标驱动系数的数据量一般为几个千字节(kilobyte,kb),其远小于现有技术中blendshape系数的数据量,因此,在需要生成人脸3d模型时,由服务器将目标驱动系数发送给电子设备,相较于现有技术中服务器将blendshape系数发送给电子设备,其传输的数据量较小,能够节省数据传输成本。
108.本公开实施例提供的方法,通过接收服务器发送的目标骨骼驱动系数,基于目标骨骼驱动系数对初始蒙皮骨骼模型进行至少一次变形,得到第二蒙皮骨骼模型。本方案中,电子设备通过接收服务器发送的目标骨骼驱动系数,从而基于目标骨骼驱动系数生成人脸3d模型,由于目标骨骼驱动系数的数据量较少,能够节省服务器与电子设备之间的数据传输成本。
109.基于与图1中所示的方法相同的原理,图4示出了本公开实施例提供的一种骨骼驱动系数确定装置的结构示意图,如图4所示,该骨骼驱动系数确定装置40可以包括:
110.第一变形模块410,用于基于预配置的初始骨骼驱动系数驱动预配置的初始蒙皮骨骼模型进行变形,得到第一蒙皮骨骼模型;
111.第二变形模块420,用于在第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满足预设的差异数据条件时,对第一蒙皮骨骼模型进行至少一次变形,直至得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型,并获取用于驱动至少一次变形的目标骨骼驱动系数。
112.本公开实施例提供的装置,通过基于预配置的初始骨骼驱动系数驱动预配置的初始蒙皮骨骼模型进行变形,得到第一蒙皮骨骼模型,若第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满足预设的差异数据条件,则对第一蒙皮骨骼模型进行至少一次变形,直至得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型,并获取用于驱动至少一次变形的目标骨骼驱动系数,基于本方案,能够为将目标骨骼驱动系数返回至电子设备,使得电子设备基于目标骨骼驱动系数生成人脸3d模型提供了基础,由于目标骨骼驱动系数的数据量较少,能够节省服务器与电子设备之间的数据传输成本。
113.可选地,第二变形模块在对第一蒙皮骨骼模型进行至少一次变形,直至得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型时,具体用于:
114.基于变形得到第一蒙皮骨骼模型前后的差异数据以及第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据,确定目标骨骼驱动系数;
115.基于目标骨骼驱动系数驱动对第一蒙皮骨骼模型进行变形,并确定第一蒙皮骨骼模型变形后是否能够得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型;
116.若不能,则将变形后的第一蒙皮骨骼模型作为第一蒙皮骨骼模型,重复执行基于变形得到第一蒙皮骨骼模型前后的差异数据以及第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据,确定目标骨骼驱动系数,基于目标骨骼驱动系数驱动对第一蒙皮骨骼模型进行变形,并确定第一蒙皮骨骼模型变形后是否能够得到第二蒙皮骨骼模型的步骤,直至第一蒙皮骨骼模型变形后能够得到第二蒙皮骨骼模型。
117.可选地,第二变形模块在基于变形得到第一蒙皮骨骼模型前后的差异数据以及第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据,确定目标骨骼驱动系数时,具体用于:
118.基于变形得到第一蒙皮骨骼模型前后的差异数据构建第一矩阵;
119.基于第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据构建第二矩阵;
120.基于第一矩阵以及第二矩阵构建方程;
121.基于预配置的目标骨骼驱动系数的约束条件求解方程得到目标骨骼驱动系数。
122.可选地,目标骨骼驱动系数包括:目标旋转系数、目标平移系数以及目标缩放系数,约束条件包括以下至少一项:
123.目标旋转系数的第一取值范围;
124.目标平移系数的第二取值范围;
125.目标缩放系数的第三取值范围。
126.可选地,差异条件包括:
127.变形前后的蒙皮骨骼模型中相互对应的蒙皮顶点之间的距离不大于预设值。
128.可选地,上述装置还包括:
129.目标骨骼驱动系数发送模块,用于将目标骨骼驱动系数发送给电子设备,以使电子设备基于目标骨骼驱动系数对初始蒙皮骨骼模型进行至少一次变形,得到目标蒙皮骨骼模型。
130.可以理解的是,本公开实施例中的骨骼驱动系数确定装置的上述各模块具有实现图1中所示的实施例中的骨骼驱动系数确定方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述骨骼驱动系数确定装置的各模块的功能描述具体可以参见图1中所示实施例中的骨骼驱动系数确定方法的对应描述,在此不再赘述。
131.基于与图3中所示的方法相同的原理,图5示出了本公开实施例提供的一种人脸模型的生成装置的结构示意图,如图5所示,该人脸模型的生成装置50可以包括:
132.骨骼驱动系数接收模块510,用于接收服务器发送的目标骨骼驱动系数,目标骨骼驱动系数是服务器基于预配置的初始骨骼驱动系数驱动预配置的初始蒙皮骨骼模型进行变形得到第一蒙皮骨骼模型,并在第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满足预设的差异数据条件时,对第一蒙皮骨骼模型进行至少一次变形,直至得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型后获取的;
133.人脸模型生成模块520,用于基于目标骨骼驱动系数对初始蒙皮骨骼模型进行至少一次变形,得到第二蒙皮骨骼模型。
134.可以理解的是,本公开实施例中的人脸模型的生成装置的上述各模块具有实现图3中所示的实施例中的人脸模型的生成方法相应步骤的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。对于上述人脸模型的生成装置的各模块的功能描述具体可以参见图3中所示实施例中的人脸模型的生成方法的对应描述,在此不再赘述。

135.本公开的技术方案中,所涉及的用户个人信息的获取,存储和应用等,均符合相关法律法规的规定,且不违背公序良俗。
136.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
137.该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如本公开实施例提供的方法。
138.该电子设备与现有技术相比,通过基于预配置的初始骨骼驱动系数驱动预配置的初始蒙皮骨骼模型进行变形,得到第一蒙皮骨骼模型,若第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满足预设的差异数据条件,则对第一蒙皮骨骼模型进行至少一次变形,直至得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型,并获取用于驱动至少一次变形的目标骨骼驱动系数,基于本方案,能够为将目标骨骼驱动系数返回至电子设备,使得电子设备基于目标骨骼驱动系数生成人脸3d模型提供了基础,由于目标骨骼驱动系数的数据量较少,能够节省服务器与电子设备之间的数据传输成本。
139.该可读存储介质为存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行如本公开实施例提供的方法。
140.该可读存储介质与现有技术相比,通过基于预配置的初始骨骼驱动系数驱动预配置的初始蒙皮骨骼模型进行变形,得到第一蒙皮骨骼模型,若第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满足预设的差异数据条件,则对第一蒙皮骨骼模型进行至少一次变形,直至得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型,并获取用于驱动至少一次变形的目标骨骼驱动系数,基于本方案,能够为将目标骨骼驱动系数返回至电子设备,使得电子设备基于目标骨骼驱动系数生成人脸3d模型提供了基础,由于目标骨骼驱动系数的数据量较少,能够节省服务器与电子设备之间的数据传输成本。
141.该计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如本公开实施例提供的方法。
142.该计算机程序产品与现有技术相比,通过基于预配置的初始骨骼驱动系数驱动预配置的初始蒙皮骨骼模型进行变形,得到第一蒙皮骨骼模型,若第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满足预设的差异数据条件,则对第一蒙皮骨骼模型进行至少一次变形,直至得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型,并获取用于驱动至少一次变形的目标骨骼驱动系数,基于本方案,能够为将目标骨骼驱动系数返回至电子设备,使得电子设备基于目标骨骼驱动系数生成人脸3d模型提供了基础,由于目标骨骼驱动系数的数据量较少,能够节省服务器与电子设备之间的数据传输成本。
143.图6示出了可以用来实施本公开的实施例的示例电子设备2000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
144.如图6所示,设备2000包括计算单元2010,其可以根据存储在只读存储器(rom)2020中的计算机程序或者从存储单元2080加载到随机访问存储器(ram)2030中的计算机程序,来执行各种适当的动作和处理。在ram 2030中,还可存储设备2000操作所需的各种程序和数据。计算单元2010、rom 2020以及ram 2030通过总线2040彼此相连。输入/输出(i/o)接
口2050也连接至总线2040。
145.设备2000中的多个部件连接至i/o接口2050,包括:输入单元2060,例如键盘、鼠标等;输出单元2070,例如各种类型的显示器、扬声器等;存储单元2080,例如磁盘、光盘等;以及通信单元2090,例如网卡、调制解调器、无线通信收发机等。通信单元2090允许设备2000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
146.计算单元2010可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元2010的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元2010执行本公开实施例中所提供的方法。例如,在一些实施例中,执行本公开实施例中所提供的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元2080。在一些实施例中,计算机程序的部分或者全部可以经由rom 2020和/或通信单元2090而被载入和/或安装到设备2000上。当计算机程序加载到ram 2030并由计算单元2010执行时,可以执行本公开实施例中所提供的方法的一个或多个步骤。备选地,在其他实施例中,计算单元2010可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行本公开实施例中所提供的方法。
147.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
148.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
149.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
150.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来
将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
151.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
152.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端

服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
153.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
154.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献