Погляд 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, дозволяючи командам реагування інспектувати поле так, якби вони летіли на дроні в реальному часі на рівні деталізації, далеко перевищуючий той, який можна досягти за допомогою класичної структури від руху (SfM).’

Автори поставили собі завдання створити складну модель NeRF, яку можна тренувати протягом доби, оскільки тривалість життя виживших у пошуково-рятувальних операціях зменшується до 80% протягом перших 24 годин.

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

Поділ та завоювання

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

На етапі візуалізації автори також реалізують алгоритм візуалізації just-in-time, який достатньо реактивний, щоб забезпечити повну інтерактивність без надмірної попередньої обробки, подібно до того, як відеоігри збільшують деталізація об’єктів, коли вони наближаються до точки зору користувача, але залишаються на енергозберігаючому та більш первинному рівні, коли знаходяться на відстані.

Ці економії, на думку авторів, призводять до кращої деталізації порівняно з попередніми методами, які намагаються вирішити дуже широкі предмети в інтерактивному контексті. Що стосується екстраполяції деталізації з обмеженої роздільної здатності відеозапису, автори також відзначають візуальне покращення Mega-NeRF порівняно з еквівалентною функціональністю у UC Berkeley’s PlenOctrees.

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

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

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

Автори характеризують Mega-NeRF як ‘переформулювання архітектури NeRF, яке розріджує сполучення шарів у просторово-чутливому порядку, забезпечуючи покращення ефективності під час тренування та візуалізації’.

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

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

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

Дослідники також надають великомасштабні набори даних, що містять тисячі високодеталізованих зображень, отриманих з кадрів дронів, знятих над 100 000 квадратних метрів території навколо промислового комплексу. Два доступні набори даних – ‘Будівля’ та ‘Уламки’.

Покращення попередніх робіт

У роботі зазначається, що попередні роботи в подібному напрямку, включаючи SneRG, PlenOctree та FastNeRF, всі спираються на деякий вид кешування або попередньої обробки, яка додає обчислювальне та/або часові накладні витрати, які є неприйнятними для створення віртуальних середовищ пошуку та рятування.

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

У сценарії KiloNeRF максимальна роздільна здатність кожного фасету сцени вже обчислена, і жодна вища роздільна здатність не стане доступною, якщо користувач вирішить «приблизитися».

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

Нарешті, NeRF у дикій природі, який не безпосередньо вирішує необмежені простори, проте покращує якість зображення у наборі даних Phototourism, і його апаратні вкладення були використані у архітектурі Mega-NeRF.

Автори також зазначають, що Mega-NeRF натхненний проектами «Структура від руху» (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 на різних наборах даних, включаючи два згадані вище, ручні набори, отримані з кадрів дронів над промисловою територією. Перший набір даних, Mill 19 – Будівля, містить кадри, зняті над територією 500 х 250 метрів. Другий, Mill 19 – Уламки, представляє подібні кадри, зняті над сусідньою будівельною ділянкою, де дослідники розмістили манекени, що представляють потенційних виживших у пошуково-рятувальному сценарії.

З додаткового матеріалу роботи: Зліва, квадрати, які повинні бути покриті дроном Parrot Anafi (зображений у центрі та на відстані на правому зображенні).

З додаткового матеріалу роботи: Зліва, квадрати, які повинні бути покриті дроном Parrot Anafi (зображений у центрі та на відстані на правому зображенні).

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

Тренування відбувалося над 8 підмодулями, кожен з 8 шарами по 256 прихованих одиниць, та наступним 128-канальним шаром ReLU. На відміну від 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