pixelNeRF: Neural Radiance Fields from One or Few Images 翻译笔记

23 篇文章 42 订阅

目录

Abstract

1. Introduction

2.相关工作对比

3.NeRF限制

4.Image-conditioned NeRF

4.1Single-Image pixelNeRF

4.2Incorporating Multiple Views 合并多个视图

5.Experiments

Implementation Details

5.1. ShapeNet Benchmarks

5.1.1 Category-specifific View Synthesis Benchmark特定于类别的视图综合基准测试

5.2. Pushing the Boundaries of ShapeNet突破ShapeNet的边界

Generalization概括 to novel categories.

5.3. Scene Prior on Real Images

6.Discussion


https://www.zhihu.com/zvideo/1433388162529394688

Abstract

我们提出了pixelNeRF,一个学习框架,它可以预测基于一个或几个输入图像的连续神经场景表示。现有的构建神经辐射场[27]的方法包括独立地优化对每个场景的表示,需要许多校准的视图和显著的计算时间。我们通过引入一种以完全卷积的方式对图像输入设置NeRF的架构,来解决这些缺点。这允许网络跨多个场景进行训练,以预先学习一个场景,使它能够以前馈的方式从稀疏的视图集(只有一个视图)执行新的视图合成。利用NeRF的体积渲染方法,我们的模型可以直接从图像中训练,没有明确的三维监督。我们在ShapeNet基准测试上进行了广泛的实验,包括保留的对象以及整个看不见的类别。我们通过在来自DTU数据集的多对象形状网场景和真实场景上进一步演示了 pixelNeRF灵活性。在所有情况下,pixelNeRF在新的视图合成和单图像三维重建方面都优于目前最先进的基线。有关视频和代码,请访问项目网站:​https://alexyu.net/pixelnerf​

1. Introduction

在本文中,我们通过提出pixelNeRF来解决这些缺点,这是一个学习框架,能够以前馈的方式从一个或几个图像中预测nerf。与原始的NeRF网络不同,pixelNeRF将与每个像素对齐的空间图像特征作为输入。这种图像条件允许框架在一组多视图图像上进行训练,它可以学习场景,从一个或几个输入视图执行视图合成。相比之下,当输入图像很少时,NeRF无法泛化,性能较差,如图1所示。

图1:来自一个或几张图像的NeRF。我们提出了pixelNeRF,这是一个学习框架,它可以从单个(顶部)或少数姿态图像(底部)中预测神经辐射场(NeRF)表示。PixelNeRF可以在一组多视图图像上进行训练,允许它在没有测试时间优化的情况下,从很少的输入图像中生成可信的新视图合成(左下角)。相比之下,NeRF没有泛化能力,当只有三个输入视图可用时表现不佳(右下角)。

具体来说,我们首先从输入图像计算一个全卷积图像特征网格,对输入图像设置NeRF条件。然后对视点坐标系中感兴趣的每个查询空间点x和观察方向d,通过投影双线性插值对相应的图像特征进行采样查询规范 query specification图像特征一起发送到输出密度和颜色的NeRF网络,在其中空间图像特征作为残差输入给每一层。当有多个图像可用时输入首先被编码成每个相机的坐标系中的一个潜在表示,然后在预测颜色和密度之前,将其集中在一个中间层中。该模型在地面真实图像和使用传统体积渲染技术渲染的视图之间进行重建损失的监督。这个框架如图2所示。

图2:在单视图的情况下提出的体系结构。对于沿着观察方向为d的目标摄像机射线的查询点x,通过投影和插值从特征体W中提取相应的图像特征。然后将该特征与空间坐标一起输入NeRF网络f。对输出的RGB和密度值进行体积渲染,并与目标像素值进行比较。坐标x和d在输入视图的相机坐标系中

PixelNeRF具有许多理想的特性,可用于少量查看的新视图合成。首先,pixelNeRF可以在多视图图像的数据集上进行训练,而不需要额外的监督,如地面真实的三维形状或物体masks。其次,pixelNeRF预测了一个在输入图像的摄像机坐标系中的NeRF表示,而不是一个规范的坐标系。这不仅对于泛化到看不见的场景和对象类别[42,38]是不可或缺的,而且也是为了灵活性,因为在具有多个对象或真实场景的场景上不存在明确的规范坐标系。第三,它是完全卷积的允许它保持图像和输出的3D表示之间的空间对齐。最后,pixelNeRF可以在测试时间合并可变数量的姿态输入视图,而不需要任何测试时间优化。

