Louis-François Bouchard

View Original

NVIDIA transforme vos photos en scènes 3D en quelques millisecondes !

Comme si prendre, à la base, une photo n'était pas une prouesse technologique assez impressionnante, nous faisons maintenant l’inverse : modéliser le monde à partir d'images. J'ai couvert d'étonnants modèles basés sur l'IA qui pouvaient prendre des images et les transformer en scènes de haute qualité. Une tâche difficile qui consiste à prendre quelques images dans le monde des images en 2 dimensions pour recréer à quoi ressemblerait l'objet ou la personne dans le monde réel. Vous pouvez facilement voir à quel point cette technologie est utile pour de nombreuses industries comme les jeux vidéo, les films d'animation ou la publicité. Prenez quelques photos et obtenez instantanément un modèle réaliste à insérer dans votre produit. Les résultats se sont considérablement améliorés par rapport au premier modèle que j'ai couvert en 2020, appelé NeRF. Et cette amélioration ne concerne pas seulement la qualité des résultats. NVIDIA l'a rendu encore meilleur. Non seulement la qualité est comparable, voire meilleure, mais en plus c'est plus de 1'000 fois plus rapide avec moins de deux ans de recherche.

C'est le rythme de la recherche en IA : des gains exponentiels en qualité et en efficacité. Un facteur important qui rend ce domaine si incroyable. Vous serez perdu avec les nouvelles techniques et la qualité des résultats si vous ne manquez que quelques jours de progrès, c'est pourquoi j'ai commencé à écrire ces articles et pourquoi vous devriez suivre mon travail ! ;)

Regardez ces modèles 3D…

Résultats avec Instant Nerf.

Ces modèles sympas n'avaient besoin que d'une douzaine d'images, et l'IA a deviné les endroits manquants et a créé cette beauté en quelques secondes. Quelque chose comme ça prendrais des heures à produire avec NeRF. Voyons comment ils ont fait autant de progrès sur tant de fronts en si peu de temps.

Le Rendu Inverse

Instant NeRF s'attaque à la tâche appellée rendu inverse, qui consiste à créer une représentation 3D à partir d'images, une douzaine dans ce cas, se rapprochant de la forme réelle de l'objet et du comportement de la lumière sur celui-ci afin qu'il ait l'air réaliste dans toute nouvelle scène.

Ici, NeRF signifie “champs de rayonnement neuronaux” (Neural Radiance Fields). Je ne ferai qu'une rapide introduction du fonctionnement des NeRF, car j'ai déjà abordé ce type de réseau dans de multiples vidéos, que je vous invite à regarder pour plus de détails et une meilleure compréhension.

Rapidement, les NeRF sont un type de réseau de neurones. Ils prennent des images et des paramètres de caméra comme entrées et apprennent à produire une représentation 3D initiale des objets ou des scènes dans les images, apprennes ensuite à raffiner cette représentation à l'aide de paramètres appris à partir d'un cadre d'apprentissage supervisé. Cela signifie que nous avons besoin d'un objet 3D “parfait” et de quelques images de celui-ci sous différents angles connus pour l'entraîner, et le réseau apprendra à recréer l'objet. Pour obtenir les meilleurs résultats possibles, nous avons besoin d'une image à partir de plusieurs points de vue, comme celle ci-dessus, pour être sûr de capturer tous les côtés ou la plupart des objets. Et nous formons ce réseau pour comprendre les formes générales des objets et le rayonnement lumineux. Nous lui demandons d'apprendre à remplir les parties manquantes en fonction de ce qu'il a déjà vu et de la manière dont la lumière y réagit dans le monde 3D.

Résultats avec Instant Nerf.

