Kąt Andersona
Tworzenie środowisk przelotu Neural Search i Rescue z użyciem Mega-NeRF

Nowe badanie przeprowadzone przez Carnegie Mellon i firmę technologiczną Argo AI zajmującą się samochodami autonomicznymi opracowało ekonomiczną metodę generowania dynamicznych środowisk przelotu opartych na Neural Radiance Fields (NeRF), wykorzystując zdjęcia nagrane przez drony.

Nowy podejście, nazwane Mega-NeRF, uzyskuje 40-krotny przyrost szybkości w porównaniu ze standardową renderowaniem Neural Radiance Fields, a także oferuje coś zauważalnie różnego od standardowych czołgów i świątyń, które pojawiają się w nowych pracach NeRF.
The nowy artykuł nosi tytuł Mega-NeRF: Scalable Construction of Large-Scale NeRFs for Virtual Fly-Throughs, i pochodzi od trzech badaczy z Carnegie Mellon, z których jeden również reprezentuje Argo AI.
Modelowanie krajobrazu NeRF dla poszukiwania i ratownictwa
Autorzy uważają, że poszukiwanie i ratownictwo (SAR) to najbardziej optymalne zastosowanie ich techniki. Podczas oceny krajobrazu SAR, drony są obecnie ograniczone zarówno przez ograniczenia pasma, jak i żywotności baterii, i z tego powodu nie są zazwyczaj w stanie uzyskać szczegółowych lub kompleksowych informacji przed koniecznością powrotu do bazy, w której to momencie ich zebrane dane są przekształcane w statyczne 2D mapy lotnicze.
Autorzy stwierdzają:
‘Wyobrażamy sobie przyszłość, w której renderowanie neuronowe podnosi tę analizę do 3D, umożliwiając zespołom ratowniczym inspekcję terenu tak, jakby latały dronem w czasie rzeczywistym na poziomie szczegółowości znacznie przekraczającym to, co możliwe z klasycznym Structure-from-Motion (SfM).’
Zadaniem tym autorzy starali się stworzyć złożony model NeRF, który może być szkolony w ciągu dnia, biorąc pod uwagę, że oczekiwanie na życie ocalałych w operacjach poszukiwania i ratownictwa maleje o 80% w ciągu pierwszych 24 godzin.
Autorzy zauważają, że zestawy danych do przechwycenia dronów niezbędne do szkolenia modelu Mega-NeRF są “o rząd wielkości” większe niż standardowy zestaw danych dla NeRF, i że pojemność modelu musi być znacznie większa niż w standardowym fork lub pochodnej NeRF. Dodatkowo, interaktywność i możliwość eksploracji są niezbędne w mapie terenu poszukiwania i ratownictwa, podczas gdy standardowe renderowanie NeRF w czasie rzeczywistym oczekuje znacznie ograniczonego zakresu pre-wyliczonych możliwych ruchów.
Dzielić i rządzić
Aby rozwiązać te problemy, autorzy stworzyli algorytm klasterowania geometrycznego, który dzieli zadanie na podmoduły, i skutecznie tworzy macierz pod-NeRF, które są szkolone jednocześnie.
W momencie renderowania, autorzy również wdrożyli algorytm wizualizacji just-in-time, który jest wystarczająco responsywny, aby umożliwić pełną interaktywność bez nadmiernego przetwarzania wstępnego, podobnie jak w przypadku gier wideo, które zwiększają szczegółowość obiektów, gdy zbliżają się one do punktu widzenia użytkownika, ale które pozostają na oszczędnym i bardziej podstawowym poziomie, gdy są w oddali.
Te oszczędności, jak twierdzą autorzy, prowadzą do lepszych szczegółów niż poprzednie metody, które próbują rozwiązać bardzo szerokie obszary w interaktywnym kontekście. W kwestii ekstrapolacji szczegółów z ograniczonej rozdzielczości filmów, autorzy również zauważają, że Mega-NeRF przewyższa równoważną funkcjonalność w UC Berkeley’s PlenOctrees.

Projektu używa łańcuchowych pod-NeRF, opartych na możliwościach renderowania w czasie rzeczywistym KiloNeRF, autorzy przyznają. Jednak Mega-NeRF odbiega od tego podejścia, wykonując “sharding” (dyskretny transport aspektów sceny) podczas szkolenia, a nie podejście KiloNeRF, które jest przetwarzane po szkoleniu, które bierze już obliczoną scenę NeRF i następnie przekształca ją w przestrzeń do eksploracji.

