由于模型容量有限,纯基于 MLP 的神经辐射场(基于 NeRF 的方法)在大型场景上经常会出现渲染模糊的欠拟合问题。最近的方法提出在地理上划分场景并采用多个子 NeRF 分别对每个区域进行建模,从而导致训练成本和子 NeRF 的数量随着场景的扩展而线性增加。另一种解决方案是使用特征网格表示,它计算效率高,并且可以自然地扩展到具有更高网格分辨率的大场景。然而,特征网格往往受到较少的约束并且经常达到次优的解决方案,从而在渲染中产生嘈杂的伪影,特别是在具有复杂几何和纹理的区域中。在这项工作中,我们提出了一个新的框架,可以在计算效率高的同时实现大型城市场景的高保真渲染。我们建议使用紧凑的多分辨率地面特征平面表示来粗略捕获场景,并通过另一个 NeRF 分支用位置编码输入对其进行补充,以联合学习方式进行渲染。我们表明,这种集成可以利用两种替代解决方案的优势:在特征网格表示的指导下,轻量级 NeRF 足以渲染具有精细细节的逼真新颖视图;同时联合优化的地面特征平面,可以获得进一步的细化,形成更准确和紧凑的特征空间,输出更自然的渲染结果。
由于神经辐射场 (NeRF) 的逼真渲染和模型紧凑性,最近出现的大型城市场景建模已引起大量研究关注 [3、34、56、59、62、64]。这种建模可以实现各种实际应用,包括自动驾驶汽车仿真 [23、39、67]、航空测量 [6,15] 和嵌入式 AI [35,61]。基于 NeRF 的方法在对象级场景上显示出令人印象深刻的结果,它们的连续性先验受益于 MLP 架构和高频细节以及全局共享的位置编码。但是,它们通常无法对大型复杂场景进行建模。由于模型容量有限,这些方法存在欠拟合问题,并且只能产生没有精细细节的模糊渲染 [56,62,64]。 BlockNeRF [58] 和 MegaNeRF [62] 提出在地理上划分城市场景,并为每个区域分配不同的子 NeRF 以并行学习。随后,当目标场景的规模和复杂性增加时,他们不可避免地要在 sub-NeRF 的数量和每个 sub-NeRF 完全捕获每个区域的所有精细细节所需的容量之间进行权衡。另一个基于网格的表示流使用特征网格 [27、27、30、36、55、68、69] 来表示目标场景。这些方法在渲染过程中通常要快得多,并且在场景按比例放大时效率更高。然而,由于特征网格的每个单元格都以局部编码方式单独优化,因此与基于 NeRF 的方法相比,生成的特征网格在整个场景中的连续性往往较低。尽管更大的灵活性在直觉上有利于捕获精细细节,但缺乏固有的连续性使这种表示容易受到带有噪声伪影的次优解决方案的影响,如图 1 所示。
图 1. 我们使用新颖的网格引导神经辐射场执行大型城市场景渲染。左侧显示了我们的目标大型城市场景的示例,它跨越 2.7 平方公里的地面区域,由超过 5000 幅无人机图像捕获。我们表明,基于 NeRF 的方法 [34、62] 的渲染结果模糊且过度平滑且模型容量有限,而基于特征网格的方法 [9、36] 在适应具有高分辨率特征网格的大规模场景时,往往会显示出嘈杂的假象。我们提出的双分支模型结合了两种方法的优点,并通过对现有方法的显著改进实现了逼真的新颖视图渲染。这两个分支都比各自的基线获得了显著增强。
为了使用隐式神经表示有效地重建大型城市场景,在这项工作中,我们提出了一种双分支模型架构,它采用统一的场景表示,在联合学习方案下集成了基于网格和基于 NeRF 的方法。我们的主要见解是,这两种类型的表示可以相互补充:虽然特征网格可以轻松地将局部场景内容与显式且独立学习的特征相匹配,但 NeRF 通过其可共享的 MLP 权重在学习的场景内容上引入了固有的全局连续性跨所有 3D 坐标输入。 NeRF 还可以通过将作为傅里叶特征的位置编码与细节带宽相匹配来鼓励捕获高频场景细节。然而,与特征网格表示不同,NeRF 在将大场景内容压缩到其全局共享的潜在坐标空间中时效率较低。
具体来说,我们首先在预训练阶段用特征网格对目标场景进行建模,粗略地捕捉场景的几何形状和外观。然后使用粗特征网格
在这样的指引导下,NeRF 可以在大幅压缩的采样空间中有效且高效地提取更精细的细节。此外,由于向 NeRF 明确提供了粗略的几何和外观信息,因此轻量级 MLP 足以学习从全局坐标到体积密度和颜色值的映射。
在第二个联合学习阶段,粗特征网格通过来自 NeRF 分支的梯度得到进一步优化,在单独应用时对它们进行正则化以产生更准确和自然的渲染结果。为了进一步减少内存占用并为大型城市场景学习可靠的特征网格,我们采用 3D 特征网格的紧凑分解来近似它而不损失表示能力。基于城市布局等基本语义主要分布在地面(即 xy 平面)的观察,我们将 3D 特征网格分解为跨越场景的 2D 地面特征平面和沿垂直方向共享的特征向量z 轴。好处是多方面的:
大量实验证明了我们统一模型和场景表示的有效性。在实践中渲染新颖的视图时,允许用户使用渲染速度更快的网格分支,或者使用具有更多高频细节和空间平滑度的 NeRF 分支,但代价是渲染速度相对较慢。
这是计算机视觉和图形学中长期存在的问题,许多早期作品 [1, 17, 24, 43, 48, 52, 72] 都试图解决它。这些方法大多采用三级流水线。他们首先检测 2D 图像中的特征点 [19, 29] 并构建点描述符 [4, 47]。然后点描述符在图像之间进行匹配以获得用于相机姿态估计和 3D 点三角测量的 2D 对应关系。最后,相机位姿和 3D 点被联合优化,以使用 bundle adjustment [18, 60] 最小化投影点和图像点之间的差异。这些方法在大规模场景上表现出了令人印象深刻的重建性能。 [28, 50]利用重建结果完成场景的自由视点导航。然而,重建的场景中经常存在伪影或孔洞,这限制了渲染质量。最近的方法 [26、31、33] 利用深度学习技术来改进图像合成的结果。 [33] 将恢复的点云光栅化为深度缓冲区,然后使用 2D 卷积神经网络将其解释为 2D 图像。最近,[31] 利用生成潜在优化技术从照片集中重建辐射场,使其能够实现逼真的渲染结果。 [14, 51]分别在场景生成和静态-动态解缠任务中采用了与我们相似的地平面表示,但它们适用场景的规模和渲染质量仍然有限。
基于坐标的多层感知器已成为 3D 形状建模 [7、10、32、40] 和新颖视图合成 [2、3、34、38] 的流行表示。为了表示高分辨率的 3D 形状,一些方法采用 MLP 网络,将连续的 3D 坐标作为输入并预测目标值 [13、32、40]。 [11,12,42] 引入了卷积神经网络来学习强大的场景先验,使基于坐标的表示能够处理更大的场景。在新视图合成领域,NeRF [34] 将 3D 场景表示为密度和颜色场,并通过体绘制技术从图像中优化这种表示。 [20,27,46,69] 使用高效的数据结构扩展 NeRF 以加速渲染过程。 [8,37,49,66] 将 NeRF 与生成模型相结合,实现 3D 感知图像生成。 [25,41,44] 用运动场增强 NeRF,使它们能够处理动态场景。
虽然上述 NeRF 方法主要考虑规模有限的场景,但扩大 NeRF 以处理城市等大规模场景将实现更广泛的应用。 [27、62、65] 试图提高 NeRF 在大型场景上的渲染质量。特征网格方法 [22,27] 通过从预定义的可学习特征向量表中查找,将输入坐标映射到高维空间,这增强了神经网络的逼近能力。 PointNeRF [65] 从点云中回归辐射场,实现室内场景的高质量渲染。 BungeeNeRF [64] 设计了一种多尺度表示,可以有效地对场景内容进行建模并提高渲染质量。 [56, 62] 将场景分解为几个空间区域,分别由 NeRF 网络表示。在处理大场景时,另一个关键问题是如何减少训练时间。图像编码器 [63,71]、自动解码器 [16,45] 和元学习 [5, 57] 等几种技术用于在数据集上预训练网络,以在改进优化过程之前学习场景。 [36,53,54,68]进一步探索网格表示以加快训练速度。 TensoRF [9] 研究了 3D 场景的分解,使其能够紧凑地表示场景并实现快速训练。 Instant-NGP [36] 采用了特征向量的多分辨率哈希表,可以实现极快的渲染。然而,我们注意到这两种方法在应用于大场景时都会受到噪声特征网格的影响。
回想一下,基于 NeRF 的表示通过将点坐标的位置编码 (PE) 传递到 8 层 MLP [34] 来获得点密度和颜色。这种模型非常紧凑,因为整个场景内容都被编码在以 PE 嵌入作为输入的 MLP 权重中,但它们在扩展时面临模型容量限制的困难。相比之下,基于网格的表示将场景编码为特征网格,可以直观地将其视为网格分辨率与实际 3D 空间匹配的 3D 体素网格。每个体素在顶点存储一个特征向量,然后可以插值以提取查询点坐标处的特征值,并通过小型网络转换为点密度和颜色。由于特征网格通常被实现为高维张量,因此还可以应用各种分解方法来获得更紧凑的特征网格表示 [9]。
为了有效地表示大型城市场景,我们提出了网格引导的神经辐射场,它结合了基于 NeRF 和基于网格的方法的专业知识。网格特征被强制使用多分辨率地面特征平面可靠地捕获尽可能多的局部信息。然后,我们让位置编码坐标信息拾取提取缺失的高频细节并生成高质量的渲染图。通过粗略构建以多种分辨率捕获场景的特征网格,密度场也用于指导 NeRF 的采样过程。在训练 NeRF 分支时,网格特征通过两个分支的重建损失进行联合优化和监督。
图 2. 框架概述。我们模型的核心是一种新颖的双分支结构,即网格分支和 NeRF 分支。 1)我们首先在预训练阶段用特征平面金字塔捕捉场景,然后通过浅层 MLP 渲染器(网格分支)对光线点进行粗采样并预测它们的辐射值,由 MSE 损失监督体积积分像素颜色。此步骤产生一组信息丰富的多分辨率密度/外观特征平面。 2)接下来,我们进入联合学习阶段并进行更精细的采样。我们使用学习到的特征网格来引导 NeRF 分支采样集中在场景表面。通过特征平面上的双线性插值推断采样点的网格特征。然后将这些特征与位置编码连接起来并馈送到 NeRF 分支以预测体积密度和颜色。请注意,在联合训练期间,网格分支输出保持受地面真实图像以及来自 NeRF 分支的精细渲染结果的监督。
图 2 说明了我们系统的整体管道。在 3.1节中,我们描述了多分辨率地面特征平面表示的预训练; 3.2节介绍神经辐射场的grid-guided learning,对应图2中的NeRF分支;最后,在3.3节我们详细说明了 NeRF 分支如何帮助改进网格分支的预训练网格特征。
3.1.多分辨率特征网格预训练
图 1 说明了大型城市场景的代表性场景。受大型城市场景主要基于 xy 平面这一事实的启发,我们提出通过构建多分辨率平面矢量特征空间来表示具有主要地面特征平面的目标大型城市场景。与从整个 3D 网格获得的特征平面相比,强制地平面压缩提供了更多信息的特征平面。这种紧凑的表示特别适用于城市场景场景,并且对稀疏视图训练数据表现稳健。然后可以在此处考虑各种操作(例如,串联、外积)以从 2D 地面特征平面恢复 3D 信息。外积运算在[9]中从张量分解和低秩近似的角度采用,在保持高质量的同时实现了更压缩的内存占用。分别学习体积密度 σ ∈ R + σ ∈ R^+ σ∈R+ 和视点相关颜色 c ∈ R 3 c ∈ R^3 c∈R3 网格平面,以捕捉更多只影响外观的环境影响。形式上,我们基于网格的辐射场写为: σ , c = F σ ( G σ ( X ) ) , F c ( G c ( X ) , P E ( d ) ) σ, c = F_σ(G_σ(X)), F_c(G_c(X), PE(d)) σ,c=Fσ(Gσ(X)),Fc(Gc(X),PE(d)) 其中 G σ ( X ) ∈ R R σ , G c ( X ) ∈ R R c G_σ(X) ∈ R^{R_σ} , G_c(X) ∈ R^{R_c} Gσ(X)∈RRσ,Gc(X)∈RRc 是从位置 X ∈ R 3 X ∈ R^3 X∈R3 的两个网格平面中提取的插值特征值。 F σ , F c F_σ, F_c Fσ,Fc 是两个融合函数,用两个小的 MLP 实现,将连接的密度/外观特征转换为 σ , c σ, c σ,c。 d ∈ S 2 d ∈ S^2 d∈S2是观察方向。这里的PE表示位置编码( s i n ( ⋅ ) , c o s ( ⋅ ) , . . , s i n 2 L − 1 ( ⋅ ) , c o s 2 L − 1 ( ⋅ ) sin(·), cos(·), . . , sin ^{2L−1}(·) , cos^{2L−1}(·) sin(⋅),cos(⋅),..,sin2L−1(⋅),cos2L−1(⋅))[34]。然后网格分支沿射线使用 N 个查询样本进行训练,并在体绘制过程之后预测像素颜色,如 [34] 中所述,其中损失是此粗采样阶段的渲染像素颜色和真实像素颜色之间的总平方误差,如图2(a)所示。
按照[9]的做法,我们使用地面特征平面 R σ R_σ Rσ 和 R c R_c Rc 的通道外积以及全局编码的 z − a x i s z-axis z−axis 特征向量来近似全密度和外观网格特征。对于每个通道 r ∈ R σ r ∈ R_σ r∈Rσ 和 R c R_c Rc,相应的特征张量网格为:其中 v z v^z vz 表示沿 z z z 轴的向量, M x y M^{xy} Mxy 表示跨越 x y xy xy 平面的矩阵,◦ 表示外积。在学习共享 z z z 轴特征向量的约束下,优化的地面特征平面被鼓励编码足够的局部场景内容,这些内容可以由全局共享的 MLP 渲染器翻译。对于特定的网格分辨率 n n n,密度和外观张量 G σ n , G c n G^n_σ,G^n_c Gσn,Gcn 然后作为 R σ , R c R_σ,R_c Rσ,Rc 特征分量的串联获得:
其中 ⊕ ⊕ ⊕ 表示 R σ R_σ Rσ 和 R c R_c Rc 维度上的串联操作。为了捕获不同程度的场景局部复杂性,我们学习了具有 G σ = G σ n G_σ = {G^n_σ } Gσ=Gσn和 G c = G c n G_c = {G^n_c } Gc=Gcn 的多分辨率特征网格。生成的多分辨率特征网格包含不同粒度的特征来描述场景,特别适用于物体以不同比例出现的城市环境。
3.2.网格引导神经辐射场
从头开始训练的 NeRF 需要从纯位置输入来推理整个场景,这在 PE 中只提供了一个傅立叶频率波波段。对于自然具有广泛粒度的几何和纹理细节的大型城市场景,NeRF 不断偏向于学习低频函数,如 [58、64] 中所指出的。在需要对大量信息进行编码的大型场景中,这个问题会被放大。为了解决这个问题,我们建议使用预训练的特征网格密度压缩 NeRF 的采样空间,并使用在预训练阶段初始化的粗网格特征来丰富 NeRF 的纯坐标输入。
尽管精度和粒度有限,但预训练的网格特征已经可以提供场景的近似值,可用于 1) 指导 NeRF 的点采样和 2) 提供中间特征作为坐标输入的补充。如图 2 所示,NeRF 现在可以专注于近似场景表面以进行更有效和更密集的点采样,而不是映射跨越整个样本空间的坐标,并在位置编码中唤起高频傅里叶特征以恢复更精细的细节。同时,沿采样射线的点被投影到多分辨率特征平面上,以通过双线性插值检索密度和外观特征。然后将推断的网格特征连接到位置编码,作为 NeRF 分支的输入。每点密度和颜色 σ ′ 、 c ′ σ'、c' σ′、c′ 通过NeRF分支网络 F ′ F' F′ 预测为:
多分辨率特征平面起着关键作用,因为它提供了多粒度的场景信息,减轻了 NeRF的 PE 的拟合负担,使其可以专注于细化场景的细节。特别是,虽然高网格分辨率可以保证空间中的每个体素都能捕获其局部内容,但无论场景中细节级别可能存在异质性,质量都会以存储为代价提高。因此,用傅里叶特征提供这种高频细节会更有效,这些特征在 PE 中只需要花费几个维度,并且可以在整个学习过程中适应场景。
请注意,双分支监督和两阶段训练是必要的,因为:(1)随机初始化的特征网格很难提供信息丰富的场景内容,并且两种网络输入的作用可能会纠缠。 (2) 预训练阶段比包含 NeRF 分支的阶段快得多,从而更有效地可靠地构建仅包含网格分支的粗几何结构。 (3) 与 [53] 在提供 PE 输入时冻结体素网格不同,我们稍后将展示特征网格可以通过与 NeRF 分支的联合学习获得进一步的细化。此外,由于网格分支也受到重建损失的监督,它强制网格分支继续丰富其捕获的场景信息,其中 PE 输入可以专注于丢失的高频细节。
3.3.来自 NeRF 的精细网格特征平面
回想一下,特征网格依赖于地面特征平面上的双线性插值来获得体素内点的特征向量。给定足够高的网格分辨率,该机制可以产生详细的重建结果,从而可以恢复场景中最细微的变化。然而,如 [36] 所示,对于大型城市场景,学习具有匹配分辨率的网格可能会非常消耗内存。此外,网格特征缺乏捕获体素内准确变化的动机,仅在地面真值 RGB 上进行重建损失。因此,我们与 NeRF 联合优化特征平面和向量,以通过提供的 NeRF 输入的逐点引导来增强网格特征的监督信号。 NeRF 带来的另一个好处是对独立优化的网格特征进行全局正则化。图 1 和图 3 显示,由于缺乏对空间连续性和语义相似性的约束,基于网格的方法会产生噪声伪影。相反,NeRF 对整个场景空间使用共享的 MLP。稍后我们将展示,在与 NeRF 分支联合训练后,从网格分支解释的渲染新视图可以得到很大改进。
我们的主要实验是在真实世界的城市场景中进行的。这三个场景涵盖了不同的城市环境,包括农村废墟遗址[62](Rubble)、大学校园(Campus)和住宅区(Residential)。相机姿势是从摄影测量软件 ContextCapture 获得的。有关一般场景数据集、替代相机姿势和进一步改进技术的其他实验和结果,请参见补充资料和我们的网页。
我们将我们的方法的性能与 1)应用于整个场景的 NeRF [34] 进行比较; 2)具有4个分区的Mega-NeRF [62]; 3) TensoRF [9],通过低秩张量分解减少特征网格的内存占用,被认为适用于大场景场景。对于 NeRF 和 Mega-NeRF,我们相应地采用了具有 12 层和 256 个隐藏单元的更大模型。位置编码的最高频率设置为 2 15 2^{15} 215,在第4、6、8、10层通过skip connection插入到NeRF模型中。我们在训练期间使用分层采样,每条射线有 64 个粗糙样本和 128 个精细样本。所有 NeRF 模型都使用 Adam 优化器 [21] 进行了优化,学习率从 5 e − 4 5e^{−4} 5e−4 开始呈指数衰减,批量大小为 2048 条射线,训练了 150k 次迭代。对于 TensoRF,根据我们之前在第 3.1 节中讨论的对大型城市场景的观察。我们评估了将特征网格分解为 xy 平面矩阵和 z 轴向量分量的简化版本。 16/48个分量分别用于密度和外观特征网格。从具有 1283 个体素的初始低分辨率网格开始,在训练期间,网格在对数空间中线性上采样到 102 4 3 1024^3 10243。沿每个维度的网格分辨率按 x、y、z 维度缩放。具有 2 个全连接层的 128 个隐藏层和 ReLU 激活的小型 MLP 用作颜色输出头。采用 Adam 优化器,张量因子的初始倾斜率为 0.02,MLP 解码器的初始倾斜率为 0.01。批量大小为 4096。该模型经过 100k 次迭代训练。
我们的方法将匹配的网格分辨率作为最高分辨率的特征平面,密度/外观网格分别采用 8/16 分量,另外两个采用下采样 ×4 和 ×16 分辨率。网格分支的 MLP 头与 TensoRF 相同。 NeRF 分支使用 4 个 MLP 层,没有跳过层。位置编码的最高频率也设置为 2 15 2^{15} 215。采用 Adam 优化器,张量因子的初始学习率为 0.02,批量大小为 4096 的 MLP 层的初始学习率为 0.01。我们为前 10k 次迭代预训练网格分支,并联合优化再进行 100k 次迭代,两个阶段之间的时间比例大约为 1:4。我们在联合训练中对两个分支使用 1:1 的加权损失。
我们在图 3 和 表1 中报告了基线的性能和我们的方法。
图 3. 基线与我们的定性比较。在大型城市场景中,基于 MLP 的方法 (NeRF) 和 (Mega-NeRF) 存在严重的模糊伪影问题。基于网格的方法 (TensoRF) 显示出更好的结果,但往往会产生带有不准确形状的噪声外观。预训练的多分辨率网格特征(Ours,Grid Pretrain)比单一的高分辨率方法有所改进,但结果仍然不是最优的。与新颖视图上的地面真实图像相比,我们的最终模型实现了照片般逼真的质量。虽然网格分支(Ours, Grid branch)和 NeRF 分支(Ours, NeRF branch)获得相似的指标分数,但首选从具有更清晰的细节和更平滑的空间连续性的 NeRF 分支进行渲染,尤其是在实践中渲染长视频时。
>表 1. 三个大型城市场景数据集的定量比较。我们在测试视图上报告 PSNR(↑)、LPIPS(↑) [70]、SSIM(↓) 指标。突出显示最佳和次佳结果。
可以观察到视觉质量和所有指标都有显着改善。与纯粹基于 MLP 的方法(NeRF 和 Mega-NeRF)相比,我们的方法揭示了更清晰的几何形状和更精致的细节。特别是,由于 NeRF 的容量和光谱偏差有限,它总是无法模拟几何形状和颜色的快速变化,例如操场上的植被和条纹。尽管如 Mega-NeRF 基线所示,将场景在地理上划分为小区域略有帮助,但渲染结果仍然显得过于平滑。相反,在学习到的特征网格的指导下,NeRF 的采样空间被有效地大幅压缩到近场景表面。从地面特征平面采样的密度和外观特征明确指示场景内容,如图 3 所示。尽管不太准确,但它已经提供了信息丰富的局部几何和纹理,并鼓励 NeRF 的 PE 拾取缺失的场景细节。
基于网格的方法通常需要明确施加正则化,例如总变化损失或 L1 损失 [9],以避免观测值较少的区域出现噪声,否则独立优化的网格特征很容易导致模糊和波浪形的外观,如中所示图 3. 通过与 NeRF 分支联合优化,不断改进 xy 平面和 z 轴编码以编码更多局部细节,同时降低噪声。在图 6 中可以观察到保真度的显着提高。在特征空间中也可以观察到类似的改进。以住宅场景中的一维密度平面(图 4)为例,在预训练的 xy 平面特征(图 4(a))上已经可以识别目标城区的粗略楼层布局,它仍然遗漏了场景中广泛存在的锐利边缘和各种形状和颜色等细节,除非采用更精细的网格分辨率,否则很难用网格表示这些细节。另一方面,NeRF 搜索带有点的场景表面,这为网格特征优化提供了更准确和有意义的信号,并将其提升到局部最小值之外。预训练特征平面上另一个值得注意的伪影是由于网格变化导致的连续区域(例如,土地、立面)的噪声,在与 NeRF 联合优化后大大缓解了这一点。这可以归因于 NeRF 对场景的连续表示,它通过在坐标之间构建更强的相关性,对特征网格施加隐式正则化。由此产生的精细特征平面(图 4(b))展示了平滑的网格特征和更清晰的轮廓,其中内容相似的网格可以聚集在一起(例如,建筑物、复式公寓和道路)。
图 4. (a) 密度和 (b) 外观特征平面(住宅场景)中一个特征分量的可视化。与预训练的特征平面相比,精化后的特征平面噪声更少;也可以清楚地识别分组物体的更锐利的边缘和规则的形状。由于密度和外观特征是独立学习的,因此它们对描述场景的不同信息进行编码。外观特征可以捕获阴影等环境影响,如 (b) 所示。
图 5. 来自(a)TensoRF 分解的 xy 特征平面切片的可视化; (b) 我们的地平面表示。我们的联合学习产生了更准确的平面特征,具有清晰的区域边界,更好地与场景的物理平面图对齐,这自然更适合大型城市场景建模和下游分析。更清晰的特征网格还表明学习到的潜在空间更紧凑,这对于大规模建模至关重要,即使模型容量有限。
图 6. 显示使用学习到的特征的渲染结果的定性比较 (a) 在中等网格分辨率 ( 204 8 2 2048^2 20482),(b) 在高网格分辨率 ( 409 6 2 4096^2 40962) 和 (c ) 在分辨率 ( 409 6 2 4096^2 40962)上的再次网格分支。尽管更高的网格分辨率会带来更好的视觉质量,但添加 NeRF 监督会将质量进一步推向逼真度。
虽然建模大场景会本能地设计一个重型框架,但我们的原则是在不显显著降低质量的情况下保持紧凑和高效。牢记这一点,我们使用简洁的平面矢量表示对完整的 3D 特征网格进行建模。我们在图 5 中证明,在重建大型城市场景时具有相似的性能(PSNR:(TensoRF)21.075 与(我们的)20.915),从 TensoRF 的 VM 分解 [9] 中学习的 2D 地平面似乎更模糊且信息量更少比我们的;与 TensoRF (4e8) 相比,我们的表示使用更少的参数 ( 3 e 8 3e^8 3e8)。此外,回想一下网格分辨率对于纯基于体素的表示以获得高质量渲染至关重要,我们的方法无需进一步上采样即可实现大场景的逼真渲染。尽管为我们的框架提供更细粒度的特征平面是有益的,但与 NeRF 的集成在很大程度上减轻了对网格分辨率捕获场景细节的依赖。从 NeRF 的角度来看,我们表明相对较小的 MLP 足以通过将学习到的网格特征与 PE 一起处理大场景,并且取得了比放大的 NeRF 和 Mega-NeRF [62] 更好的结果,如图 3 所示.
进行消融以验证 1)不同模型配置的影响:对于网格分支,我们切换到不同分辨率的单分辨率特征网格;对于 NeRF 分支,我们检查模型容量和 PE 的频率带宽,以帮助 NeRF 恢复场景细节;除了模型架构,我们还研究了 2)用网格特征丰富 NeRF 的纯坐标输入的功效; 3) NeRF 作为监督信号增强特征网格的功效。
图 7. 使用单一分辨率网格功能会导致较差的结果。低分辨率特征网格会产生模糊的伪影,而高分辨率网格会产生嘈杂的结果。 NeRF 分支通过其逐点监督信号极大地帮助解决了这些问题,以在规范化网格特征之前获取更多细节和全局。
图 8. 小型渲染器不足以转换网格特征,从而产生不准确的几何图形和场景内容。然而,如果有足够的建模能力,NeRF 可以在越来越高的 PE 频率通道的帮助下获取更多细节。
对于网格分支,我们在图 7 中展示了采用单一分辨率特征网格会导致性能下降。具体而言,低分辨率 ( 51 2 2 512^2 5122) 网格分支的结果在预训练期间已经存在模糊伪像。在后期添加 NeRF 分支可以帮助产生更多的立面和屋顶细节,但总体上仍然缺乏清晰的细节。另一方面,高分辨率( 204 8 2 2048^2 20482)网格分支的结果在预训练阶段是模糊和嘈杂的,这在很大程度上被 NeRF 缓解了,但在连续区域(如道路和墙壁)仍然不稳定。现有作品 [9, 36, 53] 通常采用小型 MLP 作为渲染器来翻译网格特征。在图 8 中,我们展示了对于我们的场景,具有小模型容量(D=3,W=32)的 NeRF 不足以转换此类复杂场景的网格特征,给出不准确的几何形状并丢失大量场景细节。在这种情况下,单纯地增加 PE 中的频率带宽几乎没有帮助。通过扩大 MLP(D=3,W =256),可以观察到显着的改进,通过 PE 施加更高频率的输入可以帮助恢复更多场景细节。
我们首先简单地为 NeRF 提供网格特征,不调整网格特征和来自网格分支的监督, NeRF 已经可以从网格特征中编码的局部特征中获益,PSNR 提高了约 1db。调整特征网格可以进一步实现 PSNR约 2.5db 增益。
如图 7 所示,NeRF 帮助特征网格在网格分辨率不足时恢复更多细节,并使用全局先验平滑不规则化的特征,从而产生更一致的渲染结果。在高分辨率网格上,结合 NeRF 可以在 Campus 场景中将 PSNR 提高 约 2db。
在这项工作中,我们针对大型城市场景渲染,提出了一个新的框架,将基于 MLP 的 NeRF 与显式构建的特征网格相结合,以有效地编码局部和全局场景信息。当应用于大规模场景时,我们的方法克服了最先进方法的各种缺点。我们的模型即使对于超大规模的城市场景也能实现高视觉保真度渲染,这对于真实世界的应用场景至关重要。虽然我们主要研究为大型城市场景场景量身定制的地面特征平面表示,但我们的双分支设计也可以考虑用于其他基于网格的表示,通过带来更多的连续性来对学习的特征值进行额外的正则化。
尽管如此,我们的模型仍然继承了基于 NeRF 的方法的一些局限性,例如我们联合学习阶段的缓慢训练。另一个关键问题是处理大量高分辨率图像。在没有分布式训练的情况下,目前shuffled rays(混洗光线?)的批量采样是非常低效的。更多讨论可以在补充中找到。