Andersons hoek
Het creëren van neurale zoek- en reddingsfly-through-omgevingen met Mega-NeRF

Een nieuwe onderzoeks samenwerking tussen Carnegie Mellon en de autonome rijtechnologiebedrijf Argo AI heeft een economische methode ontwikkeld voor het genereren van dynamische fly-through-omgevingen op basis van Neural Radiance Fields (NeRF), met behulp van beelden die zijn vastgelegd door drones.

De nieuwe aanpak, genaamd Mega-NeRF, behaalt een 40-voudige snelheidstoename ten opzichte van de gemiddelde Neural Radiance Fields-renderingstandaard, evenals iets dat opvallend anders is dan de standaard tanks en tempels die terugkeren in nieuwe NeRF-papers.
Het nieuwe paper heeft als titel Mega-NeRF: Scalable Construction of Large-Scale NeRFs for Virtual Fly-Throughs, en komt van drie onderzoekers aan Carnegie Mellon, waarvan er een ook Argo AI vertegenwoordigt.
Modeling NeRF Landscape voor zoek- en reddingsoperaties
De auteurs menen dat zoek- en reddingsoperaties (SAR) een waarschijnlijke optimale use case zijn voor hun techniek. Wanneer een SAR-landschap wordt geëvalueerd, worden drones momenteel beperkt door zowel bandbreedte- als batterijlevensduurbeperkingen, en zijn daarom meestal niet in staat om gedetailleerde of uitgebreide dekking te verkrijgen voordat ze moeten terugkeren naar de basis, op het moment waarop de verzamelde gegevens worden omgezet in statische 2D-luchtfoto’s.
De auteurs stellen:
‘We stellen ons een toekomst voor waarin neurale rendering deze analyse naar 3D tilt, waardoor respons teams het veld kunnen inspecteren alsof ze een drone in real-time vliegen op een niveau van detail dat verder gaat dan wat mogelijk is met klassieke Structure-from-Motion (SfM).’
Met deze use case in gedachten, hebben de auteurs geprobeerd een complex NeRF-gebaseerd model te creëren dat binnen een dag getraind kan worden, aangezien de levensverwachting van overlevenden in zoek- en reddingsoperaties tot 80% afneemt in de eerste 24 uur.
De auteurs merken op dat de drone-capture-datasets die nodig zijn om een Mega-NeRF-model te trainen, “ordes van grootte” groter zijn dan een standaarddataset voor NeRF, en dat de modelcapaciteit aanzienlijk hoger moet zijn dan in een standaard fork of afgeleide van NeRF. Bovendien is interactiviteit en exploratie essentieel in een zoek- en reddings terreinkaart, terwijl standaard real-time NeRF-renders een veel beperktere reeks vooraf berekende mogelijke bewegingen verwachten.
Divide and Conquer
Om deze problemen aan te pakken, hebben de auteurs een geometrische clustering-algoritme gemaakt dat de taak opdeelt in submodules, en effectief een matrix van sub-NeRFs creëert die tegelijkertijd getraind worden.
Op het moment van rendering, implementeren de auteurs ook een just-in-time visualisatie-algoritme dat responsief genoeg is om volledige interactiviteit te faciliteren zonder overmatige voorverwerking, soortgelijk aan de manier waarop videospellen detailniveaus van objecten verhogen wanneer ze de kijkhoek van de gebruiker naderen, maar die op een energiebesparende en meer rudimentaire schaal blijven wanneer ze ver weg zijn.
Deze besparingen, zo beweren de auteurs, leiden tot beter detail dan eerdere methoden die proberen zeer brede onderwerpen aan te pakken in een interactieve context. Wat betreft het extrapoleren van detail uit beperkte resolutie video-opnames, merken de auteurs ook op dat Mega-NeRF’s visuele verbetering ten opzichte van de equivalentie functionaliteit in UC Berkeley’s PlenOctrees.

Het project maakt gebruik van een keten van sub-NeRFs, gebaseerd op KiloNeRF’s real-time rendering-capaciteiten, zo erkennen de auteurs. Echter, Mega-NeRF wijkt af van deze aanpak door daadwerkelijk ‘sharding’ (discrete shunting van facetten van een scène) uit te voeren tijdens het trainen, in plaats van KiloNeRF’s post-processing-aanpak, die een reeds berekende NeRF-scène neemt en deze vervolgens transformeert in een exploratie-ruimte.

