Andersons vinkel
Oprettelse af neurale søg- og redningsfly-gennemgangsmiljøer med Mega-NeRF

Et nyt forskningssamarbejde mellem Carnegie Mellon og det selvstændige køretøjsteknologiselskab Argo AI har udviklet en økonomisk metode til at generere dynamiske fly-gennemgangsmiljøer baseret på Neurale Radiance Felter (NeRF), ved hjælp af billeder optaget af droner.

Den nye tilgang, kaldet Mega-NeRF, opnår en 40-gangs hastighedsforbedring i forhold til den gennemsnitlige Neurale Radiance Felter-renderingsstandard, samt tilbyder noget bemærkelsesværdigt anderledes end den standardmæssige tanks og templer, der gentager sig i nye NeRF-papirer.
Den nye artikel har titlen Mega-NeRF: Skalerbar opbygning af store NeRF’er til virtuelle fly-gennemgangs, og kommer fra tre forskere ved Carnegie Mellon, hvoraf en også repræsenterer Argo AI.
Modellering af NeRF-landskab for søgning og redning
Forfatterne mener, at søgning og redning (SAR) er en sandsynlig optimal anvendelsesmulighed for deres teknik. Når man vurderer et SAR-landskab, er dronerne i øjeblikket begrænsede både af båndbredde og batterilivsbegrænsninger og kan derfor normalt ikke opnå detaljerede eller omfattende dækning, før de skal returnere til basen, hvorefter deres indsamlede data konverteres til statiske 2D-luftfotos.
Forfatterne skriver:
‘Vi forestiller os en fremtid, hvor neurale renderinger løfter denne analyse op i 3D, hvilket muliggør, at reaktionshold kan inspicere området, som om de fløj en drone i realtid på et detaljeniveau, der langt overstiger, hvad der kan opnås med klassisk Structure-from-Motion (SfM).’
Forfatterne har med denne anvendelsesmulighed søgt at opbygge en kompleks NeRF-baseret model, der kan trænes inden for en dag, da overlevelsesforventningen for overlevende i søgning og redningsoperationer kan falde med op til 80% i de første 24 timer.
Forfatterne bemærker, at drone-optagelsesdataset, der er nødvendige for at træne en Mega-NeRF-model, er “ordrer af størrelse” større end et standarddataset for NeRF, og at modelkapaciteten skal være bemærkelsesværdigt højere end i en standardfork eller afledt af NeRF. Derudover er interaktivitet og gennemgangsværdi afgørende i en søgning og rednings-terrænkort, hvorimod standard real-time NeRF-renderinger forventer et langt mere begrænset udvalg af forudberegnede mulige bevægelser.
Divide and Conquer
For at løse disse problemer opfandt forfatterne en geometrisk klusteringsalgoritme, der opdelte opgaven i undermoduler, og effektivt oprettede en matrix af under-NeRF’er, der trænes samtidigt.
Ved renderingspunktet implementerede forfatterne også en just-in-time visualiseringsalgoritme, der var responsiv nok til at muliggøre fuld interaktivitet uden excessiv forudbearbejdning, ligesom videospil vil øge detaljeniveauet for objekter, når de nærmer sig brugerens synsvinkel, men som forbliver på et energibesparende og mere rudimentært niveau, når de er i distance.
Disse besparelser, mener forfatterne, fører til bedre detaljer end tidligere metoder, der forsøger at løse meget brede emneområder i en interaktiv kontekst. I forhold til at extrapolere detaljer fra begrænsede opløsninger af videooptagelser, bemærker forfatterne også Mega-NeRF’s visuelle forbedring over den tilsvarende funktionalitet i UC Berkeley’s PlenOctrees.

Projektets brug af kædede under-NeRF’er er baseret på KiloNeRF’s real-time rendering-kapaciteter, som forfatterne erkender. Mega-NeRF adskiller sig dog fra denne tilgang ved at udføre “sharding” (diskret omhyggelig af aspekter af en scene) under træning, i stedet for KiloNeRF’s efterbehandlingsmetode, der tager en allerede beregnet NeRF-scene og herefter transformerer den til et gennemgangsrum.