我们在合成的和真实的图像数据集上进行了一系列广泛的实验,以评估我们的框架的有效性,超越了通常的ShapeNet实验集,以证明其灵活性。我们的实验表明,pixelNeRF可以从单个图像输入中生成新的视图,同时用于特定于类别类别无关的设置即使是在看不见的对象类别的情况下。此外,我们测试了我们的框架的灵活性,通过一个新的多对象基准测试,其中pixelNeRF优于之前的方法,以及在真实汽车图像上的模拟到真实传输演示。最后,我们使用DTU数据集[14]在真实图像上测试pixelNeRF的能力,尽管在100个场景下进行训练,它可以从三个姿势的输入视图生成真实场景的可信的新视图。

2.相关工作对比

由于这些方法适合每个场景的单个模型,它们需要许多输入视图和每个场景的大量优化时间。

向NeRF添加了图像特性。一个关键的区别是,我们在视图而不是规范的空间,这使得我们的方法适用于更一般的设置。

许多这些方法[52,46,21,22,28]需要 object masks;相比之下, pixelNeRF可以单独从图像中训练,允许它应用于两个对象的场景而无需修改。

空间对齐的局部图像特征已被证明实现详细的重建从单一视图[51,34]。然而,这两种方法都需要三维监督。我们的方法受到了这些方法的启发,但只需要多视图的监督。

我们制定了一个场景级的学习框架,原则上可以被训练到任意结构的场景。

使用规范空间抑制对不可见的对象类别和具有多个对象的场景的预测性能,在这些场景中没有预定义或定义良好的规范姿态。

我们在表1中总结了我们的方法相对于之前的工作的关键方面。

表1:与之前重建神经场景表示的工作的比较。该方法仅使用多视图二维图像监督进行一个或少量视图重建。与之前的方法不同,我们不需要在整个训练语料库中使用一致的规范空间。此外,我们还结合了局部图像特征来保存局部信息,这与将结构和外观压缩为单一潜在向量的方法不同,如占用网络(ONet)[25]和DVR[28]。

3.NeRF限制

虽然NeRF实现了最先进的新的视图合成结果,但它是一种基于优化的方法,使用几何一致性作为唯一的信号,类似于经典的多视图立体声方法[1,35]。因此,每个场景必须单独优化场景之间不共享知识这不仅耗时,而且在单一或极其稀疏的视图的限制下,它无法利用世界的任何先验知识来加速重建或完成形状。

4.Image-conditioned NeRF

为了克服NeRF表示无法在场景之间共享知识的问题,我们提出了一种根据空间图像特征来约束NeRF的架构。我们的模型由两个组成部分组成:一个是全卷积图像编码器E,它将输入图像编码成一个像素对齐的特征网格,另一个是NeRF网络f,它输出颜色和密度,给定一个空间位置及其相应的编码特征。由于2中讨论的原因,我们选择在输入视图的相机空间中建模空间查询,而不是规范的空间。我们在我们对不可见的对象类别(5.2)和复杂的不可见的场景(5.3)的实验中验证了这种设计选择。该模型采用3中描述的体积绘制方法和损失进行训练。

下面,我们首先介绍单视图情况的模型。然后,我们展示了如何将这个公式可以轻松地扩展到合并多个输入图像。

4.1Single-Image pixelNeRF

我们现在描述了从一个输入图像中渲染新视图的方法。我们将坐标系固定为输入图像的视图空间并在这个坐标系中指定位置和相机射线。

给定一个场景的输入图像I,我们首先提取一个 feature volume特征体积W=E(I)。然后,对于相机射线上的一个点x,我们利用已知的本质信息将x投影到图像坐标π(x),检索相应的图像特征,然后对像素级特征进行双向插值,提取特征向量W(π(x))然后将图像特征连同位置和视图方向都在输入视图坐标系中)传递到NeRF网络中,如

其中,γ(·)是x上的一个位置编码,在原始的NeRF[27]中引入了6个指数增长的频率。图像特征作为每一层的残余合并;更多信息见5。我们在图2中展示了我们的管道。 

 

在少镜头视图合成任务中,查询视图方向是确定NeRF网络中特定图像特征的重要性的有用信号如果查询视图方向与输入视图方向相似,则模型可以更直接地依赖于输入;如果它不同,则模型必须利用学习到的先验。此外,在多视图的情况下,视图方向可以作为不同视图的相关性和定位的信号。因此,我们在NeRF网络的开始处输入视图方向。

4.2Incorporating Multiple Views 合并多个视图

多个视图提供了关于场景的附加信息,并解决了单视图情况下固有的三维几何歧义。我们扩展了我们的模型,允许在测试时使用任意数量的视图这将我们的方法与现有的在测试时只使用单个输入视图的方法区分开来。[8,55]此外,我们的公式是独立于世界空间的选择和输入视图的顺序。