Een discrete trainingsset wordt gemaakt voor submodules, bestaande uit trainingsbeeldpixels waarvan de trajectorie de cel kan overspannen die het vertegenwoordigt. Gevolglijk wordt elke module volledig afzonderlijk getraind van aangrenzende cellen. Source: https://arxiv.org/pdf/2112.10703.pdf
De auteurs karakteriseren Mega-NeRF als ‘een herschrijving van de NeRF-architectuur die laagverbindingen in een ruimtelijk bewuste manier verslankt, waardoor efficiëntieverbeteringen mogelijk worden gemaakt tijdens het trainen en renderen’.

Conceptuele vergelijking van training en gegevensdiscretisatie in NeRF, NeRF++, en Mega-NeRF. Source: https://meganerf.cmusatyalab.org/
De auteurs beweren dat Mega-NeRF’s gebruik van nieuwe temporele coherentie-strategieën de noodzaak voor overmatige voorverwerking voorkomt, de intrinsieke limieten op schaal overwint en een hoger niveau van detail bereikt dan eerdere soortgelijke werken, zonder interactiviteit op te offeren of meerdere dagen training te vereisen.
De onderzoekers maken ook grote datasets beschikbaar die duizenden hoge definitiebeelden bevatten, verkregen uit drone-opnames van 100.000 vierkante meter land rond een industriecomplex. De twee beschikbare datasets zijn ‘Building’ en ‘Rubble’.
Verbetering van eerdere werken
Het paper merkt op dat eerdere inspanningen in een soortgelijke richting, waaronder SneRG, PlenOctree, en FastNeRF, allemaal afhankelijk zijn van een soort caching of voorverwerking die reken- en/of tijds overheads toevoegt die ongeschikt zijn voor de creatie van virtuele zoek- en reddingsomgevingen.
Terwijl KiloNeRF sub-NeRFs afleidt van een bestaande collectie van multilayer perceptrons (MLPs), is het architectonisch beperkt tot interieur scènes met beperkte uitbreidbaarheid of capaciteit om hogere schaalomgevingen aan te pakken. FastNeRF slaat een ‘gebakken’, vooraf berekende versie van het NeRF-model op in een speciale gegevensstructuur en laat de eindgebruiker toe om hierdoorheen te navigeren via een speciale MLP, of via sferische basisberekening.
In het KiloNeRF-scenario is de maximale resolutie van elk facet in de scène al berekend, en zal geen grotere resolutie beschikbaar komen als de gebruiker besluit om ‘in te zoomen’.
Daarentegen kan NeRF++ native onbeperkte, externe omgevingen aan door de potentiële exploratie-ruimte op te delen in voorgrond- en achtergrondregio’s, waarvan elk wordt beheerd door een speciale MLP, die ray-casting uitvoert voordat de finale compositie plaatsvindt.
Tenslotte NeRF in the Wild, die niet direct onbeperkte ruimtes aankaart, verbetert de beeldkwaliteit in de Phototourism dataset, en de verschijningsembeddings zijn gevolgd in de architectuur voor Mega-NeRF.
De auteurs geven ook toe dat Mega-NeRF geïnspireerd is door Structure-from-Motion (SfM)-projecten, met name het Building Rome in a Day-project van de Washington University.
Temporele coherentie
Net als PlenOctree, precomputeert Mega-NeRF een ruwe cache van kleur en opaciteit in de regio van de huidige gebruikersfocus. Echter, in plaats van paden te berekenen elke keer die in de buurt van het berekende pad liggen, zoals PlenOctree doet, ‘saves’ en hergebruikt Mega-NeRF deze informatie door de berekende boom op te delen, volgend op een groeiende trend om NeRF’s sterk verbonden verwerkingsetiquette te ontwarren.

