Изучите метод Gaussian Splatting для фотореалистичной реконструкции 3D-сцен. Узнайте, как он обеспечивает рендеринг в реальном времени и интегрируется с Ultralytics для визуализации.
Гауссово распыление — это современная техника растрирования, используемая в компьютерной графике и компьютерном зрении для реконструкции фотореалистичных 3D-сцен из набора 2D-изображений. В отличие от традиционного 3D-моделирования, основанного на полигональных сетках, или недавних достижений в области искусственного интеллекта, таких как Neural Radiance Fields (NeRF), которые используют нейронные сети для аппроксимации сцены, Gaussian Splatting представляет сцену как совокупность миллионов трехмерных гауссовых распределений (эллипсоидов). Этот метод позволяет осуществлять рендеринг в реальном времени с высокой частотой кадров (часто превышающей 100 FPS) при сохранении исключительной визуальной точности, устраняя серьезное ограничение производительности, характерное для предыдущих методов синтеза изображений .
Основная идея заключается в явном, а не неявном представлении трехмерного пространства. В типичном рабочем процессе процесс начинается с создания разреженного облака точек, сгенерированного из набора фотографий с помощью метода, называемого Structure from Motion (SfM). Затем каждая точка в этом облаке инициализируется как трехмерная гауссова точка.
В процессе обучения система оптимизирует несколько параметров для каждого гауссиана:
Термин «сплаттинг» относится к процессу растрирования , при котором эти 3D гауссовы функции проецируются — или «сплаттируются» — на 2D плоскость камеры для формирования изображения. Эта проекция является полностью дифференцируемой, что означает, что для минимизации разницы между рендеринговым изображением и исходной фотографией можно использовать стандартные алгоритмы градиентного спуска.
Хотя обе технологии направлены на создание новых представлений сцены, они принципиально отличаются по архитектуре и производительности. NeRF (Neural Radiance Fields) кодирует сцену в весах нейронной сети. Для рендеринга NeRF необходимо миллионы раз запрашивать эту сеть для каждого отдельного кадра (ray marching), что требует больших вычислительных ресурсов и занимает много времени.
В отличие от этого, Gaussian Splatting использует явное представление (список гауссовых функций). Это позволяет использовать эффективную растризацию на основе плиток, аналогичную той, которая используется в видеоиграх для рендеринга графики. В результате Gaussian Splatting значительно быстрее обучается и рендерится, чем NeRF, что делает его более пригодным для потребительских приложений и вывода в реальном времени.
Скорость и качество Gaussian Splatting открыли новые возможности в различных отраслях:
Для эффективной работы метода Gaussian Splatting обучающие изображения обычно должны быть статичными. Движущиеся объекты (такие как пешеходы или автомобили) на исходных фотографиях могут вызывать появление артефактов, называемых «плавающими объектами». В продвинутых конвейерах используется сегментация экземпляров для автоматического маскирования этих динамических элементов перед обучением модели splat.
Ultralytics позволяет командам управлять наборами данных и обучать модели, которые могут помочь на этапе предварительной обработки. Вот как можно использовать модель сегментации для создания масок для набора данных, предназначенного для 3D-реконструкции:
from ultralytics import YOLO
# Load the YOLO26 segmentation model
model = YOLO("yolo26n-seg.pt")
# Run inference on an image from the scan dataset
# Class 0 is 'person' in COCO - we mask them out to keep the scene static
results = model.predict("scan_frame_001.jpg", classes=[0])
# Save the generated mask to exclude the person from the 3D reconstruction
for result in results:
result.save_masks("scan_frame_001_mask.png")
Гауссово расплывание представляет собой сдвиг в компьютерном зрении в сторону гибридных методов, которые сочетают в себе обучаемость глубокого обучения с эффективностью классической компьютерной графики. Эта техника быстро развивается, и исследователи изучают способы сжатия размеров файлов (которые могут быть большими) и интеграции ее с генеративным ИИ для создания 3D-ресурсов из текстовых подсказок. По мере совершенствования аппаратных ускорителей, таких как графические процессоры, гауссово разбрызгивание, вероятно, станет стандартом для захвата и рендеринга реального мира в цифровом виде.