← На главную

GaussianSplatting.jl 2.0 заработал на AMD, NVIDIA и MacBook GPU

09.08.2026 15:01 · hackernews

В GaussianSplatting.jl 2.0 — крупное обновление. Пакет написан на Julia и теперь работает на трёх типах GPU: AMD через AMDGPU.jl, NVIDIA через CUDA.jl и MacBook GPU через Metal.jl. Один и тот же код ядра компилируется под нужную платформу благодаря KernelAbstractions.jl.

Приложение теперь живёт в двух потоках. Фронтенд занимается UI и OpenGL-рендерингом, бэкенд — Gaussian Splatting, обучением и загрузкой данных. Поэтому интерфейс больше не замерзает во время JIT-компиляции ядер или чтения датасета: спиннер крутится, прогресс-бары показывают статус. В UI появились живые loss-графики и гиперпараметры во время тренировки.

Добавлена MCMC-стратегия плотности (3D Gaussian Splatting as Markov Chain Monte Carlo). В отличие от клонирования и разделения, она позволяет точно контролировать количество гауссианов и меньше зависит от хорошей инициализации. Включается при загрузке данных или через Trainer(..., strategy=MCMCStrategy(; kwargs...)).

Для улучшения геометрии можно использовать depth supervision. Карты глубины кладутся в <dataset-root>/depths/<FILENAME>.png, например их считает Depth-Anything 3. Включение — OptimizationParams(; use_depth_loss=true). Карты сперва подгоняются под общий масштаб по облаку точек, неудачные отбрасываются. Это уменьшает число floaters. Geometry regularization (use_normal_loss=true) добавляет согласование нормалей с глубиной и уплощает каждый гауссиан вдоль наименьшей оси.

Sky Dome — это замороженная оболочка из гауссианов на большом радиусе. Она рендерится отдельно и подставляется за сценой, отделяя небо от объектов и уменьшая floaters. Лучше использовать полусферу, чтобы фон не тянул на себя геометрию снизу. Оверхед небольшой: около 32K гауссианов. Плюс можно добавить маски неба в <dataset-root>/sky/<FILENAME>.png — это помогает с мелкими краями вроде листьев.

Также улучшили визуализацию камеры: теперь на фрустуме видна миниатюра сделанного камерой снимка. Авточекпоинты сохраняются каждые N шагов. Гиперпараметры можно грузить из hyperparameters.toml или сохранять для воспроизводимости. Camera path для Capture Mode сохраняется и загружается, так что путь повторяется точно. UI показывает использование VRAM. Демо-сцена — Amulet of St. Michael в Киеве, около 6 миллионов гауссианов.

Читать оригинал →