CN117237507B - 参与介质的渲染方法、装置、存储介质及计算机设备 - Google Patents
参与介质的渲染方法、装置、存储介质及计算机设备 Download PDFInfo
- Publication number
- CN117237507B CN117237507B CN202311524167.3A CN202311524167A CN117237507B CN 117237507 B CN117237507 B CN 117237507B CN 202311524167 A CN202311524167 A CN 202311524167A CN 117237507 B CN117237507 B CN 117237507B
- Authority
- CN
- China
- Prior art keywords
- sampling
- points
- template
- point
- participation
- 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.)
- Active
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 82
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000005070 sampling Methods 0.000 claims abstract description 683
- 230000005540 biological transmission Effects 0.000 claims abstract description 180
- 239000000463 material Substances 0.000 claims abstract description 90
- 238000009826 distribution Methods 0.000 claims abstract description 59
- 230000005855 radiation Effects 0.000 claims abstract description 54
- 238000003062 neural network model Methods 0.000 claims abstract description 38
- 230000000694 effects Effects 0.000 claims abstract description 29
- 238000005286 illumination Methods 0.000 claims abstract description 14
- 239000010410 layer Substances 0.000 claims description 104
- 230000006870 function Effects 0.000 claims description 53
- 230000004927 fusion Effects 0.000 claims description 23
- 239000013598 vector Substances 0.000 claims description 21
- 238000013507 mapping Methods 0.000 claims description 13
- 238000000605 extraction Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 239000002356 single layer Substances 0.000 claims description 7
- 230000000149 penetrating effect Effects 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 claims description 4
- 238000012512 characterization method Methods 0.000 claims 1
- 238000004364 calculation method Methods 0.000 description 29
- 210000002569 neuron Anatomy 0.000 description 9
- 239000002245 particle Substances 0.000 description 9
- 238000002834 transmittance Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 239000007787 solid Substances 0.000 description 6
- 238000012549 training Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 239000000126 substance Substances 0.000 description 5
- 239000010977 jade Substances 0.000 description 4
- 239000008267 milk Substances 0.000 description 4
- 210000004080 milk Anatomy 0.000 description 4
- 235000013336 milk Nutrition 0.000 description 4
- 239000000779 smoke Substances 0.000 description 4
- 238000010521 absorption reaction Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 239000007788 liquid Substances 0.000 description 3
- 239000001993 wax Substances 0.000 description 3
- 241001465754 Metazoa Species 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 101100322581 Caenorhabditis elegans add-1 gene Proteins 0.000 description 1
- 101100322583 Caenorhabditis elegans add-2 gene Proteins 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000002902 bimodal effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000008264 cloud Substances 0.000 description 1
- 230000002301 combined effect Effects 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 230000005670 electromagnetic radiation Effects 0.000 description 1
- 239000003897 fog Substances 0.000 description 1
- 239000011344 liquid material Substances 0.000 description 1
- -1 skin Substances 0.000 description 1
- 230000036555 skin type Effects 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Landscapes
- Image Generation (AREA)
Abstract
本发明公开了一种参与介质的渲染方法、装置、存储介质及计算机设备。其中方法包括:获取待渲染的参与介质的三维模型和参与介质的材质类型,在参与介质的三维模型中均匀选取出多个采样点;根据各个采样点的坐标值和参与介质的材质类型,在采样特征表中查询出各个采样点的采样透射特征和采样相位特征;通过预训练的神经网络模型,根据各个采样点的采样透射特征和采样相位特征、以及参与介质的材质类型,确定各个采样点的散射值;将各个采样点的散射值分别输入到辐射传输方程中,得到参与介质的辐射能量分布,以通过参与介质的辐射能量分布生成参与介质的光照渲染效果。上述方法能够有效的加快参与介质的渲染速度,并达到实时渲染的效果。
Description
技术领域
本发明涉及人工智能及计算机图形学技术领域,尤其是涉及一种参与介质的渲染方法、装置、存储介质及计算机设备。
背景技术
参与介质指的是对所穿过的光线产生散射、吸收等作用的空间介质,例如云、烟、雾、尘埃、玉石、牛奶、皮肤、蜡、果肉等介质。当光线穿过参与介质时,会产生折射、散射、吸收等现象,光线在参与介质中要经过数万次反弹,因此,对参与介质进行渲染的难度较大。
在现有技术中,在对参与介质进行渲染时,需要使用大量迭代积分对参与介质的光照散射分布情况进行计算,其计算复杂度较高,计算效率较低,无法实时渲染出高质量的参与介质的光照散射分布情况,渲染效率较低。
发明内容
有鉴于此,本申请提供了一种参与介质的渲染方法、装置、存储介质及计算机设备,主要目的在于解决参与介质的渲染效率低、无法进行实时渲染的技术问题。
根据本发明的第一个方面,提供了一种参与介质的渲染方法,该方法包括:
获取待渲染的参与介质的三维模型和参与介质的材质类型,在所述参与介质的三维模型中均匀选取出多个采样点;
根据各个所述采样点的坐标值和所述参与介质的材质类型,在采样特征表中查询出各个所述采样点的采样透射特征和采样相位特征;
通过预训练的神经网络模型,根据各个所述采样点的采样透射特征和采样相位特征、以及所述参与介质的材质类型,确定各个所述采样点的散射值;
将各个所述采样点的散射值分别输入到辐射传输方程中,得到所述参与介质的辐射能量分布,以通过所述参与介质的辐射能量分布生成所述参与介质的光照渲染效果。
根据本发明的第二个方面,提供了一种参与介质的渲染装置,该装置包括:
采样点选取模块,用于获取待渲染的参与介质的三维模型和参与介质的材质类型,在所述参与介质的三维模型中均匀选取出多个采样点;
采样特征查询模块,用于根据各个所述采样点的坐标值和所述参与介质的材质类型,在采样特征表中查询出各个所述采样点的采样透射特征和采样相位特征;
散射值预测模块,用于通过预训练的神经网络模型,根据各个所述采样点的采样透射特征和采样相位特征、以及所述参与介质的材质类型,确定各个所述采样点的散射值;
参与介质渲染模块,用于将各个所述采样点的散射值分别输入到辐射传输方程中,得到所述参与介质的辐射能量分布,以通过所述参与介质的辐射能量分布生成所述参与介质的光照渲染效果。
根据本发明的第三个方面,提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述参与介质的渲染方法。
根据本发明的第四个方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述参与介质的渲染方法。
本发明提供的一种参与介质的渲染方法、装置、存储介质及计算机设备,首先获取待渲染的参与介质的三维模型和参与介质的材质类型,并在参与介质的三维模型中均匀选取出多个采样点,然后根据各个采样点的坐标值和参与介质的材质类型,在采样特征表中查询出各个采样点的采样透射特征和采样相位特征,进而通过预训练的神经网络模型,根据各个采样点的采样透射特征和采样相位特征、以及参与介质的材质类型,确定各个采样点的散射值,最后将各个采样点的散射值分别输入到辐射传输方程中,得到参与介质的辐射能量分布,以通过参与介质的辐射能量分布生成参与介质的光照渲染效果。
上述方法通过预训练的神经网络模型预测参与介质的各个采样点的散射值,并将各个采样点的散射值分别输入到辐射传输方程中,得到参与介质的辐射能量分布,可以模拟出求解辐射传输方程时的迭代求积分的过程,无需经过大量的积分运算即可得到参与介质的渲染效果,有效的加快了参与介质的体渲染速度,达到了实时渲染的效果。与现有技术相比,上述方法可以用较少的计算量在较短时间内获得较高的渲染质量,提高了参与介质的渲染效果。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本发明实施例提供的一种参与介质的渲染方法的流程示意图;
图2示出了本发明实施例提供的一种参与介质的渲染方法的流程示意图;
图3示出了本发明实施例提供的一种神经网络模型的架构示意图;
图4示出了本发明实施例提供的另一种神经网络模型的架构示意图;
图5示出了本发明实施例提供的一种选取采样点的模板点的场景示意图;
图6示出了本发明实施例提供的一种叠加透射场的场景示意图;
图7示出了本发明实施例提供的一种模板点体积对于入射角和出射角影响的场景示意图;
图8示出了本发明实施例提供的一种模板点的体积相位的场景示意图;
图9示出了本发明实施例提供的一种模板点的光线关系的场景示意图;
图10示出了本发明实施例提供的一种参与介质的渲染装置的结构示意图;
图11示出了本发明实施例提供的一种参与介质的渲染装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
在一个实施例中,如图1所示,提供了一种参与介质的渲染方法,以该方法应用于计算机设备为例进行说明,包括以下步骤:
101、获取待渲染的参与介质的三维模型和参与介质的材质类型,在参与介质的三维模型中均匀选取出多个采样点。
具体的,在对参与介质进行渲染时,可以获取待渲染的参与介质的三维模型以及参与介质的材质类型。其中,待渲染的参与介质的三维模型可以用一定分辨率的点云或体素等三维体积数据进行描述。一般来说,为了便于执行采样点选取、采样点特征计算以及散射值预测等步骤,参与介质的分辨率可以进行预先设定,或者,也可以在原始分辨率的基础上进行缩放,以使参与介质的分辨率能够达到预设要求。例如,可以将待渲染的参与介质的分辨率预设为1024*1024*1024,或将参与介质的分辨率缩放至1024*1024*1024。
进一步的,参与介质的材质类型可以根据参与介质预设的材质分类标签确定。在本实施例中,参与介质的材质类型主要包括三大类,分别为气态、固态和皮肤。其中,气态类可以包括云、烟、雾等介质,固液类可以包括玉石、牛奶、蜡、果肉等介质,皮肤类可以包括人体皮肤、动物皮肤等介质。可以理解的是,参与介质的材质类型还可以在上述三大类的基础上进行进一步划分,其中,每种参与介质的材质类型计算采样特征的方式会有所不同,因此,区分参与介质的材质类型可以有助于提高采样点特征计算的准确度。
进一步的,在选取参与介质的采样点时,可以根据采样精度确定采样点的数量。例如,对于分辨率为1024*1024*1024的参与介质来说,可以采集1024*1024=1048576个采样点,以达到较高的采样精度,并达到较好的渲染效果。在本实施例中,每个采样点对应了多个模板点,即每选取一个采样点即选取了一个采样点集合。在这种场景下,可以根据采样点的数量和采样点集合中模板点的数量计算采样的次数。例如,一个采样点对应了194个模板点,则参与介质可以执行执行5406(1048576/194)次采样,在采样时,可以使采用点均匀覆盖参与介质的各个部分,从而得到均匀分布的多个采样点。
102、根据各个采样点的坐标值和参与介质的材质类型,在采样特征表中查询出各个采样点的采样透射特征和采样相位特征。
具体的,参与介质的最终渲染效果取决于参与介质中各个粒子的透射率以及各个粒子的散射能量的空间分布,其中,粒子的透射率可以通过采样点的采样透射特征来表征,粒子的散射能量的空间分布可以通过采样点的采样相位特征来表征。因此,通过计算各个采样点的采样透射特征和采样相位特征,可以预测出参与介质的辐射能量分布,从而生成参与介质的渲染效果。
在本实施例中,采样点的采样透射特征和采样相位特征的计算方式相对比较复杂。在本实施例中,为了降低特征计算的复杂度,提高采样点的散射值的计算效率,可以预先计算出参与介质中的各个采样点的采样透射特征和采样相位特征,并将其记录在采样特征表中,从而可以在渲染参与介质时,能够直接根据相应的映射关系读取出相应的数值,并用于后续的计算。
在本实施例中,采样点的采样透射特征与采样点在参与介质中的位置有关,因此,可以将采样点的坐标值与采样点的采样透射特征进行映射存储,从而可以基于采样点的坐标值,得到采样点的采样透射特征。进一步的,采样点的采样相位特征与采样点在参与介质中的位置以及参与介质的材质类型均有关,因此,可以将采样点的坐标值和参与介质的材质类型与采样点的采样相位特征进行映射存储,从而可以基于采样点的坐标值和参与介质的材质类型,得到采样点的采样相位特征。
在本实施例中,采样点的采样透射特征由采样点对应的多个模板点的透射值组合得到,采样点的采样相位特征由采样点对应的多个模板点相对于该采样点的相位贡献组合得到。因此,采样点的采样透射特征和采样相位特征均是多维的特征,特征的维度数量与采样点对应的模板点的数量相同。本实施例通过获取各个采样点的采样透射特征和采样相位特征,能够获取到与各个采样点对应的多个模板点的透射值和相位贡献,因而特征信息非常丰富。
103、通过预训练的神经网络模型,根据各个采样点的采样透射特征和采样相位特征、以及参与介质的材质类型,确定各个采样点的散射值。
具体的,在得到各个采样点的采样透射特征和采样相位特征之后,可以针对每个采样点的采样透射特征和采样相位特征进行特征提取和特征融合等操作,以提取出各个采样点的重要特征。进一步的,根据参与介质的材质类型的不同,参与介质的各个采样点的采样相位特征所用的相位函数的不对称函数也不同,且参与介质的反照率也不同。基于此,本实施例可以基于参与介质的材质类型获取神经网络模型的配置参数,其中,配置参数可以包括相位函数的不对称参数、反照率、入射光线和相机方向的夹角等多个参数。然后,可以将获取到的配置参数作为一项重要的特征,并将该特征与各个采样点的采样透射特征和采样相位特征进行进一步融合,并基于融合后的特征进行采样点的散射值的预测,以此得到各个采样点的散射值。
在本实施例中,可以基于多种材质类型的样本参与介质的三维模型进行采样,并计算出各个采样点的采样透射特征和采样相位特征,得到训练样本,然后,通过蒙特卡洛路径追踪求出样本参与介质的散射分布情况,作为每组训练样本的真实值。进一步的,可以通过上述训练样本对神经网络模型进行迭代训练,并在神经网络模型预测出的辐射能量分布与散射分布真实值能够满足预设的损失函数的要求时,停止训练,以得到训练完成的神经网络模型。
104、将各个采样点的散射值分别输入到辐射传输方程中,得到参与介质的辐射能量分布,以通过参与介质的辐射能量分布生成参与介质的光照渲染效果。
其中,辐射传输方程(radiative transfer equation)描述了电磁辐射在介质中传播的过程,即描述了辐射能在空间传播时,遭到物质的吸收、散射而衰减,同时物质也发射辐射而使之增强的过程。在本实施例中,用于吸收、散射辐射能的介质即为待渲染的参与介质。
具体的,在得到各个采样点的散射值之后,可以将各个采样点的散射值分别输入到辐射传输方程中,得到参与介质的辐射能量分布。进一步的,在得到参与介质的辐射能量分布之后,可以将其输出至渲染管道上,渲染管道可以通过线上途径将参与介质的辐射能量分布传输至图形处理器(graphics processing unit,GPU)中,并通过图形处理器对参与介质的辐射能量分布进行渲染处理,从而得到参与介质的光照渲染效果。
在现有技术中,参与介质的辐射能量分布是通过蒙特卡洛路径追踪方法经过大量迭代积分计算得到的,计算复杂度非常高,无法做到实时渲染。而本实施例通过神经网络模型预测出各个采样点的散射值,并将各个采样点的散射值分别输入到辐射传输方程中,得到参与介质的辐射能量分布,可以避免求解辐射传输方程时的迭代求积分的过程,从而降低了计算量,提高了参与介质的辐射能量分布的计算效率,提高了参与介质的渲染效率。
本实施例提供的参与介质的渲染方法,通过预训练的神经网络模型预测参与介质的各个采样点的散射值,并将各个采样点的散射值分别输入到辐射传输方程中,得到参与介质的辐射能量分布,可以模拟出求解辐射传输方程时的迭代求积分的过程,无需经过大量的积分运算即可得到参与介质的渲染效果,有效的加快了参与介质的体渲染速度,达到了实时渲染的效果。与现有技术相比,上述方法可以用较少的计算量在较短时间内获得较高的渲染质量,提高了参与介质的渲染效果。
进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例的实施过程,提供了参与介质的渲染方法,如图2所示,该方法包括以下步骤:
201、获取样本参与介质的三维模型,在样本参与介质的三维模型中均匀选取出多个采样点,其中,样本参与介质包括多种材质类型的参与介质。
具体的,样本参与介质可以包括多种材质类型的参与介质,例如,样本参与介质可以包括气态、固态和皮肤三种材质类型的多种参与介质。进一步的,针对每种材质类型的参与介质,可以分别选取出多个采样点,并分别计算出每种参与介质的各个采样点的采样透射特征和采样相位特征,并将其预存储在采样特征表中,以便于后续进行参与介质渲染时查询。
在本实施例中,每种材质类型的参与介质的采样策略均相同,均为均匀选取策略,并且,每个采样点预设有相应的坐标位置,其中,各个采样点能够均匀覆盖样本参与介质的各个部分。进一步的,对待渲染的参与介质进行采样时,也可采用相同的采样策略进行采样,从而可以根据各个采样点的坐标位置,在采样特征表中获取到各个采样点的采样透射特征和采样相位特征。
在本实施例中,参照图3和图4,用于预测参与介质的各个采样点的散射值的神经网络模型可以包括预计算层、输入层、隐藏层、输出层、损失函数等多个部分。其中,图中所示的预计算层部分用于预计算出多种参与介质的各个采样点的采样透射特征和采样相位特征,并将其记录在采样特征表中。本实施例通过对采样点的采样透射特征和采样相位特征进行预计算,可以有效的提高参与介质的采样特征的计算效率,从而提高参与介质的渲染效率。
202、以每个采样点为中心,通过球形采样模板选取多个第一模板点,通过线性采样模板选取多个第二模板点,得到每个采样点的多个模板点。
具体的,在选取出多个采样点之后,可以采用两种采样模板选取每个采样点的多个模板点。一种是球形采样模板,即用球形作为采样模板,其优点是可以对采样点的散射区域进行采样,更关注光线的散射情况;另一种是线性采样模板,即沿采样点的入射光的方向进行采样,其优点是可以对高光以及阴影的形成有重要作用。如图5所示,图中标号为1的模板点与参与介质的采样点重合,该点代表了参与介质的粒子位置,标号为2的模板点组成了球形采样模板,将采样点层层包裹起来,标号为3的模板点组成了线性采样模板,其模板点沿光线入射的方向排布。需要注意的是,因为是三维空间结构,所以球形采样模板实际为球体形态,每层球体内部有不同数量的模板点。
在本实施例中,采样点的多个模板点可以通过以下方式选取:针对每个采样点,将球形采样模板按照预设位置至采样点的距离划分为多个以采样点为球心的球体形状的第一采样层,在每两个第一采样层之间选取出多个第一模板点,其中,每两个第一采样层之间的第一模板点的数量与第一采样层至采样点的距离成正比。针对每个采样点,将线性采样模板按照入射光线穿入样本参与介质至到达采样点的距离均匀划分为多个第二采样层,在每两个第二采样层之间选取出多个第二模板点,其中,每两个第二采样层之间的第二模板点的数量与第二采样层至采样点的距离成反比。根据每个采样点的多个第一模板点和每个采样点的多个第二模板点,得到每个采样点的多个模板点。
在本实施例中,球形采样模板可以均匀划分为多个以采样点为球心的球体形状的采样层,该采样层称为第一采样层,同时,可以按照入射光线穿入样本参与介质至到达采样点的距离将线性采样模板均匀划分为多个采样层,该采样层称为第二采样层。进一步的,根据每个采样层(包括第一采样层和第二采样层)距离采样点的距离不同,其采样层中分布的模板点对采样点的散射贡献度也不一样。其中,模板点距离采样点越远,模板点对采样点的散射贡献度越低。基于该原理,可以在每两个第一采样层之间均匀选取出多个第一模板点,并在每两个第二采样层之间均匀选取出多个第二模板点,其中,每个采样层中分布的模板点随着采样层距离采样点距离的增大而变得稀疏。
需要说明的是,对于球形采样模板来说,模板点分布的球形空间会随着采样层距离采样点的距离增大而更大,因此,虽然随着采样层距离采样点距离增大,模板点的采样密度会变得稀疏,但是,更大的球形空间也需要采集更多的模板点,因此,每两个第一采样层之间的模板点的数量与第一采样层至采样点的距离成正比。而对于线性采样模板来说,每个采样层分布的模板点的空间是相同的,随着模板点距离采样点距离的增大,模板点采样密度变得稀疏,所以需要采集更少的模板点,因此,每两个第二采样层之间的模板点的数量与第二采样层至采样点的距离成反比。进一步的,针对每个采样点,通过将球形采样模板采集的多个第一模板点和线性采样模板采集的多个第二模板点进行整合,即可得到一个采样点的多个模板点。
举例来说,球形采样模板可以均匀划分为8个第一采样层,每个第一采样层与球心都是一个球体,第0层是一个球体,从第1层到第7层,每层与上一层球体之间的空间作为模板点分布的区域。距离越远,球的体积越大,所以需要更多模板点。模板点分布如下:第0层4个采样点,其中1个在球心,3个在球体内部均匀分布;第1层6个采样点,均匀分布在第0层球体表面与第1层球体表面之间的区域;第2层8个采样点,均匀分布在第1层球体表面与第2层球体表面之间的区域;第3层12个采样点,均匀分布在第2层球体表面与第3层球体表面之间的区域;第4层16个采样点,均匀分布在第3层球体表面与第4层球体表面之间的区域;第5层24个采样点,均匀分布在第4层球体表面与第5层球体表面之间的区域;第6层32个采样点,均匀分布在第5层球体表面与第6层球体表面之间的区域;第7层48个采样点,均匀分布在第6层球体表面与第7层球体表面之间的区域,一共134个模板点。线性采样模板按照入射光线穿入参与介质开始到参与介质粒子为止,按照距离平均分成4层,从第0层到第3层,模板点数量分别为32、16、8、4,一共60个模板点。因此,对于每个采样点来说,球形采样模板共计134个模板点,线性采样模板一共60个模板点,一共194个模板点。
203、针对每个采样点,生成采样点的每个模板点的透射值,并将多个透射值组合成采样透射特征,将采样透射特征与采样点的坐标值映射存储在透射特征表中。
具体的,针对每个采样点,可以根据参与介质对于光的透射分布以及模板点在参与介质中的坐标位置,求解出每个模板点的透射值,该透射值可用于表征模板点所在的位置对于光的透射率。进一步的,根据采样点的每个模板点的透射值,可以将多个透射值组合成一个采样透射特征,并将该采样透射特征与采样点的坐标值映射存储在透射特征表中。在本实施例中,采样点的采样透射特征代表了采样点对应的多个模板点的光透射率的分布情况,因此,采样透射特征是一个多维的特征,假设采样点对应的模板点的数量为194个,则采样点的采样透射特征就是一个194维的特征,该特征用于表征一个采样点所在的局部区域在参与介质中对于光的透射分布情况。另外,透射特征表属于采样特征表中的一种,通过将采样点的采样透射特征与采样点的坐标值映射存储在透射特征表中,可以便于后续渲染参与介质时,能够直接根据采样点的坐标位置获取到采样点的采样透射特征,从而提高特征计算效率。
在一个可选的实施方式中,步骤203可以通过以下方式实现:首先根据样本参与介质的分辨率,对样本参与介质的密度场进行降采样,得到多个分辨率等级的分级密度场,并将多个分辨率等级的分级密度场转换为多个等级的分级透射场,然后将多个等级的分级透射场输入到三维卷积神经网络中,通过三维卷积神经网络获取每个分级透射场对应的权重,并根据每个分级透射场和每个分级透射场对应的权重进行透射场叠加,得到叠加透射场,最后针对每个采样点,通过叠加透射场,确定采样点的每个模板点的透射值,并对采样点的多个模板点的透射值进行组合,得到每个采样点的采样透射特征。
在上述实施方式中,通过对样本参与介质的密度场进行降采样,得到多个分辨率等级的分级密度场,再将多个分辨率等级的分级密度场转换为多个等级的分级透射场进行叠加,最后在叠加透射场中,按照各个模板点的坐标位置取各个模板点的透射值,相比于直接在一个固定分辨率下的透射场中取投射值,本实施方式提出的方式可以增加透射场的层次和细腻度,从而使得叠加后的透射场能够较为准确的反映出参与介质中各个点的透射率,以此提高透射率取值的准确度,并提高采样透射特征的计算准确度。
举例来说,假设一个样本参与介质的分辨率为1024*1024*1024,该样本参与介质可用点云或体素来表示,通过对该参与介质的密度场做降采样,可以产生多个等级分辨率的分级密度场,例如,可以产生11个等级分辨率的分级密度场,分别为:1024*1024*1024、512*512*512、256*256*256、128*128*128、64*64*64、32*32*32、16*16*16、8*8*8、4*4*4、2*2*2、1*1*1。进一步的,可以采用光线步进(ray-marching)技术通过分级密度场来构建分级透射场。其原理为:对于每个体素,可以根据体素的分辨率,在朝向光源的方向,产生一些单位空间的采样点,通过将11个等级的分级密度场中的各个体素点分别输入到公式一中,即可得到11个等级的分级透射场中的各个体素点的透射率,通过对各个体素点的透射率进行叠加,即可得到11个等级的分级透射场。
(公式一)
其中,为从p点至y点的透射率,p和y分别是起点和终点,p是样本参与介质中的任一体素点,y是p沿着光源方向前进一定距离的体素点,即y=p+a,其中a是一个极小的值,表示第i级分级密度场的密度等级,/>是0-1范围的系数,例如,可以取值为0.6。
进一步的,如图6所示,在得到11个等级的分级透射场之后,可以将11个等级的分级透射场输入到三维卷积神经网络(简称3D-CNN)中,生成叠加透射场。在3D-CNN中,相当于对每个分级透射场增加了一个权重,经过对各个分级透射场进行加权求和,可以得到叠加透射场。在叠加透射场中,每个位置的点均可以取一个透射值,因此,针对每个采样点,可以根据采样点的每个模板点的位置坐标,得到采样点的各个模板点的透射值,通过对采样点的多个模板点的透射值进行组合,即可得到每个采样点的采样透射特征。
204、针对每个采样点,生成采样点的每个模板点的相位值,并将多个相位值组合成采样相位特征,将采样相位特征与采样点的坐标值以及样本参与介质的材质类型映射存储在相位特征表中。
具体的,针对每个采样点的每个模板点,可以通过散射相位函数(简称相位函数)来求解每个点在入射方向和出射方向的散射能量分布情况。在本实施例中,参与介质中的体素点非常多,为了降低计算复杂度,可以获取各个采样点的采样相位特征来估计参与介质内粒子散射能量的整体空间分布。在本实施例中,针对每个采样点,可以通过采样点的各个模板点对于采样点的相位贡献(即模板点的相位值)来计算采样点覆盖区域的采样相位特征。基于此,在计算采样点的采样相位特征时,可以首先计算每个模板点相对于采样点的相位贡献,该位贡献可以通过由相位函数组成的预设公式求解得到,然后,通过对各个模板点相对于采样点的相位贡献进行组合,即可得到采样点的采样相位特征。求解出的各个采样点的采样相位特征可以作为神经网络模型的一个输入参数,以便生成真实的散射能量的概率分布情况。
在本实施例中,对于不同材质类型的参与介质,其相位函数的形式和参数都是不同的,因此,对于不同材质类型的参与介质来说,其模板点相对于采样点的相位贡献的计算方式也是不同的。举例来说,气态类,比如云、烟、雾等可以采用如公式二所示的HG相位函数;固液类,比如玉石、牛奶、蜡、果肉等,可以采用如公式三所示的双峰HG相位函数,即2个HG相位函数;人体皮肤可以采用如公式三所示的多峰HG相位函数,如采用3个HG相位函数;空气的相位函数可以采用如公式四所示的各向同性的相位函数。
需要说明的是,散射相位函数描述了参与介质内粒子散射能量的空间分布,表示为在某个方向单位立体角的散射能量与所有方向的散射能量之比。散射相位函数表示在位置p从方向/>到/>的散射相位函数,即从/>方向入射的光线向/>散射的能量与/>所有方向散射能量之比,描述了p点处散射后光的空间分布,/>是一个单位球,其中,各个相位函数的公式如下:
1、HG相位函数的全称为亨尼-格林斯坦相位函数(Henyey-Greenstein PhaseFunction),其公式如如公式二所示。
(公式二)
其中,p为参与介质中的任意位置点,为散射角,即光线的入射方向与散射后的出射方向之间的夹角,/>为位置点p在散射角/>范围内散射后光的空间分布,g为HG相位函数的不对称参数,其取值范围为/>,它的值接近于所有方向光线散射角余弦的平均值。如果/>,则主要发生前向散射,即在入射方向相反的方向散射更多能量;如果,则主要发生后向散射,即在入射方向散射更多能量。
2、多峰相位函数(Multi- Henyey-Greenstein Phase Function,简称MHG相位函数)即两个及两个以上的HG相位函数进行线性组合的相位函数,其公式如公式三所示。
(公式三)
其中,p为参与介质中的任意位置点,为散射角,即光线的入射方向与散射后的出射方向之间的夹角,/>为位置点p在散射角/>范围内散射后光的空间分布,/>为公式二所示的HG相位函数,/>表示每个HG相位函数对应的不对称参数,/>是每个HG相位函数的权重系数,N是HG相位函数的数量,其中,/>。
3、各向同性相函数表示光线在参与介质中散射后向各个方向散射的概率相同,故各向同性相函数公式如公式四所示。
(公式四)
其中,p为参与介质中的任意位置点,为散射角,即光线的入射方向与散射后的出射方向之间的夹角,/>为位置点p在散射角/>范围内散射后光的空间分布。
进一步的,各个采样点的采样相位特征可以与采样点的坐标值以及样本参与介质的材质类型映射存储在相位特征表中。在本实施例中,采样点的采样相位特征代表了采样点对应的多个模板点的散射能量的空间分布,因此,采样相位特征也是一个多维的特征,假设采样点对应的模板点的数量为194个,则采样点的采样相位特征就是一个194维的特征,该特征用于表征一个采样点所在的局部区域在参与介质中的散射能量的空间分布情况。另外,相位特征表属于采样特征表中的一种,通过将采样点的采样相位特征与采样点的坐标值以及样本参与介质的材质类型映射存储在透射特征表中,可以便于后续渲染参与介质时,能够根据采样点的坐标位置以及样本参与介质的材质类型获取到采样点的采样相位特征,从而提高特征计算效率。
在一个可选的实施方式中,步骤204可以通过以下方式实现:首先针对每个采样点,在体积相位表中读取出与样本参与介质的材质类型对应的每个模板点的体积相位,然后基于预设的光线入射方向、预设的相机方向以及每个模板点的体积相位,得到每个模板点的入射角的体积相位和出射角的体积相位,进而针对每个采样点,根据每个模板点的入射角的体积相位和出射角的体积相位,得到每个模板点相对于采样点的相位贡献,最后针对每个采样点,对每个模板点相对于采样点的相位贡献进行组合,得到每个采样点的采样相位特征。
在上述实施方式中,如图7所示,对于采样点p的各个模板点si来说,模板点si是具有体积的,这会导致由采样点p、模板点si和入射光线组成的入射角、以及由模板点si、采样点p和相机方向组成的出射角不唯一。举例来说,参照图7左侧的图,当入射光线照射到模板点si偏上的位置时,入射角偏大,出射角偏小;参照图7右侧的图,当入射光线照射到模板点si偏下的位置时,入射角偏小,出射角偏大。因此,入射光线在模板点内部的不同位置,会影响到模板点相对于采样点的相位贡献的计算,从而影响到采样点的采样相位特征的计算。
为了解决入射角和出射角不唯一的问题,本实施方式在计算模板点相对于采样点的相位贡献之前,首先计算模板点的体积相位,或者,通过体积相位表查询模板点的体积相位。模板点的体积相位的计算公式如公式五所示,参照图8,模板点的体积相位即为模板点si的相位函数沿模版点的体积积分。
(公式五)
其中,是原始相位函数(不同材质类型的参与介质所用的相位函数不同),/>是相位函数的积分形式,称为相机方向的体积相位,/>是相机方向,/>是出射角。/>也是相位函数的积分形式,称为入射光线方向的体积相位,/>是出射角,l是入射光线方向。 是散射角,/>是出射角,/>表示当前模板点投影到采样点p处的立体角,/>是与/>相乘,大于/>的所有角度,/>是所有/>组成的角度空间。
进一步的,如图9所示,对于采样点p的任一模板点si来说,模板点si相对于采样点p点的相位贡献的计算方式如公式六所示。在本实施例中,在得到每个模板点的体积相位之后,可以基于光线入射方向、相机方向以及每个模板点的体积相位,求解出每个模板点的入射角的体积相位和出射角的体积相位。进而可以通过公式六,针对每个采样点,根据每个模板点的入射角的体积相位和出射角的体积相位,计算得到每个模板点相对于采样点的相位贡献,从而可以通过各个模板点的相位贡献组合得到采样点的采样相位特征。
(公式六)
其中,是第i个模板点相对于采样点p的相位贡献,也可以理解为是第i个模板点的相位值,/>是体积相位函数,/>是第i个模板点,p是参与介质粒子位置,即采样点位置,/>是相机方向,也是视线方向,l是光线入射方向,入射光线l与模板点si和采样点p连线组成的夹角为入射角,相机方向/>与模板点si和采样点p连线组成的夹角为出射角,/>是出射角的体积相位,/>是入射角的体积相位。在本实施例中,与采样点p位置重合的模板中心点/>的相位函数是/>。
在本实施例中,参与介质内部的所有模板点的体积相位都可以求,并且,不同参与介质的不同位置的相同模板点的体积相位相同,即模板点的位置和体积都是固定的,因此,可以将各个模板点的体积相位预计算并存储在体积相位表中。另外,参与介质外部(即空气)的相位函数可以采用各向同性的相位函数,因此,每个模板点在参与介质外部的体积相位也是可以预计算出来的。体积相位表中可以存储着每个模板点在参与介质内和参与介质外的两个体积相位值,其中,参与介质外的相位体积用于求取参与介质边缘部分的模板点。进一步的,体积相位因为与入射光线方向和相机方向无关,因此无需知晓入射和相机方向即可求出,但是,模板点相对于采样点的相位贡献与入射光线方向和相机方向均有关,所以须预先设定入射光线和相机方向所有可能的角度,例如,可以从0°到360°,每1°取一个角度,然后通过公式求出每个模板点相对于采样点的相位贡献,并存到预计算相位特征表中,在实时渲染时,可直接读取预计算相位特征表中的值,从而提高特征计算效率。
205、获取待渲染的参与介质的三维模型和参与介质的材质类型,在参与介质的三维模型中均匀选取出多个采样点。
具体的,在对参与介质进行渲染时,可以获取待渲染的参与介质的三维模型以及参与介质的材质类型。其中,待渲染的参与介质的三维模型可以用一定分辨率的点云或体素等三维体积数据进行描述。进一步的,参与介质的材质类型可以根据参与介质预设的材质分类标签确定,其中,参与介质的材质类型可以包括云、烟、雾等气态的参与介质,也可以包括玉石、牛奶、蜡、果肉等固态的参与介质,还可以包括人体皮肤、动物皮肤等皮肤类介质。在参与介质的三维模型中,可以均匀选取出多个采样点,并使得选取出的采用点可以均匀覆盖参与介质的各个部分。在本实施例中,选取的各个采样点的坐标位置可以与步骤201中的样本参与介质的各个采样点的坐标位置相对应。
在一个可选的实施方式中,步骤205可以通过以下方式实现:首先获取待渲染的参与介质的三维模型和参与介质的材质类型,然后根据参与介质的分辨率和预设的每个采样点对应的模板点的数量,确定参与介质的采样次数,最后按照参与介质的采样次数,对参与介质的三维模型进行多次采样,得到覆盖参与介质的三维模型的各个部分的多个采样点。
在上述实施例中,待渲染的参与介质的三维模型可以用一定分辨率的点云或体素来表示,例如,对于分辨率为1024*1024*1024的参与介质来说,可以采集1024*1024=1048576个采样点,以达到较高的采样精度,并达到较好的渲染效果。在本实施例中,每个采样点对应了多个模板点,即每选取一个采样点即选取了一个采样点集合。在这种场景下,可以根据采样点的数量和采样点集合中模板点的数量计算采样的次数。例如,一个采样点对应了194个模板点,则参与介质可以执行执行5406(1048576/194)次采样,在采样时,可以使采用点均匀覆盖参与介质的各个部分,以得到均匀分布的多个采样点。
206、根据各个采样点的坐标值和参与介质的材质类型,在采样特征表中查询出各个采样点的采样透射特征和采样相位特征。
具体的,采样点的采样透射特征与采样点在参与介质中的位置有关,因此,可以将采样点的坐标值与采样点的采样透射特征进行映射存储,从而可以基于采样点的坐标值,得到采样点的采样透射特征。进一步的,采样点的采样相位特征与采样点在参与介质中的位置以及参与介质的材质类型均有关,因此,可以将采样点的坐标值和参与介质的材质类型与采样点的采样相位特征进行映射存储,从而可以基于采样点的坐标值和参与介质的材质类型,得到采样点的采样相位特征。
在本实施例中,采样点的采样透射特征由采样点对应的多个模板点的透射值组合得到,采样点的采样相位特征由采样点对应的多个模板点相对于该采样点的相位贡献组合得到。因此,采样点的采样透射特征和采样相位特征均是多维的特征,特征的维度数量与采样点对应的模板点的数量相同。例如,假设每个采样点对应194个模板点,则每个采样点的采样透射特征和采样相位特征均是194维的特征。本实施例通过获取各个采样点的采样透射特征和采样相位特征,能够获取到与各个采样点对应的多个模板点的透射值和相位贡献,因而特征信息非常丰富。
207、通过预训练的神经网络模型,根据各个采样点的采样透射特征和采样相位特征、以及参与介质的材质类型,确定各个采样点的散射值。
具体的,在得到各个采样点的采样透射特征和采样相位特征之后,可以针对每个采样点的采样透射特征和采样相位特征进行特征提取和特征融合等操作,以提取出各个采样点的重要特征。进一步的,根据参与介质的材质类型的不同,参与介质的各个采样点的采样相位特征所用的相位函数的不对称函数也不同,且参与介质的反照率也不同。基于此,本实施例可以基于参与介质的材质类型获取神经网络模型的配置参数,其中,配置参数可以包括相位函数的不对称参数、反照率、入射光线和相机方向的夹角等多个参数。然后,可以将获取到的配置参数作为一项重要的特征,并将该特征与各个采样点的采样透射特征和采样相位特征进行进一步融合,并基于融合后的特征进行采样点的散射值的预测,以此得到各个采样点的散射值。
在一个可选的实施方式中,步骤207可以通过以下方式实现:针对每个采样点执行以下步骤,得到各个采样点的散射值:首先对采样点的采样透射特征和采样相位特征进行特征提取和特征融合,得到采样点的第一融合特征向量,然后根据参与介质的材质类型,确定神经网络模型的配置参数,其中,配置参数包括散射相位函数的不对称参数、参与介质的反照率、以及入射光线和相机方向之间的夹角,进而对采样点的第一融合特征向量和配置参数进行特征融合,得到采样点的第二融合特征向量,并将采样点的第二融合特征向量输入到神经网络模型的多层感知机中,得到采样点的散射特征,最后对采样点的散射特征进行单层全连接,得到采样点的散射值。
在上述实施方式中,参照图3和图4,各个采样点的采样透射特征和采样相位特征需要依次输入到神经网络模型的输入层,假设参与介质共选取了5406个采样点,则需要向神经网络模型中输入5406次。需要注意的是,实时渲染参与介质时,可生成多个神经网络模型,多个神经网络模型可以并行计算,从而可以提高实时渲染的帧率。进一步的,采样点的采样透射特征和采样相位特征可以先通过Transformer(编码解码器)进行特征提取,以生成采样点的采样透射特征向量和采样相位特征向量。其中,特征提取的主要的目的是通过自注意力模型,判断哪些特征是更重要的,以更好的进行特征提取。之后,采样点的采样透射特征向量和采样相位特征向量可以通过Add-1融合到一起,因为两个特征向量的维度相同,如均为194维特征向量,因此,两个特征向量可以直接相加,从而得到194个相加后的特征向量。在另一个实施例中,参照图4,通过transformer进行特征提取的步骤也可以在采样点的采样特征与配置参数特征融合之后,本实施例对于特征提取的顺序不做限定。
进一步的,配置参数可以包括HG相位函数的不对称参数、反照率和入射光线和相机方向的夹角。其中,HG相位函数的不对称参数根据材质种类的不同,有1个参数、2个参数和3个参数。在本实施例中,反照率描述的是入射辐射中有多少百分比被介质反射,它是一个无量纲的系数,范围在0到1之间。反照率是一个整体的参数,它考虑了参与介质中所有散射和吸收过程的综合效果,考虑了所有波长的平均能力。假设参与介质的三维模型是匀质的,同类材质内部的反照率处处相等,则本实施例可以采用RGB色彩空间来进一步处理反照率,因为不同参与介质的材质对不同波长的光的反射能力可能会有所不同,因此可以用一个三维向量来表示反照率,分别代表一个参与介质对红色光、绿色光和蓝色光的反照率,每个分量的取值范围在0到1之间。按照参与介质的材质分类,可以对气态类参与介质,反照率按照0-0.5范围进行取值,固液类,以及皮肤类参与介质,反照率按照0.5-1范围进行取值。
进一步的,配置参数可以经过一个单层全连接FC-1输入到神经网络模型中。其中,单层全连接的输入层神经元的个数可以根据材质类型而确定,例如,对于气态类材质来说,其神经元的个数是5个,即1个HG相位函数、1个夹角参数和3个RGB反照率参数;对于固液类材质来说,其神经元的个数是6个,即2个HG相位函数、1个夹角参数和3个RGB反照率参数;对于人体皮肤材质来说,其神经元的个数是7个,即3个HG相函数、1个夹角参数和3个RGB反照率参数;FC-1的输出层神经元是7个。
进一步的,采样点融合后的采样特征和配置参数可以通过Add-2融合在一起,因为维度不同,可以直接拓展维度,即对两个特征向量进行收尾相加,例如,通过对194维特征向量与7维特征向量进行相机,可以得到201个特征向量,该特征向量可以作为隐藏层的输入向量。进一步的,隐藏层有一个多层感知机(MLPs)构成,其输入输出的特征向量与融合后的特征向量的维度相同,如均为201个。进一步的,输出层由1个单层全连接构成,这个单层全连接的输入层的神经元个数与多层感知机输出的神经元个数相同,如为201个,输出是1个神经元,其输出值就是输入采样点处的散射值。进一步的,通过将所有5406个采样点的采样透射特征和采样相位特征逐一输入到神经网络模型中,即可得到所有采样点的散射值,将这些值分别带入到辐射传输方程中,即可渲染出参与介质的散射效果。
208、将各个采样点的散射值分别输入到辐射传输方程中,得到参与介质的辐射能量分布,以通过参与介质的辐射能量分布生成参与介质的光照渲染效果。
具体的,在得到各个采样点的散射值之后,可以将各个采样点的散射值分别输入到辐射传输方程中,得到参与介质的辐射能量分布。进一步的,在得到参与介质的辐射能量分布之后,可以将其输出至渲染管道上,渲染管道可以通过线上途径将参与介质的辐射能量分布传输至图形处理器(graphics processing unit,GPU)中,并通过图形处理器对参与介质的辐射能量分布进行渲染处理,从而得到参与介质的光照渲染效果。
本实施例提供的参与介质的渲染方法,通过预计算多种材质类型的参与介质的各个采样的采样透射特征和采样相位特征,并将各个采样的采样透射特征与采样点的坐标值映射存储在透射特征表中,以及将各个采样的采样相位特征与采样点的坐标值以及样本参与介质的材质类型映射存储在相位特征表中,可以提高采样点的采样透射特征和采样相位特征的计算效率,节约计算机设备的计算开销,提高参与介质的渲染效率。进一步的,通过预训练的神经网络模型预测参与介质的各个采样点的散射值,并将各个采样点的散射值分别输入到辐射传输方程中,得到参与介质的辐射能量分布,可以模拟出求解辐射传输方程时的迭代求积分的过程,无需经过大量的积分运算即可得到参与介质的渲染效果,有效的加快了参与介质的体渲染速度,达到了实时渲染的效果。与现有技术相比,上述方法可以用较少的计算量在较短时间内获得较高的渲染质量,提高了参与介质的渲染效果。
需要说明的是,上述实施例中的各个步骤所对应的标号仅起到标识作用,并不作为对于步骤执行顺序的限定,各个实施例中的步骤执行顺序可以根据实际情况进行设置。
进一步的,作为图1至图9所示方法的具体实现,本实施例提供了一种参与介质的渲染装置,如图10所示,该装置包括:采样点选取模块31、采样特征查询模块32、散射值预测模块33和参与介质渲染模块34,其中:
采样点选取模块31,可用于获取待渲染的参与介质的三维模型和参与介质的材质类型,在所述参与介质的三维模型中均匀选取出多个采样点;
采样特征查询模块32,可用于根据各个所述采样点的坐标值和所述参与介质的材质类型,在采样特征表中查询出各个所述采样点的采样透射特征和采样相位特征;
散射值预测模块33,可用于通过预训练的神经网络模型,根据各个所述采样点的采样透射特征和采样相位特征、以及所述参与介质的材质类型,确定各个所述采样点的散射值;
参与介质渲染模块34,可用于将各个所述采样点的散射值分别输入到辐射传输方程中,得到所述参与介质的辐射能量分布,以通过所述参与介质的辐射能量分布生成所述参与介质的光照渲染效果。
在具体的应用场景中,如图11所示,所述采样特征表包括透射特征表和相位特征表;本装置还包括模板点选取模块35、透射特征计算模块36和相位特征计算模块37,其中,所述采样点选取模块31,还可用于获取样本参与介质的三维模型,在所述样本参与介质的三维模型中均匀选取出多个采样点,其中,所述样本参与介质包括多种材质类型的参与介质;所述模板点选取模块35,可用于以每个所述采样点为中心,通过球形采样模板选取多个第一模板点,通过线性采样模板选取多个第二模板点,得到每个所述采样点的多个模板点;所述透射特征计算模块36,可用于针对每个所述采样点,生成所述采样点的每个所述模板点的透射值,并将多个所述透射值组合成采样透射特征,将所述采样透射特征与所述采样点的坐标值映射存储在所述透射特征表中;所述相位特征计算模块37,可用于针对每个所述采样点,生成所述采样点的每个所述模板点的相位值,并将多个所述相位值组合成采样相位特征,将所述采样相位特征与所述采样点的坐标值以及所述样本参与介质的材质类型映射存储在所述相位特征表中。
在具体的应用场景中,所述模板点选取模块35,具体可用于针对每个所述采样点,将所述球形采样模板按照预设位置至所述采样点的距离划分为多个以所述采样点为球心的球体形状的第一采样层,在每两个所述第一采样层之间选取出多个第一模板点,其中,每两个所述第一采样层之间的所述第一模板点的数量与所述第一采样层至所述采样点的距离成正比;针对每个所述采样点,将所述线性采样模板按照入射光线穿入所述样本参与介质至到达所述采样点的距离均匀划分为多个第二采样层,在每两个所述第二采样层之间选取出多个第二模板点,其中,每两个所述第二采样层之间的所述第二模板点的数量与所述第二采样层至所述采样点的距离成反比;根据每个所述采样点的多个第一模板点和每个所述采样点的多个第二模板点,得到每个所述采样点的多个模板点。
在具体的应用场景中,所述透射特征计算模块36,具体可用于根据所述样本参与介质的分辨率,对所述样本参与介质的密度场进行降采样,得到多个分辨率等级的分级密度场,并将多个分辨率等级的分级密度场转换为多个等级的分级透射场;将所述多个等级的分级透射场输入到三维卷积神经网络中,通过所述三维卷积神经网络获取每个所述分级透射场对应的权重,并根据每个所述分级透射场和每个所述分级透射场对应的权重进行透射场叠加,得到叠加透射场;针对每个所述采样点,通过所述叠加透射场,确定所述采样点的每个所述模板点的透射值,并对所述采样点的多个所述模板点的透射值进行组合,得到每个采样点的采样透射特征。
在具体的应用场景中,所述采样特征表还包括体积相位表;所述相位特征计算模块37,具体可用于针对每个所述采样点,在所述体积相位表中读取出与所述样本参与介质的材质类型对应的每个所述模板点的体积相位;基于预设的光线入射方向、预设的相机方向以及每个所述模板点的体积相位,得到每个所述模板点的入射角的体积相位和出射角的体积相位;针对每个所述采样点,根据每个所述模板点的入射角的体积相位和出射角的体积相位,得到每个所述模板点相对于所述采样点的相位贡献;针对每个所述采样点,对每个所述模板点相对于所述采样点的相位贡献进行组合,得到每个采样点的采样相位特征。
在具体的应用场景中,所述采样点选取模块31,具体可用于获取待渲染的参与介质的三维模型和参与介质的材质类型;根据所述参与介质的分辨率和预设的每个采样点对应的模板点的数量,确定所述参与介质的采样次数;按照所述参与介质的采样次数,对所述参与介质的三维模型进行多次采样,得到覆盖所述参与介质的三维模型的各个部分的多个采样点。
在具体的应用场景中,所述散射值预测模块33,具体可用于针对每个所述采样点执行以下步骤,得到各个所述采样点的散射值:对所述采样点的采样透射特征和采样相位特征进行特征提取和特征融合,得到所述采样点的第一融合特征向量;根据所述参与介质的材质类型,确定所述神经网络模型的配置参数,其中,所述配置参数包括散射相位函数的不对称参数、所述参与介质的反照率、以及入射光线和相机方向之间的夹角;对所述采样点的第一融合特征向量和所述配置参数进行特征融合,得到所述采样点的第二融合特征向量;将所述采样点的第二融合特征向量输入到所述神经网络模型的多层感知机中,得到所述采样点的散射特征;对所述采样点的散射特征进行单层全连接,得到所述采样点的散射值。
需要说明的是,本实施例提供的一种参与介质的渲染装置所涉及各功能单元的其它相应描述,可以参考图1至图9中的对应描述,在此不再赘述。
基于上述如图1至图9所示方法,相应的,本实施例还提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述如图1至图9所示的参与介质的渲染方法。
基于这样的理解,本申请的技术方案可以以软件产品的形式体现出来,该待识别软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施场景所述的方法。
基于上述如图1至图9所示的方法,以及图10和图11所示的参与介质的渲染装置实施例,为了实现上述目的,本实施例还提供了一种参与介质的渲染的计算机设备,具体可以为个人计算机、服务器、智能手机、平板电脑、智能手表、或者其它网络设备等,该计算机设备包括存储介质和处理器;存储介质,用于存储计算机程序和操作系统;处理器,用于执行计算机程序以实现上述如图1至图9所示的方法。
可选的,该计算机设备还可以包括内存储器、通信接口、网络接口、摄像头、射频(Radio Frequency,RF)电路,传感器、音频电路、WI-FI模块、显示屏(Display)、输入装置比如键盘(Keyboard)等,可选的,通信接口还可以包括USB接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI接口)等。
本领域技术人员可以理解,本实施例提供的一种操作动作的识别的计算机设备结构并不构成对该计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述计算机设备硬件和待识别软件资源的程序,支持信息处理程序以及其它待识别软件和/或程序的运行。网络通信模块用于实现存储介质内部各组件之间的通信,以及与信息处理计算机设备中其它硬件和软件之间通信。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本申请可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。通过应用本申请的技术方案,首先获取待渲染的参与介质的三维模型和参与介质的材质类型,并在参与介质的三维模型中均匀选取出多个采样点,然后根据各个采样点的坐标值和参与介质的材质类型,在采样特征表中查询出各个采样点的采样透射特征和采样相位特征,进而通过预训练的神经网络模型,根据各个采样点的采样透射特征和采样相位特征、以及参与介质的材质类型,确定各个采样点的散射值,最后将各个采样点的散射值分别输入到辐射传输方程中,得到参与介质的辐射能量分布,以通过参与介质的辐射能量分布生成参与介质的光照渲染效果。与现有技术相比,上述方法可以用较少的计算量在较短时间内获得较高的渲染质量,提高了参与介质的渲染效果。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本申请所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本申请序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本申请的几个具体实施场景,但是,本申请并非局限于此,任何本领域的技术人员能思之的变化都应落入本申请的保护范围。
Claims (9)
1.一种参与介质的渲染方法,其特征在于,所述方法包括:
获取待渲染的参与介质的三维模型和参与介质的材质类型,在所述参与介质的三维模型中均匀选取出多个采样点;
根据各个所述采样点的坐标值和所述参与介质的材质类型,在采样特征表中查询出各个所述采样点的采样透射特征和采样相位特征,其中,所述采样点的采样透射特征由所述采样点对应的多个模板点的透射值组合得到,所述采样点的采样相位特征由所述采样点对应的多个模板点相对于该采样点的相位贡献组合得到,所述多个模板点包括多个第一模板点和多个第二模板点;
其中,所述多个第一模板点的选取过程包括:针对每个所述采样点,将球形采样模板按照预设位置至所述采样点的距离划分为多个以所述采样点为球心的球体形状的第一采样层,在每两个所述第一采样层之间选取出多个第一模板点,其中,每两个所述第一采样层之间的所述第一模板点的数量与所述第一采样层至所述采样点的距离成正比;
所述多个第二模板点的选取过程包括:针对每个所述采样点,将线性采样模板按照入射光线穿入所述参与介质至到达所述采样点的距离均匀划分为多个第二采样层,在每两个所述第二采样层之间选取出多个第二模板点,其中,每两个所述第二采样层之间的所述第二模板点的数量与所述第二采样层至所述采样点的距离成反比;
通过预训练的神经网络模型,根据各个所述采样点的采样透射特征和采样相位特征、以及所述参与介质的材质类型,确定各个所述采样点的散射值,具体过程包括:针对各个所述采样点的采样透射特征和采样相位特征进行特征提取和特征融合,并基于所述参与介质的材质类型获取所述神经网络模型的配置参数,将所述配置参数与各个所述采样点的融合后的特征进行进一步融合,并基于进一步融合后的特征进行预测,得到各个所述采样点的散射值;
将各个所述采样点的散射值分别输入到辐射传输方程中,得到所述参与介质的辐射能量分布,以通过所述参与介质的辐射能量分布生成所述参与介质的光照渲染效果。
2.根据权利要求1所述的方法,其特征在于,所述采样特征表包括透射特征表和相位特征表;则所述方法还包括:
获取样本参与介质的三维模型,在所述样本参与介质的三维模型中均匀选取出多个采样点,其中,所述样本参与介质包括多种材质类型的参与介质;
以每个所述采样点为中心,通过所述球形采样模板选取多个第一模板点,通过所述线性采样模板选取多个第二模板点,得到每个所述采样点的多个模板点;
针对每个所述采样点,生成所述采样点的每个所述模板点的透射值,并将多个所述透射值组合成采样透射特征,将所述采样透射特征与所述采样点的坐标值映射存储在所述透射特征表中;
针对每个所述采样点,生成所述采样点的每个所述模板点的相位值,并将多个所述相位值组合成采样相位特征,将所述采样相位特征与所述采样点的坐标值以及所述样本参与介质的材质类型映射存储在所述相位特征表中。
3.根据权利要求2所述的方法,其特征在于,所述针对每个所述采样点,生成所述采样点的每个所述模板点的透射值,并将多个所述透射值组合成采样透射特征,包括:
根据所述样本参与介质的分辨率,对所述样本参与介质的密度场进行降采样,得到多个分辨率等级的分级密度场,并将多个分辨率等级的分级密度场转换为多个等级的分级透射场;
将所述多个等级的分级透射场输入到三维卷积神经网络中,通过所述三维卷积神经网络获取每个所述分级透射场对应的权重,并根据每个所述分级透射场和每个所述分级透射场对应的权重进行透射场叠加,得到叠加透射场;
针对每个所述采样点,通过所述叠加透射场,确定所述采样点的每个所述模板点的透射值,并对所述采样点的多个所述模板点的透射值进行组合,得到每个采样点的采样透射特征。
4.根据权利要求2所述的方法,其特征在于,所述采样特征表还包括体积相位表;则所述针对每个所述采样点,生成所述采样点的每个所述模板点的相位值,并将多个所述相位值组合成采样相位特征,包括:
针对每个所述采样点,在所述体积相位表中读取出与所述样本参与介质的材质类型对应的每个所述模板点的体积相位;
基于预设的光线入射方向、预设的相机方向以及每个所述模板点的体积相位,得到每个所述模板点的入射角的体积相位和出射角的体积相位;
针对每个所述采样点,根据每个所述模板点的入射角的体积相位和出射角的体积相位,得到每个所述模板点相对于所述采样点的相位贡献;
针对每个所述采样点,对每个所述模板点相对于所述采样点的相位贡献进行组合,得到每个采样点的采样相位特征。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述获取待渲染的参与介质的三维模型和参与介质的材质类型,在所述参与介质的三维模型中均匀选取出多个采样点,包括:
获取待渲染的参与介质的三维模型和参与介质的材质类型;
根据所述参与介质的分辨率和预设的每个采样点对应的模板点的数量,确定所述参与介质的采样次数;
按照所述参与介质的采样次数,对所述参与介质的三维模型进行多次采样,得到覆盖所述参与介质的三维模型的各个部分的多个采样点。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述通过预训练的神经网络模型,根据各个所述采样点的采样透射特征和采样相位特征、以及所述参与介质的材质类型,确定各个所述采样点的散射值,包括:
针对每个所述采样点执行以下步骤,得到各个所述采样点的散射值:
对所述采样点的采样透射特征和采样相位特征进行特征提取和特征融合,得到所述采样点的第一融合特征向量;
根据所述参与介质的材质类型,确定所述神经网络模型的配置参数,其中,所述配置参数包括散射相位函数的不对称参数、所述参与介质的反照率、以及入射光线和相机方向之间的夹角;
对所述采样点的第一融合特征向量和所述配置参数进行特征融合,得到所述采样点的第二融合特征向量;
将所述采样点的第二融合特征向量输入到所述神经网络模型的多层感知机中,得到所述采样点的散射特征;
对所述采样点的散射特征进行单层全连接,得到所述采样点的散射值。
7.一种参与介质的渲染装置,其特征在于,所述装置包括:
采样点选取模块,用于获取待渲染的参与介质的三维模型和参与介质的材质类型,在所述参与介质的三维模型中均匀选取出多个采样点;
采样特征查询模块,用于根据各个所述采样点的坐标值和所述参与介质的材质类型,在采样特征表中查询出各个所述采样点的采样透射特征和采样相位特征,其中,所述采样点的采样透射特征由所述采样点对应的多个模板点的透射值组合得到,所述采样点的采样相位特征由所述采样点对应的多个模板点相对于该采样点的相位贡献组合得到,所述多个模板点包括多个第一模板点和多个第二模板点;
其中,所述多个第一模板点的选取过程包括:针对每个所述采样点,将球形采样模板按照预设位置至所述采样点的距离划分为多个以所述采样点为球心的球体形状的第一采样层,在每两个所述第一采样层之间选取出多个第一模板点,其中,每两个所述第一采样层之间的所述第一模板点的数量与所述第一采样层至所述采样点的距离成正比;
所述多个第二模板点的选取过程包括:针对每个所述采样点,将线性采样模板按照入射光线穿入所述参与介质至到达所述采样点的距离均匀划分为多个第二采样层,在每两个所述第二采样层之间选取出多个第二模板点,其中,每两个所述第二采样层之间的所述第二模板点的数量与所述第二采样层至所述采样点的距离成反比;
散射值预测模块,用于通过预训练的神经网络模型,根据各个所述采样点的采样透射特征和采样相位特征、以及所述参与介质的材质类型,确定各个所述采样点的散射值,具体过程包括:针对各个所述采样点的采样透射特征和采样相位特征进行特征提取和特征融合,并基于所述参与介质的材质类型获取所述神经网络模型的配置参数,将所述配置参数与各个所述采样点的融合后的特征进行进一步融合,并基于进一步融合后的特征进行预测,得到各个所述采样点的散射值;
参与介质渲染模块,用于将各个所述采样点的散射值分别输入到辐射传输方程中,得到所述参与介质的辐射能量分布,以通过所述参与介质的辐射能量分布生成所述参与介质的光照渲染效果。
8.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311524167.3A CN117237507B (zh) | 2023-11-16 | 2023-11-16 | 参与介质的渲染方法、装置、存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311524167.3A CN117237507B (zh) | 2023-11-16 | 2023-11-16 | 参与介质的渲染方法、装置、存储介质及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117237507A CN117237507A (zh) | 2023-12-15 |
CN117237507B true CN117237507B (zh) | 2024-01-30 |
Family
ID=89095324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311524167.3A Active CN117237507B (zh) | 2023-11-16 | 2023-11-16 | 参与介质的渲染方法、装置、存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117237507B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111161384A (zh) * | 2019-12-06 | 2020-05-15 | 南京理工大学 | 一种参与介质的路径引导方法 |
CN111583371A (zh) * | 2020-04-30 | 2020-08-25 | 山东大学 | 基于神经网络的参与性介质多重散射绘制方法及系统 |
CN113077539A (zh) * | 2021-04-08 | 2021-07-06 | 网易(杭州)网络有限公司 | 目标虚拟模型的渲染方法、装置及电子设备 |
CN116310053A (zh) * | 2023-01-19 | 2023-06-23 | 安徽空境信息科技有限公司 | 场景渲染中光强分布的确定方法、渲染方法、设备和介质 |
CN116824092A (zh) * | 2023-08-28 | 2023-09-29 | 深圳星坊科技有限公司 | 三维模型生成方法、装置、计算机设备和存储介质 |
CN116977522A (zh) * | 2023-06-02 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 三维模型的渲染方法、装置、计算机设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100085360A1 (en) * | 2008-10-04 | 2010-04-08 | Microsoft Corporation | Rendering in scattering media |
-
2023
- 2023-11-16 CN CN202311524167.3A patent/CN117237507B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111161384A (zh) * | 2019-12-06 | 2020-05-15 | 南京理工大学 | 一种参与介质的路径引导方法 |
CN111583371A (zh) * | 2020-04-30 | 2020-08-25 | 山东大学 | 基于神经网络的参与性介质多重散射绘制方法及系统 |
CN113077539A (zh) * | 2021-04-08 | 2021-07-06 | 网易(杭州)网络有限公司 | 目标虚拟模型的渲染方法、装置及电子设备 |
CN116310053A (zh) * | 2023-01-19 | 2023-06-23 | 安徽空境信息科技有限公司 | 场景渲染中光强分布的确定方法、渲染方法、设备和介质 |
CN116977522A (zh) * | 2023-06-02 | 2023-10-31 | 腾讯科技(深圳)有限公司 | 三维模型的渲染方法、装置、计算机设备和存储介质 |
CN116824092A (zh) * | 2023-08-28 | 2023-09-29 | 深圳星坊科技有限公司 | 三维模型生成方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117237507A (zh) | 2023-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Wang et al. | Learning indoor inverse rendering with 3d spatially-varying lighting | |
Lafortune | Mathematical models and Monte Carlo algorithms for physically based rendering | |
Sztrajman et al. | Neural brdf representation and importance sampling | |
US8294712B2 (en) | Scalable method for rapidly detecting potential ground vehicle under cover using visualization of total occlusion footprint in point cloud population | |
Rasti et al. | Hapkecnn: Blind nonlinear unmixing for intimate mixtures using hapke model and convolutional neural network | |
CN117333637B (zh) | 三维场景的建模及渲染方法、装置及设备 | |
Ju et al. | GR-PSN: Learning to estimate surface normal and reconstruct photometric stereo images | |
Guo et al. | Salient object detection from low contrast images based on local contrast enhancing and non-local feature learning | |
Zhang et al. | An image denoising method based on BM4D and GAN in 3D shearlet domain | |
CN117351133B (zh) | 一种数据渲染方法、装置、设备及计算机可读存储介质 | |
Ge et al. | Interactive simulation of scattering effects in participating media using a neural network model | |
CN117237507B (zh) | 参与介质的渲染方法、装置、存储介质及计算机设备 | |
Bauer et al. | Photon Field Networks for Dynamic Real-Time Volumetric Global Illumination | |
Jing et al. | Reconstruction of Neural Radiance Fields With Vivid Scenes in the Metaverse | |
Jin et al. | A Virtual Point Light Generation Method in Close-Range Area | |
CN117292068B (zh) | 一种多重散射分布生成网络训练方法、渲染方法及装置 | |
Price et al. | Differentiable and accelerated wavelet transforms on the sphere and ball | |
Wang | Application of Dynamic Image Fusion Technology in Development of Innovation Capabilities of College Students Majoring in Art Design. | |
CN117152335B (zh) | 一种用于训练体渲染模型、体渲染的方法及装置 | |
US20240126952A1 (en) | Arithmetic operation system, training method, and non-transitory computer readable medium storing training program | |
US20240126953A1 (en) | Arithmetic operation system, training method, and non-transitory computer readable medium storing training program | |
US20240125935A1 (en) | Arithmetic operation system, training method, and non-transitory computer readable medium storing training program | |
CN117274473B (zh) | 一种多重散射实时渲染的方法、装置及电子设备 | |
CN117333609B (zh) | 图像渲染方法、网络的训练方法、设备及介质 | |
Chen et al. | 3D Mesh classification and panoramic image segmentation using spherical vector networks with rotation-equivariant self-attention mechanism |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |