神经材料反射率表示解决了具有参数纹理的传统分析BRDF的一些局限性;他们理论上可以表示任何材料数据,无论是复杂的具有位移、阴影和相互反射的合成微观几何,或实际测量的反射率。
然而,它们仍然近似无限平面上的材料,这阻止了它们正确处理剪影和视差效果以供观看靠近放牧的方向。
一个能够正确处理此类问题的神经材料表征剪影效果,将神经网络查询扩展为表面曲率信息作为输入,查询输出为扩展以返回除反射率之外的透明度值。
计算机图形学一直在稳步提高水平过去几十年的现实主义,其中大部分归功于物理逼真的材料。计算机中的典型材料表示图形是一种基于物理的分析微面BRDF,具有由纹理贴图和法线控制的空间变化参数地图。
这种表示在实践中取得了成功,但几个限制。微面假设并不总是适用,法线贴图无法处理显着位移,遮挡或相互反射,而位移贴图增加显着的成本。传统的层次结构受限于准确地表示多分辨率外观。
神经材料的基本介绍神经材料反射率表示是最近的一项努力通过使用神经架构来消除这些限制具有传统参数纹理的解析BRDF等。神经的方法理论上可以代表任何材料数据,无论是具有位移、阴影和相互反射的复杂合成微观几何结构,还是实际测量的反射率功能。
然而,仍然有假设的局限性输入材料被定义在一个无限平面上,这可以防止它们正确处理剪影和视差效果以供观看靠近放牧的方向。目标是在以下情况下以正确的外观表示材料适用于任意表面几何形状。
如果材料微观结构应用于曲面,不同的方向可能会击中或错过微观结构,导致复杂的轮廓边界,这对于错觉非常重要材料的复杂性。
到目前为止,这种效果是唯一可能的使用昂贵的技术:实际的几何位移贴图或在表面周围映射体积需要使用光线行进。
一种能够正确处理掠过和轮廓效果的神经材料,目前为止添加了表面曲率的明确概念,并且神经模型的透明度。
扩展神经网络中的查询,以表面曲率信息为输入,其输出扩展为返回,除了反射率之外的透明度值。这些变化对架构本身是不够的。
需要改变训练策略,与以前的工作不同,它是在应用于无限平面的合成细观结构,需要训练包含查询的数据集上的新神经表示跨越各种曲面曲率的主要贡献如下:
通过明确地将曲率视为材料的一部分查询,并通过将透明度视为查询输出。对数据集进行训练,旨在了解不同曲率表面的正确行为和集成到实际的渲染器中。展示了准确表示材料复杂性的能力传统上需要更昂贵且更不灵活技巧。
例如,(图1)显示了轮廓精度与NeuMIP相比,NeuMIP从根本上无法渲染轮廓效果并简单地渲染基础网格。

