Abstract
动态三维场景的建模与再现是三维视觉领域的一个具有挑战性的课题。先前的方法基于 NERF 并依赖于隐式表示这是缓慢的,因为它需要许多 MLP 评估,限制真实世界的应用程序。我们展示了动态三维场景可以明确地表示为六个平面的学习功能,导致一个优雅的解决方案,我们称为 Hex刨面。一个 Hex刨面通过融合从每个平面提取的向量来计算时空点的特征,这是非常有效的。通过微小的 MLP 配对一个 HexPlann 来回归输出颜色,并通过立体渲染进行训练,可以在动态场景中获得令人印象深刻的新视图合成效果,与之前工作的图像质量相匹配,但减少了100多倍的训练时间。广泛的消融证实了我们的 Hex刨设计,并表明它是健壮的不同的特征融合机制,坐标系统和解码机制。Hex刨是一个简单而有效的四维体量表示方案,我们希望它能够为动态三维场景的时空建模做出广泛的贡献
图1。用于动态三维场景的 Hex刨面。我们没有从深度 MLP 中回归颜色和不透明度,而是通过 HexPlann 显式地计算时空点的特征。配对一个微小的 MLP,它允许以上100倍加速匹配的质量。
1. Introduction
从一组二维图像中重建和再现三维场景是一个核心视觉问题,它可以实现多种 AR/VR 应用。最近几年,在重建静态场景方面取得了巨大的进展,但这种假设是有限的: 真实世界是动态的,在复杂的场景中,运动是常态,而不是例外。目前许多表示动态3D 场景的方法依赖于内隐表示,建立在 NeRF的基础上。他们训练一个大型多层感知器(MLP) ,输入点在空间和时间中的位置,并输出点的颜色[28,29]或变形到规范的静态场景。在这两种情况下,从新视图渲染图像是昂贵的,因为每个生成的像素需要许多 MLP 评估,训练同样缓慢,需要多达数天的 GPU 时间来建模一个单一的动态场景; 这种计算瓶颈阻碍了这些方法的广泛应用。
最近的几种静态场景建模方法已经通过显式和混合方法在 NeRF 上展示了巨大的加速效果。这些方法使用显式的空间数据结构来存储显式的场景数据或由微小 MLP 解码的特征。这使模型的容量与速度分离,并允许实时渲染高质量的图像。虽然有效,这些方法迄今为止只应用于静态场景。
本文在静态场景研究的基础上,设计了一种动态三维场景的显式表示方法。为此,我们设计了一个存储场景数据的时空数据结构。它必须克服两个关键的技术挑战。首先是内存使用情况。我们必须在空间和时间上对所有点进行建模,在密集的4D 网格中简单地存储数据将按照网格分辨率的第四次方进行扩展,这对于大场景或长时间的场景是不可行的。其次是稀疏的观察。在静态场景中移动单个摄像机可以获得密集覆盖场景的视图; 相反,在动态场景中移动摄像机每个时间步只能获得一个视图。独立处理时间步骤可能会给高质量重建提供不足的场景覆盖,因此我们必须跨时间步骤共享信息。
我们克服了这些挑战,我们的新颖的 Hex刨架构。受到静态场景的分解表示[5,7,51]的启发,HexFlight 将4D 时空网格分解为跨越每对坐标轴(例如 XY,ZT)的六个特征平面。六维平面计算时空中一个4D 点的特征向量,方法是将该点投影到每个特征平面上,然后将得到的六个特征向量聚合在一起。然后将融合特征向量传递给一个微小的 MLP,MLP 预测点的颜色,然后可以通过立体渲染来呈现新的视图。尽管 Hex刨简单,但它为上述挑战提供了一个优雅的解决方案。由于它的分解表示,一个 HexPlanes 的内存占用只能按照场景分辨率的二次规模进行调整。此外,每个平面的分辨率可以独立调整,以考虑到场景需要在空间和时间上的可变容量。由于有些平面只依赖于空间坐标(例如 XY) ,HexPlane 通过构造鼓励跨不相交的时间步长共享信息。
实验结果表明,Hex刨面是一种有效的动态场景新视点合成方法。在具有挑战性的全光视频数据集[28]上,我们匹配了先前工作的图像质量,但将训练时间提高了 > 100倍; 我们还在单目视频数据集上优于先前的方法[54]。广泛的消融验证了我们的 Hexlane 设计,并且证明了它对不同的特征融合机制、坐标系统(矩形对球形)和解码机制(球谐函数对 MLP)都有很强的鲁棒性。Hex刨是动态场景的一种简单、明确和通用的表示形式。它对下面的场景做了最小的假设,并且不依赖于变形场或特定类别的先验。除了改进和加速视图合成之外,我们希望六平面能够在动态场景的广泛研究中发挥作用[61]。
2. Related Work
Neural Scene Representations.
利用神经网络隐式表示三维场景近年来取得了令人兴奋的进展。NeRF [42]及其变体[2,3,40,44,69,71,80,87]在新视图合成[9,75,82,94]以及包括3D 重建[38,67,85,89,95]、语义分割[25,55,93]、生成模型[5,6,10,45,58,77]和3D 内容创建[1,22,30,48,53,72,86]等许多其他应用方面显示出令人印象深刻的结果。
隐式神经表示具有显著的渲染质量,但是由于每个像素需要大量昂贵的 MLP 评估,它们的渲染速度较慢。为了应对这一挑战,许多最近的论文提出了混合表示法,将快速显式场景表示与可学习的神经网络组件相结合,提供了比纯隐式方法更显著的加速效果。已经研究了各种明确的表示,包括稀疏体素[14,34,59,66] ,低秩分量[5,7,31,51] ,点云[4,21,79,92,96]和其他[8,36,43,68,90]。然而,这些方法假设静态的3D 场景,留下显式的表示动态场景未被探索。本文提供了一个动态场景的显式模型,实质上加速了依赖于完全隐式方法的先验方法。
Neural Rendering for Dynamic Scenes.
通过神经辐射场来表示动态场景是 NeRF 的一个重要扩展,使得许多实际应用成为可能[27,47,52,65,78,84,91]。一项研究通过扩展带有额外时间维度(T-NeRF)或额外潜伏代码的 NERF 来表示动态场景[16,28,29,76]。尽管能够代表一般类型的变化,他们遭受严重的限制问题,需要额外的监督,如深度,光流或密集的观察体面的结果。另一条研究路线使用单个 MLP 来表示变形场和规范场[11,49,50,54,70,83] ,其中规范场描绘静态场景,变形场随着时间学习到规范空间的坐标图。我们提出了一个简单而优雅的解决方案的动态场景表示使用六个特征平面,对底层场景作出最小的假设。最近,MAV3D [61]采用了我们的文本到4D 的动态场景生成设计,展示了超越重建的动态场景的令人兴奋的方向。
Accelerating NeRFs
在不同的阶段,人们提出了许多加速 NeRF 的工作。有些方法通过优化计算来提高训练后的 NeRFs 的推理速度[18,20,56,81]。其他人通过学习一个可推广的模型来减少训练时间[9,24,74,75]。最近,通过使用显式-隐式表示,两个阶段的渲染速度大大降低[5,7,14,33,43,66]。根据这一思想,我们提出了一种动态场的显式表示来加速动态 NeRFs。
最近,一些并发的工作旨在加速动态 NeRFs。[12,15,19,32,73]使用时间件 MLP 从规范空间回归时空点的颜色或变形。然而,对于动态场,它们仍然是部分隐式的,因为它们依赖于具有时间输入的 MLP 来获得时空特征。相比之下,我们的文章提出了一个更优雅和有效的显式表示动态领域没有使用时间感知 MLP。像[26]一样,NeRFPlayer [64]在每个步骤中使用高度紧凑的3D 网格进行4D 字段表示,这导致了长视频的大量内存成本。
Tensor4D [60]与我们的想法相似,它用9个平面和多个 MLP 表示动态场景。DTensoRF [23]将动态场看作是5D 张量,并对它们进行 CP/MM 分解以实现紧致表示。我们的文章是最密切相关的 K 平面[13] ,它也使用六个特征平面的表示。
图2。方法概述。Hex刨包含六个特征平面,跨越每对坐标轴(例如 XY,ZT)。为了计算时空点的特征,它将从配对平面中提取的特征向量相乘,并将相乘的结果连接成一个向量,然后再乘以 VRF 得到最终的结果。使用微小 MLP 从点特征回归 RGB 颜色,并通过体绘制合成图像。通过渲染图像和目标图像之间的光度损失训练六平面和 MLP。
3. Method(见手写稿)
给定一组动态场景的姿态和时间戳图像,我们的目标是拟合一个场景模型,允许在新的姿态和时间渲染新的图像。像 NeRF [42]一样,模型为时空中的点提供颜色和不透明度; 图像通过沿射线的可微体绘制呈现。该模型使用渲染图像和地面真实图像之间的光度损失进行训练。
我们的主要贡献是提出了一种新的动态三维场景的显式表示方法,并结合一种小型隐式 MLP 算法来实现动态场景中的新视图合成。利用输入时空点有效地查询特征向量的显式表示。一个微小的 MLP 接收特征以及点坐标和视图方向,并回归点的输出 RGB 颜色。图2显示了模型的概述。
设计一个动态3D 场景的显式表示是具有挑战性的。静态3D 场景通常由点云、体素或网格来建模,而动态场景的显式表示则不然。我们展示了如何通过简单的 Hex刨面表示来克服内存使用和稀疏观测的关键技术挑战。
3.1. 4D Volumes for Dynamic 3D Scenes
3.2. Linear Basis for 4D Volume
3.3. HexPlane Representation
3.4. Optimization
更新两种分解方法(TensoRF中所阐述)---------2024/7/5