En diskret træningssæt er oprettet for undermoduler, bestående af træningsbilledepixel, hvis trajektori muligvis kan omfatte cellen, den repræsenterer. Derfor trænes hver module helt separat fra nærliggende celler. Kilde: https://arxiv.org/pdf/2112.10703.pdf
Forfatterne karakteriserer Mega-NeRF som ‘en reformulering af NeRF-arkitekturen, der sparsommer lagforbindelser på en rumligt bevidst måde, hvilket muliggør effektivitetsforbedringer ved træning og renderings tid’.

Konceptuel sammenligning af træning og data-diskretisering i NeRF, NeRF++ og Mega-NeRF. Kilde: https://meganerf.cmusatyalab.org/
Forfatterne hævder, at Mega-NeRF’s brug af nye tidsmæssige kohærensstrategier undgår behovet for excessiv forudbearbejdning, overvinder indre begrænsninger på skalaen og opnår et højere detaljeniveau end tidligere lignende arbejder, uden at ofre interaktivitet eller nødvendiggøre flere dages træning.
Forskere stiller også store datasæt til rådighed, der indeholder tusinder af high-definition billeder, der er optaget fra droner, der er optaget over 100.000 kvadratmeter land omkring en industrikomplex. De to tilgængelige datasæt er ‘Bygning’ og ‘Rubble’.
Forbedring af tidligere arbejde
Artiklen bemærker, at tidligere bestræbelser i samme retning, herunder SneRG, PlenOctree og FastNeRF, alle afhænger af en form for cachelagring eller forudbearbejdning, der tilføjer beregnings- og/eller tids-overhead, der er upassende for oprettelse af virtuelle søgning og redningsmiljøer.
Mens KiloNeRF afleder under-NeRF’er fra en eksisterende samling af multilag-perceptroner (MLP’er), er det arkitektonisk begrænset til indendørs scener med begrænset udvidelighed eller kapacitet til at tackle højere skala-miljøer. FastNeRF lagrer en “bagt”, forudberegnede version af NeRF-modellen i en dedikeret datastruktur og tillader slutbrugeren at navigere gennem den via en dedikeret MLP eller gennem sfærisk basisberegning.
I KiloNeRF-scenariet er det maksimale opløsning af hver facet i scenen allerede beregnet, og der vil ikke blive tilgængeligt en højere opløsning, hvis brugeren beslutter at “zoome ind”.
Til gengæld kan NeRF++ naturligt håndtere ubegrænsede, eksterne miljøer ved at opdele det potentielle gennemgangsrum i forgrund og baggrundsområder, hver med en dedikeret MLP-model, der udfører ray-casting før endelig komposition.
Til sidst NeRF i det vilde, som ikke direkte adresserer ubegrænsede rum, forbedrer dog billedkvaliteten i Phototourism-datasættet, og dets fremtoningsindlejring er blevet fulgt i arkitekturen for Mega-NeRF.
Forfatterne indrømmer også, at Mega-NeRF er inspireret af Structure-from-Motion (SfM)-projekter, især Washington University’s Bygning Rom på en dag-projekt.
Tidsmæssig kohærens
Ligesom PlenOctree forudregner Mega-NeRF en grov cache af farve og gennemsigtighed i området omkring den nuværende brugerfokus. Dog, i stedet for at beregne stier hver gang, der er i nærheden af den beregnede sti, som PlenOctree gør, “gemmer” og genbruger Mega-NeRF denne information ved at underopdele den beregnede træ, efter en voksende tendens til at løsne NeRF’s tæt bundne behandlingsetikette.