图1
模型可以集成到实际的离线和交互式渲染中应用程序,代码可在获得弯曲的神经材料。
相关工作位移贴图及其变体。位移贴图是一种强大的技术,可以为表面几何形状添加材料复杂性,从而产生逼真的视差、轮廓和阴影效果。
然而,这些好处是以高计算成本为代价的。在典型的GPU光栅化管道中,以及在经典的Reyes中pipeline,位移是通过生成geometry来实现的可以立即被绘制到帧缓冲区中,而不是需要存储。
光线追踪渲染器的方法在现代基于光线追踪的渲染器中,例如一种方法不可行,标准解决方案是通过基本几何体的细分实现置换;正如预期的那样,这在存储和计算方面都很昂贵。
通过添加近似视差改进凹凸和法线贴图的经典技术效果,基于高度图估计纹理空间偏移和法线贴图,神经偏移模块就是受此技术启发的。
浮雕映射,它使用寻根算法来找到光线与位移表面的交点。了解基于GPU的位移的概述映射和近似技术。视图的位移映射平(VDM),一种预先计算视图相关的方法到表面位移的距离。
它使用沿射线的曲率交点来近似局部表面形状。它用制表与SVD压缩一起存储跨位置、方向和曲率的位移值。虽然VDM可以渲染剪影,它是一个纯几何的解决方案,是专用于高度场,并且不预先计算反射效果,如相互反射。
广义置换贴图(GDM),一个预测到十字路口距离的5D函数给定3D位置和观察方向。4D细观结构距离函数(MDF),给定参考平面。剪影效果是使用深度剥离渲染的,这在路径跟踪框架中不容易应用。
这些是一种通用的方式处理任何光线可追溯的微观几何结构,作为材料可以映射到任何在曲面上渲染神经材料。
构建基础网络映射构建一个薄的四面体元素体积层围绕基础网格,并在每个网格内应用仿射扭曲元素。此方法可用于置换贴图,或将任何其他光线可追踪图元映射到网格上。
无镶嵌置换与光线追踪是一起使用的映射技术,类似于shell映射,但实现了更高的性能和专门用于位移。
但是,仅保存存储空间,不保存计算;整个复杂的置换几何体仍在明确地与射线相交。相反,将位移效应编码为神经表示,每个神经表示可以使用单个查询进行评估着色点。
虽然流离失所是一种常见且重要的效果,但不局限于位移,可以处理微观结构不能表示为高度场。BTF是一个6D函数,描述任意反光面外观;BTF输出反射率给定空间位置、传入和传出方向的值。
存储离散化的6D函数非常昂贵;因此,已经探索了几种BTF压缩方法。
基于自动编码器框架的神经架构来压缩BTF切片每个纹素(也称为表观BRDF或ABRDF);解码器除了潜在向量之外,还将传入/传出方向作为输入,并且自动编码器根据BTF进行训练。
后来,他们通过将不同的材料统一到一个共享的隐蔽空间来扩展工作,因此只需要训练一个自动编码器。
使用生成对抗感知生成反射函数的网络(GAN)类似于合成或测量的输入数据,并呈现它们使用部分评估发电机网络。使用一组学习的幂特征纹理代表不同层次的材料,结合一个固定的多层感知器,即完全连接的神经网络。
这种方法理论上可以适用于任何材料数据,无论是复杂的合成微观几何,还是测量BTF。但是,它仍然存在仅考虑在无限平面上输入材料,这会阻止它正确处理视图方向的轮廓和视差效果关闭放牧。
更准确地说,这意味着使用具有双线性插值的2D特征纹理,并且不考虑特征纹理的金字塔三线的插值;
材料细观结构使用半透明3D纹理的薄壳并使用光线行进计算颜色。基于扫描数据的立体织物模型,类似使用显微CT成像技术。
使用外壳将体积网格包裹在曲面上映射,神经材料使用体积层的方法。材料表示为具有密度和反射函数的体积介质在每个点定义,编码在一个完全连接的神经网络中整个材料的网络。
这种方法能够高质量,包括正确的轮廓和视差效果。然而,仍然需要光线行进与神经的多个查询每条射线所需的建筑。
另一方面,每次着色操作的成本更低,因为每个表面交点需要一个SBTF查询,并且可以使用更小的神经网络结合特征纹理。
BTF在材料微观结构中的应用双向纹理函数(BTF)是表面反射率的一般表示。他们将相机方向,光线方向, 和纹理坐标u,并输出反射率值(颜色)。
更准确地说,BTF值可以看作是点的出射辐射u在方向,当材料被远处的方向照亮时来自方向的光, 在物质平面上有单位辐照度。
如果一种材料只是一个均匀的BRDF,那么它的BTF等于BRDF;因此BTF是BRDF的推广。它综合了材料微观结构的所有影响,包括视差、阴影和多重散射,并且通常是非互易的。
BTF传统上用于捕获物理材料通过在许多观察和光线下拍照来取样方向,但也被用于合成数据。BTF都有压缩和表示方法的能力处理放牧/剪影效果。
神经剪影BTF与传统BTF有两个主要区别:一个额外的输入(沿投影光线方向的曲率值如所述上面)和一个额外的输出,传入的不透明度值射线。将材质应用于边界几何体,也就是说,假设所代表的材料是完全包含的在边界表面下,参见(图2)。

图2
因此,错过的光线边界几何体也会错过材料。然而,射线撞击边界几何体的物体可能会或可能不会撞击材料:有时掠过的光线通过不受影响的几何材料,造成复杂的轮廓效果。
为此,SBTF会输出一个不透明度值α∈[0, 1]。如果α= 1,则光线击中材料并应反射,而如果α= 0,则材料丢失,光线继续。
沿射线的曲率为了计算沿视线的曲率值,首先预先计算每个主方向和曲率顶点,使用IGL库对于给定的顶点p和相机光线方向,可以将它投射到相应的切线 x()。然后计算曲率值,参见(图3)。

图3

将k作为附加输入提供给SBTF评估。
为了任何三角形(不一定是顶点)上的一般点p,从三角形的顶点插值计算。
此外,不是仅使用曲率值,通过取最小曲率过滤值沿着经过阴影的边界几何体上的一条短曲线点,在由入射光线和法线定义的平面中;看(图4)。对曲率感兴趣整个轮廓区域,而不仅仅是着色点。

图4
网络架构通过将其拟合到数据集输入输出查询,架构由三个模块组成见(图 5):不透明度预测模块,神经偏移模块,反射率预测模块。

