金磊 转载整理自 图形学与几何计算

量子位 | 公众号 QbitAI

计图(Jittor)框架的NeRF模型库JNeRF正式开源了!

通过JNeRF可以5秒训练好NeRF模型(见图1)。

Jittor成为首个支持Instant-NGP的深度学习框架。

nerf算法原理(计图5秒训好NeRF已开源)(1)

△ 图1:5秒训练好NeRF

研究背景

NeRF在2020[1]被提出,它惊艳的视角生成效果获得了学术界的广泛关注。

不同于传统的显式表达,NeRF通过将场景表示为隐式的神经辐射场,渲染时通过神经网络查询位置上的场景信息生成新视角图像。

nerf算法原理(计图5秒训好NeRF已开源)(2)

△ 图2:用Jittor框架训练的NeRF的例子

NeRF的出现很可能带来一场革命,但它仍存在一些问题。

不同方法针对NeRF各部分(如:采样、位置编码、网络结构)的优化都会对NeRF的性能带来提升,这一定程度上影响了比较的公平性。

并且随着NeRF效率的提升,深度学习框架逐渐成为NeRF效率提升的瓶颈,许多工作修改、添加cuda代码以提升效率,这进一步带来了混乱。

因此NeRF需要一个统一、高效、并与框架高度适配的模型库,建立统一流程,提升科研效率。

JNeRF架构

JNeRF模型库分析了现有的NeRF方法,将NeRF的主要训练流程总结为图3所示的7个模块,不同模块之间相互解耦,使其能够方便地调用和替换。

由于时间有限,目前JNeRF只支持了其中很少的工作,后续JNeRF会不断支持更多有代表性的NeRF工作,也十分欢迎大家在github为JNeRF贡献代码。

nerf算法原理(计图5秒训好NeRF已开源)(3)

△ 图3:NeRF的训练流程

JNeRF支持Instant-NGP

Nvidia的工作Instant-NGP[2]在今年年初发布后,受到了学术界和工业界的广泛关注,github开源仓库至今已获得7k 个星。

该工作通过Hash编码和定制化的优化,使得NeRF能在5秒训练出一个效果优质的结果

经过我们的分析,Instant-NGP能5秒训练出NeRF并不仅仅是因为哈希编码方法,更因为Nvidia针对硬件做的极致优化。

nerf算法原理(计图5秒训好NeRF已开源)(4)

△ 图4:Instant-NGP 算法流程

Instant-NGP能5秒训练NeRF的效果给学术界和产业界都带来了很多可能,但Instant-NGP的实现仍存在一些问题:其源码完全基于Cuda编写,对习惯Python的用户而言使用门槛较高。

Instant-NGP没有成熟的深度学习框架支持,无法适配各种常用NeRF变种模型;Nvidia为了追求极致的效率优化,其源码不同函数间耦合严重,难以修改。

基于JNeRF实现的Instant-NGP具有以下优势:

nerf算法原理(计图5秒训好NeRF已开源)(5)

△ 表1:与Instant NGP原文的对比

JNeRF代码演示

JNeRF通过配置文件可以轻松修改模型设置,下面的代码展示了用户可以通过简单地修改配置文件实现模块的替换。

nerf算法原理(计图5秒训好NeRF已开源)(6)

目前,JNeRF仓库已在github和中国计算机学会的GitLink上开源。JNeRF仍有待不断完善,支持的模型仍十分有限。

欢迎大家通过该仓库进行NeRF的学习和研究,并和我们一起完善该仓库,共同推动NeRF的发展。

GitHub链接:

https://github.com/Jittor/JNeRF

GitLink链接:

https://www.gitlink.org.cn/jittor/jnerf

参考文献:

[1]Mildenhall B, Srinivasan P P, Tancik M, et al. Nerf: Representing scenes as neural radiance fields for view synthesis[C]//European conference on computer vision. Springer, Cham, 2020: 405-421.[2]MüllerT, Evans A, Schied C, et al., Instant Neural Graphics Primitives with a Multiresolution Hash Encoding, arXiv: 2201.05989, 2022.

— 完 —

量子位 QbitAI · 头条号签约

关注我们,第一时间获知前沿科技动态

,