CN115205440A - 图像渲染方法和装置 - Google Patents
图像渲染方法和装置 Download PDFInfo
- Publication number
- CN115205440A CN115205440A CN202210298315.3A CN202210298315A CN115205440A CN 115205440 A CN115205440 A CN 115205440A CN 202210298315 A CN202210298315 A CN 202210298315A CN 115205440 A CN115205440 A CN 115205440A
- Authority
- CN
- China
- Prior art keywords
- image
- machine learning
- location
- learning system
- distribution function
- 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
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000009877 rendering Methods 0.000 title claims abstract description 34
- 238000010801 machine learning Methods 0.000 claims abstract description 59
- 238000005315 distribution function Methods 0.000 claims abstract description 30
- 230000003993 interaction Effects 0.000 claims abstract description 8
- 230000006870 function Effects 0.000 claims description 44
- 238000013528 artificial neural network Methods 0.000 claims description 23
- 238000012549 training Methods 0.000 claims description 21
- 230000004913 activation Effects 0.000 claims description 16
- 238000012545 processing Methods 0.000 claims description 11
- 230000002457 bidirectional effect Effects 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 3
- 238000002834 transmittance Methods 0.000 claims description 3
- 239000000463 material Substances 0.000 description 17
- 238000005286 illumination Methods 0.000 description 10
- 238000000576 coating method Methods 0.000 description 8
- 239000011248 coating agent Substances 0.000 description 7
- 230000008569 process Effects 0.000 description 6
- 230000006835 compression Effects 0.000 description 5
- 238000007906 compression Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 238000009792 diffusion process Methods 0.000 description 4
- 230000007704 transition Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000005855 radiation Effects 0.000 description 3
- 238000002310 reflectometry Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 241001310793 Podium Species 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- 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/04—Architecture, e.g. interconnection topology
-
- 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/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- 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
- G06T15/506—Illumination models
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20076—Probabilistic image processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Geometry (AREA)
- Image Generation (AREA)
- Image Analysis (AREA)
Abstract
一种用于在视点处渲染像素的图像渲染方法,包括以下步骤,对于在场景内的位置处具有预定表面的虚拟场景的第一元素,将基于视点的位置和方向提供给先前训练的机器学习系统以预测因子,当因子与表征光与预定表面的相互作用的分布函数结合时,生成对应于如在位置处照亮的虚拟场景的第一元素的像素值,将来自机器学习系统的所预测的因子与分布函数组合,以生成对应于在位置处的虚拟场景的被照亮的第一元素的像素值,以及将像素值并入渲染的图像以供显示。
Description
技术领域
本发明涉及一种图像渲染方法和装置。
背景技术
光线追踪是一种在其中在虚拟场景内追踪光的路径的渲染过程。然后模拟每条光线与场景中的物体或表面的相互作用。为了达到一定程度的真实感,这种模拟通常会考虑这些物体或表面的材料特定,诸如它们的颜色和反射率。
因此,光线追踪是一个计算昂贵的过程。此外,取决于正在被照亮的场景、由什么光照亮以及从什么视点照亮,成本因图像帧而异。
这使得维持用于渲染此类图像的首选帧速率变得难以实现;对于对应于平均图像完成时间(即帧速率)的平均计算成本,以及由光线追踪引起的围绕该平均值的给定方差,那么不是必须将平均图像质量设置得足够低以使该方差很少影响帧速率,就是如果将平均图像质量设置为接近首选帧速率的最大值,则当变化的光线追踪需求波动高于平均值时,必须牺牲该帧速率的一致性。
这两种结果都是不可取的,但又不能轻易避免,而光线追踪过程的计算负担是数据驱动的且不可预测的。
本发明试图解决或减轻这个问题。
发明内容
本发明的各个方面和特征在所附权利要求和所附描述的正文中进行了定义,并且至少包括:
在第一实例中,根据权利要求1所述的图像渲染方法;以及
在另一实例中,根据权利要求13所述的娱乐设备。
附图说明
当结合附图考虑以下详细描述时,将容易获得对本公开及其许多附带优点的更完整理解,因为通过参考以下详细描述可以更好地理解本公开,其中:
图1是根据本描述的实施例的娱乐设备的示意图;
图2是根据本描述的实施例的光线追踪的物体的图示;
图3是根据本描述的实施例的对光线追踪的物体有贡献的分量的示意图;
图4是根据本描述的实施例的与各个分量相关联的分布函数的示意图;
图5是根据本描述实施例的散射分布示意图;
图6是根据本描述的实施例的机器学习系统的训练方案的示意图;
图7是根据本描述的实施例的渲染的图像的渲染路径的示意图;
图8是根据本描述的实施例的机器学习系统的示意图;以及
图9是根据本描述的实施例的图像渲染方法的流程图。
具体实施方式
公开了一种图像渲染方法和装置。在以下描述中,呈现了许多具体细节以提供对本发明实施例的透彻理解。然而,对于本领域的技术人员来说,显然不需要使用这些具体细节来实践本发明。相反,为了清楚的目的,在适当的情况下省略了本领域技术人员已知的具体细节。
本描述的实施例试图通过使用机器学习系统来解决或减轻上述问题,该机器学习系统学习像素表面属性和针对给定物体或场景的渲染的像素之间的关系;通过使用这样的机器学习系统,可以基于相对一致的计算预算(运行机器学习系统的计算预算)来近似物体或场景的光线追踪渲染。
如本文稍后解释的,可以针对不同的场景、位置或其部分,或者针对在一个或多个场景内使用的不同物体或材料来训练不同的机器学习系统。
机器学习系统相对较小(通常在100KB到1MB的数量级),并因此为了由GPU(30)来运行,其可能会被拉入存储器并随后像场景的纹理一样被丢弃。这些系统可以由GPU的着色器运行。还将理解,原则上机器学习系统可以替代地或附加地由CPU(20)或由通用或专业协处理器运行,通用或专业协处理器诸如神经网络处理器或ASIC。
现在参考附图,其中相似的附图标记在几个视图中表示相同或对应的部分,图2-7说明了在其内训练机器学习系统的问题空间。
图2是示例物体或场景的高质量光线追踪渲染200,在本例中是讲台上的汽车。
图3说明了此渲染背后的不同贡献分量。首先,漫射光照分量200-D通常捕获表面的无光泽颜色以及由光和形状的相互作用引起的阴影,而其次,镜面光照分量200-S捕获表面的反射率,从而产生闪光和高光。可选地可以包括一种或多种附加分量,诸如光泽或“涂层”200-C,其是可以包括附加光亮或图案的第二外表面。例如,这种涂层的变体可以允许以类似于皮肤或织物的方式部分透明和/或部分漫射。这些分量中的每一个都可以使用相应的光线追踪过程常规地生成。
这些分量相加以形成先前在图2中看到的整体图像。应该理解,虽然通常2或3个这样的分量将有助于渲染,但在一些情况下可能会更少(例如,如果只需要漫反射分量)或更多(例如当物体也是半透明的并因此需要透射分量——例如用于次表面散射时)。
接下来的图4包括了产生上述图像的贡献分量的物体的材料特定。
材料属性表示为所谓的双向散射分布函数(BSDF)或双向反射分布函数(BRDF)。
BRDF定义了光在不透明表面上如何反射,而类似地,BSDF定义了光的光线在特定方向上反射或散射的概率。因此,BRDF或BSDF是描述表面的光照属性的函数(不包括传入/传出辐射本身)。也可以酌情使用其他函数,诸如双向透射率分布函数(BTDF),其定义光如何通过材料,例如用于次表面散射。
还参考图5,在典型的光线追踪应用程序中,对于光线集合(例如来自紧凑型光源),应用程序计算入射辐射(本身或直接或先前反射)到模型上具有特定BSDF、BRDF和/或BTDF的点上。入射辐射与BSDF、BRDF或BTDF组合(例如相乘)以获得特定的贡献分量响应,并将结果添加到模型上的该点处的像素值。如图5所示,BSDF中光线路径ωi的典型散射模式将偏向镜面反射方向ωa,但可能向任何方向散射。对这种行为进行准确建模是光线追踪计算昂贵的一个原因。
使用模型在各个点处的颜色信息以及该点对应的BSDF、BRDF和/或BTDF(即,对于由给定点表示的特定材料),因此可以计算给定最终视点的光线的行为,例如通过光线反射或散射来确定车辆的表面上闪烁和高光的真实分布。
对于每个贡献分量可以使用单独的BSDF、BRDF或BTDF;因此,作为一个非限制性示例,BSDF可用于漫射分量,BRDF用于镜面分量并且在本示例中还用于涂层分量(尽管BTDF也可用于这种涂层分量)。应当理解,可以酌情使用BSDF、BRDF或BTDF,并因此下文中对BSDF的引用包括对BRDF或BTDF的适当引用,除非另有说明。
如图4所示,使用物体的颜色属性和BSDF(200-BSDF-D)的漫射材料特定执行光线追踪会产生漫射图像分量200-D。类似地,使用BSDF(200-BSDF-S)的镜面的或反射的材料属性产生镜面图像分量200-S。同样地,BSDF(200-BSDF-C)的材料属性,在这种情况下通常也是镜面的,导致涂层图像分量200-C。组合这些分量产生最终光线追踪的图像200。
然而,如前所述,问题在于计算在与具有不同BSDF的不同表面相交时的光线的反射和散射路径,并对在特定视点处场景的每个像素的结果求和,既计算昂贵并且也可能高度地可变。
因此,本描述的实施例寻求用对最终图像的合适质量的具有更可预测的计算负载的其他东西来代替图4的光线追踪步骤。
现在还参考图6,在本描述的实施例中,为图像的每个贡献分量(例如,漫射、镜面和可选的涂层或任何其他贡献分量)提供相应的机器学习系统。
机器学习系统通常是神经网络,如本文后面所述,对于场景中不同视点处的多个图像,其被训练以学习图像的贡献分量的BSDF(例如200-BSDF-D)和光线追踪地面真值(例如200-D)之间的变换。
换句话说,如果光线追踪的图像(或贡献分量之一)是光照如何在物体上发挥作用的组合以及描述该物体如何对光做出反应的BSDF,那么通过拍摄光线追踪的图像并将其与BSDF组合,结果是一种可以称为“辐射”或“阴影(shade)”的质量,但更一般地描述了光如何在物体上发挥作用(由光线追踪过程汇总计算)。
如果机器学习系统或神经网络可以学会预测这种质量,那么它可以再次与BSDF结合以产生近似于光线追踪的图像的预测图像。因此,该网络可以称为神经预计算光模型或NPLM网络。
更具体地说,对于物体的假设的图像上的给定位置和视图的方向,机器学习系统或神经网络必须学习输出一个值,该值当与相同位置/像素的BSDF结合时,会导致像素值类似于在该像素处对图像进行光线追踪所产生的值。因此,在训练期间,它会生成光照条件的内部表示(例如,由于点光源或天穹)和从训练图像中隐含的表面光照属性。
因此,在示例实施例中,可以在给定视点对图像进行光栅化或以其他方式生成图像,这将用然后要被照亮的像素填充图像。对于这些概念像素中的每一个,在场景中都有一个相应的3D位置,对该位置可以使用NPLM网络获得适当的“辐射”或“阴影”。
图6显示了这种网络的训练环境,并且具体是仅作为示例,用于漫射贡献分量的网络600-D。
用于漫射贡献分量的网络的输入是物体或场景上的(x,y,z)位置610(例如对应于图像中的像素)和在该点处的物体/场景的法线620。因为对于漫射贡献分量,可以认为照度与方向/视点无关,使用法线N用来代替视点方向,并因此作为已知值的法线可以用于一致性。在本说明性示例中,使用每个汽车图像的代表值在图6中概念性地说明这些输入。
可选地,可以提供额外的输入(未显示),诸如可以可选地从相关BSDF导出的粗糙度或无光泽到光泽的标量值。
NPLM网络的输出(如本文稍后解释的)是用于输入位置的光或照度630的学习到的质量,该学习到的质量当与相同位置的相关漫射BSDF(200-BSDF-D)组合640时产生针对预测图像650中(x,y)位置的预测像素值。
图6说明目标光线追踪漫射分量200-D的预测像素和地面真值像素之间的每像素差被用作训练网络的损失函数,但这不是必需的;相反,地面真值图像可以不与BSDF组合(即通过执行反函数),以针对每个(x,y)像素生成光线追踪光如何累积地影响图像中的物体的代理,这就是网络正在训练学习到的质量。
因此,当未与该位置的对应BSDF组合时,网络的误差函数基于其单个像素(x,y)输出值与地面真值图像的对应的单个(x,y)像素之间的差。
由于地面真值图像的像素可以提前从每个位置对应的BSDF中分离一次,因此可以训练网络而无需将其自己的输出与任何BSDF组合来生成实际的预测图像像素。这减少了训练的计算负载。
如上所述,由经训练的神经网络输出的学习到的质量捕获环境中的光如何作为场景内的表面的位置的函数和作为视点的函数在物体或场景上发挥作用。因此,它有效地为场景和表面响应模型生成光图的内部表示。这是如何发生的将在后面更详细地讨论。
现在参考图7,总而言之,对于最终输出图像的每个贡献分量,机器学习系统被训练以执行应用于该贡献分量的物体/场景上的本地位置的BSDF的变换。变换是经过训练的函数,基于物体/场景上的点的(x,y,z)位置和方向值。如前所述,取决于最终图像的贡献分量的数量,可能采用任何或一个、两个、三个、四个或可能更多的机器学习系统。术语“经训练的函数”在下文中可以用来指代已经学习了这种变换的机器学习系统。
正如对于漫反射分量所指出的,因为漫射阴影被假定为方向不变,可以假定方向值等于给定点的法线。
同时,对于至少部分反射并因此将随视点变化的镜面分量,方向值是或基于图像视点(其将具有虚拟空间中的位置)处的当前像素的(x,y)位置和作为机器学习系统的输入的物体的(x,y,z)位置之间的视角,从而提供场景表面上的输入点与当前像素之间的对其要输出学习的数量的视点依赖关系。
在这种情况下,涂层分量也是镜面的,并因此也使用类似的视点或基于视点的方向作为输入。
方向相关分量的方向值因此可以是输出像素位置和物体表面位置之间的视图方向,或基于此的值,诸如表面镜像的视点方向(即,视点方向将反射到主要方向、输入位置的表面的给定法线)。可以考虑合并关于视点方向的信息的任何合适的方向值。
在每种情况下,经训练的函数封装了学习到的质量,如本文前面所述。将适当的BSDF与针对每个位置的网络输出组合,可以允许构建针对每个分量的着色的(shaded)图像。替代地或附加地,组合来自每个分量的着色的图像的像素值生成最终输出。
应当理解,在图像的渲染期间,并非所有图像都可以进行光线追踪,并且类似地,并非所有图像都可以使用上述技术生成。例如,NPLM网络可以基于具有代表性光照的地面真值光线追踪的图像针对特定物体或材料进行训练。
当这些物体或材料要随后使用由本文描述的训练函数提供的明显光线追踪来实时渲染时,相关NPLM网络被加载到存储器中并针对场景中的相关表面位置和视图方向运行以在与适当的BSDF结合时生成它们对相关像素的贡献。可以使用任何其他合适的技术(包括光线追踪本身)来渲染其他像素。
通常,基于用于选择和加载用于物体或材料的纹理的相同资产识别方案,选择适当的(多个)机器学习系统并将其加载到由GPU使用的存储器中。因此,例如,如果一个物体具有用于访问相关联纹理的ID“1234”,则该ID也可以与(多个)相关机器学习系统相关联。相反,如果纹理具有与物体相关联的ID“5678”(例如,纹理表示多个物体共有的材料),则该ID也可以与相关机器学习系统相关联。通过这种方式,娱乐设备可以使用与加载纹理类似的过程来加载机器学习系统。应当理解,纹理和机器学习系统之间的实际存储和访问技术可能不同,特别是如果使用会影响解压缩机器学习系统的操作的有损压缩来存储纹理。因此,机器学习系统可以在没有压缩或使用无损压缩的情况下存储,或者在损失程度足够低以使解压缩的机器学习系统仍能充分运行的情况下使用有损压缩;这可以通过比较机器学习系统的输出误差/成本函数来评估压缩中的损失的增量程度,直到误差达到绝对或相对(相对于未压缩的机器学习系统)质量阈值。
现在转向图8,在本描述的实施例中,机器学习系统或NPLM网络可以是任何合适的机器学习系统。因此,例如,可以使用位置和视点方向作为输入来训练单个神经网络,并生成学习到的属性的RGB值作为输出。
然而,特别有利的网络包括不同的拆分架构。
如图8所示,在一个非限制性示例中,网络包括两个部分。第一部分可以被认为是位置网络,而第二部分可以被认为是方向网络。
这些网络中的每一个都可以有3层或更多层,并使用任何合适的激活函数。
位置网络接收前面提到的物体/场景中的点的(x,y,z)位置作为输入,并输出本文稍后讨论的过渡表示。
方向网络接收该过渡表示以及方向输入(例如,法线,或像素视点或表面点镜像像素视点方向或其他基于视点的方向值,视情况而定),例如以(θ,φ)格式,或如归一化(x,y,z)向量或类似物。它输出RGB值,该RGB值对应于前面提到的用于从与物体/场景共享的空间中的虚拟相机位置渲染的图像中当前像素的(x,y)位置(以及因此像素视点)的倾斜量。
因此,在一个非限制性示例中,位置网络有3层,第一层有3个输入节点(例如,用于x、y、z位置),中间层有128个隐藏节点,并且最终层有8个输出节点。
虽然可以为网络选择任何合适的激活函数,但已将整流线性单元(ReLU)函数评估为位置网络各层之间特别有效的激活函数。它可以很好地推广到未经训练的位置,并帮助避免过度拟合。
类似地,在非限制性示例中,方向网络有4层,位置网络的8个输出和2或3个附加方向值馈送到第一层上的128个节点,然后馈送到128节点的另外两层,并且最终层上的最后3个输出对应于当前像素处学习的数量的R、G、B值。尽管如前所述这在训练期间不是必需的。然后可以将其与该位置的BSDF组合(例如相乘),以从该训练函数(例如漫射、镜面等)得到最终像素贡献。
虽然可以为方向网络选择任何合适的激活函数,但正弦函数已被评估为在方向网络的层之间特别有效的激活函数。因为角域中的光行为变化很大并且包含许多角频率的细节,但是基于低维输入(例如归一化的x,y,z向量),正弦激活函数已经被发现特别好。
因此值得注意的是,网络的两半可能使用不同的激活函数。
然而,该网络被作为一个拆分架构的网络对待,而不是两个独立的网络,因为值得注意的是训练方案只有一个成本函数;在与适当的BSDF取消组合后,由方向网络输出的RGB值与地面真值光线追踪的图像的对应像素的目标值之间的误差。
这个误差通过两个网络反向传播;位置网络没有单独的目标值或成本函数。因此,在实践中,位置网络的输出层实际上是组合网络的隐藏层,增加了方向值的附加输入,并表示层内从第一激活函数到可能的第二和不同激活函数的转换。
如前所述,神经网络为被照亮的物体、材料或场景构建光照模型。特别地,在上述非限制性示例中,位置网络有效地将(x,y,z)位置分类为光照类型(例如,亮或暗,和/或可能与光如何与相应的BSDF交互相关的其他类别,诸如相对的反射率或漫射);这部分输出的过渡表示可以被认为是表征输入位置处的光的类型的光照空间中的N维位置;如果它们以相同的方式照亮,它将把场景不同部分的位置投影到相同的N维位置。针对镜面分量训练的位置网络可能具有比针对漫射分量训练一个位置网络更多的输出;例如,考虑到镜面分量中可能出现的光照类型的更大可变性,32个输出相比于8个。
然后,方向网络对在对被照亮物体、材料或场景以特定输入角度在输入位置的表面上观看时的光模型的光如何表现进行建模,以生成图像中该位置的学习的属性。
因此,总而言之,位置和方向网络作为一个整体一起训练,以预测描述表面属性的BSDF与该表面的所期望的经渲染的图像之间的因子或变换。然后可以使用网络代替光线追踪来渲染该表面。通常但不一定只在图像的一个贡献分量上训练网络,诸如镜面分量的漫射,尽管这不是必需的(即原则上,网络可以在完全组合的图像或两个或多个贡献分量的组合上进行训练,诸如所有镜面或所有漫射贡献),而使用多个网络来产生最终图像或图像部分所需的分量。
训练
使用如本文别处所述的从多个不同视点获取的物体、场景或表面的多个光线追踪的图像来训练网络。这允许网络特别倾向于镜面反射如何随位置变化。视点可以是随机分布,或者例如可以从在导航经渲染的环境时用户可用的视点范围中选择(或主要选择)。
网络选择
在游戏或应用程序开发阶段对网络进行训练。开发人员可以选择何时或何地基于NPLM的渲染将是有利的。例如,它可能仅用于始终发现导致帧速率低于预定质量阈值的场景。在这种情况下,网络在这些场景或其部分上进行训练,并在遇到这些场景时使用。
在其他情况下,开发人员可以选择对某些物体或某些材料使用基于NPLM的渲染。在这种情况下,当这些物体或材料被识别为在要渲染的场景中时,网络会被训练并使用。
类似地,开发人员可以选择使用基于NPLM的渲染来处理特定的绘制距离(z距离),或距图像中心或用户中心凹视图的角度/距离,或用于某些光照条件。在这种情况下,网络是针对这些情况进行训练和使用的。
类似地,应当理解,可以选择这些标准的任何合适的组合以供训练和使用。
概括
现在参考图9,在描述的概要实施例中,对于在场景内的位置处具有预定表面的虚拟场景的第一元素,用于在视点处渲染像素的图像渲染方法包括以下步骤。
在第一步骤s910中,如本文别处所述,将基于视点的位置和方向提供给先前训练的机器学习系统以预测当与表征光与预定表面的相互作用的分布函数结合时生成像素值的因子,该像素值对应于如在该位置处照亮的虚拟场景的第一元素。
在第二步骤s920中,如本文别处所述,将来自机器学习系统的预测因子与分布函数组合以生成对应于在该位置的虚拟场景的被照亮的第一元素的像素值。
并且,在第三步骤s930中,如本文别处所述,将像素值并入经渲染的图像以供显示。随后可以经由A/V端口(90)将图像输出到显示器。
对本领域技术人员显而易见的是,上述方法中的一个或多个变体对应于本文描述和要求保护的方法和/或装置的各种实施例的操作被认为在本公开的范围内,包括但不限于:
-如本文别处所述,为图像的多个贡献分量(例如,漫射、镜面、涂层等)中的每一个训练相应的机器学习系统,为图像的多个贡献分量中的每一个使用相应的分布函数,以及将相应生成的像素值组合以创建并入经渲染的图像中以供显示的像素值;
-如本文别处所述,相应的分布函数是从由双向散射分布函数、双向反射率分布函数和双向透射率分布函数组成的列表中选择的一种或多种;
-如本文别处所述,机器学习系统是神经网络,神经网络的第一部分的输入包括位置,并且神经网络的第二部分的输入包括第一部分的输出和方向;
-如本文别处所述,在本实例中,第一部分的激活函数不同于第二部分的激活函数;
-如本文别处所述,在本实例中,第一部分的激活函数是ReLU函数,第二部分的激活函数是sin函数;
-如本文别处所述,在本实例中,神经网络的成本函数基于第二部分的输出和从已经对其执行了与分布函数的逆组合的训练图像的对应像素的光线追踪版本导出的值之间的差;
-如本文别处所述,在本实例中,网络的成本函数在训练期间通过第二部分和第一部分的反向传播;
-如本文别处所述,在本实例中,神经网络是全连接网络;
-如本文别处所述,机器学习系统的成本函数基于机器学习系统的输出与从已经对其执行了与分布函数的逆组合的训练图像的对应像素的光线追踪版本导出的值之间的差;以及
-如本文别处所述,基于用于选择和加载针对场景的第一元素的纹理的相同资产识别方案,选择机器学习系统并将其加载到图形处理单元使用的存储器中。
应当理解,上述方法可以在通过软件指令或通过包含或替换专用硬件而适当地适配为适用的常规硬件上执行。
因此,对传统等效设备的现有部分的所需适配可以以计算机程序产品的形式实现,该计算机程序产品包括存储在诸如软盘、光盘、硬盘、固态硬盘、PROM、RAM、闪存或这些或其他存储介质的任何组合的非暂时性机器可读介质上的处理器可执行指令,或在硬件中实现为ASIC(专用集成电路)或FPGA(现场可编程门阵列)或其他适用于适配的可配置电路传统的等效装置。单独地,这样的计算机程序可以经由诸如以太网、无线网络、互联网或这些或其他网络的任何组合的网络上的数据信号来传输。
娱乐系统10包括中央处理器20。这可以是单核或多核处理器,例如包括PS5中的八个核。娱乐系统还包括图形处理单元或GPU 30。GPU可以在物理上与CPU分离,或者作为PS5中的片上系统(SoC)与CPU集成。
娱乐设备还包括RAM 40,并且可以具有用于CPU和GPU中的每一个的单独的RAM,或者像PS5中的共享的RAM。该RAM或每个RAM可以是物理上分离的,或可以像PS5中那样集成为SoC的一部分。进一步的存储由盘50提供,或是作为外部或内部硬盘驱动器,或是作为外部固态驱动器,或是作为PS5中的内部固态驱动器。
来自娱乐设备的音频/视频输出通常通过一个或多个A/V端口90,或通过一个或多个有线或无线数据端口60提供。
在未集成组件的情况下,它们可以通过专用数据链路或经由总线100酌情连接。
首先,图形处理单元(诸如GPU 30,可选地与CPU 20结合)被配置为(例如通过合适的软件指令)在包括在该场景内的位置处具有预定表面的第一元素的虚拟场景的图像内的视点处渲染像素,如本文别处所述。
其次,机器学习处理器(诸如GPU 30,可选地与CPU 20结合)被配置为(例如通过合适的软件指令)向先前训练的机器学习系统提供基于视点的位置和方向以预测当与表征光与预定表面的相互作用的分布函数结合时生成对应于在该位置被照亮的虚拟场景的第一元素的像素值的因子,如本文别处所述。
图形处理单元被配置(再次例如通过合适的软件指令)为将来自机器学习系统的预测的因子与分布函数组合以生成对应于在该位置处的虚拟场景的被照亮的第一元素的像素值,如本文别处所述。
此外,图形处理单元还被配置为(再次例如通过合适的软件指令)将像素值并入经渲染的图像以供显示,如本文别处所述。
应当理解,上述硬件可以类似地配置为执行本文所述的方法和技术,诸如:
-娱乐设备包括运行相应的机器学习系统的多个机器学习处理器(例如GPU和/或CPU的相应处理器、头(thead)和/或着色器),每个机器学习系统针对图像的多个贡献分量之一(例如漫射、镜面、涂层等),其中对图像的多个贡献分量中的每一个使用相应的分布函数,并且图形处理单元被配置(再次例如通过合适的软件指令)为组合相应生成的像素值以创建并入渲染图像中以供显示的像素值,如本文别处所述;以及
-该或每个机器学习系统是神经网络,其中神经网络的第一部分的输入包括位置,神经网络的第二部分的输入包括第一部分的输出和方向。
前述讨论仅公开和描述了本发明的示例性实施例。如本领域技术人员将理解的,本发明可以以其他特定形式实施而不背离其精神或本质特征。因此,本发明的公开旨在是说明性的,而不是限制本发明的范围以及其他权利要求。包括本文教导的任何容易辨别的变体的本公开,部分定义了所附权利要求术语的范围,使得没有创造性的主题被献给公众。
Claims (15)
1.一种用于在视点处渲染像素的图像渲染方法,包括以下步骤:
对于在场景内的位置处具有预定表面的虚拟场景的第一元素,
将基于所述视点的所述位置和方向提供给先前训练的机器学习系统以预测因子,当所述因子与表征光与所述预定表面的相互作用的分布函数结合时生成与在所述位置处被照亮的所述虚拟场景的所述第一元素相对应的所述像素值;
将来自所述机器学习系统的所预测的因子与所述分布函数组合,以生成对应于在所述位置处的所述虚拟场景的被照亮的第一元素的所述像素值;以及
将所述像素值并入渲染的图像以供显示。
2.根据权利要求1所述的图像渲染方法,其中,
为所述图像的多个贡献分量中的每一个训练相应的机器学习系统;
对所述图像的所述多个贡献分量中的每一个使用相应的分布函数;以及
相应生成的像素值被组合以创建最终组合的像素值,所述最终组合的像素值被并入所述渲染的图像以供显示。
3.根据权利要求1或2所述的图像渲染方法,其中
所述相应的分布函数是从以下列表中选择的一个或多个:
i.双向散射分布函数;
ii.双向反射分布函数;以及
iii.双向透射率分布函数。
4.根据权利要求1所述的图像渲染方法,其中
所述机器学习系统是神经网络;
所述神经网络的第一部分的输入包括所述位置;以及
所述神经网络的第二部分的输入包括所述第一部分的输出和所述方向。
5.根据权利要求4所述的图像渲染方法,其中:
所述第一部分的激活函数不同于所述第二部分的激活函数。
6.根据权利要求5所述的图像渲染方法,其中:
所述第一部分的所述激活函数是ReLU函数,并且所述第二部分的所述激活函数是sin函数。
7.根据权利要求4所述的图像渲染方法,其中:
所述神经网络的成本函数基于所述第二部分的输出与从已经对其执行了与所述分布函数的逆组合的训练图像的对应像素的光线追踪版本导出的值之间的差。
8.根据权利要求4所述的图像渲染方法,其中
所述网络的所述成本函数是在训练期间通过所述第二部分和所述第一部分两者的反向传播。
9.根据权利要求4所述的图像渲染方法,其中
所述神经网络是全连接网络。
10.根据权利要求1所述的图像渲染方法,其中:
所述机器学习系统的所述成本函数基于所述机器学习系统的输出与从已经对其执行了与所述分布函数的逆组合的训练图像的对应像素的光线追踪版本导出的值之间的差。
11.根据权利要求1所述的图像渲染方法,其中:
基于用于为所述场景的所述第一元素选择和加载纹理的相同资产识别方案,所述机器学习系统被选择并被加载到由图形处理单元使用的存储器中。
12.一种计算机程序,包括适于使计算机系统执行权利要求1的方法的计算机可执行指令。
13.一种娱乐设备,包括:
图形处理单元,被配置为渲染在虚拟场景的图像内的视点处的像素,所述虚拟场景包括在场景内的位置处具有预定表面的第一元素;
机器学习处理器,被配置为将基于所述视点的所述位置和方向提供给先前训练的机器学习系统以预测因子,当所述因子与表征光与所述预定表面的相互作用的分布函数结合时,生成与在所述位置处被照亮的所述虚拟场景的所述第一元素相对应的所述像素值;
所述图形处理单元被配置为将来自所述机器学习系统的所预测的因子与所述分布函数组合,以生成对应于在所述位置处的所述虚拟场景的被照亮的第一元素的像素值;以及
所述图形处理单元被配置为将所述像素值并入渲染的图像以供显示。
14.根据权利要求13所述的娱乐设备,包括:
运行相应的机器学习系统的多个机器学习处理器,每个机器学习系统针对所述图像的多个贡献分量中的一个进行训练,其中相应的分布函数用于所述图像的所述多个贡献分量中的每一个;以及
所述图形处理单元被配置为组合相应生成的像素值以创建最终组合的像素值,所述最终组合的像素值被并入所述渲染的图像以供显示。
15.根据权利要求13或14所述的娱乐设备,其中:
机器学习系统是神经网络;
所述神经网络的第一部分的输入包括所述位置;以及
所述神经网络的第二部分的输入包括所述第一部分的输出和所述方向。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB2104156.1A GB2605171B (en) | 2021-03-24 | 2021-03-24 | Image rendering method and apparatus |
GB2104156.1 | 2021-03-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115205440A true CN115205440A (zh) | 2022-10-18 |
Family
ID=75689771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210298315.3A Pending CN115205440A (zh) | 2021-03-24 | 2022-03-24 | 图像渲染方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20220309744A1 (zh) |
EP (1) | EP4089642A3 (zh) |
JP (1) | JP2022151746A (zh) |
CN (1) | CN115205440A (zh) |
GB (1) | GB2605171B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230154101A1 (en) * | 2021-11-16 | 2023-05-18 | Disney Enterprises, Inc. | Techniques for multi-view neural object modeling |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5615041B2 (ja) * | 2010-05-24 | 2014-10-29 | キヤノン株式会社 | 画像処理装置、画像処理方法 |
US9013496B2 (en) * | 2012-06-19 | 2015-04-21 | Microsoft Technology Licensing, Llc | Rendering global light transport in real-time using machine learning |
US10430978B2 (en) * | 2017-03-02 | 2019-10-01 | Adobe Inc. | Editing digital images utilizing a neural network with an in-network rendering layer |
US11816404B2 (en) * | 2020-03-20 | 2023-11-14 | Nvidia Corporation | Neural network control variates |
US11640690B2 (en) * | 2021-03-17 | 2023-05-02 | Microsoft Technology Licensing, Llc | High resolution neural rendering |
-
2021
- 2021-03-24 GB GB2104156.1A patent/GB2605171B/en active Active
-
2022
- 2022-03-16 EP EP22162523.9A patent/EP4089642A3/en active Pending
- 2022-03-17 JP JP2022042661A patent/JP2022151746A/ja active Pending
- 2022-03-21 US US17/699,887 patent/US20220309744A1/en active Pending
- 2022-03-24 CN CN202210298315.3A patent/CN115205440A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
GB2605171B (en) | 2023-05-24 |
EP4089642A2 (en) | 2022-11-16 |
EP4089642A3 (en) | 2023-01-18 |
JP2022151746A (ja) | 2022-10-07 |
GB202104156D0 (en) | 2021-05-05 |
GB2605171A (en) | 2022-09-28 |
US20220309744A1 (en) | 2022-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11037274B2 (en) | Denoising Monte Carlo renderings using progressive neural networks | |
US9684996B2 (en) | Rendering global light transport in real-time using machine learning | |
TW202040505A (zh) | 具有基於機器學習的著色器的圖形處理晶片 | |
EP4080461A1 (en) | Image rendering method and apparatus | |
US12020369B2 (en) | Image rendering method and apparatus | |
EP4064131A1 (en) | Image rendering method and apparatus | |
US10902670B1 (en) | Systems and methods for graphics rendering based on machine learning | |
US20220309735A1 (en) | Image rendering method and apparatus | |
US20220392179A1 (en) | Appearance-driven automatic three-dimensional modeling | |
CN116758208A (zh) | 全局光照渲染方法、装置、存储介质及电子设备 | |
CN115205440A (zh) | 图像渲染方法和装置 | |
CN115953524B (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
EP4064197A1 (en) | Image rendering method and apparatus | |
Halmaoui et al. | Computer graphics rendering survey: From rasterization and ray tracing to deep learning | |
EP4080462A1 (en) | Image rendering method and apparatus | |
EP2428935B1 (en) | Method for estimating the scattering of light in a homogeneous medium |
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 |