这篇文章所要解决的问题是稀疏视角输入时,如何提升NeRF的渲染质量。本文和HALO这篇文章所要解决的问题、解决的大致方向非常类似,只不过HALO使用了低频NeRF作为监督,而本文更加优雅,在训练过程中逐渐增加位置编码的高频分量。某种程度上来说,本文和HALO的解决思路是一样的,只不过具体实现不一样。
weekly papers:
- Zip-NeRF: Anti-Aliased Grid-Based Neural Radiance Fields:原班人马,结合mip-NeRF 360和instant-ngp能够同时拥有抗混叠、快速的优点。文章逻辑链:NeRF不错、且可通过grid-based approach加速→但grid-based approach没有尺度感知,因此造成混叠→mip NeRF 360通过cone casting一定程度上解决了混叠→但无法使用grid-based加速→因此,本文提出方法实现二者的结合。
- NoPe-NeRF: Optimising Neural Radiance Field with No Pose Prior:同时优化NeRF和pose,相关论文包括NeRFmm、localrf。本文在先前工作上增加相对姿态约束以及点云损失等。
- FreeNeRF: Improving Few-shot Neural Rendering with Free Frequency Regularization:使用频率正则化实现少样本学习,仅需修改一行代码即可大幅提升质量!
FreeNeRF: Improving Few-shot Neural Rendering with Free Frequency Regularization
标签:few-shot、PE。
related papers:
- Harnessing Low-Frequency Neural Fields for Few-Shot View Synthesis:和这篇非常非常类似,分析结果一样,只不过使用的解决方法不一样(本文更优雅)。强力建议对比这两篇文献!
- Mip-NeRF: A Multiscale Representation for Anti-Aliasing Neural Radiance Fields
Problem
位置编码PE是NeRF成功的重要原因之一,PE是将输入视角变换到另一空间中去,使在低维空间中邻近的样点在变换空间中相距甚远,的大小表示这种变换的程度。
而在稀疏视角输入(few-shot)时,由于是欠约束,同时PE使得NeRF的学习能力大幅增强,也就导致了过拟合(过度无逻辑推理),渲染结果中出现很多floater。
现存解决方法:
- 基于迁移学习:PixelNeRF、MVSNeRF,使用在大规模多视角数据集上的预训练模型,然后再对每个scene进行微调;
- 深度监督的方法:使用深度约束scene geometry;
- Patch-based regularization:对渲染图像上不同patch使用不同的正则化,如语义一致性、几何geometry监督、外观appearance监督;
Solution
频率正则化-Frequency Regularization:
失败的原因→欠约束/学习能力强→减小PE强度(L)→但渲染结果模糊→增大PE强度(L)。即最开始不使用PE/使用低强度PE,让NeRF学习准确的geometry,然后逐渐增强PE,恢复高频细节。
代码层面上的改动:pos_enc[int(t/T*L)+3:]=0.
遮挡正则化-Occlusion Regularization:
由于欠约束导致靠近相机处出现floater,大多是重叠最少的区域。
Result
在NeRF的基础上增加本文的2个正则化方法,DietNeRF经过微调依然比FreeNeRF低。
在mip-NeRF的基础上增加本文的2个正则化方法。基于迁移学习的方法需要费时费力的预训练模型(SRF, PixelNeRF, MVSNeRF),即使再通过微调,依旧低于本文方法。与逐场景优化方法(mipNeRF, DietNeRF, RegNeRF)相比,依旧亮眼。
在DTU数据集上也是类似表现。