Künstliche Intelligenz
Erstellung von Neural Search und Rescue Fly-Through-Umgebungen mit Mega-NeRF

Eine neue Forschungszusammenarbeit zwischen der Carnegie Mellon und dem Unternehmen für autonome Fahrtechnologie Argo AI hat eine wirtschaftliche Methode zur Erzeugung dynamischer Fly-Through-Umgebungen auf der Grundlage von Neuralen Radiance-Feldern (NeRF) entwickelt, die auf von Drohnen aufgenommenen Footage basiert.

Der neue Ansatz, der als Mega-NeRF bezeichnet wird, erreicht im Vergleich zum Durchschnittsstandard für die Rendering von Neuralen Radiance-Feldern eine 40-fache Geschwindigkeitssteigerung und bietet etwas, das sich deutlich von den Standard-Tanks und Tempel unterscheidet, die in neuen NeRF-Papieren wiederholt auftauchen.
Das neue Papier trägt den Titel Mega-NeRF: Skalierbare Konstruktion von großen NeRFs für virtuelle Fly-Throughs und stammt von drei Forschern der Carnegie Mellon, von denen einer auch Argo AI vertritt.
Modellierung von NeRF-Landschaften für Suche und Rettung
Die Autoren gehen davon aus, dass die Suche und Rettung (SAR) ein optimaler Anwendungsfall für ihre Technik ist. Bei der Bewertung einer SAR-Landschaft sind Drohnen derzeit durch Bandbreiten- und Akkulaufzeiteinschränkungen eingeschränkt und können daher in der Regel keine detaillierten oder umfassenden Abdeckungen erstellen, bevor sie zur Basis zurückkehren müssen, wo ihre gesammelten Daten in statische 2D-Luftbildkarten umgewandelt werden.
Die Autoren erklären:
‘Wir stellen uns eine Zukunft vor, in der neuronale Rendering diese Analyse in 3D hebt, sodass Reaktionsteams das Feld wie in Echtzeit und in einem Detailgrad, der weit über das hinausgeht, was mit klassischer Structure-from-Motion (SfM) erreichbar ist, untersuchen können.’
Mit dieser Anwendungsaufgabe haben die Autoren versucht, ein komplexes NeRF-basiertes Modell zu erstellen, das innerhalb eines Tages trainiert werden kann, da die Lebenserwartung von Überlebenden in Such- und Rettungsoperationen innerhalb der ersten 24 Stunden um bis zu 80 % abnimmt.
Die Autoren weisen darauf hin, dass die für die Ausbildung eines Mega-NeRF-Modells erforderlichen Drohnen-Erfassungsdatensätze “um Größenordnungen” größer sind als ein Standard-Datensatz für NeRF und dass die Modellkapazität deutlich höher sein muss als in einem Standard-Fork oder einer Ableitung von NeRF. Darüber hinaus ist Interaktivität und Explorierbarkeit in einer Such- und Rettungs-Terrainkarte von entscheidender Bedeutung, während Standard-Echtzeit-NeRF-Renderings eine viel begrenztere Reihe von vorab berechneten möglichen Bewegungen erwarten.
Teilen und Erobern
Um diese Probleme anzugehen, haben die Autoren einen geometrischen Clustering-Algorithmus erstellt, der die Aufgabe in Submodule unterteilt und effektiv eine Matrix von Sub-NeRFs erstellt, die gleichzeitig trainiert werden.
Bei der Rendering verwenden die Autoren auch einen just-in-time-Visualisierungs-Algorithmus, der interaktiv genug ist, um eine vollständige Interaktivität ohne übermäßige Vorverarbeitung zu ermöglichen, ähnlich wie bei Videospielen, die Details auf Objekte erhöhen, wenn sie sich dem Blickwinkel des Benutzers nähern, aber im Hintergrund auf einer energiesparenden und rudimentären Ebene bleiben.
Diese Einsparungen, so argumentieren die Autoren, führen zu einer besseren Detailgenauigkeit als frühere Methoden, die versuchen, sehr weite Themenbereiche in einem interaktiven Kontext anzugehen. In Bezug auf die Extrapolation von Details aus begrenzter Auflösung von Videoaufnahmen weisen die Autoren auch auf die visuelle Verbesserung von Mega-NeRF gegenüber der äquivalenten Funktionalität in UC Berkeleys PlenOctrees hin.

Das Projekt verwendet eine Kette von Sub-NeRFs, die auf den Echtzeit-Rendering-Fähigkeiten von KiloNeRF basiert, wie die Autoren anerkennen. Mega-NeRF weicht jedoch von diesem Ansatz ab, indem es tatsächlich während der Ausbildung eine “Sharding” (diskrete Umleitung von Szenenfacetten) durchführt, anstatt KiloNeRFs Post-Processing-Ansatz, der eine bereits berechnete NeRF-Szene nimmt und sie anschließend in einen explorable Raum umwandelt.

