掌桥专利:专业的专利平台
掌桥专利
首页

三维模型的控制方法、装置、设备以及存储介质

文献发布时间:2023-06-19 10:24:22


三维模型的控制方法、装置、设备以及存储介质

技术领域

本申请涉及图像处理领域,尤其涉及计算机视觉、增强现实和深度学习等领域。

背景技术

在基于用户图像生成并控制个性化三维模型的动态展示过程中,由于算法复杂导致存在大量数据冗余,由此造成在实现生成个性化三维动画的应用程序中的流量过大的问题。

基于上述问题,实现生成个性化三维动画的应用程序难以在移动端部署。

发明内容

本申请提供了一种三维模型的控制方法、装置、设备以及存储介质。

根据本申请的一方面,提供了一种三维模型的控制方法,该方法可以包括以下步骤:

获取目标人物特征点的位置;

利用三维模型的初始化位姿以及目标人物特征点的位置,确定三维模型的位姿转换参数;

利用位姿转换参数对初始化位姿进行调整,得到实际位姿。

根据本申请的另一方面,提供了一种三维模型的控制装置,该装置可以包括以下组件:

目标人物特征点位置获取模块,用于获取目标人物特征点的位置;

位姿转换参数确定模块,用于利用三维模型的初始化位姿以及目标人物特征点的位置,确定三维模型的位姿转换参数;

实际位姿生成模块,用于利用位姿转换参数对初始化位姿进行调整,得到实际位姿。

第三方面,本申请实施方式提供一种电子设备,包括:

至少一个处理器;以及

与至少一个处理器通信连接的存储器;其中,

存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本申请任意一项实施方式所提供的方法。

第四方面,本申请实施方式提供一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行本申请任意一项实施方式所提供的方法。

根据本申请的另一方面,提供了一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现本申请任一实施例中的方法。

通过本申请的上述方案,利用目标人物的特征点和三维模型的位姿的差异,对三维模型进行调整,可以采用相对较少的运算量实现对于三维模型的控制。从而便于将三维模型控制的执行主体移交至移动端,以便于三维模型控制方式的落地。

应当理解,本部分所描述的内容并非旨在标识本申请的实施方式的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本申请的限定。其中:

图1是根据本申请三维模型的控制方法的流程图;

图2是根据本申请面部模型的示意图;

图3是根据本申请面部区域各节点相互作用关系的示意图;

图4是根据本申请确定位姿转换参数的流程图;

图5是根据本申请目标位姿矩阵对应坐标系的三个轴的示意图;

图6是根据本申请包含错切信息的坐标系对比示意图;

图7是根据本申请对错切信息进行修正后的坐标系对比示意图;

图8是根据本申请三维模型的控制装置的示意图;

图9是用来实现本申请实施方式的三维模型的控制方法的电子设备的框图。

具体实施方式

以下结合附图对本申请的示范性实施方式做出说明,其中包括本申请实施方式的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施方式做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

如图1所示,本申请实施方式提供一种三维模型的控制方法,该方法可以包括以下步骤:

S101:获取目标人物特征点的位置;

S102:利用三维模型的初始化位姿以及目标人物特征点的位置,确定三维模型的位姿转换参数;

S103:利用位姿转换参数对初始化位姿进行调整,得到实际位姿。

本申请的执行主体可以是智能手机、智能音箱等有屏设备。

目标人物可以特征点的位置可以从图像中获取。本申请实施方式中,仅以目标人物的面部为示例进行说明。实际场景中,还可以包括目标人物的躯干等其他部位。

例如,可以预先通过下载、拍摄等方式获取目标人物的图像。特征点可以是表征目标人物的面部轮廓和五官等位置的点。特征点的位置即为目标人物的面部轮廓和五官上各点的坐标。

或者,结合图2所示,特征点还可以是目标人物的蒙皮骨骼模型和面片模型。

蒙皮骨骼模型由层级结构的树状节点(Node)以及覆盖在节点上的蒙皮区域组成,每一个节点保存其局部刚性位姿(TRS,Translate、Rotation、Scale)。

局部刚性位姿是以4×4的矩阵呈现。节点的TRS信息从上层(根节点)到下层(子节点)逐层传递,根据每个节点的局部刚性位姿可以计算得到面部区域的全局刚性位姿。

每个节点包含蒙皮区域覆盖三维顶点(Vertex)。每个三维顶点受至少一个节点控制,从而可以改变位置(三维坐标)。

结合图3所示,图3中Node

图2中模型面部的每个三角形为一个面片,全部面片组合为面片模型。面片模型和蒙皮骨骼模型具有相同的拓扑关系,即顶点数量、顶点间的相对位置、顶点的连接顺序相同。

三维模型的初始化位姿可以包括蒙皮骨骼模型,即采用4×4的矩阵呈现。另外,初始化位姿还包括每个节点中的三维顶点的位置。以每个节点的三维顶点作为三维模型的特征点。