Utworzono dyskretny zestaw szkoleniowy dla podmodułów, składający się z pikseli obrazu szkoleniowego, których trajektoria może obejmować komórkę, którą reprezentuje. W związku z tym każdy moduł jest szkolony całkowicie oddzielnie od sąsiednich komórek. Source: https://arxiv.org/pdf/2112.10703.pdf
Autorzy określają Mega-NeRF jako ‘przeformułowanie architektury NeRF, które rozprzęga połączenia warstw w sposób przestrzennie-świadomy, umożliwiając poprawy wydajności podczas szkolenia i renderowania’.

Porównanie koncepcyjne szkolenia i dyskretyzacji danych w NeRF, NeRF++, i Mega-NeRF. Source: https://meganerf.cmusatyalab.org/
Autorzy twierdzą, że użycie Mega-NeRF nowych strategii spójności czasowej unika potrzeby nadmiernego przetwarzania wstępnego, pokonuje wewnętrzne limity skali i wprowadza wyższy poziom szczegółowości niż poprzednie prace, bez poświęcania interaktywności lub konieczności wielu dni szkolenia.
Badacze udostępniają również duże zestawy danych zawierające tysiące wysokiej rozdzielczości obrazów uzyskanych z filmów nagranych przez drony na obszarze 100 000 metrów kwadratowych wokół kompleksu przemysłowego. Dwa dostępne zestawy danych to ‘Building’ i ‘Rubble’.
Poprawa poprzednich prac
Artykuł zauważa, że poprzednie prace w tym samym zakresie, w tym SneRG, PlenOctree i FastNeRF, wszystkie opierają się na pewnego rodzaju buforowaniu lub przetwarzaniu wstępnym, które dodaje obciążenie obliczeniowe i/lub czasowe, nieodpowiednie dla tworzenia wirtualnych środowisk poszukiwania i ratownictwa.
Podczas gdy KiloNeRF wywodzi pod-NeRF z istniejącej kolekcji wielowarstwowych perceptronów (MLP), jest ograniczony architektonicznie do wnętrzowych scen z ograniczoną rozszerzalnością lub pojemnością do rozwiązywania większych środowisk. FastNeRF, z kolei, przechowuje “upieczony”, pre-wyliczony wersję modelu NeRF w dedykowanej strukturze danych i pozwala użytkownikowi nawigować przez nią za pomocą dedykowanego MLP lub przez sferyczną bazę obliczeniową.
W przypadku KiloNeRF maksymalna rozdzielczość każdego aspektu sceny jest już obliczona, i nie będzie dostępna większa rozdzielczość, jeśli użytkownik zdecyduje się “powiększyć”.
Natomiast NeRF++ może natywnie obsługiwać nieograniczone, zewnętrzne środowiska, dzieląc potencjalną przestrzeń do eksploracji na obszary przedniego i tylnego planu, z których każdy jest nadzorowany przez dedykowany model MLP, który wykonuje ray-casting przed ostatecznym składaniem.
Wreszcie, NeRF w terenie, który nie rozwiązuje bezpośrednio nieograniczonych przestrzeni, poprawia jednak jakość obrazu w zestawie danych Phototourism, a jego osadzanie wyglądu zostało naśladowane w architekturze Mega-NeRF.
Autorzy przyznają również, że Mega-NeRF jest inspirowany projektami Structure-from-Motion (SfM), zwłaszcza projektem Building Rome in a Day z Uniwersytetu Waszyngtońskiego.
Spójność czasowa
Podobnie jak PlenOctree, Mega-NeRF pre-liczy grubą pamięć koloru i przezroczystości w okolicy obecnego skupienia użytkownika. Jednak zamiast obliczania ścieżek każdorazowo, które są w pobliżu obliczonej ścieżki, jak to robi PlenOctree, Mega-NeRF “zapisuje” i ponownie wykorzystuje tę informację, dzieląc obliczoną drzewo, podążając za rosnącym trendem, aby rozłączyć ściśle związane z NeRF przetwarzanie.

Po lewej, jednorazowe obliczenie PlenOctree. Środek, dynamiczne rozszerzenie drzewa oktetowego Mega-NeRF, względem bieżącej pozycji przelotu. Prawo, drzewo oktetowe jest ponownie wykorzystywane do następnego nawigowania.
Ten oszczędność obliczeń, według autorów, znacznie zmniejsza obciążenie przetwarzania, wykorzystując obliczenia na żądanie jako lokalną pamięć, a nie szacując i buforując je wszystkie wcześniej, zgodnie z ostatnią praktyką.
Przewodzone próbkowanie
Po początkowym próbkowaniu, zgodnie ze standardowymi modelami do tej pory, Mega-NeRF wykonuje drugą rundę przewodzonego próbkowania promieni po ulepszeniu drzewa oktetowego, w celu poprawy jakości obrazu. Do tego Mega-NeRF wykorzystuje tylko jeden przejście, oparty na istniejących wagach w strukturze danych drzewa oktetowego.

