一种实时光线追踪的方法、装置、存储介质及电子设备转让专利

申请号 : CN202311235722.0

文献号 : CN116977535B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 方顺乔磊冯星崔铭孙思远

申请人 : 北京渲光科技有限公司

摘要 :

本申请的一些实施例提供了一种实时光线追踪的方法、装置、存储介质及电子设备,该方法包括:将待渲染场景中目标位置图像分别输入至预先训练好的第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型,获取所述目标位置的立体体贴图数据,其中,所述立体体贴图数据包括:法线立体体贴图、世界坐标立体体贴图以及反照率立体体贴图;对所述立体体贴图数据进行计算,得到实时光照信息。本申请的一些实施例可以降低计算量,达到实时运行的光线追踪。

权利要求 :

1.一种实时光线追踪的方法,其特征在于,应用于动态场景渲染,包括:

将待渲染场景中目标位置图像分别输入至预先训练好的第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型,获取所述目标位置的立体体贴图数据,其中,所述立体体贴图数据包括:法线立体体贴图、世界坐标立体体贴图以及反照率立体体贴图;

对所述立体体贴图数据进行计算,得到实时光照信息;

其中,所述第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型分别是由对应的训练集进行训练得到的,所述训练集包括:第一训练集、第二训练集和第三训练集;所述训练集中的多个场景中每个场景中各个位置图像数据是进行尺寸和规格处理过的,每个场景中的各个位置图像数据是按照截断的高斯分布进行数据初始化的;并且,每个场景中各个位置图像数据是通过每个场景中的摄像机拍摄得到的原始图像,所述原始图像包括:每个场景的几何信息、材质信息、光源信息和相机视角信息;

所述第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型是采用添加Drop‑out机制和调整L2正则化方式进行对比实验测试的;所述第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型是通过概率值对生成器进行优化得到的;

所述对所述立体体贴图数据进行计算,得到实时光照信息,包括:

随机选取所述立体体贴图数据中的部分像素作为光追采样点进行计算得到所述实时光照信息。

2.如权利要求1所述的方法,其特征在于,在所述将待渲染场景中目标位置图像分别输入至预先训练好的第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型之前,所述方法还包括:创建第一训练集、第二训练集和第三训练集,其中,所述第一训练集中包括:多个场景中每个场景中各个位置图像数据以及所述各个位置图像数据对应的法线立体体贴图数据,所述第二训练集中包括:所述各个位置图像数据以及所述各个位置图像数据对应的世界坐标立体体贴图数据,所述第三训练集中包括:所述各个位置图像数据以及所述各个位置图像数据对应的反射率立体体贴图数据;

利用所述第一训练集对第一对抗神经网络模型进行训练,获取所述第一目标对抗神经网络模型;

利用所述第二训练集对第二对抗神经网络模型进行训练,获取所述第二目标对抗神经网络模型;

利用所述第三训练集对第三对抗神经网络模型进行训练,获取所述第三目标对抗神经网络模型。

3.如权利要求2所述的方法,其特征在于,所述第一对抗神经网络模型为生成器,其中,所述利用所述第一训练集对第一对抗神经网络模型进行训练,获取所述第一目标对抗神经网络模型,包括:将所述各个位置图像数据输入至所述生成器,得到各生成图像;

将所述各生成图像与所述各个位置图像数据对应的法线立体体贴图数据进行对比,得到对比值,其中,所述对比值为概率值或损失值;所述概率值与所述各生成图像与所述法线立体体贴图数据的相似程度成正比,所述损失值与所述各生成图像与所述法线立体体贴图数据的相似程度成反比;

利用所述对比值优化所述生成器,得到所述第一目标对抗神经网络模型。

4.如权利要求3所述的方法,其特征在于,所述利用所述对比值优化所述生成器,得到所述第一目标对抗神经网络模型,包括:利用所述对比值优化所述生成器,得到待调优生成器;

通过调节所述待调优生成器的学习率参数、正则化机制优化所述待调优生成器,得到所述第一目标对抗神经网络模型。

