神经辐射场去掉「神经」,训练速度提升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 所示。

相关实践学习
在云上部署ChatGLM2-6B大模型(GPU版)
ChatGLM2-6B是由智谱AI及清华KEG实验室于2023年6月发布的中英双语对话开源大模型。通过本实验,可以学习如何配置AIGC开发环境,如何部署ChatGLM2-6B大模型。
相关文章
|
人工智能 文字识别 监控
将人工智能融入多媒体 助力视频产业加速——阿里云视频AI全能力解读
结合人工智能视频理解流程和用户的需求场景,我们将视频AI的功能分成四个大部分,视频智能审核、视频内容理解、视频智能编辑、视频版权保护。其中视频审核功能包括视频鉴黄、暴恐涉政识别、广告二维码识别、无意义直播识别等,利用识别能力将网络上没营养和不健康的视频内容进行排查和处理;视频理解功能包括视频分类、标签,人物识别、语音识别,同时也包括对视频中的文字进行识别(OCR);视频编辑层面可以实现视频首图、视频摘要、视频highlight的生成,同时支持新闻拆条;关于视频版权,支持视频相似性、同源视频检索和音视频指纹等功能。
17788 0
将人工智能融入多媒体 助力视频产业加速——阿里云视频AI全能力解读
|
12月前
|
JSON 安全 API
淘宝商品详情API接口(item get pro接口概述)
淘宝商品详情API接口旨在帮助开发者获取淘宝商品的详细信息,包括商品标题、描述、价格、库存、销量、评价等。这些信息对于电商企业而言具有极高的价值,可用于商品信息展示、市场分析、价格比较等多种应用场景。
|
弹性计算 自然语言处理 API
速成RAG+Agent框架大模型应用搭建
本文侧重于能力总结和实操搭建部分,从大模型应用的多个原子能力实现出发,到最终串联搭建一个RAG+Agent架构的大模型应用。
|
SQL 存储 数据库
SQL语句给予用户权限:技巧、方法与最佳实践
在数据库管理中,为用户分配适当的权限是确保数据安全性和操作效率的关键步骤
|
Linux 编译器 C语言
Linux内核对GCC版本的检测
Linux内核对GCC版本的检测
|
存储 缓存 JavaScript
构建高效后端服务:Node.js与Express框架的实战应用
【8月更文挑战第2天】在数字化时代的浪潮中,后端服务的构建成为了软件开发的核心。本文将深入探讨如何利用Node.js和Express框架搭建一个高效、可扩展的后端服务。我们将通过实际代码示例,展示从零开始创建一个RESTful API的全过程,包括路由设置、中间件使用以及数据库连接等关键步骤。此外,文章还将触及性能优化和安全性考量,旨在为读者提供一套完整的后端开发解决方案。让我们一同走进Node.js和Express的世界,探索它们如何助力现代Web应用的开发。
|
Java 测试技术 API
详解单元测试问题之Mockito的注入过程如何解决
详解单元测试问题之Mockito的注入过程如何解决
385 1
|
存储 Java 数据处理
Java的Base64加密解密详解
Java的Base64加密解密详解
|
Java Maven
idea报错 IDEA:clear read-only status
idea报错 IDEA:clear read-only status
210 2
Flutter 列表学习(listview,gridview,ExpansionTile,ScrollController,RefreshIndicator)
Flutter 列表学习(listview,gridview,ExpansionTile,ScrollController,RefreshIndicator)