Исследование технологии реконструкции реальной 3D-сцены на основе NeRF.
Исследование технологии реконструкции реальной 3D-сцены на основе NeRF.

Перепечатано из: Исследование новых технологий AsiaInfo Technology.

Редактор: Дунъань из-за публичного аккаунта @немногоartificial-bitintelligent.

NeRF — новый метод синтеза поля зрения и трехмерной реконструкции, который имеет широкое применение во многих областях, таких как городское картографирование, робототехника, виртуальная реальность/дополненная реальность, кинопроизводство и разработка игр. В этой статье основное внимание уделяется процессу создания NeRF и популярной в настоящее время библиотеке моделирования 3D-реальности NeRF. Целью статьи является помочь читателям лучше понять и применять технологию 3D-реконструкции реальности NeRF, а также предоставить справочник по реализации технологии 3D-реконструкции реальности NeRF.

01 введение

В августе 2022 года Министерство природных ресурсов опубликовало «Общий план реализации реального 3D-строительства в Китае (2022–2025 годы)». В плане уточняются задачи строительства, технические маршруты и методы, основные результаты и сбор, организация и реализация и т. д. ., и предлагает В 2025 году более 50% принятия государственных решений, планирования производства и планирования жизни можно будет выполнять с помощью реального трехмерного онлайн-пространства, а в 2035 году эта цель увеличится до 80%. Это указывает на то, что реальное 3D послужит важной новой инфраструктурой для страны, а планировка и строительство будут ускорены всесторонне, а будущее пространство развития рынка будет неограниченным.

Что такое реальное 3D? Реальная жизнь 3D — это цифровое виртуальное пространство, которое отражает и выражает человеческое производство, жизнь и экологическое пространство в реальной, трехмерной и временной форме. Это новый базовый стандартизированный продукт съемки и картографии, который является важной частью страны. Строительство новой инфраструктуры способствует экономическому и социальному развитию, информатизация различных отраслей обеспечивает единую пространственную основу.

NeRF (Neural Radiation Field) — это модель нейронной сети, используемая для обучения и создания непрерывных моделей 3D-сцен на основе 2D-изображений. Используя технологию NeRF, вы можете автоматически строить 3D-модель на основе 2D-данных, а также выполнять наложение текстур, рендеринг освещения и другие операции для создания реальной 3D-модели с ощущением реальности и визуальным воздействием, преодолевая ограничения традиционных методов. и в области реального 3D. Он имеет широкие перспективы применения.

02 Обзор NeRF

NeRF использует методы глубокого обучения для представления трехмерного пространства как набора обучаемых и непрерывных полей излучения. Под известной перспективой выполняется серия снимков сцены (включая захваченные изображения и внутренние и внешние параметры, соответствующие каждому изображению). Нет необходимости в промежуточном процессе трехмерной реконструкции. Только внутренние параметры позы и. изображения используются для синтеза сцены с новой точки зрения. В отличие от традиционных методов трехмерной реконструкции, которые представляют сцену в виде явных выражений, таких как облака точек, сетки и вокселы, NeRF использует уникальный подход и моделирует сцену как непрерывное 5D-поле излучения, которое неявно сохраняется в нейронной сети. нужно только ввести. Используя разреженные двумерные изображения под разными углами, посредством обучения можно получить модель поля нейронного излучения. На основе этой модели можно визуализировать четкие фотографии под любым углом обзора.

К преимуществам полей нейронного излучения NeRF в основном относятся:

Высокое качество рендеринга:NeRFСпособен создавать очень реалистичные3Dсцена,Используйте модели нейронных сетей для обучения небольшим наборам данных.,Это приводит к высококачественным эффектам рендеринга.

Представление непрерывной функции:NeRFИспользуйте непрерывные функции для представления3Dсцена,Это изображение можно отобразить под любым углом.,Создавайте потрясающие высококачественные рендеры.

Сильная выразительная способность:NeRFСпособность естественным образом выражать цвет и прозрачность объектов.,Представляйте 3D-модели с произвольной точностью и разрешением.,Это обеспечивает очень высокую производительность при выполнении таких задач, как 3D-реконструкция и синтез изображений.

Самостоятельное обучение:NeRFПроцесс обучения не требует ручной разметки,В качестве входных данных используется только набор 2D-изображений (обычно изображения одной и той же 3D-сцены с разных точек зрения).,Затем настройте параметры сети с помощью алгоритма оптимизации.,Это позволяет сети выводить трехмерное поле излучения для наилучшего воспроизведения этого набора двумерных изображений.

