Взгляд Anderson

Создание нейронной поисково-спасательной среды полета с помощью Mega-NeRF

mm
Добавьте Unite.AI в избранные источники в Google

Новое исследовательское сотрудничество между Университетом Карнеги-Меллона и компанией Argo AI, занимающейся автономными транспортными технологиями, разработало экономически эффективный метод генерации динамических сред полета на основе нейронных радиационных полей (NeRF), используя кадры, снятые беспилотниками.

"Mega-NeRF

Новый подход, называемый Mega-NeRF, обеспечивает ускорение в 40 раз по сравнению со стандартом рендеринга нейронных радиационных полей, а также предлагает что-то заметно отличающееся от стандартных танков и храмов, которые повторяются в новых статьях о NeRF.

The новая статья озаглавлена Mega-NeRF: Масштабируемое построение крупномасштабных NeRF для виртуальных полетов и написана тремя исследователями из Университета Карнеги-Меллона, один из которых также представляет Argo AI.

Моделирование ландшафта NeRF для поиска и спасения

Авторы считают, что поиск и спасение (SAR) является наиболее подходящим вариантом использования их метода. Когда оценивается ландшафт SAR, беспилотники в настоящее время ограничены ограничениями пропускной способности и времени работы батареи и, следовательно, обычно не могут получить подробную или полную информацию до тех пор, пока не понадобится возвращение на базу, после чего собранные данные преобразуются в статические 2D-карты с воздуха.

Авторы заявляют:

‘Мы представляем себе будущее, в котором нейронное рендеринг поднимает этот анализ на 3D-уровень, позволяя командам реагировать осматривать поле, как если бы они летали на беспилотнике в режиме реального времени на уровне детализации, намного превышающем то, что можно достичь с помощью классического Structure-from-Motion (SfM).’

Задача состоит в том, чтобы создать сложную модель NeRF, которую можно обучить в течение дня, учитывая, что ожидаемая продолжительность жизни выживших в операциях по поиску и спасению уменьшается на 80% в течение первых 24 часов.

Авторы отмечают, что наборы данных, необходимые для обучения модели Mega-NeRF, «на несколько порядков» больше, чем стандартный набор данных для NeRF, и что емкость модели должна быть намного выше, чем в стандартном форке или производной NeRF. Кроме того, интерактивность и исследуемость имеют важное значение в карте местности поиска и спасения, тогда как стандартные рендеры NeRF в реальном времени ожидают намного более ограниченный диапазон предвычисленных возможных движений.

Разделение и завоевание

Чтобы решить эти проблемы, авторы создали геометрический алгоритм кластеризации, который разделяет задачу на подмодули и эффективно создает матрицу под-NeRF, которые обучаются одновременно.

В момент рендеринга авторы также реализуют алгоритм визуализации justo-in-time, который достаточно отзывчив, чтобы обеспечить полную интерактивность без чрезмерной предварительной обработки, подобно тому, как видеоигры увеличивают уровень детализации объектов, когда они приближаются к точке зрения пользователя, но которые остаются на энергосберегающем и более простом уровне, когда находятся на расстоянии.

Эти экономии, по мнению авторов, приводят к лучшей детализации, чем предыдущие методы, которые пытаются решить очень широкие темы в интерактивном контексте. В плане экстраполяции деталей из ограниченного разрешения видеокадров авторы также отмечают визуальное улучшение Mega-NeRF по сравнению с эквивалентной функциональностью в UC Berkeley’s PlenOctrees.

Использование Mega-NeRF цепочки под-NeRF основано на возможностях рендеринга KiloNeRF в реальном времени, признают авторы. Однако Mega-NeRF отличается от этого подхода, выполняя «шардинг» (дискретное переключение граней сцены) во время обучения, а не постобработку, как в подходе KiloNeRF, который берет уже рассчитанную сцену NeRF и затем преобразует ее в исследуемое пространство.

