随时随地使用NeRF。本文的目标是利用在野外随意捕捉的图像序列或视频作为输入,训练一个用于静态场景的NeRF,并有效地移除场景中的所有动态元素(如汽车、电车、行人等),即干扰物。与现有的方法如NeRF-W [27]和RobustNeRF [39]相比,这些方法产生的结果并不完美,我们的方法利用预测的不确定性图来有效地移除这些干扰物。这使得在具有挑战性的动态场景中能够进行高保真的新颖视角合成。
摘要:
神经辐射场(NeRFs)在从静态场景的多视角图像合成逼真视图方面展示了显著的成功,但在包含移动物体、阴影和光照变化的动态现实环境中面临挑战。
现有方法在受控环境和低遮挡率下表现良好,但在渲染质量上尤其是在高遮挡场景下表现不足。在本文中,我们介绍了随时随地使用的NeRF(NeRF On-the-go),这是一种简单而有效的方法,能够仅从随意捕捉的图像序列中在复杂的野外场景中稳健地合成新颖视图。
深入研究不确定性,我们的方法不仅能够有效地消除干扰物,即使在它们在捕捉中占主导地位时,还能够实现显著更快的收敛速度。通过在各种场景上的综合实验,我们的方法展示了相对于最先进技术的显著改进。这一进步为NeRF在多样化和动态的现实世界应用中开辟了新的途径。
引言
新颖视图合成(NVS)解决了从先前未观察到的视角渲染场景的挑战。神经辐射(NeRFs)[30]已成为解决这一任务的突破性范式。这是因为NeRF能够产生几何一致且逼真的渲染,即使是对于具有薄结构和半透明物体的复杂场景也是如此。
训练NeRF模型需要一组带有给定相机姿态的RGB图像,并需要手动调整相机设置,如焦距、曝光和白平衡。更重要的是,普通NeRFs假设在捕捉过程中场景应保持完全静态,没有任何干扰物,如移动物体、阴影或其他动态元素[39]。然而,现实世界本质上是动态的,使得这种无干扰物的要求往往难以实现。此外,从捕捉的数据中移除干扰物并非易事。这一过程涉及对每张图像进行逐像素标注,这一过程非常劳动密集型,尤其是对于大型场景的长时间捕捉。这突显了NeRF在动态现实环境中的实际应用的一个关键限制。
最近,一些工作[26, 38, 46, 52]试图解决这些挑战。[38]和[46]使用预训练的语义分割模型来处理特定的移动物体,但模型无法分割未定义的物体类别。NeRF-W [26]通过体积渲染从随机初始化的嵌入中优化逐像素的不确定性。这种设计是次优的,因为它忽略了图像的先验信息,并将不确定性与辐射场重建纠缠在一起。因此,他们需要引入瞬态嵌入来处理干扰物。增加一个新的自由度使系统调优复杂化,导致如[39]所述的帕累托最优场景。
动态NeRF方法如D 2 NeRF [52]可以分解视频输入的静态和动态场景,但在稀疏图像输入下表现不佳。最近,RobustNeRF [39]将干扰物建模为异常值,并在受控和简单场景中展示了令人印象深刻的结果。然而,其在复杂野外场景中的性能显著下降。有趣的是,RobustNeRF在没有干扰物的场景中也表现不佳。这引出了一个引人注目的研究问题:
我们能否从随意捕捉的图像中构建适用于野外场景的NeRF,而不考虑干扰物的比例?
为了实现这一目标,我们引入了随时随地使用的NeRF(NeRF On-the-go),这是一个多功能即插即用模块,旨在有效移除干扰物,允许从任何随意捕捉的图像中快速进行NeRF训练。
我们的方法基于三个关键方面。
首先,我们利用DINOv2特征[33]在特征提取中的鲁棒性和时空一致性,从中一个小型多层感知器(MLP)预测逐样本像素不确定性。
其次,我们的方法利用结构相似性损失来改进不确定性优化,增强前景干扰物和静态背景之间的区分。
第三,我们将估计的不确定性纳入NeRF的图像重建目标中,使用解耦训练策略,这显著增强了在高遮挡场景中的干扰物消除。
我们的方法在广泛的场景中展示了鲁棒性,从小型物体的封闭室内场景到复杂的大型街道视图场景,并能有效处理不同程度的干扰物。值得注意的是,我们发现我们的On-the-go模块还可以将NeRF训练加速一个数量级,相比于RobustNeRF。这种效率,加上其与现代NeRF框架的直接集成,使得NeRF On-the-go成为增强动态现实环境中NeRF训练的易于访问且强大的工具。
图2. 流程图。预训练的DINOv2网络从带有姿态的图像中提取特征图,随后是膨胀的补丁采样器,选择光线。不确定性MLP G然后以这些光线的DINOv2特征作为输入,生成不确定性β(r)。三种损失(右侧)用于优化G和NeRF模型。注意,训练过程通过分离梯度流来简化,如彩色虚线所示。
方法
论文首先展示了如何利用逐像素的DINO特征进行不确定性预测。接着,展示了一种新颖的方法,通过学习不确定性来移除NeRF中的干扰物。进一步介绍了我们的解耦优化方案,用于不确定性预测和NeRF。最后,说明了采样方法在无干扰物NeRF训练中的重要性。流程概览如图2所示。
3.1. 使用DINOv2特征进行不确定性预测
我们的主要目标是有效识别和消除反复出现的干扰因素——这些因素会出现在多张图像中。为此,我们利用DINOv2特征,这些特征已经被证明能够在不同视图之间保持空间-时间一致性。
我们首先从每个输入的RGB图像中提取DINOv2特征。接下来,这些特征作为小型MLP(多层感知机)的输入,用于预测每个像素的不确定性值。为了进一步加强我们不确定性预测的一致性,我们引入了一个正则化项。
图像特征提取
对于分辨率为H × W的RGB图像,我们通过预训练的DINOv2特征提取器E来提取每个像素的特征:
其中,i代表所有训练图像,C表示特征维度。该模块还通过最近邻采样将特征图上采样至原始分辨率。
不确定性预测
一旦我们获得了2D DINOv2特征图,我们就开始确定每条采样光线r的不确定性。我们首先查询其对应的特征,然后将其输入到一个浅层MLP中,估计该光线的不确定性
,其中G是不确定性MLP。在后续部分中,我们将展示如何将这种预测的不确定性
作为加权函数集成到优化过程中,这在改进NeRF模型,特别是在处理和减轻场景中的干扰因素影响方面起着至关重要的作用。
不确定性正则化
为了在不确定性预测中强制执行空间-时间一致性,我们基于特征向量在小批量内的余弦相似性引入了一个正则化项。具体来说,对于每条采样光线r,我们定义了一个邻域集合N(r),该集合包括批次中与光线r的特征f高度相似的光线。这个邻域集合通过选择满足指定余弦相似性阈值η的光线来形成:
其中,f ′ 是光线r ′ 的相关特征。光线r的修正不确定性通过N(r)的平均值计算得出:
为了增强一致性,我们引入了一个正则化项来惩罚N(r)内的不确定性方差:
该正则化项旨在平滑跨图像类似特征的不确定性预测中的突变,从而提高不确定性估计过程的整体稳健性和一致性。
3.2. 在NeRF中使用不确定性进行干扰因素的移除
我们假设,与动态元素(干扰因素)相关的像素应具有较高的不确定性,而静态区域则应具有较低的不确定性。基于这一前提,我们能够有效地将预测的不确定性整合到NeRF的训练目标中,旨在逐步滤除干扰因素,从而增强新视图合成的效果。
我们将分析在NeRF中将不确定性纳入损失函数的传统方法中可能存在的问题。最后,我们介绍了一种简单而有效的修改方法,以便更好地整合不确定性,从而实现稳健的干扰因素移除。
不确定性收敛性分析
不确定性预测在不同领域得到了广泛应用,包括基于NeRF的新视图合成。例如,在开创性的工作"NeRF in the Wild" [27]中,他们的损失函数写作:
其中,C(r) 和
分别表示输入的和渲染后的RGB值。不确定性β(r)被视为一个加权函数。正则化项对于平衡第一项并防止β(r)趋向于无穷大的平凡解至关重要。
为了理解不确定性相对于损失函数的变化,我们首先对β(r)求偏导数:
将该导数设为0,我们可以推导出最优不确定性的闭式解:
这揭示了不确定性预测与渲染颜色和输入颜色之间误差的重要关系。具体而言,最优的不确定性与这一误差项直接成正比。
然而,当使用如公式(4)中所示的ℓ²损失时,会出现一个问题,特别是当干扰因素和背景的颜色接近时(如图3(d)所示)。在这种情况下,根据公式(6),这些区域的预测不确定性也会较低。这会阻碍基于不确定性的干扰因素移除效果,并导致渲染图像中出现云状伪影。
认识到ℓ² RGB损失中固有的局限性,我们提出了一种新的损失函数,以更好地进行不确定性学习,使得预测的不确定性能够更有效地区分干扰因素和静态背景。
图3. SSIM能够有效区分干扰因素。在此场景中 [39],三个木质机器人是动态元素。SSIM通过利用亮度、对比度和结构这三个测量指标之间的差异来精准定位干扰因素。相反,仅依赖RGB值之间的ℓ²误差(亮度误差)则显得困难,尤其是在干扰因素与背景颜色相似时。右侧的颜色条显示了误差解释的对应关系。
基于SSIM的增强不确定性学习的损失函数
结构相似性指数(SSIM)由三个测量指标组成:亮度、对比度和结构相似性。这些组件捕捉了局部结构和对比差异,这对于区分场景元素至关重要。如图3所示,将这三种组件结合在一起,SSIM在检测干扰因素方面非常有效。SSIM损失可以表示为:
其中,P和分别是从输入图像C(r)和渲染图像
中采样的图像块。
L、C、S分别表示P和之间间的亮度、对比度和结构相似性。
我们进一步将公式(7)修改为:
与公式(7)相比,我们在公式(8)中的重新表达更强调动态元素和静态元素之间的差异。因此,这增强了不确定性的差异,有助于更有效地优化不确定性。公式(7)和公式(8)之间的数学证明和比较包含在补充材料中。
基于这个更新的SSIM公式,我们引入了一种新的适用于不确定性学习的损失函数:
该损失函数是对公式(4)的简单修改,适用于更好的不确定性学习。专门用于训练不确定性估计MLP G。这一点至关重要,因为它允许我们将NeRF模型的训练与不确定性预测解耦。这种解耦确保了所学的不确定性对各种类型的干扰因素具有稳健性。
需要注意的是,最近的一项研究S3IM [55]也使用了SSIM进行NeRF训练,但他们的损失函数是为静态场景设计的,而我们的是为了更好的不确定性学习。此外,S3IM采用随机采样来识别非局部结构相似性,而我们使用膨胀采样来专注于局部结构以移除干扰因素。
3.3. 优化
如前所述,分别优化不确定性预测模块和NeRF模型至关重要。对于不确定性预测MLP的优化,我们使用公式(9)中的和公式(3)中的
。同时,我们使用以下损失函数训练NeRF模型:
这个损失函数本质上是公式(4)去掉正则化项后的形式,因为已经防止了不确定性(即\
的平凡解。通过将
的梯度流与NeRF表示分离,以及将
的梯度流与不确定性MLP G分离(如图2所示),这种并行训练过程得以实现。需要注意的是,我们还参考了RobustNeRF [39],并在NeRF训练中包含了来自Mip-NeRF 360 [1]的区间损失和失真损失,但为了简洁起见,我们在此省略了这些内容。
我们的总体目标将所有损失整合在一起,表示为:
其中每个项都由相应的加权。
图4. 不同光线采样策略的比较。与随机采样和补丁采样相比,膨胀补丁采样可以提高训练效率和不确定性学习。
3.4. 膨胀补丁采样
在本节中,我们深入探讨光线采样策略,这是NeRF训练效果的关键因素,特别是在实现无干扰物结果方面。RobustNeRF已经展示了基于补丁的光线采样(图4 (b))相对于随机采样(图4 (a))的有效性。然而,这种方法有其局限性,主要是因为采样补丁的大小较小(例如16 × 16)。特别是在由于GPU内存限制而导致批次大小较小的情况下,这种小的上下文可能会限制网络移除干扰物的学习能力,影响优化稳定性和收敛速度。
为了解决这个问题,我们采用了膨胀补丁采样[18, 29, 43, 50, 56, 57],如图4 (c)所示。这种策略涉及从膨胀的补丁中采样光线。通过扩大补丁大小,我们可以在每次训练迭代中显著增加可用的上下文信息量。我们在表3中的实证研究发现,膨胀补丁采样不仅加速了训练过程,而且在干扰物移除方面产生了更优越的性能。
试验
RobustNeRF数据集。有四个序列是玩具在桌子上的设置。然而,请注意我们无法包含Crab场景,因为它尚未发布。同时,我们在补充材料中对Baby Yoda场景进行了比较,因为这个序列中的每张图像都包含一组不同的干扰物,这与我们的设置不同。
On-the-go数据集。为了严格评估我们的方法在现实世界的室内和室外设置中的效果,我们捕捉了一个包含12个随意捕捉的序列的数据集,包括10个室外和2个室内场景,干扰物的比例各不相同(从5%到超过30%)。为了定量评估,我们选择了6个代表不同遮挡率的序列,如图5所示。有关此数据集的更多细节和结果可在补充材料中找到。
基线。我们将我们的方法与Mip-NeRF 360 [1]、D 2 NeRF [52]、NeRF-W [27] †、Ha-NeRF [5] ‡、RobustNeRF [39] §以及我们设计的Mip-NeRF 360 + SAM基线进行了比较,后者使用SAM [22]排除图像中的动态物体,并在静态部分上训练NeRF。更多细节请参阅补充材料。
指标。我们采用了广泛使用的PSNR、SSIM [51]和LPIPS [65]来评估新颖视图合成的效果。