Il y a un an, j’ai écrit un article sur une approche révolutionnaire appelée Instant NeRF. Instant NeRF est un modèle fantastique de NVIDIA capable de recevoir des photos et de les transformer très rapidement en superbes scènes 3D. Imaginez une application qui permettrait de créer facilement des modèles extrêmement réalistes de n’importe quelle pièce ou de n’importe quel objet pour les jeux vidéo et d’autres applications. C’est vraiment génial. Instant NeRF a changé la donne et possédait un immense potentiel, mais ses résultats n’étaient pas parfaits. Les modèles 3D générés n’étaient pas aussi nets que la réalité et il leur manquait souvent des structures détaillées des scènes réelles. Ils ressemblaient clairement à des objets générés par l’IA, un peu trop proches des dessins animés.

Résultats d’Instant NeRF.
Un an plus tard, NVIDIA publie une nouvelle approche fondée sur Instant NeRF qui offre des surfaces beaucoup plus fidèles, magnifiquement appelée Neuralangelo. Un NeRF est une approche qui reconstruit un objet réel dans un environnement virtuel à partir d’une série d’images ou de vidéos. Instant NeRF réduit le temps de calcul de l’approche habituelle, qui passe de plusieurs heures à quelques secondes, tout en améliorant la qualité des résultats. Neuralangelo s’attaque à la faiblesse des détails fins en cherchant à améliorer la qualité des surfaces des objets 3D générés par l’IA. Il ne suffit pas que l’objet complet semble réaliste de loin. Il doit aussi le demeurer lorsque nous nous approchons et découvrons qu’il ne l’est peut-être pas autant.
Au fait, cet excellent article scientifique a été publié à la CVPR, où je serai présent cette année. Si vous y allez aussi, écrivez-moi pour que nous puissions nous rencontrer ou prendre un café! J’enregistrerai également quelques épisodes de balado, que vous pourrez trouver sur Spotify ou Apple Podcasts! Si vous aimez le contenu long sur l’IA, allez y jeter un coup d’œil, ou plutôt tendez l’oreille. Le balado s’appelle lui aussi What’s AI par Louis-François Bouchard!
Revenons à Neuralangelo.

Image tirée de l’article scientifique sur Neuralangelo.
Qu’ont fait les chercheurs pour améliorer précisément l’approche Instant NeRF? Si vous ne connaissez pas Instant NeRF, ou Instant NGP, l’article précédent de NVIDIA, je vous invite fortement à lire mon article à son sujet, puis à revenir ici. Je vous attends avant de continuer, c’est promis. Rapidement, je veux surtout vous rappeler qu’Instant NGP travaille avec des encodages en grilles de hachage. Il s’agit essentiellement d’une façon de préparer les données provenant de nos images et du point de vue de la caméra afin de les fournir au réseau neuronal chargé de reconstruire le modèle.

Image tirée de l’article scientifique sur Instant NeRF ou NGP.
Parfait. Maintenant que vous connaissez Instant NGP, regardons les deux différences essentielles qui améliorent les résultats de Neuralangelo en travaillant précisément sur cette technique d’encodage en grilles de hachage.
La première amélioration consiste à utiliser des gradients numériques pour calculer les dérivées d’ordre supérieur et créer une opération de lissage. Les chercheurs travaillent avec des grilles de hachage pour représenter toutes les positions 3D le long des directions observées par la caméra. Comme je l’ai mentionné, l’encodage en grilles de hachage est simplement une façon de représenter les mêmes données le long du rayon de la caméra avec moins de nombres à virgule flottante et moins d’accès à la mémoire, ce qui est beaucoup plus efficace. Il permet aussi au réseau final d’être beaucoup plus petit, puisque l’entrée que nous lui fournissons, soit toutes les données de nos images et des points de vue des caméras, est beaucoup plus simple. Mais nous voyons tout cela dans mon article sur Instant NeRF. La différence importante ici est que les chercheurs optimisent l’encodage en grilles de hachage en l’entraînant avec des gradients numériques plutôt que des gradients analytiques. Le gradient numérique est essentiellement une approximation du gradient analytique, qui est calculé strictement selon des règles mathématiques. Si notre approximation est assez bonne, nous pouvons économiser beaucoup de travail!

Gradients numériques. Image tirée du site Web du projet.
Si nous utilisons une grande taille de pas pour mettre à jour les paramètres pendant l’entraînement, donc si nous demandons au réseau de modifier fortement ses poids, il peut chercher de l’information à l’extérieur de sa cellule actuelle et communiquer avec les cellules voisines. Ce n’est pas possible avec les gradients analytiques. La méthode peut utiliser des entrées de hachage provenant de plusieurs grilles et mettre à jour tous leurs paramètres en même temps. En gros, elle prend et mélange l’information de davantage de points dans la version encodée de nos images et du point de vue de la caméra. Elle crée ainsi une entrée plus lisse pour le réseau qui générera ensuite le modèle 3D. Une taille de pas inférieure à celle de la cellule de notre grille de hachage rendrait ici le gradient analytique et le gradient numérique identiques. Cette première étape améliore essentiellement la cohérence et la fluidité de toutes les données d’entrée fournies au réseau final chargé de reconstruire le modèle 3D.

