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

模型渲染方法、装置以及设备

文献发布时间:2023-06-19 19:38:38


模型渲染方法、装置以及设备

技术领域

本公开涉及人工智能技术领域,具体为增强现实、深度学习和计算机视觉技术领域,可应用于渲染超写实数字人的场景。

背景技术

随着人工智能和增强现实技术的日益迭代,数字人也在蓬勃发展。但是超写实数字人受限于目前硬件的算力限制,无法做到实时端侧渲染。而卡通数字人又无法展现出超写实数字人的丰富性。因此,目前渲染超写实数字人的方式通常是通过高速率、低延迟的宽带,将视频流传送到服务端进行渲染。

发明内容

本公开实施例提出了一种模型渲染方法、装置、设备、存储介质以及程序产品。

第一方面,本公开实施例提出了一种模型渲染方法,包括:学习第一引擎中的第一精度的白模模型;学习第二引擎中的第二精度的多角度贴图数据,其中,第二精度高于第一精度,将多角度贴图数据映射到白模模型中,得到渲染模型。

第二方面,本公开实施例提出了一种模型渲染装置,包括:第一学习模块,被配置成学习第一引擎中的第一精度的白模模型;第二学习模块,被配置成学习第二引擎中的第二精度的多角度贴图数据,其中,第二精度高于第一精度,渲染模块,被配置成将多角度贴图数据映射到白模模型中,得到渲染模型。

第三方面,本公开实施例提出了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一方面中任一实现方式描述的方法。

第四方面,本公开实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行如第一方面中任一实现方式描述的方法。

第五方面,本公开实施例提出了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现如第一方面中任一实现方式描述的方法。

本公开实施例提供的模型渲染方法,降低了渲染对硬件算力的要求,能够实现实时端侧渲染,可应用于渲染超写实数字人的场景。

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

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显。附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1是根据本公开的模型渲染方法的一个实施例的流程图;

图2是根据本公开的模型渲染方法的又一个实施例的流程图;

图3是根据本公开的模型渲染方法的另一个实施例的流程图;

图4是利用本公开实施例的模型渲染方法引擎渲染超写实数字人的一个框图;

图5是利用本公开实施例的模型渲染方法引擎渲染超写实数字人的又一个框图;

图6是根据本公开的模型渲染装置的一个实施例的结构示意图;

图7是用来实现本公开实施例的模型渲染方法的电子设备的框图。

具体实施方式

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

需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开。

图1示出了根据本公开的模型渲染方法的一个实施例的流程100。该模型渲染方法包括以下步骤:

步骤101,学习第一引擎中的第一精度的白模模型。

在本实施例中,模型渲染方法的执行主体可以学习第一引擎中的第一精度的白模模型。

其中,白模模型可以是未经渲染的三维模型。例如,未经渲染的超写实数字人。第一引擎可以是一种渲染引擎,用于渲染模型。例如,第一引擎可以是自主研发的渲染引擎,其精度低于常见的渲染引擎。因此,在第一引擎中学习到的是低精度的白模模型,可以采用标准PBR(Physicallly-Based Rendering,基于物理的渲染)材质。

步骤102,学习第二引擎中的第二精度的多角度贴图数据。

在本实施例中,上述执行主体可以学习第二引擎中的第二精度的多角度贴图数据。其中,第二精度高于第一精度。

其中,多角度贴图数据可以是基于对第二引擎中的参考渲染模型进行不同角度的提取所得到的贴图数据。参考渲染模型可以例如是第二引擎中渲染好的超写实数字人。通常,基于对大量渲染好的超写实数字人分别进行不同角度的提取,能够得到大量多角度贴图数据。第二引擎也可以是一种渲染引擎,用于渲染模型。例如,第二引擎可以是UE5(Unreal Engine 5,虚幻引擎5),其精度高于第一引擎。因此,在第二引擎中学习到的是高精度的多角度贴图数据,可以采用PBR扩展皮肤材质。

步骤103,将多角度贴图数据映射到白模模型中,得到渲染模型。

