Перепечатано из: Исследование новых технологий AsiaInfo Technology.
Редактор: Дунъань из-за публичного аккаунта @немногоartificial-bitintelligent.
NeRF — новый метод синтеза поля зрения и трехмерной реконструкции, который имеет широкое применение во многих областях, таких как городское картографирование, робототехника, виртуальная реальность/дополненная реальность, кинопроизводство и разработка игр. В этой статье основное внимание уделяется процессу создания NeRF и популярной в настоящее время библиотеке моделирования 3D-реальности NeRF. Целью статьи является помочь читателям лучше понять и применять технологию 3D-реконструкции реальности NeRF, а также предоставить справочник по реализации технологии 3D-реконструкции реальности NeRF.
В августе 2022 года Министерство природных ресурсов опубликовало «Общий план реализации реального 3D-строительства в Китае (2022–2025 годы)». В плане уточняются задачи строительства, технические маршруты и методы, основные результаты и сбор, организация и реализация и т. д. ., и предлагает В 2025 году более 50% принятия государственных решений, планирования производства и планирования жизни можно будет выполнять с помощью реального трехмерного онлайн-пространства, а в 2035 году эта цель увеличится до 80%. Это указывает на то, что реальное 3D послужит важной новой инфраструктурой для страны, а планировка и строительство будут ускорены всесторонне, а будущее пространство развития рынка будет неограниченным.
Что такое реальное 3D? Реальная жизнь 3D — это цифровое виртуальное пространство, которое отражает и выражает человеческое производство, жизнь и экологическое пространство в реальной, трехмерной и временной форме. Это новый базовый стандартизированный продукт съемки и картографии, который является важной частью страны. Строительство новой инфраструктуры способствует экономическому и социальному развитию, информатизация различных отраслей обеспечивает единую пространственную основу.
NeRF (Neural Radiation Field) — это модель нейронной сети, используемая для обучения и создания непрерывных моделей 3D-сцен на основе 2D-изображений. Используя технологию NeRF, вы можете автоматически строить 3D-модель на основе 2D-данных, а также выполнять наложение текстур, рендеринг освещения и другие операции для создания реальной 3D-модели с ощущением реальности и визуальным воздействием, преодолевая ограничения традиционных методов. и в области реального 3D. Он имеет широкие перспективы применения.
NeRF использует методы глубокого обучения для представления трехмерного пространства как набора обучаемых и непрерывных полей излучения. Под известной перспективой выполняется серия снимков сцены (включая захваченные изображения и внутренние и внешние параметры, соответствующие каждому изображению). Нет необходимости в промежуточном процессе трехмерной реконструкции. Только внутренние параметры позы и. изображения используются для синтеза сцены с новой точки зрения. В отличие от традиционных методов трехмерной реконструкции, которые представляют сцену в виде явных выражений, таких как облака точек, сетки и вокселы, NeRF использует уникальный подход и моделирует сцену как непрерывное 5D-поле излучения, которое неявно сохраняется в нейронной сети. нужно только ввести. Используя разреженные двумерные изображения под разными углами, посредством обучения можно получить модель поля нейронного излучения. На основе этой модели можно визуализировать четкие фотографии под любым углом обзора.
К преимуществам полей нейронного излучения NeRF в основном относятся:
Высокое качество рендеринга:NeRFСпособен создавать очень реалистичные3Dсцена,Используйте модели нейронных сетей для обучения небольшим наборам данных.,Это приводит к высококачественным эффектам рендеринга.
Представление непрерывной функции:NeRFИспользуйте непрерывные функции для представления3Dсцена,Это изображение можно отобразить под любым углом.,Создавайте потрясающие высококачественные рендеры.
Сильная выразительная способность:NeRFСпособность естественным образом выражать цвет и прозрачность объектов.,Представляйте 3D-модели с произвольной точностью и разрешением.,Это обеспечивает очень высокую производительность при выполнении таких задач, как 3D-реконструкция и синтез изображений.
Самостоятельное обучение:NeRFПроцесс обучения не требует ручной разметки,В качестве входных данных используется только набор 2D-изображений (обычно изображения одной и той же 3D-сцены с разных точек зрения).,Затем настройте параметры сети с помощью алгоритма оптимизации.,Это позволяет сети выводить трехмерное поле излучения для наилучшего воспроизведения этого набора двумерных изображений.
Кроме того, поскольку NeRF генерирует непрерывные 3D-модели, а не дискретные 3D-вокселы или треугольные сетки, как традиционные методы 3D-реконструкции, модели, созданные NeRF, могут иметь более высокое разрешение и более мелкие детали. Конечно, у NeRF есть и некоторые ограничения. Например, процесс обучения и рендеринга требует много вычислительных ресурсов, а NeRF может плохо обрабатывать сцены с большим количеством динамического контента и сложными отражениями.
Чтобы построить NeRF, вы сначала делаете серию фотографий под разными углами всей окружающей среды или объекта. В некоторых случаях запись видео удобнее. Это позволяет создавать NeRF с использованием видео, снятого с дрона, или любого другого заранее записанного контента, или даже игровой 3D-контент может быть повторно захвачен как NeRF с использованием этой технологии.
В целом качество получаемых фотографий лучше, чем у видео, при условии, что фотографии сделаны конкретно и нет явного размытия. Работа с видео будет проще, но размытие при движении значительно снизит качество реконструкции. Для достижения наилучших результатов перемещайте телефон медленно и старайтесь избегать быстрых движений, особенно вращений. Для достижения наилучших результатов объект или сцену следует снимать с как можно большего количества уникальных точек зрения. Кроме того, лучше перемещать телефон (в 3D-пространстве) при съемке, чем вращать его из статического положения, стоять на одном месте и снимать наружу в сфере вообще нехорошо.
Процесс построения NeRF выглядит следующим образом:
1. Сбор данных:собрать группу2Dизображение,Эти изображения запечатлели одну и ту же сцену с разных ракурсов и мест. Все эти изображения представляют собой снимки одной и той же 3D-сцены.,Итак, в этом сценарии,Каждый объект появляется на нескольких изображениях,Просто ракурс и расположение другие.
2. Предварительная обработка:для каждогоизображение,Нужно знать параметры камеры,Включает положение и ориентацию камеры. Эти параметры можно использовать для определения начальной точки по положению камеры.,Пройдитесь по каждому пикселю изображения,Направление взгляда на сцену.
3. Обучение нейронной сети:Используйте эти данные для обучения глубокой нейронной сети.。Цель этой сети – дать возможность3DКоординаты и направление взгляда предсказывают цвет и плотность объема в этом месте.。во время тренировки,Сделайте значения цвета, предсказанные сетью, максимально соответствующими реальному 2D-изображению.,Нейронная сеть может изучить трехмерное представление сцены. И для достижения этой цели,Ошибка рассчитывается путем сравнения цветов, предсказанных сетью, с истинными цветами изображения.,Затем параметры сети обновляются с помощью алгоритма обратного распространения ошибки. Входными данными для нейронной сети является каждая трехмерная позиция и соответствующее направление просмотра.,Результатом являются прогнозируемые значения цвета и плотности.
В настоящее время три популярные библиотеки реконструкции реальной 3D-сцены включают Luma AI, NVIDIA Instant NeRF и NeRFStudio.
Luma AI — поставщик услуг, специализирующийся на создании и применении 3D-медиа. Его основная технология — NeRF. Веб-версию Luma AI можно использовать бесплатно. Максимальный размер видео и изображений (архивные пакеты ZIP) в веб-версии составляет 5 ГБ; за передачу видео в 3D API взимается единая плата в размере 1 доллар США.
Luma AI поддерживает экспорт GLTF, OBJ и облаков точек, а экспортированные модели GLTF и OBJ текстурированы; Luma AI предоставляет плагин для объединения NeRF с Unreal Engine. С помощью этого плагина пользователи могут загружать Luma AI в Unreal Engine. Сгенерированная 3D-модель.
На рисунке 2 показано реальное видео, снятое с помощью HUAWEI P40 Pro. На рисунке 3 показан результат обучения веб-версии Luma AI. На рисунке 4 показан результат экспорта результата обучения веб-версии Luma AI и его загрузки в Unreal Engine 5.
NVIDIA Instant NeRF — это технология нейронного рендеринга, которая преобразует 2D-изображения в 3D-сцены и основана на модели NeRF. Она значительно повышает скорость, простоту использования и дальность захвата и обмена 3D-изображениями и считается самой быстрой технологией NeRF на сегодняшний день. В 2022 году журнал Time назвал ее лучшим изобретением года.
NVIDIA Instant NeRF — это проект с открытым исходным кодом. На GitHub в настоящее время представлены установочные пакеты для нескольких конкретных моделей видеокарт. Если это другая модель видеокарты, вам необходимо загрузить исходный код для компиляции. Instant NeRF может экспортировать собственный формат .ingp или экспортировать сетку, но экспортированная сетка не имеет текстуры.
Если вы снимаете видео, вам необходимо использовать colmap2nerf для извлечения кадров и создания файла Transform.json (записывающего параметры камеры каждого изображения), прежде чем обработанные данные смогут быть обучены с помощью Instant NeRF.
На рисунке 5 показан результат обучения с использованием официальных тестовых данных. Модель видеокарты тренировочной машины: NVIDIA GeForce RTX3070.
NeRFStudio — это библиотека программного обеспечения с открытым исходным кодом для создания, обучения и визуализации полей нейронного излучения (NeRF). Он предоставляет API, которые упрощают сквозной процесс создания, обучения и визуализации NeRF. В настоящее время поддерживается несколько моделей, среди которых Nerfacto предлагается NeRFStudio и является моделью NeRFStudio по умолчанию и наиболее рекомендуемой моделью.
NeRFStudio не предоставляет установочный пакет. Если вы хотите его использовать, вам необходимо загрузить исходный код на GitHub и скомпилировать его. NeRFStudio поддерживает экспорт сетки и облаков точек. Загрузите расширение Volinga для NeRFStudio для поддержки Unreal Engine, но вам необходимо выполнить преобразование формата через веб-сайт Volinga.
3D-моделирование реальности NeRF — это метод 3D-моделирования реального мира с использованием технологии нейронных сетей. Он позволяет создавать высококачественные 3D-модели путем анализа большого количества изображений и видеоданных, обеспечивая широкие возможности применения в различных областях.
В целом, 3D-моделирование реальности NeRF — очень многообещающая технология, которая в будущем может применяться и развиваться в других областях. В то же время, поскольку технологии продолжают развиваться, а сценарии применения продолжают расширяться, они также столкнутся с новыми проблемами и возможностями.