CN111583371B - 基于神经网络的参与性介质多重散射绘制方法及系统 - Google Patents
基于神经网络的参与性介质多重散射绘制方法及系统 Download PDFInfo
- Publication number
- CN111583371B CN111583371B CN202010365802.8A CN202010365802A CN111583371B CN 111583371 B CN111583371 B CN 111583371B CN 202010365802 A CN202010365802 A CN 202010365802A CN 111583371 B CN111583371 B CN 111583371B
- Authority
- CN
- China
- Prior art keywords
- medium
- camera
- drawn
- multiple scattering
- ray
- 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
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 32
- 238000004364 calculation method Methods 0.000 claims abstract description 47
- 238000005070 sampling Methods 0.000 claims abstract description 33
- 238000003062 neural network model Methods 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 23
- 238000009877 rendering Methods 0.000 claims description 17
- 238000012549 training Methods 0.000 claims description 17
- 230000005855 radiation Effects 0.000 claims description 9
- 238000003860 storage Methods 0.000 claims description 4
- 230000007704 transition Effects 0.000 claims description 3
- 239000000463 material Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000005286 illumination Methods 0.000 description 5
- 238000002310 reflectometry Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 239000002245 particle Substances 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000004913 activation Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 239000008267 milk Substances 0.000 description 3
- 210000004080 milk Anatomy 0.000 description 3
- 235000013336 milk Nutrition 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000000779 smoke Substances 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 239000012780 transparent material Substances 0.000 description 2
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 1
- 241000764238 Isis Species 0.000 description 1
- 238000010521 absorption reaction Methods 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002238 attenuated effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000008264 cloud Substances 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Image Generation (AREA)
Abstract
本发明公开了基于神经网络的参与性介质多重散射绘制方法及系统,将待绘制介质的散射发生时的空间位置、出射方向和介质属性,输入到训练好的神经网络模型中,输出待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线某一个采样点的多重散射辐射度值;将待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线某一个采样点的多重散射辐射度值,转变成待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值,得到预计算表;对每个图像像素进行光线追踪,根据实际光线追踪结果和预计算表,得到待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值;得到待绘制介质的多重散射绘制结果。
Description
技术领域
本公开涉及图形真实感渲染技术领域,特别是涉及基于神经网络的参与性介质多重散射绘制方法及系统。
背景技术
本部分的陈述仅仅是提到了与本公开相关的背景技术,并不必然构成现有技术。
随着动画、电影和游戏产业的发展,为了模拟出逼真的场景效果,真实感渲染已经成为计算机图形学研究领域的核心内容之一。全局光照作为真实感渲染的关键组成部分,融合了来自光源的直接光照和来自场景中其他物体反射的间接光照,这意味着它需要考虑环境中所有表面和光源相互作用的照射效果,使最终的渲染结果更接近现实场景。
同时,在自然世界中,随处可见各种稀疏不一的体积材质,例如天上的白云,堆积的雪山,朦胧的烟雾,浓稠的牛奶等等,称这些材质为参与性介质。具体来说,光线碰撞到该介质后,根据介质边界的属性折射进入介质内部,在之后的传播过程中,由于参与性介质中存在许多细小的颗粒,光线并不会继续沿着直线进行传播,而是会随机的进行衰减或散射。对于平均自由路径非常小的介质来说,多重散射在整个介质颜色中占了大量比例,为了在渲染中更好的模拟出这种参与性介质的特性,需要追踪大量的散射路径,这个步骤将会非常耗时。
发明人发现,模拟光线在参与性介质中的多重散射现象一直是一个复杂的问题,对于不同形状,不同参数的包含参与性介质的物体,都必须去采样每一条光线在介质中的每次散射情况,并依次计算出对相机光线的贡献度,非常耗时。
发明内容
为了解决现有技术的不足,本公开提供了基于神经网络的参与性介质多重散射绘制方法及系统。
第一方面,本公开提供了基于神经网络的参与性介质多重散射绘制方法;
基于神经网络的参与性介质多重散射绘制方法,包括:
获取待绘制介质的散射发生时的空间位置、散射光线出射方向和介质属性;
将待绘制介质的散射发生时的空间位置、散射光线出射方向和介质属性,输入到训练好的神经网络模型中,输出待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线某一个采样点的多重散射辐射度值;
将待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线某一个采样点的多重散射辐射度值,转变成待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值,得到预计算表;
从相机上,对每个图像像素进行光线追踪,根据实际光线追踪结果和预计算表,得到待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值;
得到所有相机射线的总多重散射辐射度值,即得到待绘制介质的多重散射绘制结果。
第二方面,本公开提供了基于神经网络的参与性介质多重散射绘制系统;
基于神经网络的参与性介质多重散射绘制系统,包括:
获取模块,其被配置为:获取待绘制介质的散射发生时的空间位置、散射光线出射方向和介质属性;
预测模块,其被配置为:将待绘制介质的散射发生时的空间位置、散射光线出射方向和介质属性,输入到训练好的神经网络模型中,输出待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线某一个采样点的多重散射辐射度值;
转变模块,其被配置为:将待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线某一个采样点的多重散射辐射度值,转变成待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值,得到预计算表;
光线追踪模块,其被配置为:从相机上,对每个图像像素进行光线追踪,根据实际光线追踪结果和预计算表,得到待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值;
输出模块,其被配置为:得到所有相机射线的总多重散射辐射度值,即得到待绘制介质的多重散射绘制结果。
第三方面,本公开还提供了一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成第一方面所述的方法。
第四方面,本公开还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成第一方面所述的方法。
与现有技术相比,本公开的有益效果是:
本公开首次将整个材质空间中的多重散射现象提炼是一个六维函数:两维对应材质的属性(反射率α和各向异性系数g),两维对应发生散射的空间坐标,最后两维对应发生散射时的出射方向。本文提出一种全连接网络对散射信息进行重构,该网络适用于各种类型和属性的参与性介质。
本公开对虚拟射线光源方法在上述多重散射函数的基础上进行了优化和改进:按照散射次数对生成的VRL(Virtual Ray Light)进行分类,使用基于神经网络的多重散射函数计算次级VRL导致的多重散射光辐射亮度,同时提出了基于“段对段”贡献形式的相机射线整体预计算方法,减少了原方法中生成VRL和计算多重散射的开销。
附图说明
构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
图1是本公开实施例一提供的一种基于神经网络的参与性介质多重散射绘制的流程图;
图2(a)-图2(b)是本公开实施例一提供的多重散射四维预计算表的格式;
图3是本公开实施例一提供的训练所述的神经网络示意图;
图4(a)-图4(d)是本公开实施例一提供的神经网络训练效果图;
图5(a)-图5(b)是本公开实施例一提供的虚拟射线光源算法示意图和初级VRL和次级VRL类型区别
图6(a)-图6(c)是本公开实施例一提供的段对点贡献分布和段对段贡献分布的示意图和转换方法
图7是本公开实施例一提供的VRL和相机射线之间的坐标位置关系
图8(a)-图8(e)是本公开实施例一提供的部分结果图;
具体实施方式
应该指出,以下详细说明都是示例性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
虚拟射线光源,Virtual Ray Light;
实施例一,本实施例提供了基于神经网络的参与性介质多重散射绘制方法;
基于神经网络的参与性介质多重散射绘制方法,包括:
S100:获取待绘制介质的散射发生时的空间位置、散射光线出射方向和介质属性;
S200:将待绘制介质的散射发生时的空间位置、散射光线出射方向和介质属性,输入到训练好的神经网络模型中,输出待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线某一个采样点的多重散射辐射度值;
S300:将待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线某一个采样点的多重散射辐射度值,转变成待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值,得到预计算表;
S400:从相机上,对每个图像像素进行光线追踪,根据实际光线追踪结果和预计算表,得到待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值;
S500:得到所有相机射线的总多重散射辐射度值,即得到待绘制介质的多重散射绘制结果。
作为一个或多个实施例,所述S400中,根据实际光线追踪结果和预计算表,得到待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值;具体步骤包括:
每个像素追踪一条光线,当光线进入待绘制介质时,将在待绘制介质中的相机光线存储起来,成为介质线段;
根据介质线段和初始虚拟射线光源光束的相对位置,计算实际相机射线起点的四维坐标;
根据实际相机射线起点的四维坐标,从预计算表中找到对应的待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线的多重散射辐射度值;
对找到的待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值进行修正,得到修正后的多重散射辐射度值。
作为一个或多个实施例,所述S500中,得到所有相机射线的总多重散射辐射度值,即得到待绘制介质的多重散射绘制结果;具体步骤包括:
重复S400,将所有修正后的多重散射辐射度值进行求和,得到一条相机射线的总的多重散射辐射度值;
采用同样的方式,再获取其他相机射线的总的多重散射辐射度值;
得到所有相机射线的总多重散射辐射度值,即得到待绘制介质的多重散射绘制结果。
作为一个或多个实施例,所述S100中,获取待绘制介质的散射发生时的空间位置、散射光线出射方向和介质属性步骤之前,还包括:向待绘制介质发射光线;光线在待绘制介质表面发生折射后进入待绘制介质内部,将折射后进入待绘制介质内部的光线作为初始虚拟射线光源光束。
作为一个或多个实施例,所述S100中,介质属性,包括:散射反射率和各项异性系数。
作为一个或多个实施例,所述S200中,训练好的神经网络模型的训练步骤包括:
构建神经网络模型;构建训练集;
所述训练集包括已知初始虚拟射线光源光束对相机摄像中的某一个采样点多重散射辐射度值、已知绘制介质的散射发生时的空间位置、出射方向和介质属性;
将训练集输入到神经网络模型中进行训练,当损失函数达到最小值时,得到训练好的神经网络模型。
所述训练集中的绘制介质为多个绘制介质。
在训练的过程中,并不是将单一类型的绘制介质作为输入值,而是将多种类型的绘制介质信息进行混合后,输入到神经网络模型中进行训练。
作为一个或多个实施例,所述S200中,所述初始虚拟射线光源光束,是指:在渲染之前,虚拟射线光源向场景发生大量光束,光束进入介质后,发生散射,生成新的散射光束;对于虚拟射线光源的光束进入介质后,没有进行散射的光束称之为初始虚拟射线光源光束。
作为一个或多个实施例,所述S300中,所述预计算表中存储待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线的多重散射辐射度值和其对应的相机射线起点的四维坐标。
作为一个或多个实施例,所述S300中,将待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线某一个采样点的多重散射辐射度值,转变成待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值,得到预计算表;具体步骤包括:
假设有一条长为的相机射线,相机射线的起点和方向分别为(ρc,zc)和(θc,φc),然后在相机射线上每隔/>距离计算一次段对点的贡献,即计算采样点投影到虚拟射线光源的光束上的(θ,φ)坐标和相机射线的方向;
然后通过神经网络得到待绘制介质中的初始虚拟射线光源光束对相机摄像中的某一个采样点多重散射辐射度值;
然后将n个采样点的值累加起来,得到了整条相机射线上的辐射度,即为待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值。
作为一个或多个实施例,所述S300中,还包括:对预计算表进行裁剪;
所述对预计算表进行裁剪的步骤包括:
将预计算表中不重要的部分予以删除。
所述不重要的部分是指:小于给定的阈值的部分。
小于给定的阈值的部分的结果相较于最终的结果来说,数值过小以至于对最终结果的影响可以忽略不计,裁剪这部分值可以节省一部分时间开销。
对于空间坐标范围为(ρm,zm)的预计算表,定义(ρc,zc)为有效范围,其余范围内的数据都认为是不重要部分,为了计算(ρz,zc),具体方法为:
对预计算表进行遍历,首先将z设为0,然后从0开始增加ρ的值(ρ从0一直增加到ρm,ρm是ρ的最大值)。然后判断位置(ρj,0),沿着(θ,φ)方向的多重散射能量是否小于给定的阈值(自然数e)。由于在预计算表中,在特定的位置上会有684种不同的散射方向,因此当90%的散射方向上的多重散射能量都小于该阈值时,则认为ρj-1就是想要找的有效范围ρc。对于zc,使用相同的方法,固定ρ为0,然后让z从0开始增加,当(0,zj)位置上超过90%的多重散射能量小于阈值时,zj-1就是有效范围zc。
作为一个或多个实施例,S400中,根据介质线段和初始虚拟射线光源光束的相对位置,计算实际相机射线起点的四维坐标;具体步骤包括:
将介质线段的起点投影至初始虚拟射线光源光束上,具体公式为:
z=(P-v)·d
ρ=||(P-v)-zd||
θ=acos(c.z)
φ=atant2(c.y,c.x)
其中,P为介质线段的起点的3D坐标,v为虚拟射线光源起点的3D坐标,d为虚拟射向光源光束的传播方向。c为介质线段的传播方向。acos和atant2为反三角函数。
作为一个或多个实施例,S400中,根据实际相机射线起点的四维坐标,从预计算表中找到对应的待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线的多重散射辐射度值;具体步骤包括:
首先通过计算得到的(ρ,z)在预计算表中定位到相应的空间位置,然后在该位置上获得对应的各个方向的多重散射值(值得注意的是,若ρ≥ρc或者z≥zc,则不再进行后续方向上的查找)。由于在预计算表中,每一个空间位置都对应684个不同的方向,所以再使用上述计算得到的(θ,φ)来对应到所需方向的多重散射辐射度值。
作为一个或多个实施例,S400中,对找到的待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值进行修正,得到修正后的多重散射辐射度值;具体步骤包括:
对找到的待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值乘以基于长度的权值,得到修正后的多重散射辐射度值。
本公开对虚拟射线光源方法在上述多重散射函数的基础上进行了优化和改进:按照散射次数对生成的虚拟射线光源的光束VRL(Virtual Ray Light)进行分类,使用基于神经网络的多重散射函数计算次级VRL导致的多重散射光辐射亮度,同时提出了基于“段对段”贡献形式的相机射线整体预计算方法,减少了原方法中生成虚拟射线光源的光束VRL和计算多重散射的开销。
所述待绘制介质为参与性介质,是指:自然界中云、烟雾,牛奶等材质,这些材质的内部并不是真空的,而是充满了许多悬浮的颗粒或胶粒。当光线进入这些介质后会由于悬浮颗粒的影响不再进行直线传播,而是朝着其他方向进行散射。
所述参与性介质的属性,包括:
1.吸收系数σa:描述光传播固定距离后发生能量被吸收事件的概率密度;
2.散射系数σs:描述光传播固定距离后发生能量散射的概率密度;
3.相位函数p:描述光发生散射后,新的方向概率分布。
对于相位函数p,常见的函数为Henyey-Greenstein函数,参数g描述了该相位函数的各向异性程度,范围为[-1,+1],当g为0时,散射时每个方向的传播概率相同,越接近1,直线传播的概率越大。-1时,反向传播的概率越大。除了上述基础参数,还有一些额外的属性系数:透射衰减系数σt=σa+σs,平均自由程反射率/>
通过上述符号,本公开定义了一个和散射发生时的空间位置、出射方向和介质属性关的多重散射函数,该函数给出了光线在给定介质中的某个位置上,由于发生散射而发生方向改变后,在新方向上的光辐射能量。由于本公开是在均匀介质上的方法,光的能量分布高度对称,所以并不需要使用3D坐标来描述,只需要空间中的一个切面来表示位置即可,故只用(ρ,z)表示空间坐标,对于出射方向,使用球坐标(θ,φ)表示(图2表示),最后对于介质,使用散射反射率α和各向异性系数g表示,之所以不使用σs等系数,是因为这些参数并不归一化,即取值可以为0到正无穷,而α,g都不会超过1。
多重散射函数为:R(ρ,z,θ,φ,g,α)。
首先对于整个介质空间来说,假定平均自由程都为1,使用各向异性参数g和散射反射率α表示不同的介质属性组合。对于这两个参数,分别按照以下参数集合进行组合:
g∈{0.0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,0.95,0.99}
α∈{0.01,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,0.95,0.99}
由于多重散射的光辐射亮度在散射方向各向异性程度较大和反射率较大的介质中变化比较明显(指数变化),因此在接近1的区域内增加了采样情况,使神经网络能够对这些高频(亮度值较高且变换明显)的数据更加敏感,在此情况下,整个训练集就对应了共156种不同的介质。每个介质都对应一个多重散射预计算表,该表存储了在该介质中,不同位置上沿着不同方向多重散射的光辐射度值(每个多重散射预计算表都是4维格式,分别为空间坐标(ρ,z)和出射方向(θ,φ))。
在本公开中,还规定(ρ,z)的最大距离为并每隔/>进行一次记录,因此共有100×100种位置变化。而对于散射方向(θ,φ),则每隔10°记录一次,因此共有19×36种位置变化。
综上,共有156个多重散射预计算表,每个预计算表对应一种介质,每个表中共有100×100×19×36个浮点数值,表示在某一个位置(ρ,z)上,沿着(θ,φ)方向出射的多重散射的辐射度值。
为了获取这些训练所需的多重散射预计算表,对于每一种介质(gi,αi),假设其范围为无穷大,在介质的中心原点(0,0,0),沿着初始方向(0,0,1)开始不断发射光束(本公开中对于每种介质,都发射5000万光束),光在介质中发生散射,每次散射都找到散射位置对应的散射记录点(ρ,z),对于每个进入该位置记录点的光束,都将其在该位置对各个方向(19×36种方向)的多重散射贡献记录并累加起来。当光束都发射完毕后,对每个样本点都使用基于概率密度的方法进行归一化,即除以每个记录位置的空间体积和所有进入该位置的光束的数目。
本公开使用的神经网络的结构为两个完全连接的隐藏层,每个层有50个节点(参见图3),并使用tanh作为激活函数。对于所有数据,先将其归一化至[0,1],并随机混合它们。整个网络由Tensorflow来训练,其优化器为Adam,优化率为0.01,并使用L2范式来判断其优化程度。进一步地,所述神经网络,包括:依次连接的输入层、第一隐藏层、第二隐藏层和输出层。
输入层,用于接受输入的参数(ρ,z,θ,φ,g,α);
第一隐藏层,用于将输入信息通过矩阵变换和激活函数转换为非线性的新数据;
第二隐藏层,用于将输入信息通过矩阵变换和激活函数转换为非线性的新数据;
输出层,用于输出神经网络预测的多重散射值。
图4(a)-图4(d)展示了本公开中的神经网络训练效果。
本公开的渲染算法是在虚拟射线光源(Virtual Ray Light,VRL)算法的基础上完成的。虚拟射线光源算法是指在渲染之前,光源向场景发生大量光束,光束进入介质中后,会发生散射,生成新的散射光束。这些光束被称之为虚拟射线光源(Virtual Ray Light),这些光束在渲染阶段会被认为是虚拟的光源,并对相机射线(相机发射的追踪光线穿过整个介质的部分称为相机射线,也称之为介质线段,图5(a)的下面一条光线部分)上的每个采样点进行能量贡献。
该点的最终能量由所有VRL对其的贡献求和得到:
在这里,Li(Bj)代表每条虚拟射线光源的光束对相机射线上某一个采样点的贡献。将所有虚拟射线光源的光束按照在介质中的散射次数分为两类,一类是直接进入介质,没有进行散射的虚拟射线光源的光束,称之为初始虚拟射线光源的光束,另一类是由初始虚拟射线光源的光束在介质中发生散射而得到的次级虚拟射线光源的光束(图5(b))。所有次级虚拟射线光源的光束对相机射线上某点的多重散射能量贡献可以写成:
其中,Np为所有初始VRL的数目,G(Bj)为这条初始VRL由于散射后生成的后续的次级VRL。再通过上文基于神经网络的多重散射函数,可以得到:
基于上述声明,本公开只需要收集所有的初始虚拟射线光源的光束,每条初始虚拟射线光源的光束的起点坐标为光源发射的光束进入介质的位置,方向为光束进入介质的朝向。
本公开还在原本“段对点”(每条虚拟射线光源的光束对相机射线上某一个采样点进行多重散射能量贡献)的贡献形式(图6(a)对该贡献形式的多重散射进行了能量可视化)上进一步进行了预计算,使之变成段对段(每条虚拟射线光源的光束对相机射线整体的多重散射能量贡献)的贡献形式(图6(b)对该贡献形式的多重散射进行了能量可视化),该步骤将相机的线段长度通过隐式的形式编码进表中,从而在渲染时减少了相机光线上的采样,大幅提高了渲染速度,同时该步骤通过GPU并行计算得到,其花费时间非常少。
段对段的预计算表假设有一条长为的相机射线,相机射线的起点和方向分别为(ρc,zc)和(θc,φc),然后在相机射线上每隔/>距离计算一次段对点的贡献,即计算采样点投影到虚拟射线光源的光束上的(θ,φ)坐标和相机射线的方向,然后通过上述的神经网络得到多重散射光辐射度值,然后将5个采样点的值累加起来,得到了整条相机射线上的辐射度,即为段对段的能量贡献(图6(c)展示了这一过程)。
具体坐标的计算方式如下:
z=(P-v)·d
ρ=||(P-v)-zd||
其中P为采样点的空间3D坐标,v为VRL的起点,d为VRL的方向,示意图为图7。
当相机射线距离虚拟射线光源的光束VRL过远时,从段对段的预计算表中获取的值对最终结果的贡献可以忽略不计,因此本公开提出了对段对段预计算表的自适应裁剪方案,以寻找到有效的贡献区域。
具体来说,对于预计算表中的空间位置,设(ρc,zc)为预计算表的有效区域范围,当任何一条实际中的相机射线相较于一条虚拟射线光源的光束VRL有(ρi,zi)的空间坐标有如下关系时:
ρi≥ρc或zi≥zc
则认为这条虚拟射线光源的光束VRL对相机射线的贡献可以忽略不计,因此可以省略后续计算。
为了计算出(ρc,zc),对预计算表进行遍历,首先将z设为0,然后从0开始增加ρ的值(ρ从0一直增加到ρm,ρm是ρ的最大值)。
然后判断位置(ρj,0),沿着(θ,φ)方向的多重散射能量是否小于给定的阈值(自然数e)。
由于在预计算表中,在特定的位置上会有684种不同的散射方向,因此当90%的散射方向上的多重散射能量都小于该阈值时,则认为ρj-1就是想要找的有效范围ρc。
对于zc,使用相同的方法,固定ρ为0,然后让z从0开始增加,当(0,zj)位置上超过90%的多重散射能量小于阈值时,zj-1就是有效范围zc。
整个段对段贡献形式的预计算表也是4D的格式,四维分别为(ρ,z,θ,φ),代表在起点为(ρ,z),方向为(θ,φ),长度为的相机射线上的整体多重散射辐射度。由于在实际中,相机射线的长度长短不一,不一定为固定的/>所以给予一个基于长度的权值进行校正:
在这里,k为实际相机射线长度相较于的比值:/>
在实际渲染过程中,首先从相机上,对每个图像像素进行光线追踪,具体为相机坐标和图形像素进行相连,得到一根追踪光线,然后光线在场景中进行碰撞检测(射线和三角模型检测,判断是否碰撞到),当碰撞到粗糙表面时,则进行直接光照计算,当碰撞到透明材质时,则发生折射和反射。上述的粗糙材质和透明材质都是在渲染前,由用户给定不同的材质类型来确定。
当光线进入介质后,则保存光线在整个介质中的部分,称之为相机射线或介质线段,然后从段对段贡献形式的预计算表获取多重散射的光辐射亮度值,然后乘上相机射线本身携带的光辐射亮度的系数,具体来说,相机光线在进入介质前,可能会穿过一些透明的介质(比如一杯牛奶中的玻璃杯)导致一些光辐射亮度的变换,然后获得最后的像素颜色值。
最后图8(a)-图8(e)展示了一系列根据本公开中最后的步骤都到的渲染结果。
实施例二,本实施例提供了基于神经网络的参与性介质多重散射绘制系统;
基于神经网络的参与性介质多重散射绘制系统,包括:
获取模块,其被配置为:获取待绘制介质的散射发生时的空间位置、散射光线出射方向和介质属性;
预测模块,其被配置为:将待绘制介质的散射发生时的空间位置、散射光线出射方向和介质属性,输入到训练好的神经网络模型中,输出待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线某一个采样点的多重散射辐射度值;
转变模块,其被配置为:将待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线某一个采样点的多重散射辐射度值,转变成待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值,得到预计算表;
光线追踪模块,其被配置为:从相机上,对每个图像像素进行光线追踪,根据实际光线追踪结果和预计算表,得到待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值;
输出模块,其被配置为:得到所有相机射线的总多重散射辐射度值,即得到待绘制介质的多重散射绘制结果。
实施例三,本实施例还提供了一种电子设备,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成实施例一所述的方法。
实施例四,本实施例还提供了一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时,完成实施例一所述的方法。
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.基于神经网络的参与性介质多重散射绘制方法,其特征是,包括:
获取待绘制介质的散射发生时的空间位置、散射光线出射方向和介质属性;
将待绘制介质的散射发生时的空间位置、散射光线出射方向和介质属性,输入到训练好的神经网络模型中,输出待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线某一个采样点的多重散射辐射度值;
将待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线某一个采样点的多重散射辐射度值,转变成待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值,得到预计算表;
从相机上,对每个图像像素进行光线追踪,根据实际光线追踪结果和预计算表,得到待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值;
得到所有相机射线的总多重散射辐射度值,即得到待绘制介质的多重散射绘制结果;
将待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线某一个采样点的多重散射辐射度值,转变成待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值,得到预计算表;具体步骤包括:
假设有一条长为n×l的相机射线,相机射线的起点和方向分别为(ρc,zc)和(θc,φc),然后在相机射线上每隔l距离计算一次段对点的贡献,即计算采样点投影到虚拟射线光源的光束上的(θ,φ)坐标和相机射线的方向;
然后通过神经网络得到待绘制介质中的初始虚拟射线光源光束对相机摄像中的某一个采样点多重散射辐射度值;
然后将n个采样点的值累加起来,得到了整条相机射线上的辐射度,即为待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值;
将所有虚拟射线光源的光束按照在介质中的散射次数分为两类,一类是直接进入介质,没有进行散射的虚拟射线光源的光束,称之为初始虚拟射线光源的光束,另一类是由初始虚拟射线光源的光束在介质中发生散射而得到的次级虚拟射线光源的光束;所有次级虚拟射线光源的光束对相机射线上某点的多重散射能量贡献可以写成:
其中,Np为所有初始VRL的数目,G(Bj)为这条初始VRL由于散射后生成的后续的次级VRL;
使用基于神经网络的多重散射函数计算次级VRL导致的多重散射光辐射亮度。
2.如权利要求1所述的方法,其特征是,根据实际光线追踪结果和预计算表,得到待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值;具体步骤包括:
每个像素追踪一条光线,当光线进入待绘制介质时,将在待绘制介质中的相机光线存储起来,成为介质线段;
根据介质线段和初始虚拟射线光源光束的相对位置,计算实际相机射线起点的四维坐标;
根据实际相机射线起点的四维坐标,从预计算表中找到对应的待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线的多重散射辐射度值;
对找到的待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值进行修正,得到修正后的多重散射辐射度值。
3.如权利要求1所述的方法,其特征是,得到所有相机射线的总多重散射辐射度值,即得到待绘制介质的多重散射绘制结果;具体步骤包括:
将所有修正后的多重散射辐射度值进行求和,得到一条相机射线的总的多重散射辐射度值;
采用同样的方式,再获取其他相机射线的总的多重散射辐射度值;
得到所有相机射线的总多重散射辐射度值,即得到待绘制介质的多重散射绘制结果。
4.如权利要求1所述的方法,其特征是,获取待绘制介质的散射发生时的空间位置、散射光线出射方向和介质属性之前,还包括:向待绘制介质发射光线;光线在待绘制介质表面发生折射后进入待绘制介质内部,将折射后进入待绘制介质内部的光线作为初始虚拟射线光源光束。
5.如权利要求1所述的方法,其特征是,训练好的神经网络模型的训练步骤包括:
构建神经网络模型;构建训练集;
所述训练集包括已知初始虚拟射线光源光束对相机摄像中的某一个采样点多重散射辐射度值、已知绘制介质的散射发生时的空间位置、出射方向和介质属性;
将训练集输入到神经网络模型中进行训练,当损失函数达到最小值时,得到训练好的神经网络模型。
6.如权利要求1所述的方法,其特征是,所述初始虚拟射线光源光束,是指:在渲染之前,虚拟射线光源向场景发生大量光束,光束进入介质后,发生散射,生成新的散射光束;对于虚拟射线光源的光束进入介质后,没有进行散射的光束称之为初始虚拟射线光源光束;
所述预计算表中存储待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线的多重散射辐射度值和其对应的相机射线起点的四维坐标。
7.如权利要求1所述的方法,其特征是,对找到的待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值进行修正,得到修正后的多重散射辐射度值;具体步骤包括:
对找到的待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值乘以基于长度的权值,得到修正后的多重散射辐射度值。
8.基于神经网络的参与性介质多重散射绘制系统,其特征是,包括:
获取模块,其被配置为:获取待绘制介质的散射发生时的空间位置、散射光线出射方向和介质属性;
预测模块,其被配置为:将待绘制介质的散射发生时的空间位置、散射光线出射方向和介质属性,输入到训练好的神经网络模型中,输出待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线某一个采样点的多重散射辐射度值;
转变模块,其被配置为:将待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线某一个采样点的多重散射辐射度值,转变成待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值,得到预计算表;
光线追踪模块,其被配置为:从相机上,对每个图像像素进行光线追踪,根据实际光线追踪结果和预计算表,得到待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值;
输出模块,其被配置为:得到所有相机射线的总多重散射辐射度值,即得到待绘制介质的多重散射绘制结果;
将待绘制介质中的初始虚拟射线光源光束对相机摄像中相机射线某一个采样点的多重散射辐射度值,转变成待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值,得到预计算表;具体步骤包括:
假设有一条长为n×l的相机射线,相机射线的起点和方向分别为(ρc,zc)和(θc,φc),然后在相机射线上每隔l距离计算一次段对点的贡献,即计算采样点投影到虚拟射线光源的光束上的(θ,φ)坐标和相机射线的方向;
然后通过神经网络得到待绘制介质中的初始虚拟射线光源光束对相机摄像中的某一个采样点多重散射辐射度值;
然后将n个采样点的值累加起来,得到了整条相机射线上的辐射度,即为待绘制介质中的初始虚拟射线光源光束对相机摄像中的相机射线的多重散射辐射度值;
将所有虚拟射线光源的光束按照在介质中的散射次数分为两类,一类是直接进入介质,没有进行散射的虚拟射线光源的光束,称之为初始虚拟射线光源的光束,另一类是由初始虚拟射线光源的光束在介质中发生散射而得到的次级虚拟射线光源的光束;所有次级虚拟射线光源的光束对相机射线上某点的多重散射能量贡献可以写成:
其中,Np为所有初始VRL的数目,G(Bj)为这条初始VRL由于散射后生成的后续的次级VRL;
使用基于神经网络的多重散射函数计算次级VRL导致的多重散射光辐射亮度。
9.一种电子设备,其特征是,包括存储器和处理器以及存储在存储器上并在处理器上运行的计算机指令,所述计算机指令被处理器运行时,完成权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征是,用于存储计算机指令,所述计算机指令被处理器执行时,完成权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010365802.8A CN111583371B (zh) | 2020-04-30 | 2020-04-30 | 基于神经网络的参与性介质多重散射绘制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010365802.8A CN111583371B (zh) | 2020-04-30 | 2020-04-30 | 基于神经网络的参与性介质多重散射绘制方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111583371A CN111583371A (zh) | 2020-08-25 |
CN111583371B true CN111583371B (zh) | 2023-11-24 |
Family
ID=72124637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010365802.8A Active CN111583371B (zh) | 2020-04-30 | 2020-04-30 | 基于神经网络的参与性介质多重散射绘制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111583371B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11631210B2 (en) * | 2021-03-03 | 2023-04-18 | Nvidia Corporation | Fully-fused neural network execution |
US11610360B2 (en) | 2021-03-03 | 2023-03-21 | Nvidia Corporation | Real-time neural network radiance caching for path tracing |
CN117152335B (zh) * | 2023-10-26 | 2023-12-22 | 北京渲光科技有限公司 | 一种用于训练体渲染模型、体渲染的方法及装置 |
CN117237507B (zh) * | 2023-11-16 | 2024-01-30 | 北京渲光科技有限公司 | 参与介质的渲染方法、装置、存储介质及计算机设备 |
CN117274473B (zh) * | 2023-11-21 | 2024-02-02 | 北京渲光科技有限公司 | 一种多重散射实时渲染的方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105389843A (zh) * | 2015-12-09 | 2016-03-09 | 河海大学 | 基于径向基函数神经网络拟合的全局光照实时绘制方法 |
CN105825545A (zh) * | 2016-03-29 | 2016-08-03 | 浙江大学 | 基于虚拟光源和自适应稀疏矩阵还原的全局光照绘制方法 |
CN109459852A (zh) * | 2019-01-07 | 2019-03-12 | 史丽 | 一种基于神经网络的散射介质光学成像方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8872826B2 (en) * | 2011-02-17 | 2014-10-28 | Sony Corporation | System and method for decoupled ray marching for production ray tracking in inhomogeneous participating media |
-
2020
- 2020-04-30 CN CN202010365802.8A patent/CN111583371B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105389843A (zh) * | 2015-12-09 | 2016-03-09 | 河海大学 | 基于径向基函数神经网络拟合的全局光照实时绘制方法 |
CN105825545A (zh) * | 2016-03-29 | 2016-08-03 | 浙江大学 | 基于虚拟光源和自适应稀疏矩阵还原的全局光照绘制方法 |
WO2017167084A1 (zh) * | 2016-03-29 | 2017-10-05 | 浙江大学 | 基于虚拟光源和自适应稀疏矩阵还原的全局光照绘制方法 |
CN109459852A (zh) * | 2019-01-07 | 2019-03-12 | 史丽 | 一种基于神经网络的散射介质光学成像方法 |
Non-Patent Citations (2)
Title |
---|
徐翔等.基于点的全局光照绘制方法综述.计算机辅助设计与图形学学报.2019,(第05期),3-11. * |
葛亮昇等.Interactive Simulation of Scattering Effects in Participating Media Using a Neural Network Model.IEEE Transactions On Visualization And Computer Graphics.2019,3123-3134. * |
Also Published As
Publication number | Publication date |
---|---|
CN111583371A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111583371B (zh) | 基于神经网络的参与性介质多重散射绘制方法及系统 | |
US12067669B2 (en) | Watertight ray triangle intersection | |
JP5063698B2 (ja) | レイ・トレーシング画像処理システムにおけるピクセル色の決定方法および画像処理システム | |
US8139780B2 (en) | Using ray tracing for real time audio synthesis | |
CN113808241B (zh) | 共享顶点的射线追踪图元的硬件加速 | |
US20160034248A1 (en) | Methods, systems, and computer readable media for conducting interactive sound propagation and rendering for a plurality of sound sources in a virtual environment scene | |
CN108537869B (zh) | 一种基于级联纹理的圆锥追踪动态全局光照方法 | |
US7589725B2 (en) | Soft shadows in dynamic scenes | |
US8102389B2 (en) | Box casting using an integrated acceleration data structure | |
CN112509108B (zh) | 基于gpu的顶点环境光遮蔽的生成方法以及图像渲染方法 | |
CN116385623A (zh) | 具有深度信息的参与介质多重散射的绘制方法及系统 | |
CN115393498A (zh) | 一种基于隐式光传输函数合并的绘制方法和装置 | |
Bolin et al. | An error metric for Monte Carlo ray tracing | |
CN117274473B (zh) | 一种多重散射实时渲染的方法、装置及电子设备 | |
CN113808183A (zh) | 使用扭曲的复合估计乘积积分 | |
Schiavone et al. | Interoperability issues for terrain databases in distributed interactive simulation | |
Khan | Towards Synthetic Dataset Generation for Semantic Segmentation Networks | |
Terletskyi et al. | Development of a Ray Tracing Framework for Simulating Acoustic Waves Propagation Enhanced by Neural Networks | |
Behera et al. | Neural directional distance field object representation for uni-directional path-traced rendering | |
Pekkarinen et al. | Physically based lens flare rendering in" The Lego Movie 2" | |
Sloan et al. | Ambient obscurance baking on the GPU | |
WO2024044592A1 (en) | Specular reflection path generation and near-reflective diffraction in interactive acoustical simulations | |
Ma | Static light screen space rendering of realistic skin appearance on human heads | |
Wyman et al. | A Gentle Introduction to ReSTIR | |
Gutierrez et al. | Global illumination in inhomogeneous media based on curved photon mapping |
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 |