5.一种实时光线追踪的装置,其特征在于,应用于动态场景渲染,包括:

模型处理模块,用于将待渲染场景中目标位置图像分别输入至预先训练好的第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型,获取所述目标位置的立体体贴图数据,其中,所述立体体贴图数据包括:法线立体体贴图、世界坐标立体体贴图以及反照率立体体贴图;

信息计算模块,用于对所述立体体贴图数据进行计算,得到实时光照信息;

其中,所述第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型分别是由对应的训练集进行训练得到的,所述训练集包括:第一训练集、第二训练集和第三训练集;所述训练集中的多个场景中每个场景中各个位置图像数据是进行尺寸和规格处理过的,每个场景中的各个位置图像数据是按照截断的高斯分布进行数据初始化的;并且,每个场景中各个位置图像数据是通过每个场景中的摄像机拍摄得到的原始图像,所述原始图像包括:每个场景的几何信息、材质信息、光源信息和相机视角信息;

所述第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型是采用添加Drop‑out机制和调整L2正则化方式进行对比实验测试的;所述第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型是通过概率值对生成器进行优化得到的;

所述信息计算模块,用于:

随机选取所述立体体贴图数据中的部分像素作为光追采样点进行计算得到所述实时光照信息。

6.如权利要求5所述的装置,其特征在于,在所述模型处理模块之前,所述装置还包括:训练模块;所述训练模块用于:

创建第一训练集、第二训练集和第三训练集,其中,所述第一训练集中包括:多个场景中每个场景中各个位置图像数据以及所述各个位置图像数据对应的法线立体体贴图数据,所述第二训练集中包括:所述各个位置图像数据以及所述各个位置图像数据对应的世界坐标立体体贴图数据,所述第三训练集中包括:所述各个位置图像数据以及所述各个位置图像数据对应的反射率立体体贴图数据;

利用所述第一训练集对第一对抗神经网络模型进行训练,获取所述第一目标对抗神经网络模型;

利用所述第二训练集对第二对抗神经网络模型进行训练,获取所述第二目标对抗神经网络模型;

利用所述第三训练集对第三对抗神经网络模型进行训练,获取所述第三目标对抗神经网络模型。

7.如权利要求6所述的装置,其特征在于,所述第一对抗神经网络模型为生成器,其中,所述训练模块用于:将所述各个位置图像数据输入至所述生成器,得到各生成图像;

将所述各生成图像与所述各个位置图像数据对应的法线立体体贴图数据进行对比,得到对比值,其中,所述对比值为概率值或损失值;所述概率值与所述各生成图像与所述法线立体体贴图数据的相似程度成正比,所述损失值与所述各生成图像与所述法线立体体贴图数据的相似程度成反比;

利用所述对比值优化所述生成器,得到所述第一目标对抗神经网络模型。

8.如权利要求7所述的装置,其特征在于,所述训练模块用于:

利用所述对比值优化所述生成器,得到待调优生成器;

通过调节所述待调优生成器的学习率参数、正则化机制优化所述待调优生成器,得到所述第一目标对抗神经网络模型。

9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,其中,所述计算机程序被处理器运行时执行如权利要求1‑4中任意一项权利要求所述的方法。

10.一种电子设备,其特征在于,包括存储器、处理器以及存储在所述存储器上并在所述处理器上运行的计算机程序,其中,所述计算机程序被所述处理器运行时执行如权利要求1‑4中任意一项权利要求所述的方法。

说明书 :

一种实时光线追踪的方法、装置、存储介质及电子设备

技术领域

[0001] 本申请涉及渲染技术领域,具体而言,涉及一种实时光线追踪的方法、装置、存储介质及电子设备。

背景技术

[0002] 光线追踪是一种渲染技术,它改变了计算机图形学领域的游戏规则。光线追踪可以通过模拟光线与场景中物体的相互作用来生成极其逼真的图像,与其他渲染方法相比,光线追踪提供了3D对象和环境更详细、更准确的视觉表示。
[0003] 目前,由于传统的光线追踪算法在渲染过程中需要采用离线的方式进行复杂的计算,耗费时间较长,因此传统的光线追踪方法无法实时生成每一帧渲染图像,无法应用在实时反应的应用场景中,实时性较差。
[0004] 因此,如何提供一种高效的实时光线追踪的方法的技术方案成为亟需解决的技术问题。

