FreeNeRF Improving Few-shot Neural Rendering with Free Frequency Regularization

Abstract

Novel view synthesis with sparse inputs is a challenging problem for neural radiance fields (NeRF). Recent efforts alleviate this challenge by introducing external supervision, such as pre-trained models and extra depth signals, or by using non-trivial patch-based rendering. In this paper, we present Frequency regularized NeRF (FreeNeRF), a surprisingly simple baseline that outperforms previous methods with minimal modifications to plain NeRF. We analyze the key challenges in few-shot neural rendering and find that frequency plays an important role in NeRF’s training. Based on this analysis, we propose two regularization terms: one to regularize the frequency range of NeRF’s inputs, and the other to penalize the near-camera density
fields. Both techniques are “free lunches” that come at no additional computational cost. We demonstrate that even with just one line of code change, the original NeRF can achieve similar performance to other complicated methods in the few-shot setting. FreeNeRF achieves state-of-theart performance across diverse datasets, including Blender, DTU, and LLFF. We hope that this simple baseline will motivate a rethinking of the fundamental role of frequency in NeRF’s training, under both the low-data regime and beyond.

具有稀疏输入的新视图合成是神经辐射场(NeRF)的一个具有挑战性的问题。最近的努力通过引入外部监督来缓解这一挑战,例如预先训练的模型和额外的深度信号,或者通过使用非简单的基于补丁的渲染。在本文中,我们提出了频率正则化NeRF (FreeNeRF),这是一种令人惊讶的简单基线,优于之前的方法,对普通NeRF进行了最小的修改。我们分析了少镜头神经渲染的主要挑战,发现频率在NeRF的训练中起着重要作用。在此基础上,我们提出了两个正则化项:一个是正则化NeRF输入的频率范围,另一个是惩罚近摄像机密度字段。这两种技术都是“免费午餐”,没有额外的计算成本。我们证明,即使只更改一行代码,原始的NeRF也可以在少镜头设置下实现与其他复杂方法类似的性能。FreeNeRF在不同的数据集上实现了最先进的性能,包括Blender, DTU和LLFF。我们希望这个简单的基准将促使人们重新思考频率在NeRF训练中的基本作用,无论是在低数据制度下还是在其他制度下。

通过添加一行代码从左到右: p o s _ e n c [ i n t ( t / t ∗ L ) + 3 : ] = 0 pos\_enc[int(t/ t *L)+3:]=0 pos_enc[int(t/tL)+3:]=0
图1。示例新颖的视图合成是由稀疏输入产生的。NeRF(左)和FreeNeRF(右)的唯一区别是使用我们的频率正则化,它可以实现,大约,一行代码(底部,哪里t和t分别表示当前训练迭代和正则化持续时间;L是输入位置编码的长度)。

introduction

在这项工作中,通过添加(大约)少至一行代码(见图 1),普通 NeRF 可以在 小镜头设置中与上述策略中的任何一个一起工作得非常好。 具体来说,我们分析了在少量数据条件下训练 NeRF 的常见失败模式。

基于这一分析,我们提出了两个正则化项。 一种是频率正则化,它直接对 NeRF 输入的可见频段进行正则化,以稳定学习过程并避免在训练开始时出现灾难性的过度拟合。 另一个是遮挡正则化,它惩罚导致“漂浮物”的近相机密度场,这是少镜头神经渲染问题中的另一种失败模式。 结合起来,我们将我们的方法称为频率正则化 NeRF (FreeNeRF).

它在两个方面是“FREE”。 首先,它是无依赖性的,因为它既不需要昂贵的预训练 [37、4、11、22] 也不需要额外的监督信号 [6、29]。 其次,它是无开销的,因为它不需要额外的训练时间渲染来进行基于补丁的正则化。

Frequency Regularization

少样本神经渲染最常见的失败模式是过度拟合。 NeRF 从一组没有显式 3D 几何的 2D 图像中学习 3D 场景表示。 3D 几何是通过优化其 2D 投影视图中的外观来隐式学习的。 然而,仅给出少量输入视图,NeRF 容易以小损失过度拟合这些 2D 图像,而不是以多视图一致的方式解释 3D 几何。 从这些模型中综合新观点会导致系统性失败。 如图 1 左侧所示,在合成新视图时,没有 NeRF 模型能够成功恢复场景几何。