基于此,计算三维模型的特征点的位置与目标人物特征点的位置的差异,利用该差异即可得出位姿转换参数。例如,该位姿转换参数可以利用特征点的坐标差值对三维模型的初始化位姿进行调整,得到实际位姿。

另外,在特征点是目标人物的面部轮廓和五官上各点的位置的情况下,三维模型的初始化位姿可以是三维模型的面部轮廓和五官等特征点的坐标。可以将三维模型的特征点的坐标和目标人物的特征点的坐标差异作为位姿转换参数,实现对于三维模型的初始化位姿的调整,得到实际位姿。

通过本申请的上述方案,利用目标人物的特征点和三维模型的位姿的差异,对三维模型进行调整,可以采用相对较少的运算量实现对于三维模型的控制。从而便于将三维模型控制的执行主体移交至移动端,以便于三维模型控制方式的落地。

结合图4所示,在一种实施方式中,步骤S102可以包括以下子步骤:

S1021:获取初始化位姿对应的刚性位姿参数以及三维模型的特征点的位置;

S1022:计算三维模型的特征点的位置与目标人物特征点的位置的差异;

S1023:利用差异和刚性位姿参数,得到待修正的位姿转换参数;

S1024:对待修正的位姿转换参数进行误差修正,得到三维模型的位姿转换参数。

三维模型的初始化位姿可以包括蒙皮骨骼模型形式,即采用4×4的矩阵呈现。该4×4的矩阵即表示为三维模型的初始化刚性位姿。

另外,初始化位姿还包括每个节点中的三维顶点的位置,即三维顶点的初始化位置。当前实施方式中,可以将每个节点的三维顶点作为三维模型的特征点。

根据目标人物特征点的位置,以及三维模型的特征点的位置,可以计算三维模型的特征点的位置与目标人物特征点的位置的差异。

利用计算得到的差异,以及刚性位姿参数,可以计算得到转移矩阵。利用刚性位姿参数和转移矩阵进行乘法运算,可以得到目标位姿矩阵。

目标位姿矩阵即可作为待修正的位姿转换参数。

对目标位姿矩阵进行换算,可以转换为骨骼驱动系数(骨骼驱动系数也可以转换为位姿矩阵)。骨骼驱动系数以xyz的3轴平移值,3个欧拉角旋转值、3个缩放值共9个数值表示。

在得到骨骼驱动系数的情况下,利用骨骼驱动系数对三维模型的初始化刚性位姿进行调整,方可以得到实际位姿。

利用计算得到的差异,以及刚性位姿参数计算得到的目标位姿矩阵同样是4×4的矩阵。该矩阵的结构为:

该矩阵包含旋转、位移、缩放、错切等信息。其中,矩阵中Tx、Ty、Tz分别表示三轴对应的位移信息;而旋转、缩放、错切信息耦合于矩阵的m

结合图5所示,图中用实线箭头所指的三条线为该矩阵对应坐标系的三个轴。在将目标位姿矩阵转换为骨骼驱动系数的过程中,由于骨骼驱动系数仅包含旋转、缩放、位移信息。由于错切信息耦合于矩阵中,如果未对目标位姿矩阵进行修正,则利用目标位姿矩阵转换得到骨骼驱动系数存在较大误差。该误差正是由于错切信息所引起。

结合图6所示,在进行对比试验时,将包含错切信息(待修正)的目标位姿矩阵转换为骨骼驱动系数,再将骨骼驱动系数转换为目标位姿矩阵,可以直观看到二者的差异。图6中实线箭头所指的三条线与图5中实线箭头所指的三条线相同,是目标位姿矩阵转对应坐标系的三个轴。图6中虚线箭头所指的三条线是待修正的目标位姿矩阵转换为骨骼驱动系数,再将骨骼驱动系数转换为目标位姿矩阵后对应的坐标系的三个轴。通过将图6和图5进行比较可见,虽然可以做到一个轴重合,但是另两个轴的误差较大。

在当前实施方式中,可以利用解耦将错切信息从目标位姿矩阵中去除,从而实现对待修正的位姿转换参数进行误差修正,得到三维模型的位姿转换参数。

通过上述方案,通过对待修正的位姿转换参数进行修正,可以降低错切信息对于位姿转换的干扰,到达降低误差的效果。

在一种实施方式中,步骤S1024可以具体采用以下方式进行误差修正:

对待修正的位姿转换参数进行奇异值分解处理,得到修正结果。

利用奇异值分解算法,可以将待修正的位姿转换参数(目标位姿矩阵)分解处理,得到U、Σ、V三个分解矩阵。

修正后的位姿转换参数(MatTRS)可以表示为MatTRS=U*V

在另一种方式中,还可以采用以下方式进行误差修正:

对位姿转换参数进行调整,以使位姿转换参数的逆矩阵和转置矩阵的差异在允许范围内。