Ein diskreter Trainingsdatensatz wird für Submodule erstellt, der aus Trainingsbildpixeln besteht, deren Traektorie die Zelle, die es darstellt, überqueren kann. Folglich wird jedes Modul vollständig unabhängig von benachbarten Zellen trainiert. Quelle: https://arxiv.org/pdf/2112.10703.pdf
Die Autoren charakterisieren Mega-NeRF als ‘eine Neufassung der NeRF-Architektur, die Layer-Verbindungen in räumlich sensibler Weise sparsifiziert, wodurch Effizienzverbesserungen bei der Ausbildung und Rendering-Zeit ermöglicht werden’.

Konzeptvergleich der Ausbildung und Daten-Discretisierung in NeRF, NeRF++ und Mega-NeRF. Quelle: https://meganerf.cmusatyalab.org/
Die Autoren behaupten, dass Mega-NeRFs Verwendung neuer temporaler Kohärenzstrategien den Bedarf an übermäßiger Vorverarbeitung vermeidet, die inhärenten Grenzen der Skalierbarkeit überwindet und einen höheren Detaillierungsgrad als frühere Arbeiten ermöglicht, ohne Interaktivität zu opfern oder mehrere Tage Ausbildung zu erfordern.
Die Forscher stellen auch große Datensätze zur Verfügung, die Tausende von High-Definition-Bildern enthalten, die von Drohnenaufnahmen über 100.000 Quadratmeter Land um einen Industriekomplex herum aufgenommen wurden. Die beiden verfügbaren Datensätze sind ‘Gebäude’ und ‘Schutt’.
Verbesserung gegenüber früheren Arbeiten
Das Papier weist darauf hin, dass frühere Bemühungen in ähnlicher Richtung, einschließlich SneRG, PlenOctree und FastNeRF, alle auf eine Art von Caching oder Vorverarbeitung zurückgreifen, die Rechen- und/oder Zeitüberhead erzeugt, die für die Erstellung virtueller Such- und Rettungs-Umgebungen nicht geeignet sind.
Während KiloNeRF Sub-NeRFs aus einer bestehenden Sammlung von Multilayer-Perzeptronen (MLPs) ableitet, ist es architektonisch auf Innenräume mit begrenzter Erweiterbarkeit oder Kapazität zur Behandlung höherer Skalen-Umgebungen beschränkt. FastNeRF speichert eine “gebackene”, vorab berechnete Version des NeRF-Modells in eine spezielle Datenstruktur und ermöglicht dem Endbenutzer, durch sie zu navigieren, entweder durch eine spezielle MLP oder durch sphärische Basisberechnung.
Im Szenario von KiloNeRF ist die maximale Auflösung jeder Facette in der Szene bereits berechnet, und keine höhere Auflösung wird verfügbar, wenn der Benutzer sich entscheidet, “hineinzuzoomen”.
Im Gegensatz dazu kann NeRF++ nativ nicht begrenzte, externe Umgebungen handhaben, indem es den potenziell explorable Raum in Vordergrund- und Hintergrundbereiche unterteilt, die jeweils von einem speziellen MLP-Modell überwacht werden, das vor der endgültigen Komposition Ray-Casting durchführt.
Schließlich verbessert NeRF in der Wildnis, das nicht direkt unbegrenzte Räume anspricht, die Bildqualität im Phototourism-Datensatz und seine Erscheinungsbettungen wurden in der Architektur für Mega-NeRF verfolgt.
Die Autoren räumen auch ein, dass Mega-NeRF von Structure-from-Motion (SfM)-Projekten inspiriert ist, insbesondere von der Building Rome in a Day-Projekt der Washington University.
Temporale Kohärenz
Ähnlich wie PlenOctree berechnet Mega-NeRF vorab eine grobe Cache von Farbe und Opazität im Bereich der aktuellen Benutzerfokussierung. Allerdings berechnet Mega-NeRF anstelle von PlenOctree, das Pfade berechnet, die in der Nähe des berechneten Pfades liegen, diese Informationen, indem es den berechneten Baum unterteilt und einer wachsenden Tendenz folgt, NeRFs eng gebundene Verarbeitungsetikette zu entwirren.