在我们有多个场景的输入视图的情况下,我们只假设相对的相机姿态是已知的。为了解释,可以为场景固定一个任意的世界坐标系。我们将第i幅输入图像表示为I(i),其相关的相机从世界空间到视图空间转换为

 

对于一个新的目标相机射线,我们将一个视图方向为d查询点x变换为每个输入视图i的坐标系,将世界到相机变换为

为了获得输出的密度和颜色,我们独立地处理每个视图坐标系中的坐标和相应的特征,并在NeRF网络内的各个视图中进行聚合。为了便于解释,我们将NeRF网络的初始层表示为f1,它分别处理每个输入视图空间中的输入最后的层表示为f2,它处理聚合的视图

我们将每个输入的图像编码特征W(i)=E(I(i))。对于视图空间点x(i),我们从投影图像坐标π(x(i))处的特征体积W(i)中提取相应的图像特征。然后,我们将这些输入传递到f1中,得到中间向量

然后将中间的V(i)平均池化算子ψ聚合,并传递到最后一层,记为f2,得到预测的密度和颜色

在单视图的特殊情况下,通过考虑视图空间为世界空间,这将简化为具有f=f2◦f1的方程3。在补充说明中提供了一个说明。

5.Experiments

我们在三个实验类别中广泛地演示了我们的方法:

  1. 现有的ShapeNet[4]基准类别特定类别无关的视图合成,
  2. 与看不见的类别和多个对象的Shapenet场景,其中需要几何先验而不是识别,以及域转移到真实的汽车照片
  3. 来自DTU MVS数据集[14]的真实场景

Baselines

对于ShapeNet基准,我们定量和定性地与SRN[40]和DVR[28]进行比较,这是目前最先进的少镜头新视图合成和二维监督单视图重建。我们使用了DVR的二维多视图监督变体。在类别不可知的设置(5.1.2)中,我们还包括了对SoftRas[21]结果的灰度渲染。1在使用多个形状网对象的实验中,我们与SRN进行了比较,它也可以模拟整个场景。

Metrics

我们报告了所有评估的标准图像质量指标PSNRSSIM[57]。我们还包括了LPIPS[54],除了在特定类别的设置中,所有的评估都更准确地反映了人类的感知。在这种情况下,我们完全遵循SRN[40]的协议,以保持与之前的工作[41,50,9,8,44]相似,因为其源代码不可用。

Implementation Details

对于图像编码器E,为了有效地捕获局部和全局信息,我们从图像中提取了一个特征金字塔。我们使用在ImageNet上预先训练过的ResNet34主干来进行实验。前4个池化层之前提取特征,使用双线性插值进行上采样,并连接形成与每个像素对齐的大小为512的潜在向量。

为了将一个点对应的图像特征合并到NeRF网络f中,我们选择了一个具有残差调制的ResNet架构而不是简单地将特征向量与点的位置和视图方向连接起来。具体来说,我们通过网络输入编码的位置和视图方向,并在每个ResNet块的开始处添加图像特征作为残差。我们为每个块残差训练一个独立的线性层,其方式类似于AdaIn和 SPADE[13,30],这是一种以前在[25,28]中成功使用的方法。详情请参阅补充资料。

5.1. ShapeNet Benchmarks

我们首先在ShapeNet上评估了特定类别和类别不可知视图综合任务的方法

5.1.1 Category-specifific View Synthesis Benchmark特定于类别的视图综合基准测试

我们使用[40]中引入的协议和数据集,ShapeNet的“椅子”和“汽车”类进行一次和两次视图合成。该数据集包含6591把椅子和3514辆汽车,并跨对象实例进行预定义分割。所有图像的分辨率都是128×128。

针对每个对象类训练单个模型每个对象实例有50个随机视图,随机抽取一个或两个训练视图进行编码。对于测试,我们为对象实例的测试集中的每个对象在一个阿基米德螺旋 Archimedean spiral上使用251个新视图,并固定1-2个信息视图作为输入。我们在表2中报告了我们与最先进的基线相比的性能,并在图4中显示了选定的定性结果。我们还包括了在[40]中报告的基线TCO[41]和dGQN[9]的定量结果,以及最近工作中ENR[8]和GRF[44]中可用的值。

 表2:特定类别的1和2视图重建。标记为*的方法在测试时不需要规范的姿态。在所有情况下,每个类别都训练一个模型,并用于1视图和2视图评估。注意,ENR是一个只有1个视图的模型

 

