CN115861510A - 对象渲染方法、装置、电子设备、存储介质及程序产品 - Google Patents
对象渲染方法、装置、电子设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN115861510A CN115861510A CN202211642928.0A CN202211642928A CN115861510A CN 115861510 A CN115861510 A CN 115861510A CN 202211642928 A CN202211642928 A CN 202211642928A CN 115861510 A CN115861510 A CN 115861510A
- Authority
- CN
- China
- Prior art keywords
- rendering
- rendered
- model
- determining
- dimensional point
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
本公开提供了一种对象渲染方法、装置、电子设备、存储介质及程序产品,涉及元宇宙、增强现实、虚拟现实、深度学习、可视化等人工智能技术领域。该方法包括:确定目标场景下的待渲染对象;获取待渲染对象的三维点坐标和方向向量;利用与待渲染对象对应的渲染模型,确定与三维点坐标和方向向量对应的三维点色值,渲染模型用于表征对象的具有相应方向的三维点与在纹理素材和光照模型的渲染作用下呈现的三维点色值之间的对应关系;基于三维点色值完成对待渲染对象的渲染。该方法通过将纹理素材和光照模型对待渲染对象的渲染效果封装在神经网络的训练成果中,因此仅需要保存训练好的神经网络参数,在不提升算力要求的同时显著减少对存储空间的占用。
Description
技术领域
本公开涉及图像处理技术领域,具体涉及元宇宙、增强现实、虚拟现实、深度学习、可视化等人工智能技术领域,尤其涉及一种对象渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
背景技术
目前互联网技术已进入新时代,元宇宙等领域的快速发展对图形渲染提出了新的技术要求。
如何在图形处理器(Graphics Processing Unit,GPU)功耗较弱的移动设备上实现高质量渲染是一直以来的挑战,而高质量渲染往往伴随占用大量存储空间的纹理素材和光照数据,如何精简这部分数据对移动设备有限存储空间的占用,是本领域技术人员亟待解决的问题。
发明内容
本公开实施例提出了一种对象渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品。
第一方面,本公开实施例提出了一种对象渲染方法,包括:确定目标场景下的待渲染对象;获取待渲染对象的三维点坐标和方向向量;利用与待渲染对象对应的渲染模型,确定与三维点坐标和方向向量对应的三维点色值,渲染模型用于表征对象的具有相应方向的三维点与在纹理素材和光照模型的渲染作用下呈现的三维点色值之间的对应关系,该三维点的方向基于三维点坐标和方向向量确定;基于三维点色值完成对待渲染对象的渲染。
第二方面,本公开实施例提出了一种对象渲染装置,包括:待渲染对象确定单元,被配置成确定目标场景下的待渲染对象;对象参数获取单元,被配置成获取待渲染对象的三维点坐标和方向向量;三维点色值确定单元,被配置成利用与待渲染对象对应的渲染模型,确定与三维点坐标和方向向量对应的三维点色值,渲染模型用于表征对象的具有相应方向的三维点与在纹理素材和光照模型的渲染作用下呈现的三维点色值之间的对应关系,该三维点的方向基于三维点坐标和方向向量确定;渲染单元,被配置成基于三维点色值完成对待渲染对象的渲染。
第三方面,本公开实施例提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现如第一方面描述的对象渲染方法。
第四方面,本公开实施例提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使计算机执行时能够实现如第一方面描述的对象渲染方法。
第五方面,本公开实施例提供了一种包括计算机程序的计算机程序产品,该计算机程序在被处理器执行时能够实现如第一方面描述的对象渲染方法的步骤。
本公开提供的对象渲染方案,通过将纹理素材和光照模型对待渲染对象的作用效果封装在神经网络中的训练成果(即表现为训练完成的模型框架和模型权重参数)中,从而就可以仅需要保存训练好的神经网络,而无需直接存储该待渲染对象的纹理素材和光照数据,由于相较于原纹理素材和光照数据的数据量,作为训练成果的模型框架和模型权重参数仅占用少量存储空间,得以在不提升算力要求的同时显著减少对存储空间的占用,更加适合在移动端提供更高的图像渲染质量。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本公开的其它特征、目的和优点将会变得更明显:
图1是本公开可以应用于其中的示例性系统架构;
图2为本公开实施例提供的一种对象渲染方法的流程图;
图3为本公开实施例提供的另一种对象渲染方法的流程图;
图4为本公开实施例提供的一种最少量存储模型参数的方法的流程图;
图5为本公开实施例提供的一种基于场景驻留度确定目标场景下待渲染对象的方法的流程图;
图6为本公开实施例提供的一种基于场景要求清晰度确定目标场景下待渲染对象的方法的流程图;
图7为本公开实施例提供的一种基于虚拟角色的观察视场角确定目标场景下待渲染对象的方法的流程图;
图8为本公开实施例提供的一种神经网络的结构示意图;
图9本公开实施例提供的一种对象渲染装置的结构框图;
图10公开实施例提供的一种适用于执行对象渲染方法的电子设备的结构示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
图1示出了可以应用本公开的对象渲染方法、装置、电子设备及计算机可读存储介质的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103和服务器105上可以安装有各种用于实现两者之间进行信息通讯的应用,例如图像渲染类应用、虚拟现实类应用、即时通讯类应用等。
终端设备101、102、103和服务器105可以是硬件,也可以是软件。当终端设备101、102、103为硬件时,可以是具有显示屏的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等;当终端设备101、102、103为软件时,可以安装在上述所列举的电子设备中,其可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。当服务器105为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器;服务器为软件时,可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块,在此不做具体限定。
终端设备101、102、103和服务器105通过内置的各种应用可以提供各种服务,以可以提供对象渲染服务的虚拟现实类应用为例,终端设备101、102、103和服务器105在运行该虚拟现实类应用时可实现如下效果:首先,确定目标场景下的待渲染对象;然后,获取待渲染对象的三维点坐标和方向向量;接下来,利用与待渲染对象对应的渲染模型,确定与三维点坐标和方向向量对应的三维点色值,渲染模型用于表征对象的具有相应方向的三维点与在纹理素材和光照模型的渲染作用下呈现的三维点色值之间的对应关系,该三维点的方向基于该三维点坐标和该方向向量确定;最后,基于三维点色值完成对待渲染对象的渲染。
本公开后续各实施例所提供的对象渲染方法可由服务器105来执行,此时相应地,对象渲染装置一般也设置于服务器105中。但同时也可以在终端设备101、102、103具有满足要求的运算能力和运算资源时,终端设备101、102、103也可以通过其上安装的虚拟现实类应用完成上述本交由服务器105做的各项运算,进而直接输出与服务器105同样的结果。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
请参考图2,图2为本公开实施例提供的一种对象渲染方法的流程图,其中流程200包括以下步骤:
步骤201:确定目标场景下的待渲染对象;
本步骤旨在由对象渲染方法的执行主体(例如图1所示的终端设备101、102、103或服务器105)确定目标场景下的待渲染对象。其中,目标场景可以是目标应用程序下的某个待呈现界面的全部或部分,而待渲染对象则是该目标场景下的需要经渲染后才能正确对外呈现的对象,以某个游戏应用下的任务界面场景为例,该任务界面场景下的天空、地面、草木、其它用户角色均为待渲染对象,以满足当前用户通过识别渲染完成的对象顺利进行任务。
需要说明的是,目标场景下的待渲染对象并不是固定的,即一个场景下的待渲染对象可以不按照常规的对象个体进行区分,甚至可以将多个常规的对象个体合并一块视为一个待渲染对象,也就是说在渲染时将其视为一个整体进行渲染,因此也就涉及到如何切分目标场景下的各对象,进而确定出符合实际需求的待渲染对象,而对象的切分粒度可以根据多种因素来确定,例如可以根据该目标场景的场景保持时长、场景清晰度要求、以及是否正处于用户的虚拟角色的观察范围,例如可以在目标场景的场景保持时长较短(即通常意味着会在不同场景之间高速切换),那么就可以采用较高的对象切分粒度,即按照较粗的粒度进行切分,即无需通过较细的粒度来提升较高的渲染清晰度;反之,则可以采用较低的对象切分粒度,即按照较细的粒度进行切分,来提供较高的渲染清晰度。在采用其它影响因素来确定对象切分粒度时,也可以参照这一原则。
步骤202:获取待渲染对象的三维点坐标和方向向量;
在步骤201的基础上,本步骤旨在由上述执行主体获取待渲染对象的三维点坐标和方向向量。应当理解的是,每个待渲染对象都是由多个三维点构成,而与每个三维点坐标对应的方向向量,则是用于确定纹理素材和光照模型将应以何种角度作用在每个三维点上,才能够呈现出正确的渲染效果。
因此,本步骤旨在获取待渲染对象的三维点坐标和方向向量作为输入数据。
步骤203:利用与待渲染对象对应的渲染模型,确定与三维点坐标和方向向量对应的三维点色值;
在步骤202的基础上,本步骤旨在由上述执行主体利用与待渲染对象对应的渲染模型,确定与三维点坐标和方向向量对应的三维点色值。其中,该渲染模型用于表征对象的具有相应方向的三维点与在纹理素材和光照模型的渲染作用下呈现的三维点色值之间的对应关系,该三维点的方向基于三维点坐标和方向向量确定,为使该渲染模型可以具有表征这一对应关系的能力,将预先基于待渲染对象的三维点坐标和方向向量与在纹理素材和光照模型的作用下应呈现的三维点色值构成的训练样本训练得到,即该训练样本中的输入样本为:待渲染对象的三维点坐标和方向向量,输出样本则是纹理素材和光照模型作用下的每个三维点应呈现出的色值。
也就是说,本步骤所使用的渲染模型通过使用上述训练样本,将纹理素材和光照模型对待渲染对象的渲染效果以模型训练成果的方式保存在了训练完成的渲染模型中,并具体表现为训练完成后的模型框架和模型权重参数。
步骤204:基于三维点色值完成对待渲染对象的渲染。
在步骤203的基础上,本步骤旨在由上述执行主体基于三维点色值完成对待渲染对象的渲染。
本公开实施例提供的对象渲染方法,通过将纹理素材和光照模型对待渲染对象的作用效果封装在神经网络中的训练成果(即表现为训练完成的模型框架和模型权重参数)中,从而就可以仅需要保存训练好的神经网络,而无需直接存储该待渲染对象的纹理素材和光照数据,由于相较于原纹理素材和光照数据的数据量,作为训练成果的模型框架和模型权重参数仅占用少量存储空间,得以在不提升算力要求的同时显著减少了对存储空间的占用,更加适合在移动端提供更高的图像渲染质量。
请参考图3,图3为本公开实施例提供的另一种对象渲染方法的流程图,其中流程300包括以下步骤:
步骤301:确定目标场景下的待渲染对象;
步骤302:获取待渲染对象的三维点坐标和方向向量;
以上步骤301-302与如图2所示的步骤201-202一致,相同部分内容请参见上一实施例的相应部分,此处不再进行赘述。
步骤303:确定与待渲染对象对应的渲染模型;
本步骤旨在由上述执行主体确定与待渲染对象对应的渲染模型。即为了能够确定与待渲染对象所对应的渲染模型,需要预先建立有不同待渲染对象与不同渲染模型之间的对应关系,以便于后续可根据该对应关系确定与目标待渲染对象对应的目标渲染模型。
通常情况下,可以出于提供最高渲染质量的考虑,预先为每个不同的对象都建立有专用的渲染模型,即每个渲染模型仅用于为相应的对象输出渲染结果。但同时考虑到在对象众多数,同时运行过多的渲染模型将会为运行设备带来较大的性能负担、导致出现卡顿,因此考虑到有时同一类型的不同对象之间仅存在微小的差异,因此可以在可以忽略这一微小差异的情况下,可以预先为每类对象建立一个渲染模型,即在实际应用时仅需要确定该待渲染对象的对象类型,然后再确定与该对象类型对应的渲染模型即可。当然,也可以基于其它的标准建立对象与渲染模型之间的多对一关系,以尽可能的复用同一个渲染模型,来降低性能要求。
步骤304:将预先记录的渲染模型的模型框架和模型权重参数,在内存中重构得到可用状态的渲染模型;
在步骤303的基础上,本步骤旨在由上述执行主体将预先记录的渲染模型的模型框架和模型权重参数,在内存中重构得到可用状态的渲染模型。即在步骤303中所确定出的渲染模型仅是一个处于待重构状态的渲染模型,无法正常使用,仅保存了如何指导进行重构的模型参数以节省对内存的占用,而在实际使用之前,还需要将模型框架和模型权重参数,在内存中重构得到可用状态的渲染模型。其中,该模型框架和模型权重参数均为经训练样本训练完成后的模型参数,即可用状态的渲染模型应是训练完成之后的渲染模型。
步骤305:利用处于可用状态的渲染模型,确定与三维点坐标和方向向量对应的三维点色值;
在步骤304的基础上,本步骤旨在由上述执行主体利用处于可用状态的渲染模型,确定与三维点坐标和方向向量对应的三维点色值。
步骤306:基于三维点色值完成对待渲染对象的渲染。
在上一实施例的基础上,本实施例通过步骤303-步骤304额外提供了如何确定与待渲染对象对应的渲染模型,并如何将其重构为可用状态的渲染模型的实现方案,以尽可能的避免因渲染模型的常态运行对内存的持续占用,对内存资源有限的移动端设备更加友好。
在上一实施例的基础上,考虑到可能会存在多个不同的渲染模型,为了尽可能的减少用于存储这一渲染模型所占用的存储空间,本实施例还通过图4提供了一种具体的基于基准的偏差存储方案,以减少对存储有空间的占用,其流程400包括如下步骤:
步骤401:对具有相同模型框架、不同模型权重参数的不同渲染模型,确定基准模型权重参数,并将具有基准模型参数的渲染模型为基准模型;
即首先将具有相同模型框架、不同模型权重参数的多个渲染模型中的某个模型权重参数,确定为基准模型权重参数,并将具有该基准模型参数的渲染模型为基准模型。
其中,基准模型权重参数可以是与其它模型权重参数具有最多相同部分的模型权重参数,从而使得差异部分最少。
步骤402:计算区别于基准模型的其它渲染模型的模型权重参数相对于基准模型权重参数的权重参数差异;
在步骤401的基础上,分别计算区别于基准模型的其它渲染模型的模型权重参数相对于基准模型权重参数的权重参数差异。
步骤403:存储模型框架、基准模型权重参数和权重参数差异。
在步骤402的基础上,本步骤旨在由上述执行主体仅存储模型框架、基准模型权重参数和权重参数差异,来避免存储多个完整的渲染模型,进而实现减少占用存储空间。
为了加深如何确定目标场景下的待渲染对象的理解,下述将通过三个不同的影响因素,来分别给出确定当前目标场景下的待渲染对象的实现方案,以分别满足实际需求:
图5示出了一种基于场景驻留度确定目标场景下待渲染对象的方法的流程图,其流程500包括如下步骤:
步骤501:确定目标场景的场景驻留度;
其中,场景驻留度指保持处在目标场景的时长,即该目标场景的平均保持时长越长,该目标场景的场景驻留度就越高,也就意味着场景切换的不频繁。
步骤502:基于场景驻留度确定对构成目标场景下的对象切分粒度;
在步骤501的基础上,本步骤旨在由上述执行主体基于场景驻留度确定对构成目标场景下的对象切分粒度,而场景驻留度的高低与对象切分粒度的大小成反比关系,即场景驻留度越高、对象切分粒度越小(即对象切分的粒度越细),也就意味着该场景下的不同对象将尽可能的被视为不同的待渲染对象进行分别渲染,以通过此种方式来提升渲染质量和清晰度,才能够使得用户长时间驻留在目标场景下时觉得渲染质量差;反之,即场景驻留度越低,对象切分粒度越大(即对象切分的粒度越粗),也就意味着该场景下的不同对象将可以被视为相同的待渲染对象进行合并渲染,以通过此种方式避免在该场景的短时呈现时长内进行不必要的高质量渲染(因为没有留给用户足够细看高质量渲染效果的时间)。
步骤503:根据对象切分粒度确定目标场景下的待渲染对象。
在步骤502的基础上,本步骤旨在由上述执行主体根据对象切分粒度确定目标场景下的待渲染对象。
区别于图5,图6则示出了一种基于场景要求清晰度确定目标场景下待渲染对象的方法的流程图,其流程600包括如下步骤:
步骤601:确定目标场景的场景清晰度要求;
步骤602:基于场景清晰度要求确定对构成目标场景下的对象切分粒度;
在步骤601的基础上,本步骤旨在由上述执行主体基于场景清晰度要求确定对构成目标场景下的对象切分粒度,而场景清晰度要求的清晰度的高低与对象切分粒度的大小成反比关系,即场景清晰度要求的清晰度越高、对象切分粒度越小(即对象切分的粒度越细),也就意味着该场景下的不同对象将尽可能的被视为不同的待渲染对象进行分别渲染,以通过此种方式来提升渲染质量和清晰度;反之,即场景清晰度要求的清晰度越低,对象切分粒度越大(即对象切分的粒度越粗),也就意味着该场景下的不同对象将可以被视为相同的待渲染对象进行合并渲染。
步骤603:根据对象切分粒度确定目标场景下的待渲染对象。
区别图5和图6,图7又示出了一种基于虚拟角色的观察视场角确定目标场景下待渲染对象的方法的流程图,其流程700包括如下步骤:
步骤701:确定虚拟角色在目标场景下的观察视场角;
本步骤旨在由上述执行主体确定虚拟角色在目标场景下的观察视场角,并根据观察视场角,将目标场景下的所有区域划分为处在观察视场角内和未处在观察视场角内两类。
步骤702:按预设的第一对象切分粒度确定处于观察视场角内的待渲染对象;
步骤703:按预设的第二对象切分粒度确定处于观察视场角外的待渲染对象。
即针对处于观察视场角内的待渲染对象,按照较细粒度的第一对象切分粒度确定,以使用户观察视场角内的对象具有较高的渲染质量和清晰度;反之,针对未处于观察视场角内的待渲染对象,按照较粗粒度的第二对象切分粒度确定,以使用户观察视场角内的对象具有较低的渲染质量和清晰度。即第一对象切分粒度小于第二对象切分粒度,
在上述任意实施例的基础上,在完成对目标场景下待渲染对象的渲染并呈现之后,在切换至另一场景时,还可以将目标场景下的渲染结果暂存至内存中,以便于后续再次流转至目标场景时,可直接将缓存在内存中的目标场景下的待渲染对象的渲染结果进行呈现,提升呈现效率,避免重复渲染。
为加深理解,本公开还结合一个具体应用场景,给出了一种具体的实现方案,请参见下述步骤和附图8示出的网络结构:
1)将待渲染对象的顶点数据以及所有纹理素材和光照渲染器(shader),导入渲染引擎中;
2)收集训练数据:引擎渲染画面,以及对应的相机位姿;
3)创建一个神经网络,结构如图8所示:
输入为三维点坐标(x,y,z)和方向向量(d_x,d_y,d_z),输出为(r,g,b,\theta);
4)对于任一训练图像(引擎渲染画面),通过相机位姿,依次计算穿过每个像素的射线的方向(d_x,d_y,d_z),在该射线上均匀采样N个点,将这N个点的坐标(xyz)以及射线方向(d_x,d_y,d_z)作为神经网络的输入,获得网络的输出,作为预测像素值。而将训练图像对应的像素值作为真值,比较两者的L2 loss(最小二乘误差),使用Adam(AdaptiveMoment Estimation,自适应矩估计)优化器训练神经网络直至收敛。因此将大量的纹理素材和光照渲染器(shader),编码进神经网络的权重中;
5)在神经网络训练完毕后,保存神经网络的权重;
6)在渲染引擎中,导入神经网络的权重,在渲染每个画面时,计算当前画面的相机角度,输入到神经网络中,输出当前画面的每个像素值。从而避免了纹理素材的保存(约100M),仅通过神经网络的权重(10M)来代替。
进一步参考图9作为对上述各图所示方法的实现,本公开提供了一种对象渲染装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图9示,本实施例的对象渲染装置900可以包括:待渲染对象确定单元901、对象参数获取单元902、三维点色值确定单元903、渲染单元904。其中,待渲染对象确定单元901,被配置成确定目标场景下的待渲染对象;对象参数获取单元902,被配置成获取待渲染对象的三维点坐标和方向向量;三维点色值确定单元903,被配置成利用与待渲染对象对应的渲染模型,确定与三维点坐标和方向向量对应的三维点色值;渲染模型用于表征对象的具有相应方向的三维点与在纹理素材和光照模型的渲染作用下呈现的三维点色值之间的对应关系,三维点的方向基于三维点坐标和方向向量确定;渲染单元904,被配置成基于三维点色值完成对待渲染对象的渲染。
在本实施例中,对象渲染装置900中:待渲染对象确定单元901、对象参数获取单元902、三维点色值确定单元903、渲染单元904的具体处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201-204的相关说明,在此不再赘述。
在本实施例的一些可选的实现方式中,对象渲染装置900中还可以包括:
渲染模型确定单元,被配置成确定与待渲染对象对应的渲染模型;
临时重构单元,被配置成将预先记录的渲染模型的模型框架和模型权重参数,在内存中重构得到可用状态的渲染模型;其中,模型框架和模型权重参数均为经训练样本训练完成后的模型参数。
在本实施例的一些可选的实现方式中,渲染模型确定单元可以被进一步配置成:
确定待渲染对象的对象类型;
确定与对象类型对应的渲染模型。
在本实施例的一些可选的实现方式中,对象渲染装置900中还可以包括:
基准模型确定单元,被配置成对具有相同模型框架、不同模型权重参数的不同渲染模型,确定基准模型权重参数,并将具有基准模型参数的渲染模型为基准模型;
权重参数差异计算单元,被配置成计算区别于基准模型的其它渲染模型的模型权重参数相对于基准模型权重参数的权重参数差异;
参数存储单元,被配置成存储模型框架、基准模型权重参数和权重参数差异。
在本实施例的一些可选的实现方式中,待渲染对象确定单元901可以被进一步配置成:
确定目标场景的场景驻留度;其中,场景驻留度指保持处在目标场景的时长;
基于场景驻留度确定对构成目标场景下的对象切分粒度;其中,场景驻留度的高低与对象切分粒度的高低成正比关系;
根据对象切分粒度确定目标场景下的待渲染对象。
在本实施例的一些可选的实现方式中,待渲染对象确定单元901可以被进一步配置成:
确定目标场景的场景清晰度要求;
基于场景清晰度要求确定对构成目标场景下的对象切分粒度;其中,场景清晰度要求的清晰度高低与对象切分粒度的高低成正比关系;
根据对象切分粒度确定目标场景下的待渲染对象。
在本实施例的一些可选的实现方式中,待渲染对象确定单元901可以被进一步配置成:
确定虚拟角色在目标场景下的观察视场角;
按预设的第一对象切分粒度确定处于观察视场角内的待渲染对象;
按预设的第二对象切分粒度确定处于观察视场角外的待渲染对象;其中,第一对象切分粒度小于第二对象切分粒度。
在本实施例的一些可选的实现方式中,对象渲染装置900中还可以包括:
同场景渲染结果复现单元,被配置成响应于再次流转至目标场景,将缓存在内存中的目标场景下的待渲染对象的渲染结果进行呈现。
本实施例作为对应于上述方法实施例的装置实施例存在,本实施例提供的对象渲染装置,通过将纹理素材和光照模型对待渲染对象的作用效果封装在神经网络中的训练成果(即表现为训练完成的模型框架和模型权重参数)中,从而就可以仅需要保存训练好的神经网络,而无需直接存储该待渲染对象的纹理素材和光照数据,由于相较于原纹理素材和光照数据的数据量,作为训练成果的模型框架和模型权重参数仅占用少量存储空间,得以在不提升算力要求的同时显著减少了对存储空间的占用,更加适合在移动端提供更高的图像渲染质量。
根据本公开的实施例,本公开还提供了一种电子设备,该电子设备包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,该指令被至少一个处理器执行,以使至少一个处理器执行时能够实现上述任意实施例所描述的对象渲染方法。
根据本公开的实施例,本公开还提供了一种可读存储介质,该可读存储介质存储有计算机指令,该计算机指令用于使计算机执行时能够实现上述任意实施例所描述的对象渲染方法。
根据本公开的实施例,本公开还提供了一种计算机程序产品,该计算机程序在被处理器执行时能够实现上述任意实施例所描述的对象渲染方法。
图10了可以用来实施本公开的实施例的示例电子设备1000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图10,设备1000包括计算单元1001,其可以根据存储在只读存储器(ROM)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(RAM)1003中的计算机程序,来执行各种适当的动作和处理。在RAM 1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如对象渲染方法。例如,在一些实施例中,对象渲染方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到RAM 1003并由计算单元1001执行时,可以执行上文描述的对象渲染方法的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行对象渲染方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(VPS,Virtual Private Server)服务中存在的管理难度大,业务扩展性弱的缺陷。
根据本公开实施例的技术方案,通过将纹理素材和光照模型对待渲染对象的作用效果封装在神经网络中的训练成果(即表现为训练完成的模型框架和模型权重参数)中,从而就可以仅需要保存训练好的神经网络,而无需直接存储该待渲染对象的纹理素材和光照数据,由于相较于原纹理素材和光照数据的数据量,作为训练成果的模型框架和模型权重参数仅占用少量存储空间,得以在不提升算力要求的同时显著减少了对存储空间的占用,更加适合在移动端提供更高的图像渲染质量。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (19)
1.一种对象渲染方法,包括:
确定目标场景下的待渲染对象;
获取所述待渲染对象的三维点坐标和方向向量;
利用与所述待渲染对象对应的渲染模型,确定与所述三维点坐标和所述方向向量对应的三维点色值,所述渲染模型用于表征对象的具有相应方向的三维点与在纹理素材和光照模型的渲染作用下呈现的三维点色值之间的对应关系,所述三维点的方向基于所述三维点坐标和所述方向向量确定;
基于所述三维点色值完成对所述待渲染对象的渲染。
2.根据权利要求1所述的方法,还包括:
确定与所述待渲染对象对应的渲染模型;
将预先记录的渲染模型的模型框架和模型权重参数,在内存中重构得到可用状态的渲染模型。
3.根据权利要求2所述的方法,其中,所述确定与所述待渲染对象对应的渲染模型,包括:
确定所述待渲染对象的对象类型;
确定与所述对象类型对应的渲染模型。
4.根据权利要求2所述的方法,还包括:
对具有相同模型框架、不同模型权重参数的不同渲染模型,确定基准模型权重参数,并将具有所述基准模型参数的渲染模型为基准模型;
计算区别于所述基准模型的其它渲染模型的模型权重参数相对于所述基准模型权重参数的权重参数差异;
存储所述模型框架、所述基准模型权重参数和所述权重参数差异。
5.根据权利要求1所述的方法,其中,所述确定目标场景下的待渲染对象,包括:
确定所述目标场景的场景驻留度;其中,所述场景驻留度指保持处在所述目标场景的时长;
基于所述场景驻留度确定对构成所述目标场景下的对象切分粒度;其中,所述场景驻留度的高低与所述对象切分粒度的大小成反比关系;
根据所述对象切分粒度确定所述目标场景下的待渲染对象。
6.根据权利要求1所述的方法,其中,所述确定目标场景下的待渲染对象,包括:
确定所述目标场景的场景清晰度要求;
基于所述场景清晰度要求确定对构成所述目标场景下的对象切分粒度;其中,所述场景清晰度要求的清晰度高低与所述对象切分粒度的高低成正比关系;
根据所述对象切分粒度确定所述目标场景下的待渲染对象。
7.根据权利要求1所述的方法,其中,所述确定目标场景下的待渲染对象,包括:
确定虚拟角色在所述目标场景下的观察视场角;
按预设的第一对象切分粒度确定处于所述观察视场角内的待渲染对象;
按预设的第二对象切分粒度确定处于所述观察视场角外的待渲染对象;其中,所述第一对象切分粒度小于所述第二对象切分粒度。
8.根据权利要求1-7任一项所述的方法,还包括:
响应于再次流转至所述目标场景,将缓存在内存中的所述目标场景下的待渲染对象的渲染结果进行呈现。
9.一种对象渲染装置,包括:
待渲染对象确定单元,被配置成确定目标场景下的待渲染对象;
对象参数获取单元,被配置成获取所述待渲染对象的三维点坐标和方向向量;
三维点色值确定单元,被配置成利用与所述待渲染对象对应的渲染模型,确定与所述三维点坐标和所述方向向量对应的三维点色值,所述渲染模型用于表征对象的具有相应方向的三维点与在纹理素材和光照模型的渲染作用下呈现的三维点色值之间的对应关系,所述三维点的方向基于所述三维点坐标和所述方向向量确定;
渲染单元,被配置成基于所述三维点色值完成对所述待渲染对象的渲染。
10.根据权利要求9所述的装置,还包括:
渲染模型确定单元,被配置成确定与所述待渲染对象对应的渲染模型;
临时重构单元,被配置成将预先记录的渲染模型的模型框架和模型权重参数,在内存中重构得到可用状态的渲染模型。
11.根据权利要求10所述的装置,其中,所述渲染模型确定单元被进一步配置成:
确定所述待渲染对象的对象类型;
确定与所述对象类型对应的渲染模型。
12.根据权利要求10所述的装置,还包括:
基准模型确定单元,被配置成对具有相同模型框架、不同模型权重参数的不同渲染模型,确定基准模型权重参数,并将具有所述基准模型参数的渲染模型为基准模型;
权重参数差异计算单元,被配置成计算区别于所述基准模型的其它渲染模型的模型权重参数相对于所述基准模型权重参数的权重参数差异;
参数存储单元,被配置成存储所述模型框架、所述基准模型权重参数和所述权重参数差异。
13.根据权利要求9所述的装置,其中,所述待渲染对象确定单元被进一步配置成:
确定所述目标场景的场景驻留度;其中,所述场景驻留度指保持处在所述目标场景的时长;
基于所述场景驻留度确定对构成所述目标场景下的对象切分粒度;其中,所述场景驻留度的高低与所述对象切分粒度的高低成正比关系;
根据所述对象切分粒度确定所述目标场景下的待渲染对象。
14.根据权利要求9所述的装置,其中,所述待渲染对象确定单元被进一步配置成:
确定所述目标场景的场景清晰度要求;
基于所述场景清晰度要求确定对构成所述目标场景下的对象切分粒度;其中,所述场景清晰度要求的清晰度高低与所述对象切分粒度的高低成正比关系;
根据所述对象切分粒度确定所述目标场景下的待渲染对象。
15.根据权利要求9所述的装置,其中,所述待渲染对象确定单元被进一步配置成:
确定虚拟角色在所述目标场景下的观察视场角;
按预设的第一对象切分粒度确定处于所述观察视场角内的待渲染对象;
按预设的第二对象切分粒度确定处于所述观察视场角外的待渲染对象;其中,所述第一对象切分粒度小于所述第二对象切分粒度。
16.根据权利要求9-15任一项所述的装置,还包括:
同场景渲染结果复现单元,被配置成响应于再次流转至所述目标场景,将缓存在内存中的所述目标场景下的待渲染对象的渲染结果进行呈现。
17.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的对象渲染方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行权利要求1-8中任一项所述的对象渲染方法。
19.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1-8中任一项所述对象渲染方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211642928.0A CN115861510A (zh) | 2022-12-20 | 2022-12-20 | 对象渲染方法、装置、电子设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211642928.0A CN115861510A (zh) | 2022-12-20 | 2022-12-20 | 对象渲染方法、装置、电子设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115861510A true CN115861510A (zh) | 2023-03-28 |
Family
ID=85674590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211642928.0A Pending CN115861510A (zh) | 2022-12-20 | 2022-12-20 | 对象渲染方法、装置、电子设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115861510A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116704092A (zh) * | 2023-08-09 | 2023-09-05 | 广州市乐淘动漫设计有限公司 | 一种动漫场景实时渲染系统 |
-
2022
- 2022-12-20 CN CN202211642928.0A patent/CN115861510A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116704092A (zh) * | 2023-08-09 | 2023-09-05 | 广州市乐淘动漫设计有限公司 | 一种动漫场景实时渲染系统 |
CN116704092B (zh) * | 2023-08-09 | 2023-12-22 | 广州市乐淘动漫设计有限公司 | 一种动漫场景实时渲染系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6504212B2 (ja) | 装置、方法およびシステム | |
CN114820905B (zh) | 虚拟形象生成方法、装置、电子设备及可读存储介质 | |
CN112785674A (zh) | 纹理贴图的生成方法、渲染方法、装置、设备及存储介质 | |
US20230206578A1 (en) | Method for generating virtual character, electronic device and storage medium | |
CN112967381A (zh) | 三维重建方法、设备和介质 | |
CN114092675A (zh) | 图像显示方法、图像显示装置、电子设备及存储介质 | |
CN114529658A (zh) | 一种图形渲染方法及其相关设备 | |
CN113453073A (zh) | 一种图像渲染方法、装置、电子设备及存储介质 | |
CN114792355A (zh) | 虚拟形象生成方法、装置、电子设备和存储介质 | |
CN114708374A (zh) | 虚拟形象生成方法、装置、电子设备和存储介质 | |
CN115861510A (zh) | 对象渲染方法、装置、电子设备、存储介质及程序产品 | |
CN109377552B (zh) | 图像遮挡计算方法、装置、计算设备及存储介质 | |
CN113870399A (zh) | 表情驱动方法、装置、电子设备及存储介质 | |
US20230316626A1 (en) | Image rendering method and apparatus, computer device, and computer-readable storage medium | |
US20230377265A1 (en) | Systems for Efficiently Rendering Vector Objects | |
CN115908687A (zh) | 渲染网络的训练、渲染方法、装置及电子设备 | |
CN114741193A (zh) | 场景渲染方法、装置、计算机可读介质和电子设备 | |
CN113362438A (zh) | 全景渲染的方法、装置、电子设备、介质及程序 | |
CN113836455A (zh) | 特效渲染方法、装置、设备、存储介质及计算机程序产品 | |
CN114820908B (zh) | 虚拟形象生成方法、装置、电子设备和存储介质 | |
CN113542620B (zh) | 一种特效处理方法、装置及电子设备 | |
CN116363331B (zh) | 图像生成方法、装置、设备以及存储介质 | |
CN116012666B (zh) | 图像生成、模型的训练、信息重建方法、装置及电子设备 | |
CN113436325B (zh) | 一种图像处理方法、装置、电子设备及存储介质 | |
US20240087207A1 (en) | Depth analyzer and shading rate controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |