赞
踩
2020和2021年,最火的计算机视觉技术非Transformer莫属。而除Transformer之外,最受欢迎也最有趣的技术我想应该是ECCV 2020的神经辐射场 (Neural Radiance Field, NERF) ,其核心点在于非显式地将一个复杂的静态场景用一个神经网络来建模。在网络训练完成后,可以从任意角度渲染出清晰的场景图片。
NeRF惊艳的效果吸引了大量研究者的关注,在20年3月挂上arXiv后,后续已经有大量的工作跟进,在速度、效果、动态场景等多个不同的角度对NeRF进行了改进。作为3D视觉里的一个新范式,学习后续的工作离不开对NeRF本身深入的理解。笔记中有不对之处欢迎指正。
Code: yenchenlin/nerf-pytorch
Awesome-Nerf: yenchenlin/awesome-NeRF
01算法概览
NeRF可以简要概括为用一个MLP神经网络去隐式地学习一个静态3D场景。为了训练网络,针对一个静态场景,需要提供大量相机参数已知的图片。基于这些图片训练好的神经网络,即可以从任意角度渲染出图片结果了。理解NeRF主要需要理解三个方面:
如何用NeRF来表示3D场景?
如何基于NeRF渲染出2D图像?
如何训练NeRF?
即我们要理解NeRF是如何从一系列2D图像中学习到3D场景,又是如何渲染出2D图像。
02用神经辐射场来表示场景
NeRF函数是将一个连续的场景表示为一个输入为5D向量的函数,包括一个空间点的3D坐标位置
,以及视角方向
。这个神经网络可以写作:
输出结果中,
是对应3D位置(或者说是体素)的密度,而
是视角相关的该3D点颜色。在具体的实现中,
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。