神经辐射场去掉「神经」,训练速度提升100多倍,3D效果质量不减

简介: 神经辐射场去掉「神经」,训练速度提升100多倍,3D效果质量不减
没有了神经网络,辐射场(Radiance Fields)也能达到和神经辐射场(Neural Radiance Fields,NeRFs)相同的效果,但收敛速度快了 100 多倍。


2020 年,加州大学伯克利分校、谷歌、加州大学圣地亚哥分校的研究者提出了一种名为「NeRF」的 2D 图像转 3D 模型,可以利用少数几张静态图像生成多视角的逼真 3D 图像。其改进版模型 NeRF-W (NeRF in the Wild)还可以适应充满光线变化以及遮挡的户外环境,分分钟生成 3D 旅游观光大片。

NeRF 模型 demo。


NeRF-W 模型 demo。

然而,这些惊艳的效果是非常消耗算力的:每帧图要渲染 30 秒,模型用单个 GPU 要训练一天。因此,后续的多篇论文都在算力成本方面进行了改进,尤其是渲染方面。但是,模型的训练成本并没有显著降低,使用单个 GPU 训练仍然需要花费数小时,这成为限制其落地的一大瓶颈。

在一篇新论文中,来自加州大学伯克利分校的研究者瞄准了这一问题,提出了一种名为 Plenoxels 的新方法。这项新研究表明,即使没有神经网络,从头训练一个辐射场(radiance field)也能达到 NeRF 的生成质量,而且优化速度提升了两个数量级。


他们提供了一个定制的 CUDA 实现,利用模型的简单性来达到可观的加速。在有界场景中,Plenoxels 在单个 Titan RTX GPU 上的典型优化时间是 11 分钟,NeRF 大约是一天,前者实现了 100 多倍的加速;在无界场景中,Plenoxels 的优化时间大约为 27 分钟,NeRF++ 大约是四天,前者实现了 200 多倍的加速。虽然 Plenoxels 的实现没有针对快速渲染进行优化,但它能以 15 帧 / 秒的交互速率渲染新视点。如果想要更快的渲染速度,优化后的 Plenoxel 模型可以被转换为 PlenOctree(本文作者 Alex Yu 等在一篇 ICCV 2021 论文中提出的新方法:https://alexyu.net/plenoctrees/)。


具体来说,研究者提出了一个显式的体素表示方法,该方法基于一个不含任何神经网络的 view-dependent 稀疏体素网格。新模型可以渲染逼真的新视点,并利用训练视图上的可微渲染损失和 variation regularizer 对校准的 2D 照片进行端到端优化。

他们把该模型称为 Plenoxel(plenoptic volume elements),因为它由稀疏体素网格组成,每个体素网格存储不透明度和球谐系数信息。这些系数被 interpolated,以在空间中连续建模完整的全光函数。为了在单个 GPU 上实现高分辨率,研究者修剪了空体素,并遵循从粗到细的优化策略。虽然核心模型是一个有界体素网格,但他们可以通过两种方法来建模无界场景:1)使用标准化设备坐标(用于 forward-facing 场景);用多球体图像围绕网格来编码背景(用于 360° 场景)。

Plenoxel 在 forward-facing 场景中的效果。

Plenoxel 在 360° 场景中的效果。

该方法表明,我们可以使用标准工具从反问题中进行逼真体素重建,包括数据表示、forward 模型、正则化函数和优化器。这些组件中的每一个都可以非常简单,并且仍然可以实现 SOTA 结果。实验结果表明,神经辐射场的关键要素不是神经网络,而是可微分的体素渲染器。

框架概览

Plenoxel 是一个稀疏体素网格,其中每个被占用的体素角存储一个标量不透明度σ和每个颜色通道的球谐系数向量。作者将这种表征称为 Plenoxel。任意位置和观察方向上的不透明度和颜色是通过对存储在相邻体素上的值进行三线性插值并在适当的观察方向上评估球谐系数来确定的。给定一组校准过的图像,直接使用 training ray 上的渲染损失来优化模型。模型的架构如下图 2 所示。