Links, PlenOctree’s enkele gebruiksberekening. Midden, Mega-NeRF’s dynamische uitbreiding van de octree, ten opzichte van de huidige positie van de fly-through. Rechts, de octree wordt hergebruikt voor vervolg navigatie.
Deze berekeningsbesparing, volgens de auteurs, reduceert de verwerkingslast aanzienlijk door lokale berekeningen te gebruiken als cache, in plaats van ze vooraf te schatten en op te slaan, zoals in recente praktijk.
Gegidste sampling
Na initiële sampling, in overeenstemming met standaardmodellen tot nu toe, voert Mega-NeRF een tweede ronde van gegidste ray-sampling uit na octree-verfijning, om de beeldkwaliteit te verbeteren. Hiervoor gebruikt Mega-NeRF slechts één doorloop op basis van de bestaande gewichten in de octree-gegevensstructuur.

Zoals te zien is in de bovenstaande afbeelding, uit het nieuwe paper, verspilt standaard sampling berekeningsbronnen door een overmatige hoeveelheid van het doelgebied te evalueren, terwijl Mega-NeRF de berekeningen beperkt op basis van kennis van waar geometrie aanwezig is, door berekeningen boven een vooraf ingestelde drempel te beperken.
Gegevens en training
De onderzoekers testten Mega-NeRF op verschillende datasets, waaronder de twee eerder genoemde, handgemaakte sets die zijn verkregen uit drone-opnames van industrieterrein. De eerste dataset, Mill 19 – Building, bevat opnames die zijn gemaakt over een gebied van 500 x 250 vierkante meter. De tweede, Mill 19 – Rubble, vertegenwoordigt soortgelijke opnames die zijn gemaakt over een aangrenzend bouwterrein, waarop de onderzoekers dummy’s hebben geplaatst die potentieel overlevenden in een zoek- en reddingscenario vertegenwoordigen.

Uit het aanvullende materiaal van het paper: Links, de quadranten die moeten worden afgedekt door de Parrot Anafi drone (afgebeeld in het midden, en op de achtergrond in de rechterhand foto).
Bovendien werd de architectuur getest tegen verschillende scènes uit UrbanScene3D, van het Visual Computing Research Center aan de Shenzhen University in China, die bestaat uit HD drone-opnames van grote stedelijke omgevingen; en de Quad 6k dataset, van het IU Computer Vision Lab van de Indiana University.
Training vond plaats over 8 submodules, elk met 8 lagen van 256 verborgen eenheden, en een vervolg van 128 kanaal ReLU-laag. In tegenstelling tot NeRF, werd dezelfde MLP gebruikt om zowel grove als verfijnde monsters te raadplegen, waardoor de totale modelgrootte werd verlaagd en het hergebruik van grove netwerkuitvoer mogelijk werd bij het vervolg renderen. De auteurs schatten dat dit 25% van de modelaanvragen per straal bespaart.
1024 stralen werden bemonsterd per batch onder Adam bij een startleer tempo van 5×104, afnemend tot 5×10-5. De verschijningsembeddings werden op dezelfde manier behandeld als de eerder genoemde NeRF in the Wild. Gemengde precisie sampling (training bij een lagere precisie dan 32-bits floating point) werd gebruikt, en de MLP-breedte werd vastgesteld op 2048 verborgen eenheden.
Testen en resultaten
In de tests van de onderzoekers was Mega-NeRF in staat om robuust beter te presteren dan NeRF, NeRF++ en DeepView na training voor 500.000 iteraties over de eerder genoemde datasets. Aangezien de Mega-NeRF-doelscenario tijdgebonden is, lieten de onderzoekers de langzamere eerdere kaders extra tijd beyond de 24-uurslimiet, en melden dat Mega-NeRF nog steeds beter presteerde, zelfs met deze voordelen.

De gebruikte metrics waren Peak signaal-ruisverhouding (PSNR), de VGG-versie van LPIPS, en SSIM. Training vond plaats op een enkele machine uitgerust met acht V100-GPU’s – effectief, op 256GB VRAM, en 5120 Tensor-kernen.

Steekproefresultaten van de Mega-NeRF-experimenten (zie het paper voor uitgebreidere resultaten over alle kaders en datasets) laten zien dat PlenOctree opvallende voxelisatie veroorzaakt, terwijl KiloNeRF artefacten produceert en over het algemeen vager resultaten oplevert.
De projectpagina is te vinden op https://meganerf.cmusatyalab.org/, en de vrijgegeven code is te vinden op https://github.com/cmusatyalab/mega-nerf.
Eerst gepubliceerd op 21 december 2021.