Дискретный набор данных создается для подмодулей, состоящий из пикселей обучающих изображений, чей путь может охватывать ячейку, которую он представляет. Следовательно, каждый модуль обучается полностью отдельно от соседних ячеек.

Дискретный набор данных создается для подмодулей, состоящий из пикселей обучающих изображений, чей путь может охватывать ячейку, которую он представляет. Следовательно, каждый модуль обучается полностью отдельно от соседних ячеек. Source: https://arxiv.org/pdf/2112.10703.pdf

Авторы характеризуют Mega-NeRF как ‘переформулировку архитектуры NeRF, которая упрощает соединения слоев в пространственно-осведомленном порядке, обеспечивая улучшения эффективности во время обучения и рендеринга’.

Концептуальное сравнение обучения и дискретизации данных в NeRF, NeRF++ и Mega-NeRF.

Концептуальное сравнение обучения и дискретизации данных в NeRF, NeRF++ и Mega-NeRF. Source: https://meganerf.cmusatyalab.org/

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

Исследователи также предоставляют большие наборы данных, содержащие тысячи высококачественных изображений, полученных из кадров, снятых беспилотниками, на площади 100 000 квадратных метров вокруг промышленного комплекса. Два доступных набора данных – ‘Здание’ и ‘Рubble’.

Улучшение предыдущих работ

В статье отмечается, что предыдущие усилия в подобном направлении, включая SneRG, PlenOctree и FastNeRF, все опираются на какой-то кэш или предварительную обработку, которая добавляет вычислительные и/или временные накладные расходы, неприемлемые для создания виртуальных сред поиска и спасения.

Хотя KiloNeRF получает под-NeRF из существующей коллекции многослойных перцептронов (MLP), он архитектурно ограничен интерьерными сценами с ограниченной расширяемостью или возможностью решать более крупномасштабные среды. FastNeRF, между тем, хранит «выпекаемую», предварительно рассчитанную версию модели NeRF в специальной структуре данных и позволяет пользователю навигировать по ней через специальный MLP или через сферическую базисную вычисление.

В сценарии KiloNeRF максимальное разрешение каждого элемента сцены уже рассчитано, и не будет доступно более высокое разрешение, если пользователь решит «приблизиться».

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

Наконец, NeRF в дикой природе, который не直接 решает неограниченные пространства, тем не менее улучшает качество изображения в наборе данных Phototourism, и его вложения появления были использованы в архитектуре Mega-NeRF.

Авторы также признают, что Mega-NeRF вдохновлен проектами Structure-from-Motion (SfM), особенно проектом Building Rome in a Day Вашингтонского университета.

Временная когерентность

Как и PlenOctree, Mega-NeRF предварительно рассчитывает грубый кэш цвета и непрозрачности в области текущего внимания пользователя. Однако вместо расчета путей каждый раз, когда они находятся в окрестности рассчитанного пути, как это делает PlenOctree, Mega-NeRF «сохраняет» и повторно использует эту информацию, подразделяя рассчитанное дерево, следуя растущей тенденции к разъединению тесно связанных правил обработки NeRF.

Слева, одноразовый расчет PlenOctree. В центре, динамическое расширение октодерева Mega-NeRF относительно текущего положения полета. Справа, октодерево повторно используется для последующей навигации.

Слева, одноразовый расчет PlenOctree. В центре, динамическое расширение октодерева Mega-NeRF относительно текущего положения полета. Справа, октодерево повторно используется для последующей навигации.

Эта экономия расчета, по мнению авторов, заметно снижает вычислительную нагрузку, используя расчеты в реальном времени в качестве локального кэша, а не оценивая и кэшируя их все предварительно, согласно недавней практике.

Управляемая выборка

После первоначальной выборки, в соответствии со стандартными моделями на данный момент, Mega-NeRF выполняет второй раунд управляемой выборки лучей после уточнения октодерева, чтобы улучшить качество изображения. Для этого Mega-NeRF использует только один проход на основе существующих весов в структуре данных октодерева.

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