Кроме того, поскольку NeRF генерирует непрерывные 3D-модели, а не дискретные 3D-вокселы или треугольные сетки, как традиционные методы 3D-реконструкции, модели, созданные NeRF, могут иметь более высокое разрешение и более мелкие детали. Конечно, у NeRF есть и некоторые ограничения. Например, процесс обучения и рендеринга требует много вычислительных ресурсов, а NeRF может плохо обрабатывать сцены с большим количеством динамического контента и сложными отражениями.

03 Процесс сборки NeRF

Чтобы построить NeRF, вы сначала делаете серию фотографий под разными углами всей окружающей среды или объекта. В некоторых случаях запись видео удобнее. Это позволяет создавать NeRF с использованием видео, снятого с дрона, или любого другого заранее записанного контента, или даже игровой 3D-контент может быть повторно захвачен как NeRF с использованием этой технологии.

В целом качество получаемых фотографий лучше, чем у видео, при условии, что фотографии сделаны конкретно и нет явного размытия. Работа с видео будет проще, но размытие при движении значительно снизит качество реконструкции. Для достижения наилучших результатов перемещайте телефон медленно и старайтесь избегать быстрых движений, особенно вращений. Для достижения наилучших результатов объект или сцену следует снимать с как можно большего количества уникальных точек зрения. Кроме того, лучше перемещать телефон (в 3D-пространстве) при съемке, чем вращать его из статического положения, стоять на одном месте и снимать наружу в сфере вообще нехорошо.

Процесс построения NeRF выглядит следующим образом:

1. Сбор данных:собрать группу2Dизображение,Эти изображения запечатлели одну и ту же сцену с разных ракурсов и мест. Все эти изображения представляют собой снимки одной и той же 3D-сцены.,Итак, в этом сценарии,Каждый объект появляется на нескольких изображениях,Просто ракурс и расположение другие.

2. Предварительная обработка:для каждогоизображение,Нужно знать параметры камеры,Включает положение и ориентацию камеры. Эти параметры можно использовать для определения начальной точки по положению камеры.,Пройдитесь по каждому пикселю изображения,Направление взгляда на сцену.

3. Обучение нейронной сети:Используйте эти данные для обучения глубокой нейронной сети.。Цель этой сети – дать возможность3DКоординаты и направление взгляда предсказывают цвет и плотность объема в этом месте.。во время тренировки,Сделайте значения цвета, предсказанные сетью, максимально соответствующими реальному 2D-изображению.,Нейронная сеть может изучить трехмерное представление сцены. И для достижения этой цели,Ошибка рассчитывается путем сравнения цветов, предсказанных сетью, с истинными цветами изображения.,Затем параметры сети обновляются с помощью алгоритма обратного распространения ошибки. Входными данными для нейронной сети является каждая трехмерная позиция и соответствующее направление просмотра.,Результатом являются прогнозируемые значения цвета и плотности.

Рисунок 1: Процесс NeRF
Рисунок 1: Процесс NeRF

04 Введение в библиотеку 3D-моделирования реальности

В настоящее время три популярные библиотеки реконструкции реальной 3D-сцены включают Luma AI, NVIDIA Instant NeRF и NeRFStudio.

· Luma AI

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.

Рисунок 2. Видео, снятое мобильным телефоном.
Рисунок 2. Видео, снятое мобильным телефоном.
Рисунок 3. Результаты обучения Luma AI
Рисунок 3. Результаты обучения Luma AI
Рисунок 4: Нереально Нагрузка на двигатель Luma Результаты обучения ИИ
Рисунок 4: Нереально Нагрузка на двигатель Luma Результаты обучения ИИ

· NVIDIA Instant NeRF

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.

Рисунок 5. Результаты обучения NVIDIA Instant NeRF
Рисунок 5. Результаты обучения NVIDIA Instant NeRF

· NeRFStudio

NeRFStudio — это библиотека программного обеспечения с открытым исходным кодом для создания, обучения и визуализации полей нейронного излучения (NeRF). Он предоставляет API, которые упрощают сквозной процесс создания, обучения и визуализации NeRF. В настоящее время поддерживается несколько моделей, среди которых Nerfacto предлагается NeRFStudio и является моделью NeRFStudio по умолчанию и наиболее рекомендуемой моделью.