图4:特定于类别的2个视图重建基准测试。我们为每个模型提供了两个视图(左),并在每种情况下显示了两个新的视图渲染图(右)。也请参见表2。

PixelNeRF尽管解决了一个比SRN更困难的问题,但仍取得了明显优越的结果,因为我们:1)使用前馈预测,没有测试时间优化,2)在测试时间不使用地面真实绝对相机姿态,3)使用视图而不是规范空间。

消融。在表3中,我们展示了在模型中使用局部特性和视图方向的好处。对于单视图和双视图设置,将NeRF网络设置为像素对齐的局部特征,而不是全局代码(−Local vs Full),可以显著提高性能提供查看方向(−Dirs vs Full)也提供了一个显著的提升。对于这些消融,我们遵循了一个简短的评估协议,在ShapeNet的椅子上,使用了25个关于阿基米德螺旋的新观点。

表3:ShapeNet椅子重建的消融研究。我们展示了使用局部特性而不是全局代码来调节NeRF网络(−Local vs Full),以及向网络提供视图方向(−Dirs vs Full)的好处

5.1.2 Category-agnostic Object Prior 类别-不可知的对象先验

虽然我们在最简单的特定类别基准中发现比基线有明显的改进,但我们的方法绝不局限于它。我们在表4图5中显示,我们的方法在[21,28]的类别不可知设置中提供了一个更大的优势我们训练一个单一模型到ShapeNet的13个最大类别。有关随机抽样的结果,请参阅补充资料。

我们遵循多个ShapeNet类别[28,16,21]的2d监督方法的社区标准,并使用Kato等人[16]的渲染和分割,为每个对象实例提供64×64分辨率的24个固定立面视图在训练和评估过程中,选择一个随机视图作为每个对象的输入视图,并在所有基线中共享。其余的23个视图被用作计算度量的目标视图(请参见5)。

表4:类别不可知的单视图重建。给出了类别不可知论观点综合的定量结果,并详细分类。我们的方法在所有类别中都显著地优于最先进的方法 

图5:类别不可知的单视图重建。超越SRN基准,我们训练一个单一模型到13个最大的ShapeNet类别;我们发现,与一系列强基线相比,我们的方法产生了更好的视觉结果。特别是,该模型更有效地恢复精细细节和细结构,即使是离群形状。很明显,显示器上的图像和桌面纹理被准确地再现;将场景表示为单个潜在向量的基线不能保留输入图像的这些细节。在这种情况下,SRN的测试时间潜在反演也变得不那么可靠了。相应的定量评价结果见表4。由于空间的限制,我们在这里展示具有有趣属性的对象。抽样结果请参见补充资料。

5.2. Pushing the Boundaries of ShapeNet突破ShapeNet的边界

在控制较少的捕获场景中进行重建,我们在三个更具挑战性的设置中对ShapeNet数据进行实验:1)看不见的对象类别2)多对象场景3)模拟到汽车图像上的真实传输。在这些情况下,成功的重建需要几何先验;仅凭识别或检索是不够的。

Generalization概括 to novel categories.

我们首先的目标是重建在训练中没有看到的ShapeNet类别。与前一节中描述的更标准的类别不可知论任务不同,仅使用语义信息就不可能使用这种泛化。表5图6的结果表明,我们的方法学习内在的几何和外观先验,即使对于与训练中看到的物体完全不同,也是相当有效的。

表5:针对具有挑战性的ShapeNet任务的图像质量指标。(左)仅在飞机、汽车和椅子上训练的模特的10个未知类别的平均指标。按类别分类,请见补充说明。(右)对带有多个ShapeNet椅子的场景的双视图重建的平均指标。 

图6:对看不见的类别的泛化。我们评估了一个在10个看不见的ShapeNet类别上的飞机、汽车和椅子上训练的模型。我们发现,即使在这种困难的情况下,该模型也能够综合出合理的观点。

我们松散地遵循[55,?]零射击交叉重建的协议。请注意,我们的基线[40,28]在此设置下没有进行评估,为了进行比较,我们对它们进行了调整。我们在飞机、汽车和椅子类别上进行训练,并在训练过程中未见过的10个类别上进行测试,继续使用5.1.2中描述的Kato等人的效果图。

Multiple-object scenes

我们进一步对多个随机放置和定向的ShapeNet椅子的场景进行了少镜头360◦重建。在这种情况下,网络不能仅仅依赖语义线索来进行正确的对象放置和完成。网络学习到的先验必须适用于任意坐标系。我们在图7表5中显示,我们的公式允许我们在这些简单的场景上表现良好,而不需要额外的设计修改。相比之下,SRN在一个规范的空间中建模场景,并在保留的场景中挣扎。

