Angle d’Anderson
Création de paysages de recherche et de sauvetage en vol avec Mega-NeRF

Une nouvelle collaboration de recherche entre Carnegie Mellon et la société de technologie de conduite autonome Argo AI a développé une méthode économique pour générer des environnements de vol dynamiques basés sur les champs de radiance neuronaux (NeRF), en utilisant des images capturées par des drones.

L’approche nouvelle, appelée Mega-NeRF, obtient une accélération de 40 fois par rapport à la norme de rendu des champs de radiance neuronaux, ainsi que quelque chose de notablement différent des tanks et temples standard qui se répètent dans les nouveaux documents NeRF.
Le nouveau document est intitulé Mega-NeRF: Construction évolutive de grands NeRF pour les vols virtuels, et provient de trois chercheurs de Carnegie Mellon, dont l’un représente également Argo AI.
Modélisation du paysage NeRF pour la recherche et le sauvetage
Les auteurs considèrent que la recherche et le sauvetage (SAR) constituent un cas d’utilisation optimal pour leur technique. Lors de l’évaluation d’un paysage SAR, les drones sont actuellement contraints à la fois par des restrictions de bande passante et de durée de vie de la batterie, et ne sont donc généralement pas en mesure d’obtenir une couverture détaillée ou complète avant de devoir retourner à la base, auquel cas les données collectées sont converties en cartes aériennes 2D statiques.
Les auteurs déclarent:
‘Nous imaginons un avenir dans lequel la représentation neurale soulève cette analyse en 3D, permettant aux équipes de réponse d’inspecter le terrain comme s’ils volaient en drone en temps réel à un niveau de détail bien au-delà de ce qui est réalisable avec la structure classique à partir du mouvement (SfM).’
Chargés de ce cas d’utilisation, les auteurs ont cherché à créer un modèle NeRF complexe qui peut être formé en un jour, étant donné que la durée de vie des survivants dans les opérations de recherche et de sauvetage diminue de jusqu’à 80% au cours des 24 premières heures.
Les auteurs notent que les ensembles de données de capture de drone nécessaires pour former un modèle Mega-NeRF sont «d’un ordre de grandeur» plus importants qu’un ensemble de données standard pour NeRF, et que la capacité du modèle doit être nettement supérieure à celle d’une fourche ou d’un dérivé par défaut de NeRF. De plus, l’interactivité et l’explorabilité sont essentielles dans une carte de terrain de recherche et de sauvetage, alors que les rendus NeRF en temps réel standard s’attendent à une gamme de mouvement précalculée beaucoup plus limitée.
Diviser pour mieux régner
Pour résoudre ces problèmes, les auteurs ont créé un algorithme de regroupement géométrique qui divise la tâche en sous-modules, et crée effectivement une matrice de sous-NeRF qui sont formés contemporainement.
Au moment du rendu, les auteurs mettent également en œuvre un algorithme de visualisation juste-à-temps qui est suffisamment réactif pour faciliter une interactivité complète sans prétraitement excessif, similaire à la façon dont les jeux vidéo augmentent les détails des objets à mesure qu’ils approchent du point de vue de l’utilisateur, mais qui restent à une échelle d’énergie économisante et plus rudimentaire lorsqu’ils sont à distance.
Ces économies, selon les auteurs, conduisent à de meilleurs détails que les méthodes précédentes qui tentent de résoudre des sujets très larges dans un contexte interactif. En termes d’extrapolation de détails à partir de footage vidéo à résolution limitée, les auteurs notent également l’amélioration visuelle de Mega-NeRF par rapport à la fonctionnalité équivalente dans UC Berkeley’s PlenOctrees.

Le projet utilise des sous-NeRF en chaîne, basés sur les capacités de rendu en temps réel de KiloNeRF, les auteurs reconnaissent. Cependant, Mega-NeRF s’écarte de cette approche en effectuant réellement un «sharding» (déplacement discret de facettes d’une scène) pendant la formation, plutôt que l’approche de post-traitement de KiloNeRF, qui prend une scène NeRF déjà calculée et la transforme ensuite en un espace explorable.