可以将待修正的位姿转换参数(目标位姿矩阵)记为M。

计算M的转置矩阵,计算结果记为M

通过调整待修正的位姿转换参数,从而使得M

在当前实施方式中,可以设定差异允许范围,在位姿转换参数的逆矩阵和位姿转换参数的转置矩阵之间的误差在差异允许内的情况下,表示调整结束。或者,还可以预置计算次数,例如在完成N次计算(对待修正的位姿转换参数进行N次调整)后,即可以表示位姿转换参数的逆矩阵和位姿转换参数的转置矩阵之间的误差在差异允许内,其中,N为正整数。

结合图7所示,图7中实线箭头所指的三条线与图5中实线箭头所指的三条线相同,是目标位姿矩阵转对应坐标系的三个轴。图7中虚线箭头所指的三条线是修正后的目标位姿矩阵转换为骨骼驱动系数,再将骨骼驱动系数转换为目标位姿矩阵后对应的坐标系的三个轴。通过将图7和图6进行比较可以得出,修正后的位姿转换参数(目标位姿矩阵)在三个轴之间做到了均衡调整,降低了误差情况。

在一种实施方式中,步骤S102还可以包括以下子步骤:

在位姿转换参数中,确定影响位移的参数,将影响位移的参数清零;和/或

在位姿转换参数中,确定影响缩放的参数,将影响缩放的参数进行归一化处理。

前已述及,位姿转换参数为4×4的矩阵,该矩阵包含旋转、位移、缩放、错切等信息。其中,矩阵中Tx、Ty、Tz用于表示位移信息,即,可以将Tx、Ty、Tz确定为影响位移的参数。

在矩阵中,可以通过将Tx、Ty、Tz置0的方式消除位移对后续计算的影响。

另外,基于矩阵对应的几何关系,可以将矩阵中的各列参数,可以视为三个纵向量。通过对三个纵向量进行归一化处理,可以消除缩放对后续计算的影响。

例如,第一列参数的归一化结果可以记为:

同理,对第二列、第三列参数进行归一化处理。

通过上述方案,可以消除位移和缩放对后续计算的影响,从而可以提高计算的准确度。

如图8所示,本申请提供一种三维模型的控制装置,该装置可以包括以下组件:

目标人物特征点位置获取模块801,用于获取目标人物特征点的位置;

位姿转换参数确定模块802,用于利用三维模型的初始化位姿以及目标人物特征点的位置,确定三维模型的位姿转换参数;

实际位姿生成模块803,用于利用位姿转换参数对初始化位姿进行调整,得到实际位姿。

在一种实施方式中,位姿转换参数确定模块802可以进一步包括:

位姿信息获取子模块,用于获取初始化位姿对应的刚性位姿参数以及三维模型的特征点的位置;

差异计算子模块,用于计算三维模型的特征点的位置与目标人物特征点的位置的差异;

待修正的位姿转换参数生成子模块,用于利用差异和刚性位姿参数,得到待修正的位姿转换参数;

位姿转换参数修正子模块,用于对待修正的位姿转换参数进行误差修正,得到三维模型的位姿转换参数。

在一种实施方式中,位姿转换参数修正子模块具体用于:

对待修正的位姿转换参数进行奇异值分解处理,得到修正结果。

在一种实施方式中,位姿转换参数修正子模块还可以进一步包括:

位移修正单元,用于在待修正的位姿转换参数中,确定影响位移的参数,将影响位移的参数清零;和/或

缩放修正单元,用于在待修正的位姿转换参数中,确定影响缩放的参数,将影响缩放的参数进行归一化处理。

根据本申请的实施方式,本申请还提供了一种电子设备和一种可读存储介质。

如图9所示,是根据本申请实施方式的三维模型的控制方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

如图9所示,该电子设备包括:一个或多个处理器910、存储器920,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图9中以一个处理器910为例。

存储器920即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的三维模型的控制方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的三维模型的控制方法。

存储器920作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施方式中的三维模型的控制方法对应的程序指令/模块(例如,附图8所示的目标人物特征点位置获取模块801、位姿转换参数确定模块802和实际位姿生成模块803)。处理器910通过运行存储在存储器920中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施方式中的三维模型的控制方法。

存储器920可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据三维模型的控制方法的电子设备的使用所创建的数据等。此外,存储器920可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施方式中,存储器920可选包括相对于处理器910远程设置的存储器,这些远程存储器可以通过网络连接至三维模型的控制方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

三维模型的控制方法的电子设备还可以包括:输入装置930和输出装置940。处理器910、存储器920、输入装置930和输出装置940可以通过总线或者其他方式连接,图9中以通过总线连接为例。

输入装置930可接收输入的数字或字符信息,以及产生与三维模型的控制方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置940可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS)服务中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

相关技术
  • 三维模型的控制方法、装置、设备以及存储介质
  • 三维模型的显示控制方法、电子设备及可读存储介质
技术分类

06120112530777