高频输入可能会加剧小样本神经渲染中的过度拟合问题。 [31] 表明更高频率的映射可以更快地收敛高频分量。 然而,高频上的过快收敛阻碍了 NeRF 探索低频信息,并使 NeRF 明显偏向不需要的高频伪影(图 1 中的喇叭和房间示例)。 在少镜头场景中,NeRF 对敏感噪声更加敏感,因为用于学习相干几何的图像更少。 因此,我们假设高频分量是在少样本神经渲染中观察到的故障模式的主要原因。

empirical evidence

我们研究当输入由不同数量的频带编码时,普通 NeRF 的性能如何。 为实现这一目标,我们使用屏蔽(集成)位置编码训练 mipNeRF [2]。

具体来说,我们设置
p o s _ e n c [ i n t ( L ∗ x % ] ) : ] = 0 pos\_enc[int(L*x\%]):]=0 pos_enc[int(Lx%]):]=0

其中L表示位置编码后的频率编码坐标的长度 γ L ( x ) = [ sin ⁡ ( x ) , cos ⁡ ( x ) , . . . , sin ⁡ ( 2 L − 1 x ) , cos ⁡ ( 2 L − 1 x ) ] \gamma_L(\mathbf{x})=\left[\sin(\mathbf{x}),\cos(\mathbf{x}),...,\sin(2^{L-1}\mathbf{x}),\cos(2^{L-1}\mathbf{x})\right] γL(x)=[sin(x),cos(x),...,sin(2L1x),cos(2L1x)] x x x为可见比。 图 2 显示了 DTU 数据集在 3 输入视图设置下的结果。 正如预期的那样,我们观察到 mipNeRF 的性能随着向模型提供更高频率的输入而显着下降。 当使用总嵌入位的 10% 时,mipNeRF 实现了 17.62 的高 PSNR,而普通 mipNeRF 自身仅实现了 9.01 PSNR(在 100% 可见率下)。 这两个模型之间的唯一区别是是否使用了掩码位置编码。

FreeNeRF Improving Few-shot Neural Rendering with Free Frequency Regularization_第1张图片

图 2. 屏蔽高频输入有助于少样本神经渲染。 我们使用 3 个输入视图研究 NeRF 如何在 DTU 数据集上的不同掩蔽率下执行位置编码。 尽管它过于平滑,但当只有低频输入可见时,普通 NeRF 在少镜头设置中取得了成功。

尽管移除大部分高频分量可以避免训练开始时的灾难性失败,但它不会导致具有竞争力的场景表示,因为渲染图像通常过度平滑(如图 2 放大块所示)。 尽管如此,值得注意的是,在少镜头场景中,使用低频输入的模型可能会比使用高频输入的模型产生更好的表示。