Un ensemble de formation discret est créé pour les sous-modules, composé de pixels d’images de formation dont la trajectoire pourrait couvrir la cellule qu’il représente. Par conséquent, chaque module est formé entièrement séparément des cellules adjacentes. Source: https://arxiv.org/pdf/2112.10703.pdf
Les auteurs caractérisent Mega-NeRF comme ‘une reformulation de l’architecture NeRF qui éparse les connexions de couche d’une manière spatialement consciente, facilitant les améliorations d’efficacité lors de la formation et du rendu’.

Comparaison conceptuelle de la formation et de la discrétisation des données dans NeRF, NeRF++, et Mega-NeRF. Source: https://meganerf.cmusatyalab.org/
Les auteurs affirment que l’utilisation par Mega-NeRF de stratégies de cohérence temporelle novatrices évite le besoin d’un prétraitement excessif, surmonte les limites intrinsèques d’échelle et réalise un niveau de détail plus élevé que les travaux similaires précédents, sans sacrifier l’interactivité ou nécessiter plusieurs jours de formation.
Les chercheurs mettent également à disposition de grands ensembles de données contenant des milliers d’images haute définition obtenues à partir de footage de drone capturé sur 100 000 mètres carrés de terrain autour d’un complexe industriel. Les deux ensembles de données disponibles sont ‘Building’ et ‘Rubble’.
Amélioration des travaux précédents
Le document note que les efforts précédents dans un sens similaire, y compris SneRG, PlenOctree et FastNeRF, reposent tous sur une sorte de mise en cache ou de prétraitement qui ajoute des surcoûts de calcul et/ou de temps qui sont inadaptés à la création d’environnements virtuels de recherche et de sauvetage.
Alors que KiloNeRF dérive des sous-NeRF d’une collection existante de perceptrons multicouches (MLP), il est contraint architecturalement à des scènes intérieures avec une extensibilité limitée ou une capacité à aborder des environnements à plus grande échelle. FastNeRF, quant à lui, stocke une version «cuite» et précalculée du modèle NeRF dans une structure de données dédiée et permet à l’utilisateur final de naviguer à travers elle via un MLP dédié ou via un calcul de base sphérique.
Dans le scénario KiloNeRF, la résolution maximale de chaque facette de la scène est déjà calculée, et aucune résolution supérieure ne sera disponible si l’utilisateur décide de «zoomer».
En revanche, NeRF++ peut gérer de manière native des environnements extérieurs non limités en divisant l’espace potentiellement explorable en régions avant-plan et arrière-plan, chacune étant supervisée par un modèle MLP dédié, qui effectue un lancer de rayon avant la composition finale.
Enfin, NeRF dans la nature, qui n’aborde pas directement les espaces illimités, améliore néanmoins la qualité d’image dans l’ensemble de données Phototourism, et ses embeddings d’apparence ont été suivis dans l’architecture de Mega-NeRF.
Les auteurs reconnaissent également que Mega-NeRF est inspiré par des projets Structure-from-Motion (SfM), notamment le projet Building Rome in a Day de l’Université de Washington.
Cohérence temporelle
Comme PlenOctree, Mega-NeRF précalcule un cache grossier de couleur et d’opacité dans la région de l’attention actuelle de l’utilisateur. Cependant, au lieu de calculer des chemins chaque fois qu’ils sont dans la proximité du chemin calculé, comme le fait PlenOctree, Mega-NeRF «sauvegarde» et réutilise ces informations en subdivisant l’arbre calculé, suivant une tendance croissante à désentangler les règles de traitement étroitement liées de NeRF.