图5
每个模块由一个神经特征纹理和一个小的完全连接网络(多层感知器,MLP)。每个特征纹理都是一个二维的特征向量网格,可以是双线性的内插的。
在每个模块中,使用3个隐藏层每个有24个通道;这些是相当小的神经网络,并且大部分代表权来自信息在相应的特征纹理中学习。
对于高度场和许多其他材料,不透明度作为传入射线余弦的函数(即射线的点积方向和边界表面法线)是阶跃函数:不透明,然后透明。
数据集和培训鉴于曲率对于SBTF评估的重要性,需要根据所应用材料的查询来训练神经模型到不同曲率的表面。
一种选择是使用一般形状数据库;然而,这有一些缺点,例如UV映射中的各种不连续性和扭曲,在一般形状上很难避免。相反,因为只取决于沿视线的标量曲率值,表明在圆柱形贴片上进行训练就足够了,这些贴片具有沿圆柱轴的曲率为零且可控制垂直方向的曲率。
生成不同半径的圆柱面片数据集,并将材料微观结构应用于它们。应用不同旋转和平移到UV贴图修补见(图6)。

图6
生成的材料完全在圆柱面以下,它充当边界几何体。从不同的地方对入射到贴片上的光线进行采样垂直于圆柱轴的方向。曲率沿射线只是圆柱体半径的倒数。
因为应用了随机旋转和平移,这涵盖了所有纹理坐标和相机方向的组合整个神经材料的局部坐标系。
对于光线方向,在球体中随机采样一条光线,不仅仅是地平线上的半球。这是因为光由于补丁的曲率,可能来自地平线以下。
对于单一材料,训练数据集包含2400个不同的圆柱形表面块,每个块有65,536个查询。
对于的剪影余弦版本Alpha网络,需要计算给定的地面真值轮廓余弦视线。
为此,使用二进制搜索来查找角度其中入射光线恰好擦过材料边界。为了规范训练过程,应用高斯模糊初始阶段的所有神经纹理;随着训练的继续,不断降低模糊的标准偏差。
在真实世界的数据应用中(图7)。由于很难获得应用于实际材料的数据集圆柱体(或其他已知曲率的物体),改为提取来自真实数据的高度场;使用它可以重新渲染应用于不同圆柱体的真实世界材料。

图7
模型架构的渲染架构可用于评估任何SBTF查询单一着色点。因此,它可以很容易地与蒙特卡洛渲染器集成。
目前使用网络推理的C++实现Mitsuba渲染器,作为标准BSDF材质插件实现。同样的方法可以用来使用CUDA扩展基于GPU的渲染器。
(图8)不同曲率计算方法的影响。(a,c)使用标准平均曲率作为输入会导致轮廓边界膨胀。 (b,d)通过使用沿相机光线切线方向的曲率,得到更忠实的神经材料轮廓。

图8
确保PyTorch模型定义之间的完美匹配和C++实现,开发特殊代码,跟踪PyTorch完成的所有操作,然后生成一个C++函数和自动模型文件。
这完全消除了移植模型的错误和实现快速迭代模型的架构,在渲染器中立即产生结果。三个神经模块的设计经得起高效渲染。
另外,因为前两个模块不依赖于光线方向,他们的评估可以重复使用对于多个光方向查询,就像在常见的情况下多重重要性抽样(MIS)。对于SBTF采样,目前使用简单的余弦。
假设纹理坐标单位匹配世界单位,即纹理空间中1个单位的距离大约是1个世界单位。材料以特定比例预先计算;有时想要适用材料不同尺度的几何图形。
在除了缩放纹理坐标,还需要相应地缩放曲率值;回想曲率的倒数是密切圆的半径,因此具有世界单位。请参见(图9),了解此校正的重要性。

图9
结论和未来的工作一种能够正确处理材料的放牧和轮廓效果的神经架构。添加了表面曲率和透明度的明确概念到神经模型。解决方案使用SBTF的新概念,它明确地将曲率视为一部分材料查询,并返回透明度值作为查询输出,除了反射率。
这允许查询光线在弯曲区域中具有掠射方向,以击中或错过材料微观结构,从而导致复杂的轮廓边界对于材料复杂性的错觉非常重要。
建筑在NeuMIP架构上,展示了复杂的材料包括任何无法实现的准确轮廓效果以前的神经或基于BTF的材料,并且传统上会需要昂贵的技术,如置换贴图、外壳映射或体积射线行进。
一些可以探索激动人心的未来工作途径。其中将是对现实世界对象的捕获,估计粗网格和SBTF的组合。还可以探索光传输、毛发/毛皮或次表面散射等效果在SBTF中。
参考文献:
Alexandr Kuznetsov, Xuezheng Wang. 2022. Rendering Neural Materials on Curved Surface.ACM SIGGRAPH 2022 Conference ProceedingsJuly 2022Article No.: 9Pages 1–9