作者 | 李慢慢
编辑 | 李慢慢
出品 | 车路漫漫
大家好,我是李慢慢。
最近三维重建领域又出现一个新技术:4DGS,即4D高斯泼溅。本文来简单说下它的来龙去脉。 看这篇文章前,大家需要先看下另一篇3DGS的介绍文《自动驾驶仿真-详解3DGS场景重建技术-从基本原理到落地应用》,打打基础。
这里要提到两篇2024年发布的论文:一篇来自华中科技大学,一篇来自复旦大学。想要学习理论甚至想要使用代码的小伙伴,估计得好好啃啃这两篇论文以及他们家开源的代码。想看大白话的请直接跳过本章节。
论文名称:4D Gaussian Splatting for Real-Time Dynamic Scene Rendering
发表处:CVPR 2024
仓库链接:https://guanjunwu.github.io/4dgs/
摘要翻译:
动态场景的表示与渲染一直是一项重要但具有挑战性的任务。特别是,要精确建模复杂运动,往往难以保证高效性。为了实现实时动态场景渲染,同时兼顾较高的训练和存储效率,我们提出了 4D 高斯溅射(4D-GS)作为动态场景的整体表示方法,而非对每一帧单独应用 3D-GS。
在 4D-GS 中,我们提出了一种包含 3D 高斯和 4D 神经体素的新型显式表示。受 HexPlane 启发,我们设计了一种分解式神经体素编码算法,可从 4D 神经体素中高效构建高斯特征,随后通过一个轻量级多层感知机(MLP)预测新时间戳下的高斯形变。
我们的 4D-GS 方法能够在高分辨率下实现实时渲染:在 RTX 3090 GPU 上,800×800 分辨率下可达 82 帧 / 秒,同时保持了与现有最先进方法相当或更优的质量。
论文名称:Real-time Photorealistic Dynamic Scene Representation and Rendering with 4D Gaussian Splatting
发表处:ICLR 2024
仓库地址:https://fudan-zvg.github.io/4d-gaussian-splatting/
摘要翻译:
从二维图像重建动态三维场景并随时间生成多视角图像,由于场景的复杂性和时间动态性,一直是一项具有挑战性的任务。尽管神经隐式模型已取得一定进展,但仍存在以下局限:(1)场景结构刻画不足:现有方法通过直接学习复杂的六维全光函数,难以充分揭示动态场景的时空结构;(2)形变建模扩展性受限:对于复杂动态场景,对场景元素的形变进行显式建模往往难以实现。
为解决这些问题,我们将时空视为一个整体,提出通过优化一组四维基元(4D primitives)来逼近动态场景的底层时空四维体,并对其几何和外观进行显式建模。通过学习优化这些四维基元,结合我们定制的渲染流程,能够在任意指定时间合成新视角图像。
我们的模型概念简洁,包含由各向异性椭圆参数化的四维高斯(4D Gaussian)—— 这些椭圆可在空间和时间中任意旋转,以及由四维球柱谐波系数表示的视角相关且随时间演化的外观。该方法兼具简洁性、对可变长度视频的适应性、端到端训练能力以及高效的实时渲染性能,适用于捕捉复杂动态场景的运动。在包括单目和多视角场景在内的多个基准测试中,实验结果表明我们的 4DGS 模型在视觉质量和效率上均表现优异。
4DGS (4D Gaussian Splatting,即4D高斯泼溅)是一种能同时记录空间和时间信息的技术。输入是一段视频(单目或多视角拍摄的连续画面)。它能把视频里的动态场景变成带时间属性的 4D 高斯基元,这些 “小椭球单元” 能描述物体在不同时间的形状、位置和样子。用它可以实时生成场景任意时间、任意角度的画面,还能预测物体接下来的运动,适合还原车祸过程、监控交通动态等需要时空信息的场景。
编者语:想象一下,你有一个你小时候的一段视频,你现在可以把这个视频喂给4DGS,然后就可以得到一个新的视频,在这个视频里,你可以随意控制自己观察这个视频画面的视角(就像是穿越到了的小时候的那片时空),你甚至能修改里面的一些元素(就像是在修改历史)。
4DGS通常是指4D Gaussian Splatting,是一种高效动态场景建模与渲染技术。3DGS是指3D Gaussian Splatting,是一种三维场景重建和渲染技术。以下是具体介绍以及二者的区别:
应用场景:3DGS主要用于静态场景的重建和渲染。4DGS则专注于动态场景,它在3DGS的基础上引入了时间维度,能够表示和渲染随时间变化的场景,可用于重建动态三维场景并生成任意时间的多视角图像。
技术原理:3DGS通过3D高斯函数表示场景点,对3D高斯函数执行交错优化/密度控制,利用快速可微渲染器实现渲染。4DGS则通过构建高效的高斯变形场网络来表示高斯运动和形状变化,包含时空结构编码器和多头高斯变形解码器,只维护一组规范的3D高斯,通过变形场将其变换到不同时间戳的新位置和新形状,以实现动态场景渲染。
渲染效果:3DGS可实现静态场景的高质量渲染,提升渲染速度。4DGS不仅能达到高质量渲染,还能在动态场景上实现实时渲染,例如在合成数据集上分辨率为800×800时可达到82FPS,在真实数据集中分辨率为1352×1014时达到30FPS。
技术 | 输入 | 输出 |
3DGS | 静态场景的多视角图像(同一物体/场景从不同角度拍摄的照片) | 静态场景的三维模型;任意新视角的静态图像渲染结果 |
4DGS | 动态场景的多视角视频(连续多帧、不同角度拍摄的动态画面) | 包含时间维度的4D动态场景模型;任意时间点、任意新视角的动态图像渲染结果;动态物体的运动预测 |
4、4DGS怎么应用于自动驾驶领域呢?
自动驾驶需要实时理解周围环境的空间结构(如车道、障碍物位置)和时间动态(如行人运动轨迹、车辆速度)。4DGS可通过多传感器(摄像头、激光雷达)的时序数据,构建“空间+时间”的4D动态体:
实时重建:将连续帧的图像/点云数据融合为4D高斯基元集 合,精确建模车辆、行人、骑行者等动态目标的形状、位置及运动状态(如车辆的平移、转向,行人的步态变化)。
时空预测:基于学习到的4D动态模式,预测未来几秒内目标的运动轨迹(如判断前方车辆是否会变道、行人是否会横穿马路),为决策系统提供关键依据。
自动驾驶车辆通常配备多个环视摄像头和激光雷达,但受限于传感器视角(如车辆后方、障碍物遮挡区域),存在感知盲区。4DGS可通过:
多视角时序融合:将不同时刻、不同视角的观测数据(如前视摄像头的连续帧、侧视摄像头的同步数据)统一到4D时空框架中,生成全局一致的动态场景表示。
盲区插值:对于未被传感器直接观测的区域(如被货车遮挡的行人),利用4D高斯的时空连续性,通过邻近时刻和视角的信息“补全”盲区的动态目标状态,减少感知漏检。
自动驾驶算法需要在大量场景中验证安全性,而真实路测成本高、覆盖场景有限。4DGS可用于:
动态场景生成:从真实道路视频中重建4D动态场景后,通过调整4D高斯的参数(如改变车辆速度、行人运动方向),生成多样化的虚拟动态场景(如突发横穿的行人、紧急刹车的车辆)。
实时渲染虚拟环境:4DGS支持高分辨率实时渲染,可快速生成虚拟测试场景的任意视角图像,用于模拟器中训练自动驾驶模型(如端到端的驾驶策略学习)。
4.4、传感器降级时的鲁棒感知
在极端天气(暴雨、大雾)或传感器故障(摄像头模糊、激光雷达点云稀疏)时,传统三维感知方法(如3D目标检测)性能会大幅下降。4DGS的优势在于:
显式参数化:4D高斯的几何(位置、形状、旋转)和外观(颜色、反射率)参数可被单独优化,即使部分传感器数据噪声较大,也能通过其他视角的时序信息修正,维持场景感知的稳定性。
高效抗噪性:相比纯神经网络的隐式表示,4D高斯的显式结构更易处理缺失数据,通过插值补全噪声或遮挡区域的动态信息。
自动驾驶对系统延迟要求极高(通常需在几十毫秒内完成感知与决策)。4DGS的高效渲染和轻量化特性使其适合车载部署:
无需复杂的体渲染采样(如神经辐射场NeRF的光线投射),4D高斯的光栅化渲染可在GPU上实现实时帧率(如RTX 3090上800×800分辨率下82 FPS),满足低延迟需求。
相比点云或网格模型,4D高斯的参数集 合(位置、尺度、旋转等)存储效率更高,可减少车载内存占用,适合边缘计算场景。
尽管潜力显著,4DGS在自动驾驶中的应用仍需解决:
综上,4DGS通过对动态场景的“时空联合建模+高效实时渲染”,有望成为自动驾驶感知与仿真的关键技术,尤其在动态目标预测、盲区补全和虚拟测试场景中发挥重要作用。
以上,本文完。