Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Gaussian Splatting

Гауссово сплаттинг-восстановление создаёт фотореалистичные 3D-сцены по фотографиям в виде миллионов 3D-гауссиан, которые отображаются в реальном времени. Рассматриваются обучение, NeRF и съёмка.

Gaussian splatting, также называемый 3D Gaussian splatting (3DGS), — метод реконструкции фотореалистичной 3D-сцены по обычным фотографиям и отрисовки новых видов сцены в реальном времени. Сцена представлена миллионами 3D-гауссиан — мягких эллипсоидов, каждый из которых имеет положение, форму, непрозрачность и зависящий от ракурса цвет. Изображение создаётся проецированием ("splatting") гауссиан на экран и их смешиванием. Метод представили на SIGGRAPH 2023 в работе 3D Gaussian Splatting for Real-Time Radiance Field Rendering. Он обеспечил качество изображения на уровне лучших нейронных полей излучения (NeRF) при частоте 30 кадров в секунду или выше и разрешении 1080p — такого прежде не удавалось достичь ни одному методу на больших неограниченных сценах. Это метод синтеза новых ракурсов и 3D-реконструкции.

Как работает гауссово сплаттинг-преобразование#

Каждая гауссиана хранит 59 обучаемых чисел: 3D-положение, 3D-масштаб и кватернион поворота из 4 чисел, вместе задающие ковариацию (форму и ориентацию), непрозрачность и 48 коэффициентов сферических гармоник — по 16 на цветовой канал. Они позволяют цвету меняться в зависимости от направления просмотра, передавая отражения и блеск. Обучение начинается с разреженного облака точек, которое создаёт метод восстановления структуры по движению (SfM) во время калибровки камер; в каждой точке размещают гауссиану. На каждой итерации рендерится один обучающий ракурс, он сравнивается с настоящей фотографией с помощью взвешенной комбинации функций потерь L1 и D-SSIM, а параметры каждой гауссианы обновляются градиентным спуском через дифференцируемый рендерер. Каждые 100 итераций адаптивное управление плотностью клонирует мелкие гауссианы в недостаточно реконструированных областях, разделяет крупные гауссианы, охватывающие слишком много деталей, и удаляет почти прозрачные. В результате каждая сцена в статье содержит от 1 до 5 миллионов гауссиан.

Чтобы отрисовать кадр, рендерер проецирует каждую 3D-гауссиану на плоскость изображения в виде 2D-эллипса, делит экран на тайлы размером 16×16 пикселей, сортирует гауссианы, пересекающие каждый тайл, по глубине с помощью одной радиальной сортировки на GPU, а затем смешивает их по альфа-каналу для каждого пикселя, от переднего плана к заднему. Поскольку сцена представляет собой явный список примитивов, рендеринг работает как растеризатор игрового движка и не вычисляет нейронную сеть для каждого пикселя.

Gaussian splatting, NeRF и сетки#

NeRF неявно хранит сцену в весах нейронной сети и рендерит её, запрашивая значения у сети во множестве точек вдоль каждого луча камеры. Gaussian splatting хранит сцену явно, поэтому рендеринг сводится к сортировке и смешиванию. На одинаковом оборудовании в оригинальной статье для обучения Mip-NeRF360 требовалось в среднем 48 часов, а рендеринг одного кадра занимал около 10 секунд. После 35–45 минут обучения качество Gaussian splatting совпадало с качеством Mip-NeRF360 или немного превосходило его, а рендеринг выполнялся в реальном времени. За явное представление приходится платить памятью: при 59 числах на гауссиану сцена из 3 миллионов гауссиан занимает около 700 МБ 32-битных чисел с плавающей точкой, а пиковое потребление памяти GPU при обучении крупных сцен в оригинальной реализации могло превышать 20 ГБ. У сплатов также нет заданной поверхности, поэтому приложениям, которым нужна геометрия столкновений или редактирование в стиле САПР, всё ещё приходится преобразовывать их в сетки с помощью дополнительных методов. Для движущихся сцен нужны расширения, например 4D Gaussian splatting.

Сбор данных для Gaussian splatting#

Набор данных для реконструкции состоит из перекрывающихся фотографий или видеокадров, снятых при перемещении вокруг статичной сцены. Всё, что движется во время съёмки, например прохожий или машина, присутствует в одних кадрах и отсутствует в других. В ходе оптимизации модель пытается объяснить такие объекты полупрозрачными артефактами, называемыми «поплавками». Поэтому конвейеры обучения принимают маски, исключающие движущиеся объекты. В формате данных Nerfstudio используются чёрно-белые маски, где чёрным отмечены пиксели, которые нужно игнорировать. Модели сегментации экземпляров YOLO26 автоматически создают такие маски, сегментируя каждого человека в каждом кадре.

import cv2
from ultralytics import YOLO

# Загрузить модель сегментации экземпляров YOLO26
model = YOLO("yolo26n-seg.pt")

# Сегментируй только людей (класс COCO 0) — они часто становятся источником «поплавков» при съёмке.
results = model("https://ultralytics.com/images/bus.jpg", classes=[0], retina_masks=True)
result = results[0]

# Белым отмечена статичная сцена для обучения, чёрным — люди, которых нужно игнорировать.
people = result.masks.data.sum(dim=0) > 0
keep_mask = (~people).cpu().numpy().astype("uint8") * 255
cv2.imwrite("bus_mask.png", keep_mask)

У сохранённого bus_mask.png полное разрешение фотографии, поскольку retina_masks=True возвращает маски исходного размера изображения, а каждый человек в кадре отмечен чёрным.

Применение#

  • Недвижимость и виртуальные туры: съёмка дома, музея или объекта культурного наследия телефоном или дроном превращается в сцену, которую посетители могут свободно осматривать в браузере или VR-шлеме; отражения на полу и окнах сохраняются.
  • Визуальные эффекты и виртуальное производство: съёмочные группы и разработчики игр фиксируют реальные места в виде сплатов и используют их как фотореалистичные фоны и образцы декораций.
  • Цифровые двойники и картографирование: геопространственные платформы передают крупные сплат-реконструкции городов, строительных площадок и инфраструктуры наряду с традиционными 3D-тайлами.
  • Симуляция вождения и робототехники: реконструкции реальных поездок позволяют командам, работающим над автономными транспортными средствами, повторно рендерить записанные сцены с новых ракурсов камеры и тестировать модели восприятия.

Библиотеки с открытым исходным кодом, такие как gsplat, предоставляют растеризаторы CUDA для обучения сплатов. Khronos Group утвердила KHR_gaussian_splatting — расширение glTF 2.0 для хранения Gaussian splats, разработанное при участии специалистов из Cesium, Esri, Niantic Spatial, NVIDIA, Huawei и Autodesk.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

Применяй компьютерное зрение в автомобильной отрасли с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ повышает безопасность дорожного движения, улучшает помощь водителю и автоматизацию автомобилей, делая дороги умнее.
Подробнее
Компьютерное зрение в сельском хозяйстве

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения