编辑:LRS
【新智元简介】近日,Google发布了全新的MobileNeRF模型,直接将神经辐射领域拉入移动时代。内存需求仅为1/6,渲染3D模型速度提高10倍。手机和浏览器都可以用!
2020年,NeRF应运而生,只需要几张2D静止图像就可以合成模型的3D场景表示,改变了3D模型合成的技术格局。
NeRF使用多层感知器(MLP)来学习表示场景,并评估一个5D隐函数来估计从任何方向和任何位置发出的密度和辐射,可用于在体积渲染的框架下生成新的图像。
在优化以最小化多视图颜色一致性损失后,与传统生成方法相比,NeRF可以为新视图保留更好的图像细节。
然而,目前主流的NeRF实现仍然存在一些弊端,即需要特殊的渲染算法,并且这些算法与常见的硬件不匹配。
传统的NeRF实现使用体绘制算法在沿着射线的数百个采样位置为每个像素运行大规模MLP,以估计总密度和辐射度。这种渲染过程太慢,以至于交互式可视化不能用于实时渲染。
最近有研究将NeRF烘焙成稀疏的3D体素网格来解决这个问题。例如,SNeRG中的每个活动像素包含不透明度、漫射颜色和学习的特征向量。
从SNeRG绘制图像可以分为两个阶段:第一阶段使用光线来累积预先计算的漫射颜色和沿每条光线的特征向量,第二阶段使用光MLP,其对累积的特征向量进行操作以生成与视图相关的残差,该残差被添加到ac累积漫射颜色。这种预先计算和延迟渲染的方法将NeRF的渲染速度提高了三个数量级。
然而,SNeRG仍然依靠光线在稀疏的体素网格中传播来生成每个像素的特征,因此无法充分利用GPU的并行性。
此外,SNeRG需要大量的GPU内存来存储体纹理,因此无法在手机等移动设备上运行。
近日,来自谷歌研究院和西蒙弗雷泽大学的研究人员共同提出了一种全新的模型MobileNeRF,并成功地将NeRF模型部署在多种常见的移动设备上。
论文链接:https://arxiv.org/abs/2208.00277
演示链接:https://mobile-nerf.github.io/
NeRF由一组纹理多边形表示,其中多边形沿场景表面粗略排列,纹理图集存储不透明度和特征向量。
在图像渲染阶段,MobileNeRF使用带有Z缓冲的经典多边形光栅化管道为每个像素生成特征向量,并将它们传递给在GLSL片段着色器中运行的灯光MLP,以生成输出颜色。
渲染管道不会对光线进行采样或按深度顺序对多边形进行排序,因此它们只能对二进制不透明度进行建模。但MobileNeRF可以充分利用现代图形集成电路硬件中Z buffer和fragment shader提供的并行性,因此在标准测试场景下比SNeRG快10倍,输出质量几乎相同。
此外,MobileNeRF只需要一个标准的多边形渲染管道,可以在几乎所有的计算平台上实现和加速,因此可以在手机和其他之前无法以交互速率支持NeRF可视化的设备上运行。
作者还提供了一个演示网站,可以在web浏览器上实时呈现。
本文第一作者秦致陈(音译)是西门菲沙大学三年级博士生。2019年获得西蒙弗雷泽大学硕士学位,2017年获得上海交通大学学士学位。主要研究方向为计算机图形学,主修几何建模和机器学习。
NeRF进入移动时代
给定一组校准的图像,NeRF的目标是找到新视图合成的有效表示,包括其纹理贴图存储特征和不透明度的多边形网格。
渲染时,给定相机的姿态,MobileNeRF采用两阶段延迟渲染过程:
渲染阶段1:将网格栅格化到屏幕空间,构建特征图像,即在GPU内存中创建一个延迟渲染缓冲区。
渲染阶段2:这些特征被运行在片段着色器(fragment shader)中的神经延迟渲染器(neural delay renderer)转换为彩色图像,即一个小MLP,它可以接收特征和查看方向,并输出一个像素颜色。
表征的训练分为三个阶段,从经典的类似NeRF的连续表征到离散表征。
训练阶段1:持续训练。训练一个类似NeRF的连续不透明度模型,其中体绘制的正交点来自多边形网格。
不失一般性,研究人员描述了用于合成360度场景的多边形网格。首先,在以原点为中心的单位立方体中定义一个大小为PPP的规则网格,通过为每个网格创建一个顶点来实例化V,并为每个网格边缘创建一个连接四个相邻体素顶点的四边形(两个三角形)。
在优化过程中,将顶点位置初始化为V=0,即对应于正则欧几里得点阵,并对其进行正则化,防止顶点离开体素,在优化问题受限时回到中间位置。
训练阶段二:不透明度二值化,因为经典的栅格化虽然可以很容易的分解碎片,但是处理半透明的碎片比较麻烦。
通常,硬件实现的渲染管道不支持半透明网格。渲染半透明网格需要对每一帧进行排序,因此渲染应该从后向前进行,以确保正确的alpha合成。
研究人员通过将平滑不透明度转换为离散/分类不透明度来解决这个问题。
为了通过光度监督来优化离散不透明度,该模型还采用了直通估计器。应当注意,无论平滑透明度和离散透明度的值如何,渐变在离散化操作中都是透明的。为了稳定训练,研究人员选择联合训练连续和离散模型。
训练阶段3:提取稀疏多边形网格,将不透明度和特征烘焙到纹理映射中,并存储神经延迟着色器的权重。网格存储为OBJ文件,纹理贴图存储为PNG文件,延迟着色器的权重存储在一个(小)JSON文件中。
在传统的光栅化流水线中,为了获得高质量的光栅化结果,走样是必须考虑的问题。虽然经典的NeRF通过半透明体实现了平滑的边缘,但是半透明体需要在每一帧中对多边形进行排序。
研究人员通过采用过采样抗锯齿解决了这个问题。虽然可以简单地每像素执行四次,并平均获得的颜色,但延迟神经着色器的执行仍然是这项技术的计算瓶颈。研究人员通过简单地平均特征来缓解这个问题,即平均延迟神经着色器的输入,而不是平均其输出。
在被发送到神经延迟着色器之前,子像素特征被平均以产生抗锯齿表示。
由于MobileNeRF采用了标准的GPU光栅化流水线,所需的实时渲染器可以在HTML网页中运行。
在实验阶段,研究人员设置了一系列实验来测试MobileNeRF在各种场景和设备下的性能。
测试使用了三个数据集:8个NeRF的360合成场景、8个LLFF的正面场景和5个Mip-NeRF 360的无界360室外场景。
主要的对比模型是SNeRG,因为它是目前唯一可以在普通设备上实时运行的NeRF模型。
渲染的分辨率与训练图、800800合成图、1008756正向图、1256828无界图相同,并且所有方法都在chrome浏览器上测试,相机旋转/平移一整圈渲染360帧。
在测试的时候,GPU的内存消耗和存储成本也比SNeRG降低了很多。
其中SNeRG由于网格表示方法不同,无法表现无界360场景,由于兼容性或内存不足,无法在手机或平板电脑上运行。
在渲染质量方面,用常见的PSNR、SSIM、LPIPS指标与其他方法对比后,可以发现MobileNeRF的质量与SNeRG大致相当。
当相机处于适当的距离时,我们的方法实现了类似于SNeRG的图像质量。当相机被放大时,SNeRG倾向于呈现过度平滑的图像。
在多边形的计数中,可以看到MobileNeRF为每个场景生成的顶点和三角形的平均数量,以及与初始网格中所有可用顶点/三角形相比的百分比。由于MobileNeRF只保留可见的三角形,因此大多数顶点/三角形在最终网格中都被移除。
与明暗网格相比,本文给出了提取的无纹理三角网格。大多数三角形与轴对齐,而不是与对象的实际表面对齐。
因此,如果你想有更好的表面质量,你需要设计更好的正则化损失或训练目标,但优化顶点确实提高了渲染质量。
参考资料:
https://czq142857.github.io/
渲染器发展史
最近Otoy推出了Octane 2022,这是GPU量产渲染器的下一个重大更新。OctaneRender 2022.1 XB0发布,这是CUDA版本的第一个实验版本。有趣的是,一些主要的变化包括新的光子追踪内核,使渲染焦散“快了大约1000倍”,基于Autodesk标准表面规范的新分层超材料,以及更好的体积处理。
计划在Octane 2022发布周期晚些时候推出的功能包括Otoy期待已久的实时路径跟踪引擎Brigade及其新的多重渲染系统。此外,Otoy还更新了其订阅包,所有订阅者现在都可以免费获得一系列其他应用程序,包括Architron,这是一个硬表面建模工具包LWCAD的重命名版本。
OctaneRender 2022.1 XB0是Octane 2022的第一个“实验版”3354,也就是公测版。可能是早期版本。这也是Windows和Linux用户唯一的CUDA版本:在创建时,目前正在构建Octane X。该软件适用于MacOS的金属底座版本,基于OctaneRender 2020。
OctaneRender 2022.1中的新功能包括一个新的光子跟踪内核,Otoy将其描述为使渲染焦散比之前的实现“快1000倍”。新内核使用“GPU光子映射和路径引导的新组合”来生成清晰、无噪声的焦散,即使在非常低的采样数下也是如此。
其他更改包括基于Autodesk标准曲面规范的分层标准曲面材质。使用新的ubermaterial进行着色应该可以确保OctaneRender的输出与支持该规范的其他渲染器(如Arnold)的输出之间具有更大的视觉对等性。与OctaneRender现有的通用材料相比,Otoy还更新了单层的实现,包括柳文欢-纳亚尔BRDF,以更准确地表示漫反射粗糙度。新的镜面反射层和材料涂层中的各向异性反射通道也接受纹理映射作为输入,并且次表面散射现在由两个单独的层而不是一个层来定义。
Tanerender 2022xb1还引入了一个新的标准体积着色器,用于体积效果,如云。同样,它为任何习惯于Arnold标准音量的人“提供了一个熟悉的界面”,并提供了比现有OctaneRender音量媒体更精细的控制,包括在大多数输入中使用纹理映射的选项。与现有的体积介质相比,它的优势包括更好地处理黑体发射,更好地控制体积散射的光的颜色,以及透过它看到的物体的颜色。
此外,Otoy宣布其期待已久的实时路径跟踪渲染引擎Brigade将与首个发布候选Octane Render 2022.1RC1一起发布,当前的Brigade渲染内核“与所有Octane渲染功能相同”,包括光谱渲染和“每种材质、体积、位移、着色器和材质类型”。你可以下载BrigadeBench(Otoy基于Brigade的新硬件基准应用)来体验它的功能。
此外,Otoy的新多重渲染系统现在也计划用于OctaneRender 2022。
这个系统最初是为OctaneRender 2021发布的。它使用户能够在Octane本身和任何兼容的第三方渲染器之间切换。支持的渲染器包括Arnold、Blender的Cycles引擎、Redshift和Unreal引擎。
目前计划在OctaneRender 2022发布周期推出的其他新功能包括改进的GPU粒子渲染——Otoy,估计“快了大约3倍”。2022.x路线图还包括全面支持MaterialX和OSL关闭、阿诺德标准灯和美元出口;以及OctaneRender和Octane X之间的网络渲染互操作性,不过值得注意的是,自从Otoy推出年度版本号以来,该公司在一年内没有发布过超过一个OctaneRender的稳定版本。
此外,Otoy还彻底改革了其订阅套餐,所有订阅者都可以访问更广泛的捆绑软件和新的股票资产。除了气态流体模拟器EmberGenFX的测试版,所有订阅层现在都可以访问程序terrain generator World Creator,该程序以前仅限于最高订阅层。所有用户现在都可以访问4D影院和光波,后者是LWCAD的重命名版本,Architron的WTools3D。
订阅者还将每月从在线kitbashing资源库KitBash3D获得一套“精选”资产,以及使用Otoy的LightStage技术拍摄的3D面部扫描。
Otoy还为2021年12月30日之前注册的新订户提供在线影院4D插件和资源库Greyscalegorilla的一年订阅。此外,之前名为RNDR的顶级包现在更名为Enterprise,以反映Otoy的分布式GPU渲染网络的名称从RNDR更改为渲染网络。价格似乎也下降了:在撰写本文时,企业订阅费为359.40欧元/年,低于RNDR的479.40欧元/年,尽管这确实包括“限时”折扣。
Tanerender 2022xB0现已推出实验预览版。在过去,一个新版本从第一个预览版到稳定版通常需要五个月左右的时间。OctaneRender 2021.1目前的稳定版本可以用于64位Windows 7和Linux。该插件可用于21个DCC应用程序。在撰写本文时,Octane X的当前版本Octane X PR12仍然基于2020 SDK。OCNE X2022.1xB0将“很快”发布。
以上是关于晕渲云带来的辛烷渲染器2022.1 XB0新功能更新的一个内容。推荐你一款云渲染神器——明暗云渲染。
晕渲云渲染拥有超级分布式渲染技术,可以利用海量节点弹性扩展,一键加载各种渲染环境,满足各种渲染任务的完成。同时,资深强大的R&D团队——产品团队,可以根据软件和插件的更新,快速完成支持服务。并不断研究更适合设计师作品的渲染方法。