基于这一经验发现,我们提出了一种频率正则化方法。 给定长度 L + 3 的位置编码(等式(2)),我们使用线性增加的频率掩码 α 来根据训练时间步长调节可见频谱,如下所示:
γ L ′ ( t , T ; x ) = γ L ( x ) ⊙ α ( t , T , L ) , with  α i ( t , T , L ) = { 1 if  i ≤ t L T + 3 t ⋅ L T − ⌊ t ⋅ L T ⌋ if  t ⋅ L T + 3 < i ≤ t ⋅ L T + 6 0 if  i > t ⋅ L T + 6 \gamma'_L(t,T;\mathbf{x})=\gamma_L(\mathbf{x})\odot\alpha(t,T,L),\\ \text{with}\ \alpha_i(t,T,L)=\begin{cases}1&\text{if}\ i\le\frac{tL}{T}+3\\ \dfrac{t\cdot L}{T}-\lfloor\dfrac{t\cdot L}{T}\rfloor&\text{if}\ \frac{t\cdot L}{T}+3\frac{t\cdot L}{T}+6\end{cases} γL(t,T;x)=γL(x)α(t,T,L),with αi(t,T,L)= 1TtLTtL0if iTtL+3if TtL+3<iTtL+6if i>TtL+6

其中 α i ( t , T , L ) \alpha_i(t,T,L) αi(t,T,L)表示 α ( t , T , L ) \alpha(t,T,L) α(t,T,L)的第 i i i位值; t t t T T T 分别是当前训练迭代和频率正则化的最终迭代。 具体来说,我们从没有位置编码的原始输入开始,随着训练的进行,每次将可见频率线性增加 3 3 3 位。 这个调度也可以简化为一行代码,如图 1 所示。我们的频率正则化在训练开始时绕过不稳定和易受影响的高频信号,并逐渐提供 NeRF 高频信息以避免过度平滑。 我们注意到

注意到频率正则化与其他作品中使用的从粗到细的频率计划有一些相似之处 [23、16](Keunhong Park, Utkarsh Sinha, Jonathan T. Barron, Sofien Bouaziz, Dan B Goldman, Steven M. Seitz, and Ricardo Martin-Brualla. Nerfies: Deformable neural radiance fields. ICCV, 2021.;Chen-Hsuan Lin, Wei-Chiu Ma, Antonio Torralba, and Simon Lucey. Barf: Bundle-adjusting neural radiance fields. In IEEE International Conference on Computer Vision (ICCV), 2021.)。 与他们的不同,我们的工作侧重于少样本神经渲染问题,并揭示了高频输入导致的灾难性故障模式及其对这个问题的影响。

Occlusion Regularization

频率正则化并不能解决小样本神经渲染中的所有问题。 由于训练视图的数量有限和问题的不适定性质,某些特征性伪影可能仍然存在于新颖的视图中。 这些故障模式通常表现为非常靠近相机的“墙壁”或“漂浮物”,如图 3 底部所示。即使有足够数量的训练视图,仍然可以观察到此类伪影 [3]。 为了解决这些问题,[3] 提出了失真损失。 然而,我们的实验表明,这种正则化对小样本设置没有帮助,甚至可能加剧问题。

FreeNeRF Improving Few-shot Neural Rendering with Free Frequency Regularization_第2张图片

图 3. 遮挡正则化图示。 我们展示了 3 个训练视图(实心矩形)和 2 个由频率正则化 NeRF 渲染的新视图(虚线矩形)。 新颖视图中的漂浮物在训练视图(虚线圆圈)中似乎是近相机密集场,因此我们可以直接惩罚它们,而不需要 [11、22] 中昂贵的新颖视图渲染。

我们发现这些失败模式中的大部分都源自训练视图中重叠最少的区域。 图 3 显示了带有“白墙”的 3 个训练视图和 2 个新颖视图的示例。 我们手动注释训练视图中重叠最少的区域以进行演示(图 3 中的(a)和(b))。 由于可用信息极其有限(一次),这些区域很难在几何方面进行估计。 因此,NeRF 模型会将这些未探索区域解释为位于相机附近的密集体积漂浮物。 我们怀疑 [3] 中观察到的漂浮物也来自这些重叠最少的区域。

如上所述,新视图中漂浮物和墙壁的存在是由不完善的训练视图引起的,因此可以在训练时直接解决,而不需要新姿势采样 [22、11、37]。 为此,我们提出了一种简单而有效的“遮挡”正则化来惩罚相机附近的密集场。 我们定义:
L o c c = σ K T ⋅ m K K = 1 K ∑ K σ k ⋅ m k , \mathcal{L}_{occ}=\dfrac{\sigma_K^\mathsf{T}\cdot\mathrm{m}_K}{K}=\dfrac{1}{K}\sum_K\sigma_k\cdot m_k, Locc=KσKTmK=K1Kσkmk,
其中 m k m_k mk是一个二值mask向量,决定一个点是否会被penalized, σ K \sigma_K σK表示沿射线采样的 K K K个点的密度值,按照靠近原点(从近到远)的顺序。 为了减少相机附近的固体漂浮物,我们将 m k m_k mk 的值设置为索引 M M M,称为正则化范围,为 1,其余为 0。遮挡正则化损失易于实现和计算。

结果对比

FreeNeRF Improving Few-shot Neural Rendering with Free Frequency Regularization_第3张图片

DTU 上的定量比较。

你可能感兴趣的:(NeRF,Paper,深度学习,机器学习,人工智能,Nerf)