Links, die Single-Use-Berechnung von PlenOctree. Mitte, die dynamische Erweiterung des Octrees von Mega-NeRF im Verhältnis zur aktuellen Position des Fly-Through. Rechts, der Octree wird für nachfolgende Navigation wiederverwendet.
Diese Rechenökonomie, so argumentieren die Autoren, reduziert die Rechenlast deutlich, indem sie On-the-Fly-Berechnungen als lokalen Cache verwendet, anstatt sie alle vorab zu schätzen und zu cachen, wie es in der jüngsten Praxis üblich ist.
Geleitetes Sampling
Nach der anfänglichen Stichprobennahme, in Übereinstimmung mit den Standardmodellen bis heute, führt Mega-NeRF eine zweite Runde von geleitetem Ray-Sampling nach Octree-Verfeinerung durch, um die Bildqualität zu verbessern. Dazu verwendet Mega-NeRF nur einen einzigen Durchgang auf der Grundlage der bestehenden Gewichte in der Octree-Datenstruktur.

Wie aus dem Bild oben hervorgeht, verschwenden Standard-Sampling-Rechnen Ressourcen, indem sie einen übermäßigen Teil des Zielbereichs auswerten, während Mega-NeRF die Berechnungen auf der Grundlage von Kenntnissen darüber, wo Geometrie vorhanden ist, begrenzt und Berechnungen über einem vordefinierten Schwellenwert drosselt.
Daten und Ausbildung
Die Forscher testeten Mega-NeRF auf verschiedenen Datensätzen, einschließlich der beiden oben erwähnten, handgefertigten Datensätze, die von Drohnenaufnahmen über industriellen Boden aufgenommen wurden. Der erste Datensatz, Mill 19 – Gebäude, enthält Aufnahmen, die über eine Fläche von 500 x 250 Quadratmetern aufgenommen wurden. Der zweite, Mill 19 – Schutt, stellt ähnliche Aufnahmen dar, die über einer angrenzenden Baustelle aufgenommen wurden, auf der die Forscher Dummys darstellende potenzielle Überlebende in einem Such- und Rettungsszenario platzierten.

Aus dem ergänzenden Material des Papiers: Links, die Quadranten, die von der Parrot Anafi-Drohne (abgebildet in der Mitte und im Hintergrund auf dem rechten Foto) abgedeckt werden sollen.
Darüber hinaus wurde die Architektur gegen mehrere Szenen aus UrbanScene3D getestet, von der Visual Computing Research Center an der Shenzhen University in China, die aus HD-Drohnenaufnahmen großer städtischer Umgebungen besteht; und der Quad 6k-Datensatz, von der IU Computer Vision Lab der Indiana University.
Die Ausbildung fand über 8 Submodule statt, jedes mit 8 Schichten von 256 versteckten Einheiten und einer nachfolgenden 128-Kanal-ReLU-Schicht. Im Gegensatz zu NeRF wurde dasselbe MLP verwendet, um grobe und feine Proben abzufragen, wodurch die Gesamtmodellgröße reduziert und die Wiederverwendung von groben Netzwerk-Ausgaben auf der nachfolgenden Rendering-Stufe ermöglicht wurde. Die Autoren schätzen, dass dies 25 % der Modellabfragen für jeden Strahl spart.
1024 Strahlen wurden pro Batch unter Adam mit einem Startlernrate von 5×104 sampelt, die auf 5×10-5 abfiel. Die Erscheinungsbettungen wurden auf die gleiche Weise wie die oben erwähnte NeRF in der Wildnis behandelt. Mixed-Precision-Sampling (Training bei niedrigerer Genauigkeit als 32-Bit-Gleitkomma) wurde verwendet, und die MLP-Breite wurde auf 2048 versteckte Einheiten festgelegt.
Testen und Ergebnisse
In den Tests der Forscher konnte Mega-NeRF NeRF, NeRF++ und DeepView nach 500.000 Iterationen über die oben erwähnten Datensätze robust überbieten. Da das Ziel-Szenario von Mega-NeRF zeitlich begrenzt ist, erlaubten die Forscher den langsameren vorherigen Frameworks zusätzliche Zeit über die 24-Stunden-Grenze hinaus und berichten, dass Mega-NeRF auch dann noch besser abschnitt, wenn man ihnen diese Vorteile gewährte.

Die verwendeten Metriken waren Peak-Signal-Rausch-Verhältnis (PSNR), die VGG-Version von LPIPS und SSIM. Die Ausbildung fand auf einer einzelnen Maschine mit acht V100-GPUs statt – effektiv auf 256 GB VRAM und 5120 Tensor-Kernen.

Beispiel-Ergebnisse aus den Mega-NeRF-Experimenten (siehe das Papier für weitere Ergebnisse über alle Frameworks und Datensätze) zeigen, dass PlenOctree eine bemerkbare Voxelisierung verursacht, während KiloNeRF Artefakte produziert und im Allgemeinen unschärfer ist.
Die Projektseite ist unter https://meganerf.cmusatyalab.org/ zu finden, und der veröffentlichte Code ist unter https://github.com/cmusatyalab/mega-nerf verfügbar.
Erstveröffentlichung am 21. Dezember 2021.










