4D Gaussian Splatting
4D Gaussian Splatting реконструирует движущиеся сцены по видео в виде гауссиан, меняющихся со временем, и в реальном времени отображает сцену с любой точки обзора в любой момент.
4D Gaussian Splatting (4DGS) восстанавливает движущуюся сцену по видео, чтобы её можно было рендерить в реальном времени с новых ракурсов в любой момент. Метод развивает 3D Gaussian Splatting, в котором статичная сцена представлена миллионами мягких 3D-эллипсоидов, проецируемых и смешиваемых на экране: теперь эти гауссианы могут перемещаться, вращаться, менять форму и появляться или исчезать со временем. В октябре 2023 года две статьи представили это название для разных подходов. В статье 4D Gaussian Splatting for Real-Time Dynamic Scene Rendering Гуаньцзюнь У и его коллеги из Хуачжунского университета науки и технологий и Huawei (CVPR 2024) деформируют единый набор 3D-гауссиан с помощью обучаемого поля деформации. В статье Real-time Photorealistic Dynamic Scene Representation and Rendering with 4D Gaussian Splatting Цзэюй Ян и его коллеги из Фуданьского университета (ICLR 2024) используют собственные 4D-гауссианы, заданные в пространстве и времени. Оба метода предназначены для динамического синтеза новых ракурсов, который также часто называют видео со свободной точкой обзора.
Принцип работы 4D Gaussian Splatting#
Лучше всего подходят синхронизированные видео с камер, расположенных вокруг сцены. Например, набор данных Neural 3D Video, также называемый Plenoptic Video, содержит 10-секундные записи с частотой 30 FPS с 18–21 камеры; положения камер восстановлены методом Structure from Motion. Подойдёт и одна движущаяся камера, но с ней сложнее разделить глубину и движение. Обучение повторяет 3D-метод: сцену рендерят в заданный момент времени с одной обучающей камеры, сравнивают изображение с настоящим кадром видео и обновляют все параметры с помощью градиентного спуска через дифференцируемый рендерер. Подходы различаются тем, как они получают гауссианы для заданного момента времени:
- Поле деформации: У и соавторы используют один канонический набор 3D-гауссиан. Для каждой временной отметки компактная сетка обучаемых пространственных и временных признаков, разложенных на плоскости, как в HexPlane, предоставляет признаки для каждой гауссианы, а облегчённая MLP предсказывает величину её перемещения, вращения и растяжения. Метод рендерит 82 FPS при разрешении 800×800 на GPU RTX 3090.
- Собственные 4D-гауссианы: Ян и соавторы задают для каждой примитивной фигуры 4D-среднее и ковариацию по x, y, z и времени; 4D-вращение строится на основе пары кватернионов. Цвет меняется в зависимости от направления взгляда и времени с помощью 4D-сфериндрических гармоник, которые перемножают сферические гармоники с рядом Фурье по времени. В статье сообщается, что на тесте Neural 3D Video метод достигает 114 FPS против 36 FPS у подхода с полем деформации.
Сечение собственной 4D-гауссианы в момент времени t — это условное распределение Гаусса: если зафиксировать t, получится 3D-гауссиана со смещённым центром и уменьшенной ковариацией, а одномерное маргинальное распределение гауссианы по времени масштабирует её непрозрачность. Перед растеризацией пропускаются гауссианы, временной вес которых в момент t незначителен. Этот код на PyTorch извлекает сечения одной 4D-гауссианы для трёх временных отметок:
import torch
torch.manual_seed(0)
# One 4D Gaussian over (x, y, z, t): a mean and a covariance that couples position with time
mean = torch.tensor([0.0, 0.0, 0.0, 0.5])
factor = torch.randn(4, 4) * 0.3
cov = factor @ factor.T + 0.01 * torch.eye(4)
# Slicing at time t conditions the 4D Gaussian on t, leaving a 3D Gaussian to rasterize
for t in (0.1, 0.5, 0.9):
center = mean[:3] + cov[:3, 3] / cov[3, 3] * (t - mean[3])
cov_3d = cov[:3, :3] - torch.outer(cov[:3, 3], cov[3, :3]) / cov[3, 3]
# The temporal marginal fades the Gaussian in and out around its mean time
opacity_scale = torch.exp(-0.5 * (t - mean[3]) ** 2 / cov[3, 3])
print(f"t={t}: center {center.numpy().round(2)}, opacity x{opacity_scale:.2f}, volume {cov_3d.det().sqrt():.4f}")Вывод содержит центр [0.23 -0.15 0.16] при t=0.1, [0. 0. 0.] при t=0.5 и [-0.23 0.15 -0.16] при t=0.9. Коэффициент непрозрачности возрастает с 0.74 до 1.00 и снова снижается до 0.74, а объём остаётся равным 0.1030. Условная ковариация не зависит от t, поэтому каждая 4D-гауссиана превращается в 3D-гауссиану фиксированной формы, которая движется по прямой и постепенно проявляется и исчезает. Сложное движение возникает благодаря множеству недолговечных гауссиан.
Основная часть ошибки реконструкции приходится на движущиеся объекты, поэтому во многих конвейерах статичный фон отделяют от динамичных объектов переднего плана, а иногда для каждого движущегося объекта создают собственный набор гауссиан. Модели сегментации экземпляров Ultralytics YOLO26, работающие в режиме отслеживания, создают маску для каждого человека и транспортного средства в кадре, присваивая им идентификатор, сохраняющийся на протяжении всего видео. Так определяется, какие пиксели принадлежат каждому движущемуся объекту.
4D Gaussian Splatting и смежные методы#
- Покадровый 3D Gaussian Splatting: Отдельная реконструкция каждого кадра требует хранить полную сцену для каждого кадра и приводит к мерцанию при переходе между кадрами. 4DGS использует общие гауссианы для разных моментов времени, поэтому статичный фон хранится один раз, а движущиеся части остаются согласованными во времени.
- Динамические NeRF: D-NeRF, HexPlane и другие динамические нейронные радиационные поля также преобразуют каноническую сцену для каждой временной отметки, но вычисляют нейронное поле во множестве точек вдоль каждого луча камеры, поэтому рендеринг идёт намного медленнее, чем растеризация гауссиан. Подход 4DGS с полем деформации использует ту же идею канонической сцены и деформации, но растеризует гауссианы.
- Динамические 3D-гауссианы: Джонатон Лёйтен и его коллеги оставляют цвет, непрозрачность и размер каждой гауссианы неизменными, а меняют только её положение и вращение, используя ограничения локальной жёсткости. В результате реконструкции получается плотное отслеживание точек с шестью степенями свободы для каждого элемента сцены.
- Генерация видео: Генеративные видеомодели создают новые кадры по запросу. 4DGS восстанавливает событие, записанное камерами, и повторно рендерит его с новых ракурсов и для других моментов времени.
Примеры применения в реальных условиях#
- Объёмное видео для VR и AR: Записанные системами камер выступления, спортивные моменты и интервью превращаются в ролики со свободной точкой обзора, вокруг которых зрители могут перемещаться в гарнитуре или браузере.
- Телеприсутствие и аватары: Съёмка людей несколькими камерами позволяет создавать анимированные фотореалистичные 3D-представления для удалённого общения и цифровые копии.
- Симуляция вождения: Команды, разрабатывающие автономные транспортные средства, восстанавливают записанные поездки с движущимся транспортом и рендерят их с изменённых ракурсов, чтобы тестировать системы восприятия. Модель Street Gaussians представляет каждое отслеживаемое транспортное средство отдельным набором гауссиан, который движется согласно оптимизированным положениям объекта, обучается примерно за полчаса и рендерит уличные сцены со скоростью 135 FPS при разрешении 1066×1600.










