В этой статье будут встречаться термины, которые я намеренно не перевожу из-за того, что перевод либо звучит ужасно, либо не отражает сути термина.
В быстро развивающемся мире и генеративных моделей появляются всё новые и новые модальности. После текста, изображений, звуков и музыки, настала очередь 3D моделей. Представьте себе систему, способную за считанные секунды создавать огромные, тщательно детализированные 3D-миры, будь то целые города или микроскопические структуры. Проблема в том, что существующие модели часто не справляются с задачей обеспечения баланса между разрешением, эффективностью и масштабируемостью, особенно в крупномасштабных решениях.
Сегодня я хочу рассказать вам про XCube - новый подход от Nvidia к генеративному 3D, в котором для преодоления этих ограничений используются подход Sparse Voxel Hierarchies. В отличие от традиционных моделей, XCube легко масштабируется от отдельных объектов до обширных открытых сцен, достигая уровня детализации с разрешением до вокселей - и при этом сохраняя эффективность вычислений. Этот метод не только повышает геометрическую сложность создаваемых моделей, но и поддерживает редактирование пользователем и универсальную генерацию атрибутов.
![](https://habrastorage.org/getpro/habr/upload_files/8d2/0f5/944/8d20f5944e31b7ee29442f0660192c3c.png)
Одной из серьезных проблем в генеративном 3D является выбор представления. В качестве потенциальных решений рассматривались облака точек, треугольные меши и neural implicit fields. Облака точек обеспечивают гибкость, но не позволяют эффективно представлять твердые поверхности, а треугольные меши ограничены фиксированной топологией и проблемами оптимизации. Implicit fields, которые кодируют геометрию в весах сети, приобрели популярность благодаря своей способности представлять сложные формы, но им часто не хватает Inductive bias, необходимых для эффективного моделирования распределения. Последние подходы пытаются объединить сильные стороны 2D- и 3D-подходов для улучшения генеративных возможностей, однако эти методы все еще сталкиваются с ограничениями в разрешении и масштабируемости, особенно при применении к большим открытым сценам.
Методология
В основе модели XCube лежит процесс иерархической воксельной скрытой диффузии, предназначенный для создания 3D-объектов и сцен высокого разрешения путем постепенного преобразования грубых воксельных сеток в более точные и детальные структуры. Этот процесс организован через серию взаимосвязанных шагов, которые начинаются с кодирования 3D-данных в разреженную воксельную иерархию и заканчиваются созданием 3D-модели высокого разрешения, обогащенной множеством атрибутов, таких как нормали поверхности и семантические метки. Иерархическая природа модели позволяет ей эффективно управлять различными уровнями детализации, обеспечивая концентрацию вычислительных ресурсов на интересующих областях в 3D-пространстве, а разреженные воксельные сетки позволяют масштабировать модель до высоких разрешений без чрезмерных затрат памяти.
![Архитектура Xcube Архитектура Xcube](https://habrastorage.org/getpro/habr/upload_files/1f4/54d/6bd/1f454d6bde57367009d9571293a7f04b.png)
Первый этап пайплайна XCube включает использование вариационного автоэнкодера (VAE) с разреженной структурой, который кодирует входные 3D-данные в компактное скрытое представление, отражающее основные характеристики каждой сетки вокселей. VAE работает на каждом уровне иерархии вокселей независимо, кодируя геометрию и связанные с ней атрибуты в непрерывное латентное пространство. Это латентное пространство затем используется для инициализации иерархического процесса скрытой диффузии. Кодируя данные таким образом, модель гарантирует, что даже на самых грубых уровнях сетки вокселей сохраняется достаточно деталей для последующих этапов уточнения. Этот процесс кодирования также способствует эффективному использованию памяти и ускоряет этапы обучения и вывода за счет снижения размерности входных данных.
![Схема VAE Схема VAE](https://habrastorage.org/getpro/habr/upload_files/e76/460/fbb/e76460fbb7e3ecbb4f1b26b53b50fecd.png)
Сама иерархическая воксельная модель скрытой диффузии представляет собой многоуровневый процесс, который уточняет закодированные скрытые представления от грубого к тонкому разрешению. Каждый уровень иерархии моделируется как отдельный процесс диффузии, где более грубые уровни генерируют аппроксимации 3D-структуры, а более тонкие уровни добавляют все больше деталей. Такой подход позволяет сконцентрировать вычислительные ресурсы на тех областях 3D-пространства, которые требуют высокой детализации, в то время как менее важные регионы представлены более скудно. Процесс диффузии управляется стохастическим шумоподавлением, которое за несколько итераций преобразует изначально зашумленное латентное пространство в целостную 3D-структуру.
![Иерархическая генерация Иерархическая генерация](https://habrastorage.org/getpro/habr/upload_files/11b/412/42d/11b41242db3a1bcf337826fc74c90bd0.png)
Результаты работы XCube
Для проверки эффективности модели XCube, Nvidia провели серию экспериментов на нескольких бенчмарках, сфокусированных на задачах генерации 3D на уровне объектов и сцен. Эксперименты были направлены на проверку способности модели генерировать детализированные 3D-объекты высокого разрешения, а также ее масштабируемости на большие и сложные сцены. В частности, они оценивали XCube на наборе данных ShapeNet для генерации моделей на уровне объектов и на наборах данных Waymo Open Dataset и Karton City (датасет самой Nvidia) для генерации масштабных сцен. Эти датасеты были выбраны из-за их разнообразия и сложности, что позволяет тщательно проверить возможности модели. В дополнение к качественным оценкам они использовали количественные метрики, такие как 1-NNA на основе расстояния между фасками (CD) и Earth mover's distance (EMD), чтобы сравнить качество и разнообразие сгенерированных фигур с существующими современными методами.
В экспериментах по созданию моделей на основе датасета ShapeNet XCube, XCube продемонстрировал превосходную производительность по сравнению с предыдущими моделями. Сгенерированные 3D-объекты отличались высокой детализацией и структурной сложностью, особенно в таких категориях, как самолеты, автомобили и стулья. Способность XCube поддерживать высокое разрешение (до 1024³ вокселей) без ущерба для вычислительной эффективности стала ключевым фактором успеха. Модель постоянно превосходила базовые модели по метрике 1-NNA, демонстрируя более низкие оценки CD и EMD, которые указывают на более тесное согласование с реальностью. Кроме того, человеческая оценка, проведенная на Amazon Mechanical Turk, подтвердила качественное превосходство результатов XCube: значительное большинство участников отдали предпочтение сгенерированным объектам перед объектами, полученными с помощью конкурирующих методов.
![Примеры результатов разных моделей Примеры результатов разных моделей](https://habrastorage.org/getpro/habr/upload_files/96a/4d0/993/96a4d0993789e3d78baf9d375ee82724.png)
Для генерации сцен XCube был протестирован на датасетах Waymo Open Dataset и Karton City. Модель успешно генерировала детализированные и реалистичные сцены, передавая сложность городской среды с такими элементами, как дороги, здания и транспортные средства. Иерархический подход позволил XCube обрабатывать сцены большого размера, сохраняя мелкие детали в областях, представляющих интерес. Помимо безусловной генерации сцен, XCube также оценивалась на способность завершать сцены на основе частичных данных, полученных после одного сканирование LiDAR-ом. Модель продемонстрировала высокую производительность и в этой задаче. Для человеческой оценки модели относительно этой задачи также использовался Amazon Mechanical Turk, на котором большинство участников также предпочло модели XCube моделям конкурентов.
Итог
В перспективе XCube открывает новые возможности для исследований и разработок в области генеративного 3D. Одним из очевидных шагов видится добавление в модель промптов таких модальностей как текст или изображения. Кроме того, иерархический подход, используемый в XCube, может быть распространен на более крупные масштабы или более сложные задачи, такие как динамическая генерация сцен или создание 3D-контента в реальном времени. По мере увеличения количества датасетов с 3D-данными, можно ожидать улучшения такого рода моделей.
Если вам интересны такого рода посты, можете подписаться на мой telegram, там я пишу посты поменьше. В основном я затрагиваю темы применения математики (от базовой до нейросетей) в видеоиграх, но также уделяю внимание видеоиграм как области искусства.