Данные и обучение

Исследователи протестировали Mega-NeRF на различных наборах данных, включая два вышеупомянутых,手одельных набора, полученных из кадров, снятых беспилотниками над промышленной территорией. Первый набор данных, Мельница 19 – Здание, содержит кадры, снятые на площади 500 х 250 метров. Второй, Мельница 19 – Рubble, представляет аналогичные кадры, снятые над соседней строительной площадкой, где исследователи разместили манекены, представляющие потенциальных выживших в сценарии поиска и спасения.

Из дополнительных материалов статьи: Слева, квадранты, которые должны быть покрыты беспилотником Parrot Anafi (на изображении в центре и вдали на правом фото).

Из дополнительных материалов статьи: Слева, квадранты, которые должны быть покрыты беспилотником Parrot Anafi (на изображении в центре и вдали на правом фото).

Кроме того, архитектура была протестирована на нескольких сценах из UrbanScene3D, из Центра визуальных вычислений Шеньянского университета в Китае, который состоит из высококачественных кадров, снятых беспилотниками в крупных городских средах; и набор данных Quad 6k, из лаборатории компьютерного зрения Университета Индианы.

Обучение проходило на 8 подмодулях, каждый из которых имел 8 слоев по 256 скрытым единицам и последующий слой ReLU с 128 каналами. В отличие от NeRF, один и тот же MLP использовался для запроса грубых и уточненных образцов, снижая общий размер модели и позволяя повторно использовать выходы грубой сети на последующем этапе рендеринга. Авторы оценивают, что это экономит 25% запросов модели для каждого луча.

1024 луча были отобраны на пакет под Adam со стартовой скоростью обучения 5×104, снижающейся до 5×10-5. Вложения появления были обработаны таким же образом, как и в вышеупомянутом NeRF в дикой природе. Смешанная точность выборки (обучение на более низкой точности, чем 32-битовая浮ющая точка) была использована, и ширина MLP была фиксирована на 2048 скрытых единиц.

Тестирование и результаты

В тестах исследователей Mega-NeRF смогла устойчиво превзойти NeRF, NeRF++ и DeepView после обучения на 500 000 итераций на вышеупомянутых наборах данных. Поскольку целевым сценарием Mega-NeRF является ограничение по времени, исследователи позволили более медленным предыдущим фреймворкам дополнительное время за пределами 24-часового лимита и сообщают, что Mega-NeRF все равно превзошла их, даже учитывая эти преимущества.

Метрики, использованные для оценки, были пиковая сигнал-шумовая отношение (PSNR), версия VGG LPIPS и SSIM. Обучение проходило на одной машине, оснащенной восемью V100 GPU – эффективно, на 256 ГБ видеопамяти и 5120 тензорных ядер.

Примеры результатов экспериментов Mega-NeRF (см. статью для более расширенных результатов по всем фреймворкам и наборам данных) показывают, что PlenOctree вызывает заметную вокселизацию, а KiloNeRF производит артефакты и в целом более размытые результаты.

Примеры результатов экспериментов Mega-NeRF (см. статью для более расширенных результатов по всем фреймворкам и наборам данных) показывают, что PlenOctree вызывает заметную вокселизацию, а KiloNeRF производит артефакты и в целом более размытые результаты.

Страница проекта находится по адресу https://meganerf.cmusatyalab.org/, а выпущенный код доступен по адресу https://github.com/cmusatyalab/mega-nerf.

Опубликовано впервые 21 декабря 2021 года.

Писатель о машинном обучении, специалист в области синтеза человеческого изображения. Бывший руководитель исследовательского контента в Metaphysic.ai, до его распада в DNEG's Brahma.ai.
Портфолио: martinanderson.ai
Контакт: martin@martinanderson.ai