À gauche, le calcul à usage unique de PlenOctree. Milieu, l’expansion dynamique de l’octree de Mega-NeRF, relative à la position actuelle du survol. Droite, l’octree est réutilisé pour la navigation suivante.
Cette économie de calcul, selon les auteurs, réduit notablement la charge de traitement en utilisant des calculs en temps réel comme un cache local, plutôt qu’en estimant et en mettant en cache tous les calculs de manière préemptive, selon la pratique récente.
Échantillonnage guidé
Après l’échantillonnage initial, conformément aux modèles standard à ce jour, Mega-NeRF met en œuvre un deuxième cycle d’échantillonnage de rayon guidé après l’affinement de l’octree, afin d’améliorer la qualité de l’image. Pour cela, Mega-NeRF n’utilise qu’un seul passage basé sur les poids existants dans la structure de données de l’octree.

Comme on peut le voir dans l’image ci-dessus, provenant du nouveau document, l’échantillonnage standard gaspille les ressources de calcul en évaluant une quantité excessive de la zone cible, tandis que Mega-NeRF limite les calculs en fonction d’une connaissance de la présence de la géométrie, en réduisant les calculs au-delà d’un seuil prédéfini.
Données et formation
Les chercheurs ont testé Mega-NeRF sur divers ensembles de données, y compris les deux ensembles mentionnés plus haut, créés à partir de footage de drone sur des terrains industriels. Le premier ensemble de données, Mill 19 – Building, présente des images prises sur une superficie de 500 x 250 mètres carrés. Le deuxième, Mill 19 – Rubble, représente des images similaires prises sur un chantier de construction adjacent, dans lequel les chercheurs ont placé des mannequins représentant des survivants potentiels dans un scénario de recherche et de sauvetage.

De la matière supplémentaire du document: À gauche, les quadrants à couvrir par le drone Parrot Anafi (représenté au centre et à distance dans la photo de droite).
En outre, l’architecture a été testée contre plusieurs scènes de UrbanScene3D, du Visual Computing Research Center de l’Université de Shenzhen en Chine, qui consiste en des images haute définition capturées par drone de grands environnements urbains; et l’ensemble de données Quad 6k, du laboratoire de vision par ordinateur de l’Université de l’Indiana.
La formation a eu lieu sur 8 sous-modules, chacun avec 8 couches de 256 unités cachées, et une couche ReLU de 128 canaux subséquente. Contrairement à NeRF, le même MLP a été utilisé pour interroger les échantillons grossiers et raffinés, réduisant ainsi la taille globale du modèle et permettant la réutilisation des sorties de réseau grossier à l’étape de rendu suivante. Les auteurs estiment que cela économise 25% des requêtes de modèle pour chaque rayon.
1024 rayons ont été échantillonnés par lot sous Adam à un taux d’apprentissage initial de 5×104, diminuant à 5×10-5. Les embeddings d’apparence ont été traités de la même manière que ceux de NeRF dans la nature. L’échantillonnage à précision mixte (formation à une précision inférieure à 32 bits) a été utilisé, et la largeur du MLP a été fixée à 2048 unités cachées.
Tests et résultats
Dans les tests des chercheurs, Mega-NeRF a pu surpasser de manière robuste NeRF, NeRF++ et DeepView après une formation de 500 000 itérations sur les ensembles de données mentionnés plus haut. Puisque le scénario cible de Mega-NeRF est limité dans le temps, les chercheurs ont permis aux cadres plus lents précédents de bénéficier d’un temps supplémentaire au-delà de la limite de 24 heures, et rapportent que Mega-NeRF a toujours surpassé ces cadres, même avec ces avantages.

Les métriques utilisées étaient le rapport signal/bruit de pointe (PSNR), la version VGG de LPIPS, et SSIM. La formation a eu lieu sur une machine unique équipée de huit V100 GPU – soit effectivement 256 Go de VRAM et 5120 cœurs Tensor.

Résultats d’exemple des expériences Mega-NeRF (veuillez consulter le document pour plus de résultats étendus sur tous les cadres et ensembles de données) montrent que PlenOctree provoque une voxelisation notable, tandis que KiloNeRF produit des artefacts et des résultats généralement plus flous.
La page du projet est à https://meganerf.cmusatyalab.org/, et le code publié est à https://github.com/cmusatyalab/mega-nerf.
Publié pour la première fois le 21 décembre 2021.












