骨骼驱动系数确定方法、装置、电子设备及可读存储介质转让专利
申请号 : CN202110892635.7
文献号 : CN113610992B
文献日 : 2022-05-20
发明人 : 陈睿智
申请人 : 北京百度网讯科技有限公司
摘要 :
权利要求 :
1.一种骨骼驱动系数确定方法,包括:基于预配置的初始骨骼驱动系数驱动预配置的初始蒙皮骨骼模型进行变形,得到第一蒙皮骨骼模型;
若所述第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满足预设的差异数据条件,则对所述第一蒙皮骨骼模型进行至少一次变形,直至得到与所述目标蒙皮骨骼模型的差异数据满足所述差异数据条件的第二蒙皮骨骼模型;
基于变形得到所述第一蒙皮骨骼模型前后的差异数据构建第一矩阵;
基于所述第一蒙皮骨骼模型与所述目标蒙皮骨骼模型的差异数据构建第二矩阵;
基于所述第一矩阵以及所述第二矩阵构建方程;
基于预配置的所述目标骨骼驱动系数的约束条件求解所述方程得到目标骨骼驱动系数;
获取用于驱动所述至少一次变形的目标骨骼驱动系数。
2.根据权利要求1所述的方法,其中,所述对所述第一蒙皮骨骼模型进行至少一次变形,直至得到与所述目标蒙皮骨骼模型的差异数据满足所述差异数据条件的第二蒙皮骨骼模型,包括:
基于变形得到所述第一蒙皮骨骼模型前后的差异数据以及所述第一蒙皮骨骼模型与所述目标蒙皮骨骼模型的差异数据,确定目标骨骼驱动系数;
基于所述目标骨骼驱动系数驱动对所述第一蒙皮骨骼模型进行变形,并确定所述第一蒙皮骨骼模型变形后是否能够得到与所述目标蒙皮骨骼模型的差异数据满足所述差异数据条件的第二蒙皮骨骼模型;
若不能,则将所述变形后的所述第一蒙皮骨骼模型作为所述第一蒙皮骨骼模型,重复执行所述基于变形得到所述第一蒙皮骨骼模型前后的差异数据以及所述第一蒙皮骨骼模型与所述目标蒙皮骨骼模型的差异数据,确定目标骨骼驱动系数,基于所述目标骨骼驱动系数驱动对所述第一蒙皮骨骼模型进行变形,并确定所述第一蒙皮骨骼模型变形后是否能够得到第二蒙皮骨骼模型的步骤,直至所述第一蒙皮骨骼模型变形后能够得到所述第二蒙皮骨骼模型。
3.根据权利要求2所述的方法,其中,所述目标骨骼驱动系数包括:目标旋转系数、目标平移系数以及目标缩放系数,所述约束条件包括以下至少一项:所述目标旋转系数的第一取值范围;
所述目标平移系数的第二取值范围;
所述目标缩放系数的第三取值范围。
4.根据权利要求1‑3中任一项所述的方法,其中,所述差异数据条件包括:变形前后的蒙皮骨骼模型中相互对应的蒙皮顶点之间的距离不大于预设值。
5.根据权利要求1‑3中任一项所述的方法,还包括:将所述目标骨骼驱动系数发送给电子设备,以使所述电子设备基于所述目标骨骼驱动系数对所述初始蒙皮骨骼模型进行至少一次变形,得到所述目标蒙皮骨骼模型。
6.一种人脸模型的生成方法,包括:接收服务器发送的目标骨骼驱动系数,所述目标骨骼驱动系数是通过以下方式得到的:所述服务器基于预配置的初始骨骼驱动系数驱动预配置的初始蒙皮骨骼模型进行变形得到第一蒙皮骨骼模型,并在所述第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满足预设的差异数据条件时,对所述第一蒙皮骨骼模型进行至少一次变形,直至得到与所述目标蒙皮骨骼模型的差异数据满足所述差异数据条件的第二蒙皮骨骼模型,并基于变形得到所述第一蒙皮骨骼模型前后的差异数据构建第一矩阵,基于所述第一蒙皮骨骼模型与所述目标蒙皮骨骼模型的差异数据构建第二矩阵,基于所述第一矩阵以及所述第二矩阵构建方程,基于预配置的所述目标骨骼驱动系数的约束条件求解所述方程得到所述目标骨骼驱动系数;
基于所述目标骨骼驱动系数对所述初始蒙皮骨骼模型进行至少一次变形,得到所述目标蒙皮骨骼模型。
7.一种骨骼驱动系数确定装置,包括:第一变形模块,用于基于预配置的初始骨骼驱动系数驱动预配置的初始蒙皮骨骼模型进行变形,得到第一蒙皮骨骼模型;
第二变形模块,用于在所述第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满足预设的差异数据条件时,对所述第一蒙皮骨骼模型进行至少一次变形,直至得到与所述目标蒙皮骨骼模型的差异数据满足所述差异数据条件的第二蒙皮骨骼模型,基于变形得到所述第一蒙皮骨骼模型前后的差异数据构建第一矩阵,基于所述第一蒙皮骨骼模型与所述目标蒙皮骨骼模型的差异数据构建第二矩阵,基于所述第一矩阵以及所述第二矩阵构建方程,基于预配置的所述目标骨骼驱动系数的约束条件求解所述方程得到目标骨骼驱动系数,获取用于驱动所述至少一次变形的目标骨骼驱动系数。
8.一种人脸模型的生成装置,包括:骨骼驱动系数接收模块,用于接收服务器发送的目标骨骼驱动系数,所述目标骨骼驱动系数是通过以下方式得到的:服务器基于预配置的初始骨骼驱动系数驱动预配置的初始蒙皮骨骼模型进行变形得到第一蒙皮骨骼模型,并在所述第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满足预设的差异数据条件时,对所述第一蒙皮骨骼模型进行至少一次变形,直至得到与所述目标蒙皮骨骼模型的差异数据满足所述差异数据条件的第二蒙皮骨骼模型,并基于变形得到所述第一蒙皮骨骼模型前后的差异数据构建第一矩阵,基于所述第一蒙皮骨骼模型与所述目标蒙皮骨骼模型的差异数据构建第二矩阵,基于所述第一矩阵以及所述第二矩阵构建方程,基于预配置的所述目标骨骼驱动系数的约束条件求解所述方程得到所述目标骨骼驱动系数;
人脸模型生成模块,用于基于所述目标骨骼驱动系数对所述初始蒙皮骨骼模型进行至少一次变形,得到所述第二蒙皮骨骼模型。
9.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1‑6中任一项所述的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1‑6中任一项所述的方法。
说明书 :
骨骼驱动系数确定方法、装置、电子设备及可读存储介质
技术领域
背景技术
领域中最具挑战性的问题之一。
模型的多个blendshape系数。而后服务器将blendshape系数返回给电子设备,使得电子设
备能够基于blendshape系数生成人脸3D模型。
发明内容
满足差异数据条件的第二蒙皮骨骼模型,并获取用于驱动至少一次变形的目标骨骼驱动系
数。
第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满足预设的差异数据条件时,对第一
蒙皮骨骼模型进行至少一次变形,直至得到与目标蒙皮骨骼模型的差异数据满足差异数据
条件的第二蒙皮骨骼模型后获取的;
骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型,并获取用于驱动至少一次变形
的目标骨骼驱动系数。
形得到第一蒙皮骨骼模型,并在第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满足
预设的差异数据条件时,对第一蒙皮骨骼模型进行至少一次变形,直至得到与目标蒙皮骨
骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型后获取的;
附图说明
具体实施方式
到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同
样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
数分别各blendshape模型进行加权,从而得到人脸照片对应的人脸3D模型。
应的blendshape系数,a3为bs3对应的blendshape系数,a4为bs4对应的blendshape系数。
差异数据满足差异数据条件的第二蒙皮骨骼模型,并获取用于驱动至少一次变形的目标骨
骼驱动系数。
蒙皮区域,该蒙皮区域包括多个网格顶点,每个网格顶点受一个或多个节点的控制,当骨骼
节点做刚性变换时,网格顶点的位置也会发生变化。
差异数据不满足预设的差异数据条件,表示两个蒙皮骨骼模型的差异较大。
满足预设的差异数据条件,即第一蒙皮骨骼模型与目标蒙皮骨骼模型存在较大差异,这时
可以对第一蒙皮骨骼模型进行至少一次迭代变形,直至迭代变形得到的蒙皮骨骼模型与目
标蒙皮骨骼模型的差异数据满足差异数据条件,即得到与目标蒙皮骨骼模型差异较小的第
二蒙皮骨骼模型。
数返回至电子设备,电子设备可以基于目标骨骼驱动系数对初始蒙皮骨骼模型进行迭代变
形,最终得到第二蒙皮骨骼模型,从而将第二蒙皮骨骼模型作为人脸图像对应的人脸3D模
型使用。
模型时,由服务器将目标驱动系数发送给电子设备,相较于现有技术中服务器将
blendshape系数发送给电子设备,其传输的数据量较小,能够节省数据传输成本。
模型的差异数据不满足预设的差异数据条件,则对第一蒙皮骨骼模型进行至少一次变形,
直至得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型,并获取
用于驱动至少一次变形的目标骨骼驱动系数,基于本方案,能够为将目标骨骼驱动系数返
回至电子设备,使得电子设备基于目标骨骼驱动系数生成人脸3D模型提供了基础,由于目
标骨骼驱动系数的数据量较少,能够节省服务器与电子设备之间的数据传输成本。
骨骼模型;
的差异数据,确定目标骨骼驱动系数,基于目标骨骼驱动系数驱动对第一蒙皮骨骼模型进
行变形,并确定第一蒙皮骨骼模型变形后是否能够得到第二蒙皮骨骼模型的步骤,直至第
一蒙皮骨骼模型变形后能够得到第二蒙皮骨骼模型。
型与第一蒙皮骨骼模型的差异数据),以及第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异
数据确定出。
的第一蒙皮骨骼模型确定为第二蒙皮骨骼模型,并停止迭代变形。
后的第一蒙皮骨骼模型进行迭代变形,即将该变形后的第一蒙皮骨骼模型作为第一蒙皮骨
骼模型,重复执行确定目标骨骼驱动系数,基于目标骨骼驱动系数驱动对第一蒙皮骨骼模
型进行变形,确定第一蒙皮骨骼模型变形后是否与目标蒙皮骨骼模型的差异较小的步骤,
直至第一蒙皮骨骼模型变形后能够得到第二蒙皮骨骼模型。
个骨骼节点,每个骨骼节点即包括x坐标、y坐标以及z坐标分别所对应的3个平移值、3个欧
拉角旋转值以及3个缩放值,共9个自由度,m个骨骼节点共对应9m个自由度。
坐标差值,从而构建得到一个3n行9m列的矩阵。
b)。
目标旋转系数的第一取值范围为大于10°小于50°。
距离不大于预设值,从而保证满足差异数据条件时,两个蒙皮骨骼模型之间的相似性。
形,最终得到第二蒙皮骨骼模型,从而将第二蒙皮骨骼模型作为人脸图像对应的人脸3D模
型使用。
并将目标骨骼驱动系数返回给电子设备,电子设备根据目标骨骼驱动系数对初始蒙皮骨骼
模型进行迭代变形,最终得到第二蒙皮骨骼模型。
条件时,可以认为变形后的蒙皮骨骼模型与目标蒙皮骨骼模型差异较小,这时可以结束迭
代变形,而后将拟合结果输出,拟合结果即目标骨骼驱动系数;当变形后的蒙皮骨骼模型与
目标蒙皮骨骼模型的差异数据不满足差异数据条件时,可以认为变形后的蒙皮骨骼模型与
目标蒙皮骨骼模型差异较大,这时可以对变形后蒙皮骨骼模型进行迭代变形,并确定判别
变形后的蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据是否满足差异数据条件。
骼模型,并在第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满足预设的差异数据条
件时,对第一蒙皮骨骼模型进行至少一次变形,直至得到与目标蒙皮骨骼模型的差异数据
满足差异数据条件的第二蒙皮骨骼模型后获取的;
数,而后将目标骨骼系数发送给电子设备。
蒙皮区域,该蒙皮区域包括多个网格顶点,每个网格顶点受一个或多个节点的控制,当骨骼
节点做刚性变换时,网格顶点的位置也会发生变化。
差异数据不满足预设的差异数据条件,表示两个蒙皮骨骼模型的差异较大。
满足预设的差异数据条件,即第一蒙皮骨骼模型与目标蒙皮骨骼模型存在较大差异,这时
可以对第一蒙皮骨骼模型进行至少一次迭代变形,直至迭代变形得到的蒙皮骨骼模型与目
标蒙皮骨骼模型的差异数据满足差异数据条件,即得到与目标蒙皮骨骼模型差异较小的第
二蒙皮骨骼模型。
驱动系数返回至电子设备,电子设备可以基于目标骨骼驱动系数对初始蒙皮骨骼模型进行
迭代变形,最终得到第二蒙皮骨骼模型,从而将第二蒙皮骨骼模型作为人脸图像对应的人
脸3D模型使用。
对应的人脸3D模型使用。
模型时,由服务器将目标驱动系数发送给电子设备,相较于现有技术中服务器将
blendshape系数发送给电子设备,其传输的数据量较小,能够节省数据传输成本。
电子设备通过接收服务器发送的目标骨骼驱动系数,从而基于目标骨骼驱动系数生成人脸
3D模型,由于目标骨骼驱动系数的数据量较少,能够节省服务器与电子设备之间的数据传
输成本。
皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型,并获取用于驱动至少一次
变形的目标骨骼驱动系数。
模型的差异数据不满足预设的差异数据条件,则对第一蒙皮骨骼模型进行至少一次变形,
直至得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型,并获取
用于驱动至少一次变形的目标骨骼驱动系数,基于本方案,能够为将目标骨骼驱动系数返
回至电子设备,使得电子设备基于目标骨骼驱动系数生成人脸3D模型提供了基础,由于目
标骨骼驱动系数的数据量较少,能够节省服务器与电子设备之间的数据传输成本。
骨骼模型;
的差异数据,确定目标骨骼驱动系数,基于目标骨骼驱动系数驱动对第一蒙皮骨骼模型进
行变形,并确定第一蒙皮骨骼模型变形后是否能够得到第二蒙皮骨骼模型的步骤,直至第
一蒙皮骨骼模型变形后能够得到第二蒙皮骨骼模型。
模型。
现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对
应的模块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集
成实现。对于上述骨骼驱动系数确定装置的各模块的功能描述具体可以参见图1中所示实
施例中的骨骼驱动系数确定方法的对应描述,在此不再赘述。
变形得到第一蒙皮骨骼模型,并在第一蒙皮骨骼模型与目标蒙皮骨骼模型的差异数据不满
足预设的差异数据条件时,对第一蒙皮骨骼模型进行至少一次变形,直至得到与目标蒙皮
骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型后获取的;
可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模
块。上述模块可以是软件和/或硬件,上述各模块可以单独实现,也可以多个模块集成实现。
对于上述人脸模型的生成装置的各模块的功能描述具体可以参见图3中所示实施例中的人
脸模型的生成方法的对应描述,在此不再赘述。…
一个处理器能够执行如本公开实施例提供的方法。
骼模型的差异数据不满足预设的差异数据条件,则对第一蒙皮骨骼模型进行至少一次变
形,直至得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型,并
获取用于驱动至少一次变形的目标骨骼驱动系数,基于本方案,能够为将目标骨骼驱动系
数返回至电子设备,使得电子设备基于目标骨骼驱动系数生成人脸3D模型提供了基础,由
于目标骨骼驱动系数的数据量较少,能够节省服务器与电子设备之间的数据传输成本。
皮骨骼模型的差异数据不满足预设的差异数据条件,则对第一蒙皮骨骼模型进行至少一次
变形,直至得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模型,
并获取用于驱动至少一次变形的目标骨骼驱动系数,基于本方案,能够为将目标骨骼驱动
系数返回至电子设备,使得电子设备基于目标骨骼驱动系数生成人脸3D模型提供了基础,
由于目标骨骼驱动系数的数据量较少,能够节省服务器与电子设备之间的数据传输成本。
蒙皮骨骼模型的差异数据不满足预设的差异数据条件,则对第一蒙皮骨骼模型进行至少一
次变形,直至得到与目标蒙皮骨骼模型的差异数据满足差异数据条件的第二蒙皮骨骼模
型,并获取用于驱动至少一次变形的目标骨骼驱动系数,基于本方案,能够为将目标骨骼驱
动系数返回至电子设备,使得电子设备基于目标骨骼驱动系数生成人脸3D模型提供了基
础,由于目标骨骼驱动系数的数据量较少,能够节省服务器与电子设备之间的数据传输成
本。
字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各
种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计
算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在
限制本文中描述的和/或者要求的本公开的实现。
序,来执行各种适当的动作和处理。在RAM 2030中,还可存储设备2000操作所需的各种程序
和数据。计算单元2010、ROM 2020以及RAM 2030通过总线2040彼此相连。输入/输出(I/O)接
口2050也连接至总线2040。
及通信单元2090,例如网卡、调制解调器、无线通信收发机等。通信单元2090允许设备2000
通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、
以及任何适当的处理器、控制器、微控制器等。计算单元2010执行本公开实施例中所提供的
方法。例如,在一些实施例中,执行本公开实施例中所提供的方法可被实现为计算机软件程
序,其被有形地包含于机器可读介质,例如存储单元2080。在一些实施例中,计算机程序的
部分或者全部可以经由ROM2020和/或通信单元2090而被载入和/或安装到设备2000上。当
计算机程序加载到RAM 2030并由计算单元2010执行时,可以执行本公开实施例中所提供的
方法的一个或多个步骤。备选地,在其他实施例中,计算单元2010可以通过其他任何适当的
方式(例如,借助于固件)而被配置为执行本公开实施例中所提供的方法。
的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实
现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算
机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器
可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出
装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至
少一个输出装置。
理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的
功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件
包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电
子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合
适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计
算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM
或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD‑ROM)、光学储存设备、磁储存设备、或
上述内容的任何合适组合。
器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来
将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的
反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用
任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界
面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部
件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数
字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网
(LAN)、广域网(WAN)和互联网。
算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的
服务器,或者是结合了区块链的服务器。
要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。