En gros, ce serait comme vous demander de dessiner un humain sans donner aucun détail sur ses mains. Vous supposeriez automatiquement que la personne a cinq doigts basé sur ce que vous connaissez sur les humains en général. C'est facile pour nous, car nous avons de nombreuses années d'expérience derrière la ceinture, et une chose essentielle manque aux IA actuelles : notre intelligence. Nous pouvons créer des liens là où il n'y en a pas et faire beaucoup de choses incroyables. De l'autre côté, l'IA a besoin de règles spécifiques, ou du moins d'exemples à suivre, c'est pourquoi nous devons lui donner à quoi ressemble un objet dans le monde réel pendant sa phase d'entraînement pour s'améliorer.

Ensuite, après un tel processus d'apprentissage, vous n'alimentez les images qu'avec les angles de caméra au moment de l'inférence, et cela produit le modèle final en quelques heures…

Ai-je dit quelques heures ?

Désolé, je devais être encore en 2021.. C’est maintenant possible en quelques secondes !

Cette nouvelle version de NVIDIA baptisée Instant NeRF est en effet 1'000 fois plus rapide que son prédécesseur NeRF d'il y a un an. Pourquoi? En raison de l'encodage de grille de hachage multi-résolution. l’encodage quoi ? L’encodage de grille de hachage multi-résolution". Ils l'ont expliqué très clairement avec cette phrase;

Nous réduisons ce coût grâce à un nouvel encodage d'entrée polyvalent qui permet l'utilisation d'un réseau plus petit sans sacrifier la qualité, réduisant ainsi considérablement le nombre d'opérations d'accès en virgule flottante et en mémoire. [1] Traduit par l’auteur.

En bref, ils changent la façon dont le réseau NeRF verra les entrées, de sorte que notre prédiction initiale du modèle 3D rend plus digeste et efficace l'utilisation d'informations pour utiliser un réseau de neurones plus petit tout en conservant la même qualité des sorties. Maintenir une qualité aussi élevée en utilisant un réseau plus petit est possible, car nous apprenons non seulement les poids du réseau NeRF pendant la formation, comme à l’habitude pour un réseau en apprentissage machine, mais cette fois-ci nous apprenons aussi la façon dont nous transformons ces entrées au préalable.

Image du papier Instant Nerf.

Ainsi, l'entrée est transformée à l'aide de fonctions entraînées, ici les étapes 1 à 4, compressées extrêmement rapidement dans une table de hachage pour se concentrer sur des informations précieuses, puis envoyées à un réseau beaucoup plus petit à l'étape 5, car les entrées sont, de la même manière, beaucoup plus petites. Ils stockent les valeurs de tout type dans une table avec des clés indiquant où elles sont stockées pour des modifications parallèles super efficaces et supprimant le temps de recherche pour les grands tableaux pendant la formation et l'inférence. Cette transformation et le réseau beaucoup plus petit expliquent pourquoi Instant NeRF est tellement plus rapide et pourquoi j’en ai fait un article.

Et voilà ! C'est ainsi que NVIDIA est désormais capable de générer des modèles 3D comme ceux-ci en quelques secondes ! Regardez plus de résultats dans la vidéo !

Si ce n'était pas déjà assez cool, j'ai dit que le réseau pouvait encoder des valeurs de tout type, ce qui signifie que cette technique peut non seulement être utilisée avec les NeRF (applications 3D), mais aussi avec d'autres applications super cool comme les images gigapixels qui deviennent tout aussi incroyablement efficaces.

Résultats avec Instant Nerf.

Bien sûr, ce n'était qu'un aperçu de ce nouvel article qui s'attaque à cette tâche super intéressante d'une manière nouvelle. Je vous invite à lire leur excellent article pour plus de détails techniques sur l'approche de codage de grille de hachage multi-résolution et leur mise en œuvre. Un lien vers le document et leur code se trouve dans les références ci-dessous.

J'espère que vous avez apprécié l'article, et si vous l'avez fait, veuillez envisager de soutenir mon travail sur YouTube en vous abonnant à la chaîne et en commentant ce que vous pensez de ce résumé. J'aimerais lire ce que vous pensez!

Regardez la vidéo sous-titrée en français pour voir plus d’exemples!

Références