在本实施例中,上述执行主体可以将多角度贴图数据映射到白模模型中,得到渲染模型。

通常,基于大量多角度贴图数据可以拟合出白模模型在第一引擎上的多角度贴图数据。在第一引擎中,利用拟合出的多角度贴图数据对白模模型进行渲染,可以完成白模模型在端引擎的渲染,得到渲染模型。

本公开实施例提供的模型渲染方法,降低了渲染对硬件算力的要求,能够实现实时端侧渲染,可应用于渲染超写实数字人的场景。

继续参考图2,其示出了根据本公开的模型渲染方法的又一个实施例的流程200。该模型渲染方法包括以下步骤:

步骤201,学习第一引擎中的第一精度的白模模型。

在本实施例中,模型渲染方法的执行主体可以学习第一引擎中的第一精度的白模模型。

其中,白模模型可以是未经渲染的三维模型。例如,未经渲染的超写实数字人。第一引擎可以是一种渲染引擎,用于渲染模型。例如,第一引擎可以是自主研发的渲染引擎,其精度低于常见的渲染引擎。因此,在第一引擎中学习到的是低精度的白模模型,可以采用标准PBR材质。

步骤202,对第二引擎中的参考渲染模型进行不同角度的提取,得到参考多角度贴图数据。

在本实施例中,上述执行主体可以对第二引擎中的参考渲染模型进行不同角度的提取,得到参考多角度贴图数据。

其中,第二引擎中有大量渲染好的参考渲染模型。参考渲染模型可以例如是第二引擎中渲染好的超写实数字人。通常,对大量渲染好的超写实数字人分别进行不同角度的提取,能够得到大量参考多角度贴图数据。由于第二引擎的精度高于第一引擎,因此在在第二引擎中学习到的是高精度的参考多角度贴图数据。

步骤203,将参考多角度贴图数据和白模模型进行融合训练,得到多角度贴图数据。

在本实施例中,上述执行主体可以将参考多角度贴图数据和白模模型进行融合训练,得到多角度贴图数据。

通常,通过对第二引擎中的大量参考渲染模型分别进行不同角度的提取,和第一引擎中的白模模型进行融合训练,能够得到大量多角度贴图数据,可以用于拟合白模模型在第一引擎中的渲染数据。

步骤204,将白模模型和多角度贴图数据进行拟合,生成在第一引擎中贴图与白模耦合的渲染数据。

在本实施例中,上述执行主体可以将白模模型和多角度贴图数据进行拟合,生成在第一引擎中贴图与白模耦合的渲染数据。

通常,将第一引擎中的白模模型和第二引擎中的多角度贴图数据放在一起训练,进行拟合。同时,两者都采用标准PBR材质,能够产出在第一引擎中贴图与白模耦合的渲染数据。

步骤205,将渲染数据输入到第一引擎中,对白模模型进行渲染,得到渲染模型。

在本实施例中,上述执行主体可以将渲染数据输入到第一引擎中,对白模模型进行渲染,得到渲染模型。

通常,将渲染数据放到第一引擎中,第一引擎通过渲染数据和白模模型能够进行渲染,可以完成白模模型在端引擎的渲染,得到渲染模型。

从图2中可以看出,与图1对应的实施例相比,本实施例中的模型渲染方法的流程200突出了贴图提取步骤和渲染步骤。由此,本实施例描述的方案不仅提升了多角度贴图数据与白模模型的匹配度,还提升了模型渲染效果,可应用于渲染超写实数字人的场景。

进一步参考图3,其示出了根据本公开的模型渲染方法的另一个实施例的流程300。该模型渲染方法包括以下步骤:

步骤301,学习第一引擎中的第一精度的白模模型。

在本实施例中,模型渲染方法的执行主体可以学习第一引擎中的第一精度的白模模型。

其中,白模模型可以是未经渲染的三维模型。例如,未经渲染的超写实数字人。第一引擎可以是一种渲染引擎,用于渲染模型。例如,第一引擎可以是自主研发的渲染引擎,其精度低于常见的渲染引擎。因此,在第一引擎中学习到的是低精度的白模模型,可以采用标准PBR材质。