Jak widać na powyższym obrazie, z nowego artykułu, standardowe próbkowanie marnuje zasoby obliczeniowe, oceniając nadmierną ilość obszaru docelowego, podczas gdy Mega-NeRF ogranicza obliczenia na podstawie wiedzy o tym, gdzie jest obecna geometria, ograniczając obliczenia powyżej ustalonego progu.
Dane i szkolenie
Badacze przetestowali Mega-NeRF na różnych zestawach danych, w tym na dwóch wcześniej wymienionych, ręcznie przygotowanych zestawach, pochodzących z filmów nagranych przez drony na terenie przemysłowym. Pierwszy zestaw, Mill 19 – Building, zawiera filmy nagrane na obszarze 500 x 250 metrów kwadratowych. Drugi, Mill 19 – Rubble, reprezentuje podobne filmy nagrane na sąsiedniej budowie, na której badacze umieścili kukły reprezentujące potencjalnych ocalałych w scenariuszu poszukiwania i ratownictwa.

Z materiałów uzupełniających artykułu: Po lewej, kwadraty, które mają być pokryte przez dron Parrot Anafi (na zdjęciu w środku i w oddali na prawym zdjęciu).
Ponadto, architektura została przetestowana na kilku scenach z UrbanScene3D, z Centrum Badań Komputerowych Uniwersytetu w Shenzhen w Chinach, które składa się z HD filmów nagranych przez drony w dużych środowiskach miejskich; oraz z zestawem danych Quad 6k, z Laboratorium Widzenia Komputerowego Uniwersytetu Indiana.
Szkolenie odbywało się na 8 podmodułach, z których każdy miał 8 warstw z 256 jednostkami ukrytymi, oraz następującą warstwę kanału 128 z funkcją aktywacji ReLU. W przeciwieństwie do NeRF, ten sam MLP był używany do zapytań o próbki grubych i wyrafinowanych, zmniejszając całkowitą wielkość modelu i pozwalając na ponowne wykorzystanie wyjść sieci szkoleniowej w następnym etapie renderowania. Autorzy szacują, że to oszczędność 25% zapytań modelu dla każdego promienia.
1024 promieni zostały wybrane na partię podczas Adam, z początkową szybkością uczenia 5×104, malejącą do 5×10-5. Osadzanie wyglądu zostało obsłużone w ten sam sposób, co w NeRF w terenie. Próbkowanie o mieszanej precyzji (szkolenie z niższą precyzją niż 32-bitowy punkt zmiennoprzecinkowy) zostało użyte, a szerokość MLP została ustalona na 2048 jednostek ukrytych.
Testowanie i wyniki
W testach przeprowadzonych przez badaczy, Mega-NeRF był w stanie wyraźnie przewyższyć NeRF, NeRF++ i DeepView po szkoleniu przez 500 000 iteracji na wcześniej wymienionych zestawach danych. Ponieważ Mega-NeRF jest ukierunkowany na scenariusz ograniczony czasowo, badacze pozwolili wolniejszym poprzednim strukturoantom na dodatkowy czas poza 24-godzinnym limitem, i donoszą, że Mega-NeRF nadal przewyższył ich, nawet przy tych korzyściach.

Użyte metryki to Peak signal-to-noise ratio (PSNR), wersja VGG LPIPS, i SSIM. Szkolenie odbywało się na jednej maszynie wyposażonej w osiem V100 GPU – skutecznie, na 256 GB VRAM, i 5120 rdzeni Tensor.

Wyniki próbek z eksperymentów Mega-NeRF (zobacz artykuł, aby uzyskać więcej wyników we wszystkich strukturach i zestawach danych) pokazują, że PlenOctree powoduje zauważalną wektoryzację, podczas gdy KiloNeRF wytwarza artefakty i ogólnie bardziej rozmyte wyniki.
Strona projektu znajduje się pod adresem https://meganerf.cmusatyalab.org/, a wydany kod jest dostępny pod adresem https://github.com/cmusatyalab/mega-nerf.
Pierwotnie opublikowane 21 grudnia 2021.












