【动态三维重建】4D Gaussian Splatting 用于动态场景重建(CVPR 2024)

本文提出4DGaussianSplatting,通过结合三维高斯分布和四维神经体素,实现实时动态场景的高效渲染。通过时空结构编码器和高斯变形场网络,模型在保持高质量的同时降低存储和训练成本。实验结果显示在高分辨率下,4D-GS在RTX3090上达到800×800分辨率的82FPS,且适用于合成和真实场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目4D Gaussian Splatting for Real-Time Dynamic Scene Rendering
项目:https://guanjunwu.github.io/4dgs/
论文:https://arxiv.org/pdf/2310.08528v2.pdf
来源:华中科技大学;华为


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档


摘要

  动态场景的表示和渲染一直是一项重要但具有挑战性的任务。特别是为了精确地模拟复杂的运动,通常很难保证高效率。为了实现实时动态场景渲染的同时,具有较高的训练和存储效率,我们提出了4D Gaussian Splatting(4D-GS)作为动态场景的整体表示,而不是对每个帧应用3D-GS。在4D-GS中, 提出了一种新的同时包含三维高斯分布和四维神经体素的显式表示方法 。提出了一种基于HexPlane(六平面)的分解神经体素编码算法,可以有效地从四维神经体素中构建高斯特征,然后应用轻量级MLP来预测新时间戳下的高斯变形。4D-GS方法在高分辨率下实现实时渲染(RTX 3090 GPU上以800×800分辨率拍摄82帧),同时保持更好质量。
  


提示:以下是本篇文章正文内容,下面案例可供参考

一、前言

  新视角合成(NVS)是3D视觉领域的一项关键任务,目标是从任何期望的视点或场景的时间戳渲染图像,通常需要从几个2D图像精确地建模场景。动态场景在真实场景中非常常见,渲染很重要,但具有挑战性,因为复杂的运动需要用空间和时间上的稀疏输入来建模

   NeRF [22]通过使用隐函数表示场景,合成新的视图,利用体渲染技术[5]来连接二维图像和3D场景。然而,原始的NeRF方法需要承担很大的训练和渲染成本。虽然一些NeRF变体[4,6-8,23,34,36]将训练时间从几天减少到几分钟,但渲染过程仍然存在不可忽视的延迟

   最近的3D Gaussian Splatting(3D-GS)[14]通过将场景表示为3D高斯,显著地将渲染速度提高到实时水平。原始NeRF中繁琐的体渲染被高效的可微slats[46]所取代,它直接将三维高斯点投影到二维平面上。3D-GS不仅具有实时渲染速度,而且更明确地表示场景,使操作场景表示更容易.

  然而,3D-GS侧重于静态场景。将其扩展到动态场景是一个合理、重要但困难的主题。关键在于从稀疏输入中建模复杂的点运动 3DGS通过用类点高斯函数表示场景来保持自然几何先验。一种直接而有效的扩展方法是在每个时间戳[21]上构造三维高斯分布,但存储/存储成本会成倍增长,特别是对于长输入序列。我们的目标是在保持训练和渲染效率的同时构建一个紧凑的表示,即4DGS。 为此,我们提出用一个高效的高斯变形场网络来表示高斯运动和形状变化,其中包含一个时空结构编码器和一个极微小的多头高斯变形解码器只保持一组canonical 3DGS。对于每个时间戳,canonical 3DGS 将被高斯变形场转换为具有新形状的新位置。变换过程同时表示高斯运动和变形。需要注意的是,与每个高斯[21,44]的运动建模不同,时空结构编码器可以连接不同的相邻的三维高斯,以预测更准确的运动和形状变形。然后将变形的三维高斯按时间戳直接渲染图像。

  贡献如下:

1.对高斯 运动 和 形状随时间变化的建模,提出了一种高效的高斯变形场的4DGS框架。

2.提出了一种多分辨率编码方法,以连接附近的三维高斯特征,并利用一个高效的时空结构编码器构建丰富的三维高斯特征。

