NeRF 部署 优化

NeRF在新视角合成取得了巨大的进步,ECCV2020 best paper,但美中不足的是推理速度很慢,严重制约了其应用落地。

为了渲染图像中的一个像素,NeRF从相机中心投射出一条穿过此像素的射线,在此射线上采样数百个点,计算每个点的神经辐射场,利用体渲染技术将此射线上的神经辐射场累积为此像素的颜色。渲染一张分辨率为 800×800 的图片,NeRF往往需要花费半分钟到数分钟不等。

为了提高 NeRF 的渲染速度,NSVF提出使用 稀疏的体素场组织场景,允许 NeRF 仅在场景中不为空的地方做采样并进行体渲染。NSVF的渲染速度是 NeRF 的 10 倍,但仍然不能达到实时的要求。 PlenOctree、FastNeRF、BakingNeRF、NeX等工作提出对场景中的神经辐射场进行预计算并且缓存起来,从而实现渲染时的加速。由于辐射场在各 个角度上是不一样的,缓存 360 度视角的辐射场需要极大的存储空间,因此这些工作使用球谐函数等技术 解耦辐射场与依赖视角的效果,仅缓存不依赖视角的辐射场。但是这些方法针对每个场景需要大量额外的储存空间。DONeRF尝试使用一个多层感知机 估计像素的深度,然后在深度附近采样少量的点,从而实现加速,但这种方法需要深度图像的监督。

对于NeRF还不太熟悉的同学,推荐先学习下基于NeRF的三维内容生成​​​​​​​


1.volrend

2. snerg snerg-viewer-cpp

3. DONeRF code

4. MobileNeRF 训练代码mobilenerf

猜你喜欢

转载自blog.csdn.net/minstyrain/article/details/125664211