Image tirée de l’article scientifique sur Neuralangelo.
La deuxième différence, ou amélioration, est une optimisation du grossier au fin sur les grilles de hachage qui contrôlent différents niveaux de détail. Cela signifie simplement que les chercheurs diminuent progressivement la taille du pas dont nous venons de parler pour calculer les gradients numériques. Ils optimisent ainsi le processus pour obtenir une meilleure qualité visuelle. Comme nous l’avons vu, un petit pas revient à calculer le gradient analytique, tandis qu’un grand pas permet de communiquer avec plus de cellules, donc d’utiliser davantage d’information et de mettre à jour plus de paramètres. Une grande taille de pas donne accès à plus d’information et offre ainsi une vue plus générale de la scène. Cette réduction itérative permet au réseau de commencer par la version lissée de la scène et de produire une ébauche grossière avec d’excellentes formes générales. Il la raffine ensuite progressivement au moyen de mises à jour de plus en plus fines et de pas plus petits. Nous fournissons enfin le résultat à notre réseau, un MLP ou perceptron multicouche, afin de prédire les valeurs de couleur et de géométrie du modèle 3D, tout comme Instant NeRF, illustré ici en bas à droite.

Optimisation « du grossier au fin ». Image tirée du site Web du projet.
Le concept ressemble à celui des modèles génératifs qui utilisent des blocs d’attention ou des convolutions. Nous travaillons d’abord sur l’image dans son ensemble, puis nous avançons progressivement dans le réseau afin de traiter les détails fins. Une grande taille de pas qui se concentre sur la vue d’ensemble produit des surfaces plus cohérentes et continues. En réduisant peu à peu la taille du pas pour passer aux détails fins, nous évitons de lisser les éléments que nous voulons préserver. Nous trouvons ainsi l’équilibre parfait.
La qualité des modèles 3D produits est tout simplement extraordinaire, même pour de très grandes scènes. J’ai hâte de voir cette méthode utilisée dans des applications concrètes ou d’en découvrir une version future. Bien sûr, elle n’est pas parfaite. Les auteurs mentionnent que Neuralangelo éprouve plus de difficultés que les approches précédentes lorsque la scène est très réfléchissante, comme dans cet exemple où le modèle manque la structure des boutons et les yeux.

Résultats tirés du matériel supplémentaire de Neuralangelo.
Comme toujours, ce n’était qu’un bref aperçu de cet excellent article scientifique publié à la CVPR 2023. Je vous invite vivement à le lire pour obtenir plus de détails et à vous abonner à la chaîne si vous avez aimé cette présentation et souhaitez rester au courant des nouvelles recherches en IA. Je vous invite aussi à écouter mon balado What’s AI par Louis-François Bouchard sur Spotify ou Apple Podcasts pour de longues discussions incroyables avec des experts du domaine. Un excellent épisode avec un impressionnant chercheur de DeepMind derrière l’algorithme de Google Maps qui prédit les temps et les trajectoires arrivera très bientôt!
Merci de m’avoir lu. Je vous retrouve la prochaine fois avec un autre article scientifique incroyable!
Références
- Li et ses collègues, CVPR 2023 : Neuralangelo, https://research.nvidia.com/labs/dir/neuralangelo/paper.pdf
- Page du projet avec plus de résultats : https://research.nvidia.com/labs/dir/neuralangelo/
- Article sur Instant NGP : /fr/nvidia-photos-into-3d-scenes/
- Le balado : https://open.spotify.com/show/4rKRJXaXlClkDyInjHkxq3
FAQ
Que reconstruit Neuralangelo?
Neuralangelo transforme des images prises sous plusieurs angles et les poses des caméras en surfaces 3D détaillées d’objets ou de grandes scènes.
Quel est son lien avec Instant NGP?
Il s’appuie sur des encodages multirésolutions en grilles de hachage qui associent efficacement des positions 3D échantillonnées à des caractéristiques neuronales.
Pourquoi mélanger l’information de cellules voisines?
Des caractéristiques plus lisses réduisent les artéfacts en blocs et aident le réseau à reconstruire des surfaces continues.
Pourquoi changer la taille des pas d’optimisation pendant l’entraînement?
De grands pas partagent d’abord la structure générale, puis de plus petits pas raffinent la géométrie détaillée des surfaces.
Neuralangelo fonctionne-t-il à partir d’une seule photo arbitraire?
Non. Une reconstruction détaillée dépend de plusieurs vues de la même scène et d’une information exploitable sur les caméras.