步骤302,对第二引擎中的参考渲染模型进行不同角度的提取,得到参考多角度贴图数据。

在本实施例中,上述执行主体可以对第二引擎中的参考渲染模型进行不同角度的提取,得到参考多角度贴图数据。

其中,第二引擎中有大量渲染好的参考渲染模型。参考渲染模型可以例如是第二引擎中渲染好的超写实数字人。通常,对大量渲染好的超写实数字人分别进行不同角度的提取,能够得到大量参考多角度贴图数据。由于第二引擎的精度高于第一引擎,因此在在第二引擎中学习到的是高精度的参考多角度贴图数据。

步骤303,确定白模模型的目标光照、目标视角和目标姿态纹理空间中的至少一项。

在本实施例中,上述执行主体可以确定白模模型的目标光照、目标视角和目标姿态纹理空间中的至少一项。

其中,目标光照是基于白模模型想要渲染成的模型的光照。目标视角是白模模型想要渲染成的模型的视角。目标姿态纹理空间是白模模型想要渲染成的模型的姿态纹理空间。这里,选择纹理空间而非图像空间,是因为超写实数字人全身有皮肤、头发、衣服多种材质,导致图像空间无法进行分割。而选择纹理空间,能够对面部皮肤精确控制。

步骤304,将参考多角度贴图数据设置为与目标光照、目标视角和目标姿态纹理空间中的至少一项相同,生成多角度贴图数据。

在本实施例中,上述执行主体可以将参考多角度贴图数据设置为与目标光照、目标视角和目标姿态纹理空间中的至少一项相同,生成多角度贴图数据。

通常,控制相同光照、相同视角和相同姿态纹理空间,能够产生多组与想要渲染成的模型更加匹配的多角度贴图数据。

步骤305,将白模模型和多角度贴图数据进行拟合,生成在第一引擎中贴图与白模耦合的渲染数据。

在本实施例中,上述执行主体可以将白模模型和多角度贴图数据进行拟合,生成在第一引擎中贴图与白模耦合的渲染数据。

通常,将第一引擎中的白模模型和第二引擎中的多角度贴图数据放在一起训练,进行拟合。同时,两者都采用标准PBR材质,能够产出在第一引擎中贴图与白模耦合的渲染数据。

步骤306,将渲染数据输入到面部无线网格网络,依次对白模模型的面部进行面部表情驱动、骨骼驱动和展开着色,得到面部渲染模型。

在本实施例中,上述执行主体可以将渲染数据输入到面部无线网格网络,依次对白模模型的面部进行面部表情驱动、骨骼驱动和展开着色,得到面部渲染模型。

步骤307,将面部渲染模型输入到整体无线网格网络,依次对面部渲染模型进行面部表情驱动、骨骼驱动和基于物理的着色与无光照着色,得到渲染模型。

在本实施例中,上述执行主体可以将面部渲染模型输入到整体无线网格网络,依次对面部渲染模型进行面部表情驱动、骨骼驱动和基于物理的着色与无光照着色,得到渲染模型。

通常,第一引擎可以包括面部无线网格网络Mesh和整体无线网格网络Mesh。渲染数据可以提交至面部Mesh,依次进行面部表情BS驱动、骨骼驱动和PBR着色,即可得到面部渲染模型。面部渲染模型可以通过Pix2Pix方式传输至整体Mesh,依次进行BS驱动、骨骼驱动和PBR与无光照着色,即可得到渲染模型。先进行面部渲染,再进行整体渲染,提升了模型渲染的精细度。其中,Pix2Pix是图像传输的经典方法,可以用于形状确定、图像效果提升的场景。

从图3中可以看出,与图2对应的实施例相比,本实施例中的模型渲染方法的流程300突出了贴图提取步骤和渲染步骤。由此,本实施例描述的方案不仅提升了多角度贴图数据与想要渲染成的模型的匹配度,还提升了模型渲染的精细度,可应用于超写实数字人渲染场景。

