geometric quality, speed, sparse view,generative, composition, point estimation.
1.geometric quality
1)better view synthesis:mipNeRF 360,mipNeRF
2)Depth Supervision and Point Cloud:
使用从SfM获得的深度图、点云监督模型,提高收敛速度。一般是用于sparse view NeRF。
2.速度
1) baked: kiloNeRF
通过训练或者预计算,将NeRF的MLP的结果储存到更易存取的数据结构。
2)non-baked:instant-NGP
根据MLP参数,再学习得到一个单独的场景特征。比如说将voxel grid输入MLP中,得到颜色和体密度。这种方法一般具有混合结构。值得注意的是,如果将神经网络的部分完全抛弃,则属于neural rendering models而不是NeRF。
3) Explicit Methods: Fast MLP-less Volume Rendering:TensoRF, Plenoxels
3. 稀疏视角: PixelNeRF
NeRF的训练需要多视角、已知相机位姿的图片。但是当训练样本太少或样本的位姿不够多样,则会导致训练结果在某个视角过拟合、不考虑场景的几何。
目前主要有两种方法解决该类问题,第一种使用预训练的CNN。第二种使用深度或3d几何监督。第二种方法除了能降低模型对训练数据集的要求,还能提高收敛速度。
4.生成
一般的条件为文本、图片、隐变量。使用生成的图像引导NeRF,问题在于如何控制主体不变、视角变化。一般使用的生成模型包括GAN,Diffusion model,latent model。
1)GAN-based:
一般将NeRF设计为生成器,包含所有新视角合成的步骤。且生成器除了隐变量,额外需要输入相机位姿。判别器一般为图像分类CNN。
2)latent model:Edit-NeRF,CLIP NeRF。
模型使用隐变量引导生成。一组随机采样的隐变量对应于一组图像。这些隐变量输入到生成器中,然后利用loss同时优化生成器和隐变量。这样的方法可以被称为无判别器的GAN。
3)Diffusion NeRF model:DreamFusion,Magic 3D
5.合成
通常通过image引导NeRF生成不同的外观、光照情况下观察的结果。
6. point estimation
在原有的NeRF中,为了将NeRF渲染结果与GT比较,所以确保渲染NeRF时的相机位姿和GT的位姿相同,因此需要从GT中获取相机位姿。在原有的NeRF中,将GT输入COLMAP来获取位姿。因此许多研究者考虑,能否设计一个NeRF既具有pose estimation也能implicit represent。这时,NeRF就被建模为一个offline structrue from model的问题。
在生成领域,没有GT图像。且即使用text-image模型引导时,生成图为单张。所以一般是随机生成相机位置。所以用不到利用组图 pose estimation,得到相机位置。
-------------
1. offline structrue from model
是三维重建的基础方法。主要包含两个步骤,第一步correspondence search,寻找不同图像的点的联系,生成sene graph。第二步利用sene graph逐步生成估计的相机位置和点。
-------------
1.阅读原有的NeRF代码,学习相机位置是如何用于recon loss
2. NeRF为什么有粗糙网络和细致网络:粗糙网络主要用于为细致网络提供采样点,防止直接在高精度上密集采样。