Unghiul lui Anderson
Crearea de medii de căutare și salvare neurale cu zbor prin Mega-NeRF

O nouă colaborare de cercetare între Carnegie Mellon și compania de tehnologie de conducere autonomă Argo AI a dezvoltat o metodă economică pentru generarea de medii dinamice de zbor prin, pe baza câmpurilor de radianță neurală (NeRF), utilizând imagini capturate de drone.

Abordarea nouă, numită Mega-NeRF, obține o accelerare de 40 de ori în comparație cu standardul de renderizare al câmpurilor de radianță neurală, precum și oferă ceva notabil de diferit de standardul tancuri și temple care se regăsesc în noile lucrări NeRF.
Articolul nou se intitulează Mega-NeRF: Construcția scalabilă a NeRF-urilor la scară largă pentru zboruri virtuale și provine de la trei cercetători de la Carnegie Mellon, unul dintre care reprezintă și Argo AI.
Modelarea peisajului NeRF pentru căutare și salvare
Autorii consideră că căutarea și salvarea (SAR) este un caz de utilizare optim pentru tehnica lor. Atunci când evaluează un peisaj SAR, dronele sunt limitate atât de restricțiile de bandă, cât și de viața bateriei, și, prin urmare, nu sunt de obicei capabile să obțină o acoperire detaliată sau cuprinzătoare înainte de a trebui să se întoarcă la bază, în momentul în care datele colectate sunt convertite în hărți aeriene statice 2D.
Autorii afirmă:
‘Ne imaginăm un viitor în care renderingul neural ridică această analiză în 3D, permițând echipelor de răspuns să inspecteze terenul ca și cum ar zbura cu o dronă în timp real, la un nivel de detaliu mult mai mare decât cel realizat cu structura clasică de la mișcare (SfM).’
Însărcinați cu acest caz de utilizare, autorii au căutat să creeze un model NeRF complex care poate fi instruit în interiorul unei zile, având în vedere că speranța de viață a supraviețuitorilor în operațiunile de căutare și salvare scade cu până la 80% în primele 24 de ore.
Autorii notează că seturile de date de captură a dronelor necesare pentru a antrena un model Mega-NeRF sunt “de ordine de mărime” mai mari decât un set standard de date pentru NeRF, și că capacitatea modelului trebuie să fie semnificativ mai mare decât într-o ramură sau derivată standard a NeRF. De asemenea, interactivitatea și explorabilitatea sunt esențiale într-o hartă de teren de căutare și salvare, în timp ce renderizările standard NeRF în timp real se așteaptă la un interval mult mai limitat de mișcări precalculate.
Împărțirea și cucerirea
Pentru a aborda aceste probleme, autorii au creat un algoritm de clusterizare geometric care împarte sarcina în submodule, și efectiv creează o matrice de sub-NeRF care sunt instruite contemporan.
La momentul renderizării, autorii implementează și un algoritm de visualizare în timp real care este suficient de rapid pentru a facilita interactivitatea completă fără prelucrare excesivă, similar cu modul în care jocurile video vor crește detaliile obiectelor pe măsură ce se apropie de punctul de vedere al utilizatorului, dar care rămân la o scară de energie și mai rudimentară atunci când sunt la distanță.
Aceste economii, susțin autorii, duc la detalii mai bune decât metodele anterioare care încearcă să abordeze subiecte foarte largi într-un context interactiv. În ceea ce privește extrapolarea detaliilor din imagini cu rezoluție limitată, autorii notează, de asemenea, îmbunătățirea vizuală a Mega-NeRF față de funcționalitatea echivalentă din UC Berkeley’s PlenOctrees.

Proiectul utilizează lanțuri de sub-NeRF, bazate pe capacitățile de renderizare în timp real ale KiloNeRF, recunosc autorii. Cu toate acestea, Mega-NeRF se abate de la această abordare prin faptul că efectuează “sharding” (deplasarea discretă a facetelor unei scene) în timpul antrenamentului, și nu o abordare de post-procesare, care ia o scenă NeRF deja calculată și o transformă ulterior într-un spațiu explorabil.