3.4D-GS实现动态场景的实时渲染:合成数据集下82FPS(分辨率800×800);真实数据集30FPS(分辨率1352×1014)

二、相关工作

2.1 动态神经渲染

  [3,22,48] 证明了隐式辐射场可以有效地学习场景表示和合成高质量的新观点。[24,25,28]挑战了静态假设,扩展了动态场景的新视角合成的边界。此外,[6]提出使用显式体素网格来建模时间信息,将动态场景的学习时间加速到半小时,并应用于[12,20,45]。所提出的规范映射神经渲染方法如图2 (a).所示[4,8,17,34,37]代表了通过采用分解的神经体素在快速动态场景学习方面的进一步进展。他们分别处理每个时间戳中的采样点,如图2 (b).所示[11,18,27,38,40,42]是处理多视图设置的有效方法。上述方法虽然实现了快速的训练速度,但对动态场景的实时渲染仍然具有挑战性,特别是对于单目输入。我们的方法旨在在图2.©中构建一个高效的训练和渲染管道,同时保持质量,即使是对稀疏的输入。

2.2 点云的神经渲染

   有效地表示3D场景仍然是一个具有挑战性的话题。该社区已经探索了各种神经表征[22],例如网格、点云[43]和混合方法。基于点云的方法[19,29,30,47]最初的目标是三维分割和分类。[1,43]中提出的一种具有代表性的渲染方法,将点云表示与体积渲染相结合,实现了快速的收敛速度。[15,16,31]采用差分点渲染技术进行场景重建。此外,3D-GS [14]以其纯显式表示和基于微分点的spalt方法而闻名,能够实时渲染新的视图。Dynamic3DGS[21]通过跟踪每个三维高斯分布在每个时间戳处的位置和方差来建模动态场景。利用显式表存储每个时间戳上的每个三维高斯数的信息,导致线性内存消耗增加,记为O(tN),其中N为三维高斯数量。对于长期的场景重建,存储成本将变得不可忽视。该方法的记忆复杂度仅取决于三维高斯函数的个数和高斯变形场网络F的参数,记为O(N + F)。[44]在原点三维高斯分布中加入一个边缘时间高斯分布,将三维高斯分布提升为4D。然而,它可能导致每个三维高斯分布只关注它们的局部时间空间。我们的方法也模拟了三维高斯运动,但与一个紧凑的网络,导致高效的训练

### 使用4DGS与Docker配置及使用 对于希望集成4D应用程序服务器(4D Server)并利用Docker容器化技术来简化部署流程的开发者而言,可以借助Testcontainers提供轻量级、可丢弃的实例环境[^1]。然而,针对特定于4D图形服务(4D Graphical Service, 4DGS),并没有直接提及通过官方渠道支持Docker镜像的信息。 为了实现4DGS与Docker的有效结合,建议采取如下方法: #### 创建自定义Dockerfile 由于缺乏现成的支持,创建一个基于Linux系统的Docker镜像成为必要选项之一。此过程涉及编写`Dockerfile`文件,在其中指定基础操作系统映像以及安装所需的软件包和服务,包括但不限于4D Server及其附加组件如4DGS。 ```dockerfile FROM ubuntu:latest # 安装必要的依赖项 RUN apt-get update && \ apt-get install -y software-properties-common && \ add-apt-repository ppa:4d/ppa && \ apt-get update && \ apt-get install -y 4d-server # 设置工作目录 WORKDIR /opt/4dserver/ # 将本地项目复制到容器内 COPY . . # 配置启动命令 CMD ["4ds", "start"] ``` 上述脚本仅为概念验证性质;实际应用时需根据具体需求调整路径和其他参数设置。 #### 利用Testcontainers进行测试 考虑到开发阶段频繁变更带来的挑战,采用Testcontainers作为辅助工具能够极大地方便单元测试和集成测试环节中的数据库或其他外部资源管理。虽然这里讨论的是通用场景下的实践指南,但对于探索如何更好地适配4DGS同样具有借鉴意义。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值