为了便于理解,图4示出了利用本公开实施例的模型渲染方法引擎渲染超写实数字人的一个框图。如图4所示,第一引擎可以包括整体Mesh。渲染数据可以提交至整体Mesh,依次进行BS驱动、骨骼驱动和PBR着色,即可将得到的渲染模型上屏。

为了便于理解,图5示出了利用本公开实施例的模型渲染方法引擎渲染超写实数字人的又一个框图。如图5所示,第一引擎可以包括面部Mesh和整体Mesh。渲染数据可以提交至面部Mesh,依次进行BS驱动、骨骼驱动和PBR着色,即可即可得到面部渲染模型。面部渲染模型可以通过Pix2Pix方式传输至整体Mesh,依次进行BS驱动、骨骼驱动和PBR与无光照着色,即可将得到的渲染模型上屏。

进一步参考图6,作为对上述各图所示方法的实现,本公开提供了一种模型渲染装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图6所示,本实施例的模型渲染装置400可以包括:第一学习模块601、第二学习模块602和渲染模块603。其中,第一学习模块601,被配置成学习第一引擎中的第一精度的白模模型;第二学习模块602,被配置成学习第二引擎中的第二精度的多角度贴图数据,其中,第二精度高于第一精度,渲染模块603,被配置成将多角度贴图数据映射到白模模型中,得到渲染模型。

在本实施例中,模型渲染装置600中:第一学习模块601、第二学习模块602和渲染模块603的具体处理及其所带来的技术效果可分别参考图1对应实施例中的步骤101-103的相关说明,在此不再赘述。

在本实施例的一些可选的实现方式中,第二学习模块602包括:提取子模块,被配置成对第二引擎中的参考渲染模型进行不同角度的提取,得到参考多角度贴图数据;融合子模块,被配置成将参考多角度贴图数据和白模模型进行融合训练,得到多角度贴图数据。

在本实施例的一些可选的实现方式中,融合子模块进一步被配置成:确定白模模型的目标光照、目标视角和目标姿态纹理空间;将参考多角度贴图数据设置为与目标光照、目标视角和目标姿态纹理空间相同,生成多角度贴图数据。

在本实施例的一些可选的实现方式中,渲染模块603包括:拟合子模块,被配置成将白模模型和多角度贴图数据进行拟合,生成在第一引擎中贴图与白模耦合的渲染数据;渲染子模块,被配置成将渲染数据输入到第一引擎中,对白模模型进行渲染,得到渲染模型。

在本实施例的一些可选的实现方式中,渲染子模块进一步被配置成:将渲染数据输入到面部无线网格网络,依次对白模模型的面部进行面部表情驱动、骨骼驱动和展开着色,得到面部渲染模型;将面部渲染模型输入到整体无线网格网络,依次对面部渲染模型进行面部表情驱动、骨骼驱动和基于物理的着色与无光照着色,得到渲染模型。

本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。

根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。

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

如图7所示,设备700包括计算单元701,其可以根据存储在只读存储器(ROM)702中的计算机程序或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。计算单元701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。

设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元701可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元701的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元701执行上文所描述的各个方法和处理,例如模型渲染方法。例如,在一些实施例中,模型渲染方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序加载到RAM 703并由计算单元701执行时,可以执行上文描述的模型渲染方法的一个或多个步骤。备选地,在其他实施例中,计算单元701可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行模型渲染方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

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

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

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以是分布式系统的服务器,或者是结合了区块链的服务器。

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

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

相关技术
  • 三维模型渲染方法、装置及电子设备
  • 小程序的界面渲染方法、装置、电子设备和存储介质
  • 渲染立体图形线框的方法、装置、计算机设备和存储介质
  • 基于光线信息渲染虚拟对象的方法、装置及电子设备
  • 图像渲染方法、装置及电子设备
  • 模型的四边形线框的渲染方法、系统及模型渲染设备
  • 渲染模型训练方法、渲染方法、装置、设备及存储介质
技术分类

06120115980065