Un set de antrenament discret este creat pentru submodule, alcătuit din pixeli de imagine de antrenament a căror traiectorie ar putea acoperi celula pe care o reprezintă. În consecință, fiecare modul este antrenat în întregime separat de celulele adiacente. Source: https://arxiv.org/pdf/2112.10703.pdf
Autorii caracterizează Mega-NeRF ca ‘o reformulare a arhitecturii NeRF care rarefiază conexiunile de straturi într-un mod conștient spațial, facilitând îmbunătățiri de eficiență la timpul de antrenament și renderizare’.

Comparare conceptuală a antrenamentului și discretizării datelor în NeRF, NeRF++ și Mega-NeRF. Source: https://meganerf.cmusatyalab.org/
Autorii afirmă că utilizarea strategiilor de coerență temporală a Mega-NeRF evită necesitatea unei prelucrări excesive, depășește limitele intrinseci de scară și realizează un nivel mai mare de detaliu decât lucrările anterioare similare, fără a sacrifica interactivitatea sau a necesita zile de antrenament.
Cercetătorii pun, de asemenea, la dispoziție seturi de date la scară largă care conțin mii de imagini de înaltă definiție obținute din imagini capturate de drone peste 100.000 de metri pătrați de teren în jurul unui complex industrial. Cele două seturi de date disponibile sunt ‘Clădire’ și ‘Moloz’.
Îmbunătățirea lucrărilor anterioare
Articolul notează că eforturile anterioare într-un sens similar, inclusiv SneRG, PlenOctree și FastNeRF, toate se bazează pe un fel de caching sau prelucrare care adaugă suplimentar sarcină de calcul și/sau timp de suplimentare, care nu este potrivit pentru crearea de medii virtuale de căutare și salvare.
În timp ce KiloNeRF derivă sub-NeRF dintr-o colecție existentă de perceptroni multi-strat (MLP), este constrâns arhitectural la scene interioare cu extensibilitate limitată sau capacitate de a aborda medii de scară mai mare. FastNeRF, în schimb, stochează o versiune “coaptă”, precalculată a modelului NeRF într-o structură de date dedicată și permite utilizatorului final să navigheze prin ea prin intermediul unui MLP dedicat sau prin computație bazată pe sferă.
În scenariul KiloNeRF, rezoluția maximă a fiecărui facet din scenă este deja calculată, și nu va fi disponibilă o rezoluție mai mare dacă utilizatorul decide să “mărească”.
În contrast, NeRF++ poate gestiona în mod nativ medii exterioare nelimitate prin împărțirea spațiului explorabil în regiuni de prim plan și fundal, fiecare supravegheat de un model MLP dedicat, care efectuează ray-casting înainte de compunerea finală.
În cele din urmă, NeRF în sălbăticie, care nu abordează direct spații nelimitate, îmbunătățește totuși calitatea imaginii în setul de date Phototourism, și încorporările sale de aspect au fost urmate în arhitectura pentru Mega-NeRF.
Autorii recunosc, de asemenea, că Mega-NeRF este inspirat de proiecte de structură de la mișcare (SfM), în special proiectul Building Rome in a Day de la Universitatea Washington.
Coerență temporală
La fel ca PlenOctree, Mega-NeRF precalculează o cache aproximativă de culoare și opacitate în regiunea focalizării curente a utilizatorului. Cu toate acestea, în loc de a calcula căi de fiecare dată care sunt în vecinătatea căii calculate, așa cum face PlenOctree, Mega-NeRF “salvează” și reutilizează această informație prin subdivizarea arborelui calculat, urmând o tendință în creștere de a dezlega eticheta de procesare strâns legată a NeRF.