NeRFStudio не предоставляет установочный пакет. Если вы хотите его использовать, вам необходимо загрузить исходный код на GitHub и скомпилировать его. NeRFStudio поддерживает экспорт сетки и облаков точек. Загрузите расширение Volinga для NeRFStudio для поддержки Unreal Engine, но вам необходимо выполнить преобразование формата через веб-сайт Volinga.

Рисунок 6. Официальные результаты обучения NeRFStudio.
Рисунок 6. Официальные результаты обучения NeRFStudio.

05 Резюме и перспективы

3D-моделирование реальности NeRF — это метод 3D-моделирования реального мира с использованием технологии нейронных сетей. Он позволяет создавать высококачественные 3D-модели путем анализа большого количества изображений и видеоданных, обеспечивая широкие возможности применения в различных областях.

В целом, 3D-моделирование реальности NeRF — очень многообещающая технология, которая в будущем может применяться и развиваться в других областях. В то же время, поскольку технологии продолжают развиваться, а сценарии применения продолжают расширяться, они также столкнутся с новыми проблемами и возможностями.

boy illustration
Учебное пособие по Jetpack Compose для начинающих, базовые элементы управления и макет
boy illustration
Код js веб-страницы, фон частицы, код спецэффектов
boy illustration
【новый! Суперподробное】Полное руководство по свойствам компонентов Figma.
boy illustration
🎉Обязательно к прочтению новичкам: полное руководство по написанию мини-программ WeChat с использованием программного обеспечения Cursor.
boy illustration
[Забавный проект Docker] VoceChat — еще одно приложение для мгновенного чата (IM)! Может быть встроен в любую веб-страницу!
boy illustration
Как реализовать переход по странице в HTML (html переходит на указанную страницу)
boy illustration
Как решить проблему зависания и низкой скорости при установке зависимостей с помощью npm. Существуют ли доступные источники npm, которые могут решить эту проблему?
boy illustration
Серия From Zero to Fun: Uni-App WeChat Payment Practice WeChat авторизует вход в систему и украшает страницу заказа, создает интерфейс заказа и инициирует запрос заказа
boy illustration
Серия uni-app: uni.navigateЧтобы передать скачок значения
boy illustration
Апплет WeChat настраивает верхнюю панель навигации и адаптируется к различным моделям.
boy illustration
JS-время конвертации
boy illustration
Обеспечьте бесперебойную работу ChromeDriver 125: советы по решению проблемы chromedriver.exe не найдены
boy illustration
Поле комментария, щелчок мышью, специальные эффекты, js-код
boy illustration
Объект массива перемещения объекта JS
boy illustration
Как открыть разрешение на позиционирование апплета WeChat_Как использовать WeChat для определения местонахождения друзей
boy illustration
Я даю вам два набора из 18 простых в использовании фонов холста Power BI, так что вам больше не придется возиться с цветами!
boy illustration
Получить текущее время в js_Как динамически отображать дату и время в js
boy illustration
Вам необходимо изучить сочетания клавиш vsCode для форматирования и организации кода, чтобы вам больше не приходилось настраивать формат вручную.
boy illustration
У ChatGPT большое обновление. Всего за 45 минут пресс-конференция показывает, что OpenAI сделал еще один шаг вперед.
boy illustration
Copilot облачной разработки — упрощение разработки
boy illustration
Микросборка xChatGPT с низким кодом, создание апплета чат-бота с искусственным интеллектом за пять шагов
boy illustration
CUDA Out of Memory: идеальное решение проблемы нехватки памяти CUDA
boy illustration
Анализ кластеризации отдельных ячеек, который должен освоить каждый&MarkerгенетическийВизуализация
boy illustration
vLLM: мощный инструмент для ускорения вывода ИИ
boy illustration
CodeGeeX: мощный инструмент генерации кода искусственного интеллекта, который можно использовать бесплатно в дополнение к второму пилоту.
boy illustration
Машинное обучение Реальный бой LightGBM + настройка параметров случайного поиска: точность 96,67%
boy illustration
Бесшовная интеграция, мгновенный интеллект [1]: платформа больших моделей Dify-LLM, интеграция без кодирования и встраивание в сторонние системы, более 42 тысяч звезд, чтобы стать свидетелями эксклюзивных интеллектуальных решений.
boy illustration
LM Studio для создания локальных больших моделей
boy illustration
Как определить количество слоев и нейронов скрытых слоев нейронной сети?
boy illustration
[Отслеживание целей] Подробное объяснение ByteTrack и детали кода