上图 2 是稀疏 Plenoxel 模型框架的概念图。给定一组物体或场景的图像,研究者在每个体素处用密度和球谐系数重建一个:(a)稀疏体素(Plenoxel)网格。为了渲染光线,他们(b)通过邻近体素系数的三线性插值计算每个样本点的颜色和不透明度。他们还使用(c)可微体素渲染来整合这些样本的颜色和不透明度。然后可以(d)使用相对于训练图像的标准 MSE 重建损失以及总 variation regularizer 来优化体素系数。

实验结果
研究者在合成的有界场景、真实的无界 forward-facing 场景以及真实的无界 360° 场景中展示了模型效果。他们将新模型的优化时间与之前的所有方法(包括实时渲染)进行了对比,发现新模型速度显著提升。定量比较结果见表 2,视觉比较结果如图 6、图 7、图 8 所示。

另外,新方法即使在优化的第一个 epoch 之后,也能获得高质量结果,用时不到 1.5 分钟,如图 5 所示。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
相关文章
|
机器学习/深度学习 传感器 算法
用于准确量化颅面对称性和面部生长的 3D 头影测量方案(Matlab代码实现)
用于准确量化颅面对称性和面部生长的 3D 头影测量方案(Matlab代码实现)
|
1月前
|
机器学习/深度学习 计算机视觉 网络架构
为什么卷积现在不火了:CNN研究热度降温的深层原因分析
纵观近年的顶会论文和研究热点,我们不得不承认一个现实:CNN相关的研究论文正在减少,曾经的"主角"似乎正逐渐淡出研究者的视野。
91 11
为什么卷积现在不火了:CNN研究热度降温的深层原因分析
|
1月前
|
机器学习/深度学习 自然语言处理
差分Transformer竟能消除注意力噪声,犹如降噪耳机
差分Transformer是一种创新的自然语言处理模型,通过计算两个独立softmax注意力图之间的差异来消除注意力噪声,提高信息检索和生成的准确性。该模型在语言建模、长文本建模等任务中表现出色,但计算复杂度较高且参数数量较多。
75 11
|
7月前
|
机器学习/深度学习 算法 图形学
告别3D高斯Splatting算法,带神经补偿的频谱剪枝高斯场SUNDAE开源了
【5月更文挑战第26天】SUNDAE,一种结合频谱剪枝和神经补偿的高斯场方法,已开源,解决了3D高斯Splatting的内存消耗问题。SUNDAE通过建模基元间关系并剪枝不必要的元素,降低内存使用,同时用神经网络补偿质量损失。在Mip-NeRF360数据集上,SUNDAE实现26.80 PSNR和145 FPS,内存仅为104MB,优于传统算法。然而,其计算复杂性、参数优化及对其他3D表示方法的适用性仍有待改进。代码开源,期待进一步研究。[论文链接](https://arxiv.org/abs/2405.00676)
57 2
|
算法 自动驾驶 数据挖掘
【鲁棒优化】基于联合聚类和定价的鲁棒功率控制方法(Matlab代码实现)
【鲁棒优化】基于联合聚类和定价的鲁棒功率控制方法(Matlab代码实现)
130 0
|
存储 算法 数据中心
基于蓄电池进行调峰和频率调节研究【超线性增益的联合优化】(Matlab代码实现)
基于蓄电池进行调峰和频率调节研究【超线性增益的联合优化】(Matlab代码实现)
|
算法 调度
【鲁棒优化、大M法、C&CG算法】计及风、光、负荷不确定性两阶段鲁棒优化(Matlab代码实现)
【鲁棒优化、大M法、C&CG算法】计及风、光、负荷不确定性两阶段鲁棒优化(Matlab代码实现)
308 0
|
机器学习/深度学习 算法
【电能质量扰动】基于ML和DWT的电能质量扰动分类方法研究(Matlab实现)
【电能质量扰动】基于ML和DWT的电能质量扰动分类方法研究(Matlab实现)
108 0
|
存储 算法 数据中心
基于蓄电池进行调峰和频率调节研究【超线性增益的联合优化】(Matlab代码实
基于蓄电池进行调峰和频率调节研究【超线性增益的联合优化】(Matlab代码实
|
机器学习/深度学习
神经辐射场基于点,训练速度提升30倍,渲染质量超过NeRF
神经辐射场基于点,训练速度提升30倍,渲染质量超过NeRF
269 0