În stânga, calculul unic al PlenOctree. Mijloc, extinderea dinamică a octomului Mega-NeRF, relativ la poziția curentă a zborului. Dreapta, octomul este reutilizat pentru navigarea ulterioară.
Această economie de calcul, conform autorilor, reduce semnificativ sarcina de procesare prin utilizarea calculului în timp real ca o cache locală, și nu prin estimarea și caching-ul tuturor prealabil, conform practicii recente.
Eșantionare ghidată
După eșantionarea inițială, în conformitate cu modelele standard până în prezent, Mega-NeRF efectuează un al doilea tur de eșantionare ghidată după rafinarea octomului, pentru a îmbunătăți calitatea imaginii. Pentru aceasta, Mega-NeRF utilizează doar o singură trecere bazată pe greutățile existente în structura de date a octomului.

Așa cum se poate vedea în imaginea de mai sus, din articolul nou, eșantionarea standard irosește resurse de calcul prin evaluarea unei cantități excesive a zonei țintă, în timp ce Mega-NeRF limitează calculele pe baza cunoașterii prezenței geometriei, reducând calculele peste un prag prestabilit.
Date și antrenament
Cercetătorii au testat Mega-NeRF pe diverse seturi de date, inclusiv cele două seturi menționate anterior, create manual din imagini capturate de drone pe teren industrial. Primul set de date, Mill 19 – Clădire, conține imagini capturate pe o suprafață de 500 x 250 de metri pătrați. Al doilea, Mill 19 – Moloz, reprezintă imagini similare capturate pe un șantier de construcții adiacent, în care cercetătorii au plasat manechine care reprezintă supraviețuitori potențiali într-un scenariu de căutare și salvare.

De la materialul suplimentar al articolului: Stânga, quadrantul care urmează a fi acoperit de drona Parrot Anafi (imaginea din centru și la distanță în fotografia din dreapta).
În plus, arhitectura a fost testată împotriva mai multor scene din UrbanScene3D, de la Centrul de Cercetare în Calcul din Universitatea Shenzhen din China, care constă în imagini capturate de drone de înaltă definiție ale unor medii urbane mari; și setul de date Quad 6k, de la Laboratorul de Viziune IU de la Universitatea Indiana.
Antrenamentul a avut loc pe 8 submodule, fiecare cu 8 straturi de 256 de unități ascunse, și un strat ulterioar de 128 de canale ReLU. În contrast cu NeRF, același MLP a fost utilizat pentru a interoga mostre grosiere și rafinate, reducând dimensiunea modelului general și permițând reutilizarea ieșirilor rețelei grosiere la etapa ulterioară de renderizare. Autorii estimează că acest lucru economisește 25% din interogările modelului pentru fiecare rază.
1024 de raze au fost eșantionate pe lot sub Adam la o rată de învățare inițială de 5×104, scăzând la 5×10-5. Încorporările de aspect au fost tratate în același mod ca și NeRF în sălbăticie. Eșantionarea cu precizie mixtă (antrenament la o precizie mai mică decât punctul flotant de 32 de biți) a fost utilizată, și lățimea MLP a fost fixată la 2048 de unități ascunse.
Testare și rezultate
În testele cercetătorilor, Mega-NeRF a reușit să depășească robust NeRF, NeRF++ și DeepView după antrenament timp de 500.000 de iterații pe seturile de date menționate anterior. Deoarece scenariul țintă Mega-NeRF este limitat de timp, cercetătorii au permis cadrului anterior să aibă mai mult timp dincolo de limita de 24 de ore și raportează că Mega-NeRF a depășit-o totuși, chiar și cu aceste avantaje.

Metricile utilizate au fost raportul de semnal la zgomot de vârf (PSNR), versiunea VGG a LPIPS și SSIM. Antrenamentul a avut loc pe o singură mașină echipată cu opt V100 GPU – efectiv, pe 256 GB de VRAM și 5120 de nuclee Tensor.

Rezultatele de eșantion din experimentele Mega-NeRF (vă rugăm să consultați articolul pentru rezultate mai extinse pe toate cadrurile și seturile de date) arată că PlenOctree provoacă o voxelizare notabilă, în timp ce KiloNeRF produce artefacte și rezultate mai blurate în general.
Pagina proiectului este la https://meganerf.cmusatyalab.org/, și codul lansat este la https://github.com/cmusatyalab/mega-nerf.
Publicat pentru prima dată pe 21 decembrie 2021.












