Gaussian Splatting - инновационный метод 3D-реконструкции, позволяющий создавать реалистичные трёхмерные сцены на основе фотографий. Технология использует гауссовы примитивы для точной передачи деталей, освещения и текстуры объектов, обеспечивая быстрый рендеринг и интерактивность. Рассматриваются отличия от фотограмметрии и NeRF, а также практические применения в VR, VFX и цифровизации реальных пространств.
Gaussian Splatting - технология трёхмерной реконструкции, которая позволяет создавать фотореалистичные 3D-сцены на основе серии обычных фотографий. Вместо ручного моделирования объектов достаточно снять помещение, улицу или предмет с разных ракурсов, после чего алгоритм восстанавливает его объёмное представление.
Главная особенность метода заключается в том, что результат не строится как привычная полигональная модель. Пространство представляется огромным количеством небольших объёмных элементов, которые вместе формируют изображение сцены. Благодаря этому 3D Gaussian Splatting способен передавать мелкие детали, сложное освещение и особенности поверхностей, одновременно позволяя достаточно быстро перемещать виртуальную камеру по восстановленному пространству.
В основе 3D Gaussian Splatting лежат так называемые гауссовы примитивы. Упрощённо их можно представить как небольшие полупрозрачные объёмные пятна или вытянутые эллипсоиды, расположенные в трёхмерном пространстве.
Каждый такой элемент хранит набор параметров: положение, размер, ориентацию, цвет и степень прозрачности. Кроме того, внешний вид примитива может зависеть от направления, с которого на него смотрит камера. Это помогает точнее воспроизводить поверхности, освещение и визуальные эффекты, которые меняются при изменении угла обзора.
Отдельный Gaussian-примитив практически ничего не напоминает. Однако в готовой сцене их могут быть сотни тысяч или миллионы. Они располагаются рядом друг с другом и при рендеринге накладываются, формируя цельное изображение объекта или окружающего пространства.
Название Gaussian связано с математическим гауссовым распределением. Визуальный вклад такого примитива постепенно уменьшается от центра к краям, поэтому соседние элементы могут плавно смешиваться между собой без жёстких границ.
В результате технология Gaussian Splatting хранит не набор обычных фотографий, а пространственное описание сцены. Пользователь получает возможность перемещать виртуальную камеру и смотреть на объект с ракурсов, которых не было среди исходных снимков.
Классическая 3D-модель обычно состоит из полигональной сетки. Вершины соединяются рёбрами и образуют треугольники или четырёхугольники, которые формируют поверхность объекта. Поверх этой геометрии накладываются текстуры, материалы, карты нормалей и другие данные.
В Gaussian Splatting такой поверхности в привычном смысле может вообще не быть. Вместо цельной сетки пространство заполнено множеством отдельных гауссовых примитивов. Они не соединены между собой рёбрами и не образуют топологию, которую можно редактировать как модель в Blender, Maya или другом 3D-редакторе.
Поэтому Gaussian Splatting правильнее рассматривать как способ представления и рендеринга захваченной реальной сцены, а не как прямую замену традиционному моделированию.
Это различие особенно важно на практике. Полигональную модель удобно деформировать, менять её геометрию, настраивать UV-развёртку и использовать в игровых механиках. Gaussian-сцена лучше подходит для другой задачи - максимально точно воспроизвести внешний вид реального пространства и позволить рассматривать его с разных точек.
Именно поэтому технология особенно хорошо работает при оцифровке интерьеров, архитектуры, природных объектов и сложных поверхностей, которые пришлось бы долго моделировать и текстурировать вручную.
Для создания сцены недостаточно одной фотографии. Камера должна снять объект или пространство с разных точек так, чтобы соседние кадры заметно перекрывались. Один и тот же стол, угол здания или участок стены должен появляться сразу на нескольких изображениях.
Такое перекрытие позволяет системе понять, какие детали на разных снимках относятся к одним и тем же точкам реального пространства. Чем больше полезных ракурсов получено, тем меньше областей сцены остаются неизвестными алгоритму.
При этом просто сделать десятки фотографий, стоя на одном месте, недостаточно. Камеру нужно физически перемещать вокруг объекта или по помещению. Изменение положения создаёт параллакс - близкие и далёкие объекты смещаются относительно друг друга, что даёт информацию об их глубине.
Особенно важна стабильность съёмки. Сильные изменения освещения, смазанные кадры и большое количество движущихся объектов усложняют сопоставление изображений. Однотонные поверхности без заметных деталей тоже могут стать проблемой, поскольку системе сложнее определить одинаковые точки на разных фотографиях.
Перед созданием Gaussian-сцены необходимо понять, где находилась камера в момент съёмки каждого изображения и в каком направлении она смотрела.
Для этого обычно используются методы Structure from Motion. Они находят характерные точки на фотографиях - например углы, границы и небольшие детали - после чего ищут совпадения этих точек на соседних кадрах. По их смещению можно восстановить взаимное расположение камер и примерную структуру сцены.
В результате получается разреженное облако точек и набор виртуальных камер, положение которых соответствует исходным фотографиям. Это ещё не готовая детальная 3D-сцена, а своеобразный пространственный каркас, от которого начинает работать Gaussian Splatting.
В оригинальном подходе 3D Gaussian Splatting именно такие разреженные точки используются как начальное представление сцены. Затем они превращаются в набор трёхмерных гауссовых примитивов, параметры которых постепенно уточняются.
На месте начальных точек появляются Gaussian-примитивы. Сначала они ещё не способны точно воспроизводить сцену: их положение, размер, форма, цвет и прозрачность требуют настройки.
Алгоритм выбирает одну из известных камер, рендерит сцену с соответствующего ракурса и сравнивает полученное изображение с настоящей фотографией. Если результат отличается от оригинала, параметры гауссианов изменяются так, чтобы следующая версия оказалась ближе к исходному кадру.
Такой процесс повторяется множество раз для разных фотографий. Одни Gaussian-примитивы перемещаются, другие меняют размер или вытягиваются в определённом направлении. Их цвет и прозрачность тоже корректируются.
Количество элементов при этом не обязательно остаётся постоянным. В областях, где существующих примитивов недостаточно для передачи деталей, представление сцены может уплотняться. В менее значимых местах лишние элементы можно удалить. За счёт этого плотность данных постепенно концентрируется там, где она действительно нужна для качественного изображения. Оригинальный метод сочетает оптимизацию параметров гауссианов с управлением их плотностью.
После обучения вместо нескольких отдельных фотографий получается единое трёхмерное представление пространства. Оно уже содержит информацию о том, где находятся визуальные элементы сцены и как они должны выглядеть при просмотре с разных направлений.
Когда пользователь перемещает виртуальную камеру, система определяет, какие Gaussian-примитивы должны быть видны с новой точки. Их трёхмерное положение проецируется на экран, после чего элементы накладываются друг на друга с учётом размера, цвета, прозрачности и глубины.
Именно этот процесс называется splatting. Вместо прорисовки традиционных полигонов движок фактически "раскладывает" на изображении огромное количество мягких полупрозрачных пятен. В совокупности они формируют поверхность стен, мебели, растений и других объектов.
Главное здесь в том, что новый кадр не является одной из исходных фотографий. Он рассчитывается на основе трёхмерного представления сцены. Поэтому виртуальную камеру можно поставить между реальными точками съёмки и получить ракурс, которого изначально не существовало.
Именно способность синтезировать новые точки обзора превращает набор обычных фотографий в интерактивную фотореалистичную 3D-сцену.
Фотореализм Gaussian Splatting появляется не только благодаря большому количеству элементов. Каждый Gaussian-примитив хранит гораздо больше информации, чем простая цветная точка в пространстве.
У него есть собственный размер, форма и прозрачность. Один примитив может быть почти круглым, другой - вытянутым вдоль поверхности стены, пола или объекта. Благодаря этому гауссианы способны достаточно плотно повторять форму реальных поверхностей без создания привычной полигональной сетки.
Цвет тоже не обязательно остаётся одинаковым независимо от положения камеры. Представление может учитывать направление взгляда, поэтому внешний вид участка сцены меняется при перемещении наблюдателя. Это особенно заметно на блестящих материалах и поверхностях со сложным освещением.
Такой подход помогает сохранить детали, которые трудно передать одним фиксированным цветом. Блики на металле, отражения на лакированной мебели или изменение яркости поверхности при смене ракурса выглядят естественнее, чем в обычном облаке цветных точек.
Дополнительный вклад даёт прозрачность. При формировании кадра множество гауссианов частично перекрывают друг друга. Вместо резких границ между отдельными элементами возникает плавное изображение, визуально напоминающее непрерывную поверхность.
Особенно хорошо это работает на сложных сценах с большим количеством мелких деталей: листве, траве, неровных поверхностях, интерьерах с множеством предметов. Там, где традиционной модели потребовалась бы очень подробная геометрия и качественные текстуры, Gaussian Splatting может сохранить внешний вид непосредственно из фотографий.
Фотореалистичная реконструкция существовала и до появления Gaussian Splatting. Одна из главных причин быстрого распространения технологии заключается в том, что качественное изображение можно получать сравнительно быстро.
После подготовки сцены системе не приходится каждый раз выполнять сложную нейронную сеть для каждого луча виртуальной камеры. Gaussian-примитивы уже находятся в известном трёхмерном пространстве и содержат параметры, необходимые для формирования изображения.
При рендеринге определяется положение примитивов относительно камеры, после чего они проецируются на экран. Затем учитываются их глубина и прозрачность, а вклады большого количества элементов объединяются в итоговый пиксель.
Такая схема хорошо подходит для параллельной обработки на GPU. Современные видеокарты способны одновременно работать с огромным количеством примитивов, поэтому подготовленную Gaussian-сцену можно просматривать интерактивно, свободно перемещая камеру.
Это важное отличие от многих ранних методов нейронного рендеринга. Высокая скорость превращает реконструкцию не просто в красивый результат вычислений, а в сцену, которую можно исследовать практически как обычное трёхмерное окружение.
При этом высокая скорость просмотра не означает, что создание сцены происходит мгновенно. Сначала необходимо обработать фотографии, определить положения камер и оптимизировать параметры гауссианов. Основные вычислительные затраты приходятся именно на этап подготовки и обучения представления.
Несмотря на впечатляющий результат, Gaussian Splatting не способен достоверно восстановить информацию, которой не было на исходных фотографиях. Если часть объекта ни разу не попала в кадр, алгоритму неоткуда узнать, как она выглядит.
Проблемы особенно хорошо заметны при сильном отклонении виртуальной камеры от траектории реальной съёмки. Пока пользователь смотрит на сцену примерно с тех направлений, которые были представлены в исходном наборе, изображение может казаться почти фотографическим. При переходе в плохо отснятые области иногда появляются размытые участки, плавающие элементы или заметные разрывы.
Сложности создают и движущиеся объекты. Если человек находится в разных местах на нескольких фотографиях, алгоритм получает противоречивую информацию о том, где он должен располагаться. Аналогичная проблема возникает с машинами, животными, движущейся листвой и другими изменяющимися деталями.
Прозрачные и зеркальные поверхности тоже остаются сложным случаем. Отражение меняется вместе с положением камеры и фактически показывает другую часть окружающего пространства, а стекло позволяет одновременно видеть объекты перед ним и за ним. Восстановить такую структуру значительно труднее, чем обычную матовую поверхность.
Качество поэтому сильно зависит от исходной съёмки. Равномерное покрытие сцены, достаточное количество пересекающихся кадров, резкие фотографии и отсутствие резких изменений освещения дают алгоритму значительно больше информации для точной реконструкции.
Gaussian Splatting создаёт особенно убедительную иллюзию реального пространства именно тогда, когда ему доступны хорошие исходные данные. Фотореализм здесь возникает не из генерации недостающих деталей, а из максимально точного воспроизведения того, что камеры действительно увидели во время съёмки.
Gaussian Splatting и фотограмметрия могут начинаться практически одинаково: пользователь делает множество перекрывающихся фотографий объекта или пространства с разных ракурсов. Но итоговое представление сцены у этих подходов различается.
Классическая фотограмметрия обычно стремится восстановить геометрию объекта. Сначала по фотографиям определяются положения камер и создаётся разреженное облако точек. Затем Multi-View Stereo может построить плотное облако точек, из которого формируется поверхность - полигональная сетка. На неё накладываются текстуры, полученные из исходных фотографий.
На выходе получается привычный 3D-ассет, с которым можно работать в Blender, Maya, Unreal Engine и других программах. Его геометрию можно редактировать, оптимизировать, делать ретопологию, создавать UV-развёртку или использовать объект как часть игровой сцены.
Gaussian Splatting решает задачу иначе. Вместо восстановления непрерывной поверхности он представляет пространство набором трёхмерных Gaussian-примитивов. Главная цель такого представления - максимально точно воспроизвести внешний вид исходной сцены с новых ракурсов.
Из-за этого Gaussian Splatting часто способен сохранить очень мелкие визуальные особенности без необходимости создавать чрезвычайно плотную полигональную сетку. Но получить из него чистую геометрию для дальнейшего моделирования обычно сложнее, поскольку изначально технология создавалась не для этого.
Поэтому выбор зависит от задачи. Если нужен редактируемый объект с полноценной сеткой, фотограмметрия остаётся более естественным вариантом. Если важнее быстро получить визуально реалистичную копию помещения или локации, Gaussian Splatting может оказаться удобнее.
NeRF - Neural Radiance Fields - тоже используется для восстановления внешнего вида трёхмерной сцены по набору фотографий. Именно поэтому две технологии часто сравнивают между собой.
Главное отличие находится внутри представления сцены. В классическом NeRF пространство описывается не набором готовых точек или поверхностей, а неявной функцией, реализованной нейронной сетью. Она получает координату в пространстве и направление взгляда и вычисляет характеристики, необходимые для формирования изображения.
Gaussian Splatting использует явное представление. Сцена непосредственно состоит из большого количества трёхмерных гауссианов с определённым положением, формой, прозрачностью и параметрами внешнего вида. Обзор исследований по 3D Gaussian Splatting прямо противопоставляет такое explicit-представление характерным для NeRF неявным координатным моделям.
Эта разница особенно заметна при рендеринге. Классическим NeRF необходимо многократно вычислять значения нейронной модели вдоль лучей виртуальной камеры. В Gaussian Splatting уже существующие примитивы проецируются на изображение и объединяются между собой.
Именно скорость стала одним из главных преимуществ первоначального 3D Gaussian Splatting. Авторы метода продемонстрировали синтез новых ракурсов в реальном времени при сохранении высокого качества изображения, используя явные 3D-гауссианы и специализированный алгоритм splatting-рендеринга.
При этом нельзя сказать, что Gaussian Splatting просто является "улучшенным NeRF". Это разные способы представить radiance field. У каждого направления существует множество модификаций, а современные варианты NeRF и Gaussian Splatting могут заметно отличаться от первых реализаций.
Фотограмметрия наиболее полезна, когда конечным результатом должна стать настоящая геометрическая модель. Например, если отсканированную статую необходимо затем изменить, подготовить к игре, напечатать на 3D-принтере или использовать для точных геометрических измерений, наличие полигональной поверхности становится важным преимуществом.
NeRF хорошо подходит для задач синтеза новых ракурсов и исследований в области нейронного представления сцен. Его сильная сторона заключается в возможности кодировать сложный внешний вид пространства внутри неявной модели.
Gaussian Splatting занимает промежуточное положение. Как и NeRF, он ориентирован прежде всего на реалистичное воспроизведение сцены, однако использует явные пространственные примитивы и хорошо подходит для интерактивного просмотра.
Поэтому сравнивать эти технологии только по качеству картинки неправильно. Фотограмметрия отвечает в первую очередь на вопрос "какой формы объект", тогда как NeRF и Gaussian Splatting в большей степени решают задачу "как сцена выглядит с разных точек".
Существует и ещё одно направление - генерация трёхмерного контента непосредственно нейросетями без точного копирования конкретного реального объекта. Подробнее об этом можно прочитать в материале Как нейросети text-to-3D меняют 3D-дизайн и инженерное моделирование.
Одно из самых очевидных применений Gaussian Splatting - создание цифровых копий реальных пространств. Это могут быть квартиры, офисы, выставочные залы, улицы, архитектурные объекты или природные локации.
Вместо ручного моделирования сцены достаточно снять её с разных ракурсов, после чего система восстанавливает объёмное представление. Такой подход особенно полезен там, где важно сохранить не только форму объектов, но и общий визуальный вид пространства: освещение, фактуру материалов, мелкие детали и особенности окружения.
Технология подходит для виртуальных экскурсий, демонстрации недвижимости, цифровизации музеев и сохранения культурных объектов. В подобных задачах пользователю важнее ощущение присутствия и визуальная точность, чем возможность редактировать каждый объект как отдельную полигональную модель.
Gaussian Splatting также можно использовать для быстрой фиксации состояния объекта в определённый момент. Например, строительную площадку или интерьер можно регулярно сканировать с помощью камеры и получать визуальный 3D-снимок пространства для последующего сравнения.
Для игровой индустрии технология интересна прежде всего как способ быстро переносить реальные локации в цифровую среду. Художнику не обязательно моделировать каждый камень, дерево или элемент здания вручную - часть окружения можно получить непосредственно из фотографий.
Однако Gaussian Splatting пока нельзя считать полной заменой традиционным игровым ассетам. В играх часто требуется точная геометрия для коллизий, физики, навигации персонажей и изменения объектов. Gaussian-сцена в первую очередь хранит внешний вид пространства, поэтому её нередко приходится сочетать с обычной геометрией.
Зато технология хорошо подходит для создания визуальных фонов, референсов и прототипов окружения. С её помощью можно быстро проверить композицию сцены, расположение объектов и работу виртуальной камеры ещё до того, как художники создадут финальные ассеты.
Похожий подход востребован в VFX и виртуальном производстве. Реальную площадку можно оцифровать и затем использовать как цифровое окружение для постановки виртуальных камер, предварительной визуализации или создания сцен, в которых реальные и компьютерные элементы должны выглядеть единым пространством.
Gaussian Splatting особенно хорошо сочетается с VR и другими технологиями пространственного взаимодействия. В обычной фотографии пользователь привязан к одной точке съёмки, а в Gaussian-сцене он может менять положение головы и рассматривать окружение с разных углов.
Это позволяет создавать более реалистичные виртуальные туры и цифровые копии реальных мест. Вместо панорамы 360°, где наблюдатель обычно остаётся в фиксированной точке, реконструированная сцена даёт определённую свободу перемещения.
Для дополненной и смешанной реальности технология может использоваться при создании цифровых представлений помещений и объектов. Устройство получает пространственную сцену, которую затем можно объединять с виртуальными элементами.
Такой подход напрямую связан с развитием пространственных вычислений, где компьютер должен воспринимать окружающую среду не как плоское изображение, а как трёхмерное пространство. Подробнее об этом направлении можно прочитать в статье Пространственные вычисления: как цифровой и физический мир сливаются.
Gaussian Splatting интересен именно тем, что сокращает расстояние между обычной съёмкой и полноценной цифровой средой. Камера становится не только инструментом для получения фотографий, но и источником данных для создания интерактивного трёхмерного пространства.
Gaussian Splatting показывает, насколько сильно меняется подход к созданию цифровых копий реального мира. Вместо ручного моделирования сцены или построения плотной полигональной сетки технология использует множество пространственных Gaussian-примитивов, параметры которых подбираются по серии фотографий.
Процесс начинается с обычной съёмки объекта или пространства с разных ракурсов. Затем система определяет положения камер, формирует начальное представление сцены и постепенно оптимизирует положение, форму, цвет и прозрачность гауссианов. После этого сцену можно рассматривать с новых точек, которых не было среди исходных фотографий.
Главное преимущество 3D Gaussian Splatting - сочетание фотореалистичного изображения и высокой скорости рендеринга. Метод особенно хорошо подходит для цифровизации интерьеров, архитектуры и реальных локаций, виртуальных туров, VR, VFX и других задач, где внешний вид сцены важнее наличия идеально чистой полигональной геометрии.
При этом технология не отменяет фотограмметрию и классическое 3D-моделирование. Если нужна редактируемая сетка, точная геометрия или объект для игровой физики, традиционные методы часто остаются удобнее. Gaussian Splatting стоит рассматривать как отдельный инструмент: он особенно полезен тогда, когда нужно быстро превратить набор фотографий в убедительное интерактивное представление реального пространства.