Til venstre, PlenOctrees enkeltbrugsberegning. Midten, Mega-NeRF’s dynamiske udvidelse af octree, i forhold til den nuværende position af fly-gennemgangen. Højre, octree genbruges til efterfølgende navigation.
Denne beregningsøkonomi reducerer, ifølge forfatterne, betydeligt den beregningsbyrde ved at bruge lokale cache-beregninger i stedet for at estimere og cachelagre dem alle på forhånd, i overensstemmelse med ny praksis.
Guidet sampling
Efter den første sampling, i overensstemmelse med standardmodeller indtil dato, udfører Mega-NeRF en anden runde af guided ray-sampling efter octree-forbedring, for at forbedre billedkvaliteten. Her bruger Mega-NeRF kun en enkelt passage baseret på de eksisterende vægte i octree-datastrukturen.

Som vist i billedet ovenfor, fra den nye artikel, spilder standard-sampling beregningsressourcer ved at evaluere en overmåde af målområdet, hvorimod Mega-NeRF begrænser beregningerne baseret på en viden om, hvor geometri er til stede, og begrænser beregningerne over en foruddefineret grænse.
Data og træning
Forskerne testede Mega-NeRF på forskellige datasæt, herunder de to ovennævnte, håndlavede sæt, der er taget fra drone-optagelser over industrielle arealer. Det første datasæt, Mill 19 – Bygning, indeholder optagelser taget over et område på 500 x 250 kvadratmeter. Det andet, Mill 19 – Rubble, repræsenterer lignende optagelser taget over en tilstødende byggeplads, hvor forskerne placerede dukker, der repræsenterer potentielle overlevende i en søgning og rednings-scenario.

Fra artiklens supplerende materiale: Til venstre, kvadraterne, der skal dækkes af Parrot Anafi-drone (billedet i midten og i distance i højre billed).
Derudover blev arkitekturen testet mod flere scener fra UrbanScene3D, fra Visual Computing Research Center på Shenzhen Universitet i Kina, som består af HD-drone-optagelser af store bymiljøer; og Quad 6k-datasættet, fra Indiana Universitets IU Computer Vision Lab.
Træningen fandt sted over 8 undermoduler, hver med 8 lag af 256 skjulte enheder, og et efterfølgende 128-kanal ReLU-lag. I modsætning til NeRF blev den samme MLP brugt til at forespørge grove og raffinerede prøver, hvilket reducerer den samlede modelstørrelse og tillader genbrug af grove netværksoutput på det efterfølgende renderingsstadium. Forfatterne estimerer, at dette sparer 25% af modelforespørgsler for hver stråle.
1024 stråler blev samplet per batch under Adam med en startlæringsrate på 5×104, der falder til 5×10-5. Fremtoningsindlejringen blev behandlet på samme måde som den ovennævnte NeRF i det vilde. Blandet præcisionssampling (træning ved lavere præcision end 32-bit flydende punkt) blev brugt, og MLP-bredde fastsat til 2048 skjulte enheder.
Test og resultater
I forskernes tests kunne Mega-NeRF robustt overgå NeRF, NeRF++ og DeepView efter træning i 500.000 iterationer over de ovennævnte datasæt. Da Mega-NeRF-målscenariet er tidsbegrænset, tillod forskerne de langsommere tidligere rammer ekstra tid ud over den 24-timers grænse og rapporterer, at Mega-NeRF stadig overgik dem, selv med disse fordele.

Målene, der blev brugt, var Peak signal-til-støj-forhold (PSNR), VGG-versionen af LPIPS og SSIM. Træningen fandt sted på en enkelt maskine udstyret med otte V100-GPU’er – effektivt, på 256 GB VRAM og 5120 Tensor-kerner.

Eksempelresultater fra Mega-NeRF-eksperimenterne (se artiklen for mere udvidede resultater over alle rammer og datasæt) viser, at PlenOctree forårsager betydelig voxelisering, mens KiloNeRF producerer artefakter og generelt mere uklare resultater.
Projektets side er på https://meganerf.cmusatyalab.org/, og den udgivne kode er på https://github.com/cmusatyalab/mega-nerf.
Først udgivet den 21. december 2021.