发明内容

[0005] 本申请的一些实施例的目的在于提供一种实时光线追踪的方法、装置、存储介质及电子设备,通过本申请的实施例的技术方案可以降低计算复杂度,实现实时的光线追踪。
[0006] 第一方面,本申请的一些实施例提供了一种实时光线追踪的方法,包括:将待渲染场景中目标位置图像分别输入至预先训练好的第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型,获取所述目标位置的立体体贴图数据,其中,所述立体体贴图数据包括:法线立体体贴图、世界坐标立体体贴图以及反照率立体体贴图;对所述立体体贴图数据进行计算,得到实时光照信息。
[0007] 本申请的一些实施例通过预先训练好的第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型,可以对待渲染场景中目标位置图像进行处理,得到立体体贴图数据,最后进行计算得到实时光照信息。本申请的一些实施例可以在线计算,通过训练好的模型处理可以降低计算复杂度,实现实时的光线追踪。
[0008] 在一些实施例,在所述将待渲染场景中目标位置图像分别输入至预先训练好的第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型之前,所述方法还包括:创建第一训练集、第二训练集和第三训练集,其中,所述第一训练集中包括:多个场景中每个场景中各个位置图像数据以及所述各个位置图像数据对应的法线立体体贴图数据,所述第二训练集中包括:所述各个位置图像数据以及所述各个位置图像数据对应的世界坐标立体体贴图数据,所述第三训练集中包括:所述各个位置图像数据以及所述各个位置图像数据对应的反射率立体体贴图数据;利用所述第一训练集对第一对抗神经网络模型进行训练,获取所述第一目标对抗神经网络模型;利用所述第二训练集对第二对抗神经网络模型进行训练,获取所述第二目标对抗神经网络模型;利用所述第三训练集对第三对抗神经网络模型进行训练,获取所述第三目标对抗神经网络模型。
[0009] 本申请的一些实施例通过创建第一训练集、第二训练集和第三训练集分别对对应的模型进行训练得到第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型,为后续光线追踪的计算提供模型支持。
[0010] 在一些实施例,所述第一对抗神经网络模型为生成器,其中,所述利用所述第一训练集对第一对抗神经网络模型进行训练,获取所述第一目标对抗神经网络模型,包括:将所述各个位置图像数据输入至所述生成器,得到各生成图像;将所述各生成图像与所述各个位置图像数据对应的法线立体体贴图数据进行对比,得到对比值,其中,所述对比值为概率值或损失值;所述概率值与所述各生成图像与所述法线立体体贴图数据的相似程度成正比,所述损失值与所述各生成图像与所述法线立体体贴图数据的相似程度成反比;利用所述对比值优化所述生成器,得到所述第一目标对抗神经网络模型。
[0011] 本申请的一些实施例通过对生成器进行训练,然后利用对比值进行优化,最终得到第一目标对抗神经网络模型,以此可以保证训练的模型的准确度。
[0012] 在一些实施例,所述利用所述对比值优化所述生成器,得到所述第一目标对抗神经网络模型,包括:利用所述对比值优化所述生成器,得到待调优生成器;通过调节所述待调优生成器的学习率参数、正则化机制优化所述待调优生成器,得到所述第一目标对抗神经网络模型。
[0013] 本申请的一些实施例通过对比值优化后的待调优生成器进一步进行调节和优化,得到第一目标对抗神经网络模型,提升模型训练的精准度。
[0014] 第二方面,本申请的一些实施例提供了一种实时光线追踪的装置,包括:模型处理模块,用于将待渲染场景中目标位置图像分别输入至预先训练好的第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型,获取所述目标位置的立体体贴图数据,其中,所述立体体贴图数据包括:法线立体体贴图、世界坐标立体体贴图以及反照率立体体贴图;信息计算模块,用于对所述立体体贴图数据进行计算,得到实时光照信息。
[0015] 在一些实施例,在所述模型处理模块之前,所述装置还包括:训练模块;所述训练模块用于:创建第一训练集、第二训练集和第三训练集,其中,所述第一训练集中包括:多个场景中每个场景中各个位置图像数据以及所述各个位置图像数据对应的法线立体体贴图数据,所述第二训练集中包括:所述各个位置图像数据以及所述各个位置图像数据对应的世界坐标立体体贴图数据,所述第三训练集中包括:所述各个位置图像数据以及所述各个位置图像数据对应的反射率立体体贴图数据;利用所述第一训练集对第一对抗神经网络模型进行训练,获取所述第一目标对抗神经网络模型;利用所述第二训练集对第二对抗神经网络模型进行训练,获取所述第二目标对抗神经网络模型;利用所述第三训练集对第三对抗神经网络模型进行训练,获取所述第三目标对抗神经网络模型。
[0016] 在一些实施例,所述第一对抗神经网络模型为生成器,其中,所述训练模块用于:将所述各个位置图像数据输入至所述生成器,得到各生成图像;将所述各生成图像与所述各个位置图像数据对应的法线立体体贴图数据进行对比,得到对比值,其中,所述对比值为概率值或损失值;所述概率值与所述各生成图像与所述法线立体体贴图数据的相似程度成正比,所述损失值与所述各生成图像与所述法线立体体贴图数据的相似程度成反比;利用所述对比值优化所述生成器,得到所述第一目标对抗神经网络模型。
[0017] 在一些实施例,所述训练模块用于:利用所述对比值优化所述生成器,得到待调优生成器;通过调节所述待调优生成器的学习率参数、正则化机制优化所述待调优生成器,得到所述第一目标对抗神经网络模型。
[0018] 第三方面,本申请的一些实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如第一方面任一实施例所述的方法。
[0019] 第四方面,本申请的一些实施例提供一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其中,所述处理器执行所述程序时可实现如第一方面任一实施例所述的方法。
[0020] 第五方面,本申请的一些实施例提供一种计算机程序产品,所述的计算机程序产品包括计算机程序,其中,所述的计算机程序被处理器执行时可实现如第一方面任一实施例所述的方法。