图7:360◦视图与多对象的视图预测。我们展示了我们的方法与SRN比较的定性结果。我们很容易处理这个设置,因为我们的预测是在视图空间中完成的;相反,SRN在规范空间中进行预测,并努力处理无法以这种方式对齐的场景。 

表5:针对具有挑战性的ShapeNet任务的图像质量指标。(左)仅在飞机、汽车和椅子上训练的模特的10个未知类别的平均指标。按类别分类,请见补充说明。(右)对带有多个形状网椅子的场景的双视图重建的平均指标。

我们生成由在半球随机采样的20个视图组成的训练图像,并渲染由保留的椅子实例测试集组成的测试图像,其中50个在阿基米德螺旋上采样的视图。在训练过程中,我们随机编码两个输入视图;在测试时,我们在比较方法中修复两个信息视图。在补充文件中,我们提供了来自数据集的示例图像,以及额外的定量结果和与不同数量的输入视图进行的定性比较。

Sim2Real on Cars.

我们还探索了pixelNeRF在来自斯坦福汽车数据集[18]的真实图像上的性能。我们直接应用5.1.1中的车型,没有任何微调。如图8所示,在合成数据上训练的网络可以有效地推断出真实汽车的形状和纹理,这表明我们的模型可以转移到合成域之外。

从单个视图合成360◦的背景是很重要的,并且超出了这项工作的范围。在这个演示中,我们使用了现成的指针端[17]分割模型来去除背景。

5.3. Scene Prior on Real Images

最后,我们证明了我们的方法适用于DTU MVS数据集[14]中的真实场景上的少镜头宽基线新视图合成。在这个数据集上学习视图合成的先验带来了重大挑战:它不仅包含更复杂的场景,场景之间没有明显的语义相似性,而且还包含场景之间不一致的背景和照明以下有100个场景可供训练。我们发现,在MVSNet[53]中引入的标准数据分割包含了训练集和测试集场景之间的重叠。因此,为了我们的目的,我们使用了88个训练场景和15个测试场景的不同分割,其中两组之间没有共享或高度相似的场景。图像被降采样到400×300的分辨率。

我们通过编码一个场景的3个随机视图,在所有的训练场景中训练一个模型。在测试期间,我们选择一组跨所有实例共享的固定信息输入视图。我们在图9中显示,我们的方法可以对保留的测试场景进行视图合成。我们进一步定量地比较了我们的前馈模型与图10中相同的输入视图集优化的NeRF的性能。请注意,每个60个nerf的训练都需要14个小时;相比之下,pixelNeRF可以立即应用于新的场景,而没有任何测试时间优化。

图9:在真实图像数据集上的宽基线新视图合成。我们在DTU MVS数据集[14]中训练我们的模型到不同的场景。也许令人惊讶的是,即使在这种情况下,我们的模型也能够以合理的质量推断出新的保留场景,而无需进一步的测试时间优化,所有这些都只来自三个视图。请注意,训练/测试集不共享任何重叠的场景 

图10:少镜头前馈DTU重建的PSNR。我们给出了DTU上的PSNR的分位数,并给出了1、3、6或9个输入视图。每个场景和输入视图的数量都训练单独的nerf,而我们的方法只需要一个训练3个编码视图的模型。

6.Discussion

我们已经提出了pixelNeRF,一个框架来学习一个场景prior从一个或几个图像来重建nerf。通过广泛的实验,我们已经确定,我们的方法可以成功地应用于各种设置。我们解决了NeRF的一些缺点,但仍有一些挑战有待探索:1)像NeRF一样,我们的渲染时间很慢事实上,当给定更多的输入视图时,我们的运行时呈线性增加。此外,一些方法(例如[28,21])可以从图像中恢复网格,从而实现之后的快速渲染和操作,而基于nerf的表示 不能非常可靠地转换为网格。提高NeRF的效率是一个能够实现实时应用的重要研究问题。2)和在普通的NeRF中一样,我们手动调整了射线采样边界tn、tf和位置编码的比例使nerf相关的方法尺度不变是一个关键的挑战。3)虽然我们已经在来自DTU数据集的真实数据上演示了我们的方法,但我们承认该数据集是在受控设置下捕获的,并且在有限视点的所有场景中都有匹配的摄像机姿态。最终,我们的方法受到了大尺度宽基线多视图数据集的可用性的瓶颈,限制了对诸如ShapeNet和DTU等数据集的适用性在野外学习360◦场景的一般经验是未来工作的一个令人兴奋的方向。

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值