选自 arXiv
作者:Kara-Ali Aliev、Dmitry Ulyanov、Victor Lempitsky
机器之心编译
近日,三星的三维研究人员开发出了一种「实时真实图片神经渲染器」的模型。这一模型可以渲染新颖视角的复杂场景图像。而使用的数据是原始的点云,将其作为几何代理特征,而且不需要网格化。
渲染图像的流程如下:首先使用普通的摄像机扫描目标,使用普通的软件(如 Agisoft Metashape)生成 3D 点云,将点云和视频输入神经网络,这样就可以渲染目标图片了。在推断过程中只需要点云和学习到的描述器。
算法的核心是一个 8 维的描述器(descriptor),从云中的每个点上进行学习,而不是常见的 3 维 RGB 色彩。神经网络渲染器解释这个描述器,并输出 RGB 图像。研究人员在 Scannet 数据集上训练了这个网络,提升模型的泛化能力。
渲染的效果如下:
主要思想
有了一些 RGB 图像后,研究人员首先重建了一幅粗糙的点云图像。他们使用的是经典的「从运动中建立结构」(SfM)和「多视角立体」(MVS)算法。
对于点云中的每一个点,我们将其和一个小的 N-维描述器(类似于 3 维的颜色描述器)联系起来。然后,研究人员将描述器映射到虚拟相机中,使用 SfM 进行预估(这和带颜色的点云映射到相机类似),并将这些映射输入到 ConvNet 中。ConvNet 可以学习到相关的特征,并根据视角渲染对应的场景。在学习过程中,ConvNet 和描述器一起学习,用于减少渲染图像和实际图像之间的差异。
训练过程中,研究人员将从多场景中学习 ConvNet,并泛化到其它场景中。在测试过程中,对于未见的 RGB(D) 图像,他们重复训练流程,但是会固定 ConvNet 的权重,只优化点云描述器。有了描述器和训练好的网络,模型就可以从各种各样的视角渲染新场景。
图 1:给定从 RGBD 图像中生成的点云(顶部),这一算法可以为每个点学习神经描述器(伪色处理后的 3D 点云图像,在中间一行),而神经渲染网络可以将栅格化的点描述器映射成真实图像(底部)。
方法
如下是系统的简要细节。首先我们需要理解如何在给定点云的情况下通过神经描述器和学习到的渲染网络渲染新的视图。之后,我们还需要理解学习过程,以及学习系统对新场景的适应性。
图 2:系统总体结构的概念,它会给 3D 点云「上色」,并通过神经网络生成渲染结果。
具体而言,如上所示模型会在给定点云 P、神经描述器 D 和相机参数 C 的情况下估计方向的视角。然后将神经描述器级联视角方向而作为伪色,从而用 z-buffer 光栅化这些点。这种光栅化的点云随后可以通过渲染网络而获得输出结果。通过反向传播优化渲染网络的参数与神经描述器,研究者的新模型能适应于新场景。
实验细节
研究者的模型基于流行的 U-Net 架构,它带有 4 个降采样和升采样的模块。研究者发现门控卷积提升了模型在稀疏输入数据上的性能,所以模型中用门控卷积代替了一般的卷积运算。
因为研究者使用 U-Net 作为渲染网络,并学习到了丰富的点云特征,因此他们能使用更少参数量的轻量级网络。因此最终模型卷积层的通道数只是原始架构的 1/4,只包含 1.96M 的参数量。这样的轻量级网络允许我们实时渲染图像,具体而言在 GeForce RTX 2080 Ti 上渲染 1296x968 的图像只需要 50ms。
图 3:「Studio」数据集上的对比结果。研究者展示了纹理网格、有色点云、三种神经渲染系统(包括研究者)的结果以及 ground truth 图像。论文提出的基于点云神经描述器的系统可以成功地重现网格划分中较为困难的细节,并且与 Direct RenderNet 系统相比模糊度更小。
图 4:「LivingRoom」数据集上的对比结果,细节展示格式与图 3 相同。
表 1:感知损失(越低越好)、PSNR(峰值信噪比,越高越好)和 SSIM(自相似性度量,越高越好)的对比结果。标注有「∗」的方法已经在 hold-out 场景数据集上进行了预训练。在大多数情况下,该方法变体的效果优于基准方法。
图 5:「Plant」数据集上的对比结果,细节展示格式与图 3 相同。
图 6:「Shoe」数据集上的对比结果,细节展示格式与图 3 相同。与其他三个场景数据集不同,该场景的几何结构更适合网格表征,并且基于网格的渲染表现相对更好。论文提出方法的效果也优于 Direct RenderNet 基准方法。
对比结果
不同方法对比的定量结果参见表 1。所有的对比都是在验证集上进行,其中研究者将产生的图像与 ground truth RGB 图像进行了对比。他们展示了不同方法在这些子集上的损失值(注意这种比较是有效的,因为大多数方法都在训练集上对同一损失进行优化)。
研究者还展示了峰值信噪比(PSNR)和自相似性度量(SSIM)。他们还在图 3 至图 6(显示点云)的验证集框中展示了不同方法的定性对比结果。
总的来说,定量和定性对比结果都显示出了使用点云作为几何代理的优势。所以,网格+纹理和网格+RenderNet 的效果不如所有使用点云的方法。但是 Shoe 场景是一个例外,该场景下的网格生成效果非常好。
但在其他所有场景下,有部分场景的网格生成(BundleFusion 或 Metashape)失败了,导致渲染出现重大错误。定性结果揭示了尤其会在体积较小物体上出现的此类网格生成失败情况(如图 3 中的自行车细节或图 5 中的植物叶子)。
研究者还观察到,基于点云神经描述器的系统要比通常的 RenderNet 等直接渲染的方法更好。这些直接渲染的方法可能并没有描述器。一般而言,对比直接的基线方法(显得模糊且会丢失细节),这种相机位置的单帧质量要好得多。当然,单帧质量的提升是以增加时间闪烁为代价的。