附图说明

[0021] 为了更清楚地说明本申请的一些实施例的技术方案,下面将对本申请的一些实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0022] 图1为本申请的一些实施例提供的一种实时光线追踪的系统图;
[0023] 图2为本申请的一些实施例提供的训练模型的方法流程图;
[0024] 图3为本申请的一些实施例提供的网络模型结构图;
[0025] 图4为本申请的一些实施例提供的一种实时光线追踪的方法流程图;
[0026] 图5为本申请的一些实施例提供的一种实时光线追踪的装置组成框图;
[0027] 图6为本申请的一些实施例提供的一种电子设备示意图。

具体实施方式

[0028] 下面将结合本申请的一些实施例中的附图,对本申请的一些实施例中的技术方案进行描述。
[0029] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0030] 相关技术中,光线追踪一般分成两部分,一个是求交,一个是着色。其中,求交计算用于确定光线与场景中各物体之间的交互关系,如反射、折射等。具体的,求交是计算光线与场景物体的相交点,通过反射和折射,一根光线在场景中会产生大量交点,每个相交点都有颜色信息,通过添加迭代权重值(比如第一个交点权重70%,通过反射折射后的光线,再与物体相交后,其交点权重为20%,以此类推,所有权重值之和为100%),从而确定着色阶段直接光照和间接光照的颜色信息(即通过权重值乘以颜色值,然后RGB每个值相加,得到最终的RGB)。由此可以看出求交的计算量巨大,也就是说传统的光线追踪算法在渲染过程中确实非常复杂和耗时。针对1080P屏幕,每像素发射1000根光线,再加上3次反弹,就会涉及到亿万次求交计算。在复杂的场景或高质量渲染需求下,计算的复杂度和耗时会进一步增加。由于这些计算通常非常繁琐和耗时,因此,传统的光线追踪方法往往无法实时生成每一帧渲染图像,这也限制了其在一些要求实时反应的应用场景,如视频游戏、虚拟现实等方面的使用。尽管现代图形硬件对于这些计算提供了一定的优化,但仍然不能完全解决这一问题。
[0031] 由上述相关技术可知,现有技术中在光线追踪的过程中的计算量较大,难以实现实时光线追踪。
[0032] 鉴于此,本申请的一些实施例提供了一种实时光线追踪的方法,该方法通过将待渲染场景中目标位置图像分别输入至预先训练好的第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型,得到与该目标位置相关的立体体贴图数据。之后通过对立体体贴图数据进行计算,得到实时光照信息。通过本申请的一些实施例对实时光照信息的计算可以实现实时光线追踪,降低了计算量,提升了光线追踪的效率。
[0033] 下面结合附图1示例性阐述本申请的一些实施例提供的实时光线追踪的系统的整体组成结构。
[0034] 如图1所示,本申请的一些实施例提供了一种实时光线追踪的系统,该实时光线追踪的系统包括终端100和处理服务器200。其中,终端100可以获取到在待渲染场景中部署的探针回传的目标位置图像,然后将该目标位置图像发送至处理服务器200。处理服务器200可以将目标位置图像分别输入至第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型,输出立体体贴图数据。之后,处理服务器200对立体体贴图数据进行计算,得到实时光照信息。
[0035] 可以理解的是,在本申请的一些实施例中,第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型是提前训练完成并部署至处理服务器200内部的。
[0036] 在本申请的一些实施例中,终端100可以为移动终端,也可以为非便携的电脑终端,本申请实施例在此不作具体限定。
[0037] 为了降低计算量,实现实时光线追踪,在计算实时光照信息之前,首先需要获取第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型。因此,下面结合附图2示例性阐述本申请的一些实施例提供的训练模型的实现过程。
[0038] 请参见附图2,图2为本申请的一些实施例提供的一种训练模型的方法流程图,该训练模型的方法包括:S210,创建第一训练集、第二训练集和第三训练集,其中,所述第一训练集中包括:多个场景中每个场景中各个位置图像数据以及所述各个位置图像数据对应的法线立体体贴图数据,所述第二训练集中包括:所述各个位置图像数据以及所述各个位置图像数据对应的世界坐标立体体贴图数据,所述第三训练集中包括:所述各个位置图像数据以及所述各个位置图像数据对应的反射率立体体贴图数据;S220,利用所述第一训练集对第一对抗神经网络模型进行训练,获取所述第一目标对抗神经网络模型;S230,利用所述第二训练集对第二对抗神经网络模型进行训练,获取所述第二目标对抗神经网络模型;S240,利用所述第三训练集对第三对抗神经网络模型进行训练,获取所述第三目标对抗神经网络模型。
[0039] 需要说明的是,S220 S240的执行顺序可以是并列执行的,也可以是随机调换的,~上述只是一种实施方式。具体的可以根据实际情况确定,本申请实施例并不局限于此。
[0040] 下面示例性阐述上述过程。
[0041] 在本申请的一些实施例中,在对模型进行训练前,首先需要创建训练数据集和模型结构。例如,可以准备室内、室外各类场景200个。其中,每个场景按照长宽高20*20*20的方式进行部署探针,一个场景需要8000个探针。200个场景,8000个探针,需要进行160万次训练。之后使用Lumverse 3D引擎对每个场景的每个探针进行离线烘焙,得到每个场景下的法线立体体贴图数据、世界坐标立体体贴图数据和反照率立体体贴图数据。可以理解的是,上述只是一个具体的实施例,在实际应用中,场景的数量和探针的数量可以根据实际情况进行确定,本申请实施例在此不作具体限定。另外,将每个场景下的法线立体体贴图数据、世界坐标立体体贴图数据和反照率立体体贴图数据分为三组训练集,也就是第一训练集、第二训练集和第三训练集,以便于后续训练三种不同的模型。
[0042] 在本申请的一些实施例中,第一对抗神经网络模型、第二对抗神经网络模型和第三对抗神经网络模型的网络模型结构均采用如图3所示的结构。图3的网络模型结构包括生成器Gab和判别器Db。其中,图像A代表每个场景中的摄像机(也就是探针)拍到的图片,图像B是Gab基于图像A生成的。图像C为摄像机拍摄的真实图片的法线立体体贴图数据、世界坐标立体体贴图数据或反照率立体体贴图数据。Db用于判定图像B和图像C之间的相似程度,输出的是一个概率值。
[0043] 也就是说,图3的网络模型有三个,分别对应法线、世界坐标和反照率的立方体贴图。生成器Gab的输入层是摄像机在场景中拍到的图片,这个图片能反映出场景的几何信息、材质信息、光源信息和相机视角信息等。生成器Gab的隐藏层有16个卷积层(卷积核3*3和2*2两种,步长为1,卷积核的数量也不同)、RELU激活函数、最大池化层、全连接层。生成器Gab的输出层可以是法线、世界坐标或反照率的立方体贴图。判别器Db的输入层和隐藏层与生成器类似,为避免重复在此不作赘述。
[0044] 在本申请的一些实施例中,所述第一对抗神经网络模型为生成器,S220可以包括:将所述各个位置图像数据输入至所述生成器,得到各生成图像;将所述各生成图像与所述各个位置图像数据对应的法线立体体贴图数据进行对比,得到对比值,其中,所述对比值为概率值或损失值;所述概率值与所述各生成图像与所述法线立体体贴图数据的相似程度成正比,所述损失值与所述各生成图像与所述法线立体体贴图数据的相似程度成反比;利用所述对比值优化所述生成器,得到所述第一目标对抗神经网络模型。
[0045] 例如,在本申请的一些实施例中,在训练前,OpenCV可以读取第一训练集中的每个场景中各个位置图像数据。之后可以对每个场景中各个位置图像数据进行数据处理,以保证图像数据的尺寸和规格保持一致。然后对每个场景中的图像数据按照截断的高斯分布进行数据初始化,以保证每个场景中的图像数据分布的均匀性和稳定性。总训练的次数可以按照实际需求设置,如100次,一次训练的数量(Batch)是160万。
[0046] 具体的,在训练时,将数据初始化的图像数据输入至图3中的生成器Gab中,输出各生成图像。然后将各生成图像与各个位置图像数据对应的法线立体体贴图数据输入至判别器Db,输出概率值,该概率值表示生成数据与真实数据之间的概率,概率值越大说明生成数据与真实数据越相似,也就是说概率值越大表征生成的图片越接近于真实图片。在另一些实施例中,还可以通过损失函数计算各生成图像与各个位置图像数据对应的法线立体体贴图数据间的像素差值,最后累加得到损失值(也就是说,在另一实施例中,图3中不再包括判别器Db,图3中的判别器Db被损失函数所替代)。该损失值的物理含义与概率值相似,损失值越大说明生成数据与真实数据越相似。例如,采用MSE(平均平方误差)作为损失函数来计算损失,即对每个像素点的RGB,计算生成图像与标注图像的MSE,最终目的是让这个损失函数的损失值最小。其中,标注图像,其实就是通过传统方法得到的法线(或世界坐标、反照率)的立方体贴图,这个数据作为标注的Ground Truth数据(即真实数据),然后将真实数据和生成数据进行对比。
[0047] 通过概率值或损失值可以对生成器进行优化,在达到总训练的次数时,得到第一目标对抗神经网络模型。
[0048] 在本申请的一些实施例中,所述利用所述对比值优化所述生成器,得到所述第一目标对抗神经网络模型,包括:利用所述对比值优化所述生成器,得到待调优生成器;通过调节所述待调优生成器的学习率参数、正则化机制优化所述待调优生成器,得到所述第一目标对抗神经网络模型。
[0049] 例如,在本申请的一些实施例中,在模型训练的过程中,还可以进行对比实验。在得到待调优生成器后,可以通过调整学习率的方式对待调优生成器进行测试,例如,通过对学习率的调整可以对比概率值或损失值的变化,以此提升模型训练的精准度。还可以采用正则优化机制对待调优生成器进行测试,如为网络模型添加Drop‑out机制,和调整L2正则化,以进行对比实验,对比损失值或概率值的变化优化生成器,得到第一目标对抗神经网络模型。通过上述不同形式的对比实验,确保得到的模型的准确度。
[0050] 应理解,第二目标对抗神经网络模型和第三目标对抗神经网络模型的获取方法和得到第一目标对抗神经网络模型的训练原理相似,三者之间只是训练数据集不同。也就是说,第二目标对抗神经网络模型用到的是含有世界坐标立体体贴图数据的第二训练集,第三目标对抗神经网络模型用到的是含有反射率立体体贴图数据的第三训练集;并且,在训练过程中进行优化时也可以采用Db判别器或者损失函数的方式,具体的可以根据实际情况进行选择。因此,对第二对抗神经网络模型和第三对抗神经网络模型的具体训练过程可以参照图2提供的方法实施例,为避免重复,在此不作赘述。
[0051] 下面结合附图4示例性阐述本申请的一些实施例提供的实时光线追踪的具体过程。
[0052] 请参见附图4,图4为本申请的一些实施例提供的一种实时光线追踪的方法流程图,该实时光线追踪的方法包括:
[0053] S410,将待渲染场景中目标位置图像分别输入至预先训练好的第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型,获取所述目标位置的立体体贴图数据,其中,所述立体体贴图数据包括:法线立体体贴图、世界坐标立体体贴图以及反照率立体体贴图。
[0054] 例如,在本申请的一些实施例中,将待渲染场景中的摄像机拍摄的当前位置的图像(作为目标位置图像的一个具体示例)分别输入到由上述方法实施例训练得到的第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型,实时生成当前位置的三张立方体贴图,也就是法线立体体贴图、世界坐标立体体贴图以及反照率立体体贴图。
[0055] S420,对所述立体体贴图数据进行计算,得到实时光照信息。
[0056] 例如,在本申请的一些实施例中,读取上述得到的三张立方体贴图,计算实时光照信息。在计算过程中,不直接将法线、世界坐标和反照率的立方体贴图用于运行时着色计算,一个是待渲染场景中探针很多,全部计算将带来巨大显存和计算开销;第二个因为漫反射是低频信息,也没必要全算。因此,随机选取gbuffer cubemap(也就是三张立方体贴图)中的一部分像素作为光追采样点进行计算得到实时光照信息。具体的计算过程可以参照专利CN116030180B提出的“预计算辐照度全局光照”的方式完成着色步骤即可。
[0057] 通过上述本申请提供的一些实施例,通过将传统的离线计算求交的过程,用训练好的对抗神经网络来替代,从而减少大量离线的计算过程,达到实时光线追踪的效果。另外,本申请实施例还存在以下优势:
[0058] 1)计算效率提高:传统的离线求交过程通常涉及大量复杂计算。对抗神经网络一旦训练完成,可以迅速生成预计算的辐照度信息,从而大大减少计算时间。也因如此,实时光线追踪减少了对硬件资源的要求,使得更复杂的全局光照效果可以在更普遍的硬件平台上实现。
[0059] 2)灵活性增强:对抗神经网络可以针对各种不同的光照条件、场景几何和材质特性进行训练,通过对特定场景或一类场景训练,可以更灵活地适应不同的光照条件和视觉效果。这种灵活性允许更广泛的场景表示,并可以轻松地适应新的光照和几何变化。
[0060] 3)易于集成:生成器可以作为一个独立的组件,与现有的渲染流程和实时着色技术结合。这种模块化设计可以使其更容易集成到现有系统中。
[0061] 4)逼真效果的潜力:通过在大量真实数据上训练,对抗神经网络可能捕捉到传统方法难以模拟的微妙光照效果。这可以导致更逼真的渲染效果,尤其是在处理复杂材质和光照条件时。
[0062] 请参考图5,图5示出了本申请的一些实施例提供的实时光线追踪的装置的组成框图。应理解,该实时光线追踪的装置与上述方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该实时光线追踪的装置的具体功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
[0063] 图5的实时光线追踪的装置包括至少一个能以软件或固件的形式存储于存储器中或固化在实时光线追踪的装置中的软件功能模块,该实时光线追踪的装置包括:模型处理模块510,用于将待渲染场景中目标位置图像分别输入至预先训练好的第一目标对抗神经网络模型、第二目标对抗神经网络模型和第三目标对抗神经网络模型,获取所述目标位置的立体体贴图数据,其中,所述立体体贴图数据包括:法线立体体贴图、世界坐标立体体贴图以及反照率立体体贴图;信息计算模块520,用于对所述立体体贴图数据进行计算,得到实时光照信息。
[0064] 在本申请的一些实施例中,在模型处理模块510之前,所述装置还包括:训练模块(图中未示出);训练模块用于: 创建第一训练集、第二训练集和第三训练集,其中,所述第一训练集中包括:多个场景中每个场景中各个位置图像数据以及所述各个位置图像数据对应的法线立体体贴图数据,所述第二训练集中包括:所述各个位置图像数据以及所述各个位置图像数据对应的世界坐标立体体贴图数据,所述第三训练集中包括:所述各个位置图像数据以及所述各个位置图像数据对应的反射率立体体贴图数据;利用所述第一训练集对第一对抗神经网络模型进行训练,获取所述第一目标对抗神经网络模型;利用所述第二训练集对第二对抗神经网络模型进行训练,获取所述第二目标对抗神经网络模型;利用所述第三训练集对第三对抗神经网络模型进行训练,获取所述第三目标对抗神经网络模型。
[0065] 在本申请的一些实施例中,所述第一对抗神经网络模型为生成器,其中,训练模块用于:将所述各个位置图像数据输入至所述生成器,得到各生成图像;将所述各生成图像与所述各个位置图像数据对应的法线立体体贴图数据进行对比,得到对比值,其中,所述对比值为概率值或损失值;所述概率值与所述各生成图像与所述法线立体体贴图数据的相似程度成正比,所述损失值与所述各生成图像与所述法线立体体贴图数据的相似程度成反比;利用所述对比值优化所述生成器,得到所述第一目标对抗神经网络模型。
[0066] 在本申请的一些实施例中,训练模块用于:利用所述对比值优化所述生成器,得到待调优生成器;通过调节所述待调优生成器的学习率参数、正则化机制优化所述待调优生成器,得到所述第一目标对抗神经网络模型。
[0067] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。
[0068] 本申请的一些实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时可实现如上述实施例提供的上述方法中的任意实施例所对应方法的操作。
[0069] 本申请的一些实施例还提供了一种计算机程序产品,所述的计算机程序产品包括计算机程序,其中,所述的计算机程序被处理器执行时可实现如上述实施例提供的上述方法中的任意实施例所对应方法的操作。
[0070] 如图6所示,本申请的一些实施例提供一种电子设备600,该电子设备600包括:存储器610、处理器620以及存储在存储器610上并可在处理器620上运行的计算机程序,其中,处理器620通过总线630从存储器610读取程序并执行所述程序时可实现如上述任意实施例的方法。
[0071] 处理器620可以处理数字信号,可以包括各种计算结构。例如复杂指令集计算机结构、结构精简指令集计算机结构或者一种实行多种指令集组合的结构。在一些示例中,处理器620可以是微处理器。
[0072] 存储器610可以用于存储由处理器620执行的指令或指令执行过程中相关的数据。这些指令和/或数据可以包括代码,用于实现本申请实施例描述的一个或多个模块的一些功能或者全部功能。本公开实施例的处理器620可以用于执行存储器610中的指令以实现上述所示的方法。存储器610包括动态随机存取存储器、静态随机存取存储器、闪存、光存储器或其它本领域技术人员所熟知的存储器。
[0073] 以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0074] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
[0075] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。