Vision par ordinateurIA générativeActualités et analyses de l'IAVision par ordinateurIA générativeActualités et analyses de l'IA
Vision par ordinateur10 min de lecture

Créez des modèles 3D à partir d’images! GANverse3D et NVIDIA Omniverse

Ce modèle prometteur appelé GANverse3D a seulement besoin d’une image pour créer une figure 3D qui peut être personnalisée et animée!

Mis à jour le 01 sept. 2021
Créez des modèles 3D à partir d’images! GANverse3D et NVIDIA Omniverse
Sommaire

Regardez la vidéo et soutenez-moi sur YouTube!

Ce que vous voyez ci-dessous est une personne qui construit soigneusement une scène pour un jeu vidéo. Un professionnel doit travailler de nombreuses heures pour créer seulement un objet comme celui-ci.

Exemple visuel tiré de Créez des modèles 3D à partir d’images! GANverse3D et NVIDIA Omniverse

Création d’une scène 3D. 1ne ManShow, Made this 3d scene and Environment in Blender-Timelapse

Ce serait cool de pouvoir prendre la photo d’un objet sur Internet, disons une voiture, et d’obtenir automatiquement en moins d’une seconde un objet 3D prêt à être inséré dans votre jeu, non? Imaginez maintenant que vous puissiez même animer cette voiture en quelques secondes pour faire tourner les roues, allumer les phares et les clignotants, et bien plus. Me croiriez-vous si je vous disais qu’une IA peut déjà le faire? Et si les jeux vidéo ne vous suffisent pas, cette nouvelle application fonctionne pour n’importe quelle scène 3D sur laquelle vous travaillez, que ce soit une illustration, un film, un projet d’architecture ou de design et bien plus! Elle peut retirer des centaines, sinon des milliers d’heures de travail aux designers professionnels pendant de longs tests itératifs et permettre aux petites entreprises de produire rapidement des simulations beaucoup moins coûteuses!

Avant que vous ayez le temps de prendre une gorgée de café, ce modèle aura traité l’image d’une voiture et généré sa version 3D complète et animée, avec des phares, des feux arrière et des clignotants réalistes! Vous pouvez même la conduire dans une plateforme d’environnement virtuel comme Omniverse, comme vous le voyez ici.

NVIDIA Omniverse

Pour présenter ce nouvel outil dévoilé lors du récent événement GTC, Omniverse a été conçu pour les créateurs qui dépendent d’environnements virtuels afin de tester de nouvelles idées et de visualiser des prototypes avant de construire leurs produits finaux. Vous pouvez l’utiliser pour simuler des mondes virtuels complexes avec du lancer de rayons en temps réel. Comme cet article ne porte pas sur Omniverse, qui est déjà incroyable en lui-même, je ne vais pas approfondir le fonctionnement de la nouvelle plateforme. J’ai lié davantage de ressources à son sujet dans les références ci-dessous.

Exemple visuel tiré de Créez des modèles 3D à partir d’images! GANverse3D et NVIDIA Omniverse

GANverse3D. GANverse3D: Knight Rider KITT Re-created with AI par NVIDIA. Reproduit avec autorisation.

Je veux ici me concentrer sur l’algorithme derrière la technique de génération de modèles 3D publiée par NVIDIA à ICLR et CVPR 2021. En effet, ce modèle prometteur appelé GANverse3D a seulement besoin d’une image pour créer une figure 3D qui peut être personnalisée et animée! Son nom vous donne probablement déjà un indice : il utilise un GAN pour y arriver. Je ne vais pas expliquer le fonctionnement des GANs ici, puisque je l’ai déjà fait de nombreuses fois dans mes articles précédents.

Exemple visuel tiré de Créez des modèles 3D à partir d’images! GANverse3D et NVIDIA Omniverse

Entraînement d’un GAN et représentation de l’espace latent. Image produite par l’auteur.

Les réseaux génératifs sont relativement nouveaux pour produire des modèles 3D à partir d’images 2D, une tâche aussi appelée infographie inverse. Sa complexité vient de la nécessité de comprendre la profondeur, les textures et l’éclairage à partir de plusieurs points de vue afin de générer un modèle 3D aussi précis. Les chercheurs ont découvert que les réseaux antagonistes génératifs acquéraient implicitement ces connaissances pendant l’entraînement. Autrement dit, l’information sur les formes, l’éclairage et la texture des objets se trouvait déjà encodée dans le code latent du GAN. Ce code est la sortie de la partie encodeur de l’architecture, habituellement envoyée dans un décodeur pour générer une nouvelle image et en contrôler certains attributs.

Exemple visuel tiré de Créez des modèles 3D à partir d’images! GANverse3D et NVIDIA Omniverse

Comme nous l’avons observé dans de précédents travaux, différentes couches contrôlent différents attributs des images. Voilà pourquoi vous avez vu autant d’applications intéressantes basées sur les GANs au cours de la dernière année. Certaines pouvaient contrôler le style d’un visage pour produire des images de dessin animé, tandis que d’autres faisaient bouger votre tête, toujours à partir d’une seule photo.

Exemple visuel tiré de Créez des modèles 3D à partir d’images! GANverse3D et NVIDIA Omniverse

Exemple visuel tiré de Créez des modèles 3D à partir d’images! GANverse3D et NVIDIA Omniverse

À gauche, le modèle Toonify, et à droite, l’outil d’animation Deep Nostalgia de MyHeritage. Images produites par l’auteur.

Dans ce cas, les chercheurs ont utilisé la célèbre architecture StyleGAN, un puissant générateur derrière de nombreuses applications virales que vous avez vues sur Internet et sur ma chaîne. Ils ont découvert expérimentalement que les quatre premières couches contrôlaient le point de vue de la caméra lorsque les autres couches restaient fixes. En exploitant cette caractéristique de StyleGAN, ils pouvaient utiliser les quatre premières couches pour générer automatiquement de nouveaux points de vue destinés à la tâche de rendu à partir d’une seule image! À l’inverse, comme vous pouvez le voir dans les deux premières rangées de l’image ci-dessous, fixer ces quatre premières couches permettait de produire des images d’objets différents à partir du même point de vue.

Exemple visuel tiré de Créez des modèles 3D à partir d’images! GANverse3D et NVIDIA Omniverse

Génération sous plusieurs points de vue. Zhang et al., NVIDIA, 2020, GANverse3D. Reproduit avec autorisation.

Cette propriété, combinée à différentes fonctions de perte, permettait de contrôler non seulement la forme et le point de vue des images, mais aussi la texture et l’arrière-plan! La découverte est très novatrice, puisque la plupart des travaux en infographie inverse utilisent des annotations 3D ou au moins des images du même objet sous plusieurs angles pour entraîner leur réseau de rendu. Ces données sont habituellement difficiles à obtenir et donc très limitées. Ces approches éprouvent des difficultés avec les vraies photos en raison de l’écart entre les images synthétiques d’entraînement et les images réelles, causé par le manque de données. Comme vous le voyez, la méthode a seulement besoin d’une photo pour produire ces transformations incroyables et tout aussi réalistes, ce qui réduit de plus de 10 000 fois le besoin d’annotation des données. Bien sûr, l’architecture de GAN qui génère ces importants nouveaux points de vue doit elle aussi être entraînée sur beaucoup de données. Heureusement, ce processus coûte beaucoup moins cher puisqu’il a seulement besoin de nombreux exemples de l’objet lui-même, sans plusieurs angles de la même image. Cela limite tout de même les types d’objets que la technique peut modéliser.

Exemple visuel tiré de Créez des modèles 3D à partir d’images! GANverse3D et NVIDIA Omniverse

Vue d’ensemble de l’architecture GANverse3D. Zhang et al., NVIDIA, 2020, GANverse3D. Reproduit avec autorisation.

Comme vous pouvez le voir ici, StyleGAN sert de générateur à plusieurs points de vue afin de construire les données manquantes pour entraîner l’architecture de rendu.

Avant de regarder le moteur de rendu, revenons un peu en arrière pour comprendre tout le processus. Vous voyez ici que l’architecture ne commence pas avec une image ordinaire, mais avec un code latent.

Exemple visuel tiré de Créez des modèles 3D à partir d’images! GANverse3D et NVIDIA Omniverse

Le moteur de rendu neuronal 3D avec StyleGAN. Zhang et al., NVIDIA, 2020, GANverse3D. Reproduit avec autorisation.

Ce code latent correspond essentiellement à ce qui est appris pendant l’entraînement. Les CNNs et les MLPs que vous voyez ici sont simplement des réseaux neuronaux convolutifs et des perceptrons multicouches utilisés pour créer un code qui sépare la forme, la texture et l’arrière-plan de l’image. Le code contient donc indépendamment toutes ces caractéristiques qui serviront dans le modèle de rendu. Pendant l’entraînement, il est mis à jour pour contrôler ces éléments en jouant avec les différentes couches de StyleGAN, comme nous venons de le voir.

Lorsque vous utilisez le modèle et lui envoyez une image, celle-ci passe dans l’encodeur StyleGAN, qui crée le code latent avec toute l’information nécessaire. Le module de séparation dont nous venons de parler extrait ensuite le point de vue de la caméra, le maillage 3D, la texture et l’arrière-plan de l’image. Ces caractéristiques sont envoyées individuellement au moteur de rendu, qui produit le modèle final.

Exemple visuel tiré de Créez des modèles 3D à partir d’images! GANverse3D et NVIDIA Omniverse

Vue d’ensemble de l’architecture GANverse3D. Zhang et al., NVIDIA, 2020, GANverse3D. Reproduit avec autorisation.

Dans cette architecture, le moteur de rendu est un système différentiable à la fine pointe appelé DIB-R, ici désigné par DIFFGraphicsRenderer. Il est dit différentiable parce que cette technique, elle aussi développée par NVIDIA comme StyleGAN et cet article scientifique, a été l’une des premières à permettre le calcul analytique du gradient sur toute l’image. Il devenait ainsi possible d’entraîner un réseau neuronal à générer la forme 3D. Vous pouvez voir que les chercheurs ont principalement utilisé des modèles de pointe pour chaque tâche individuelle, puisque l’architecture complète est beaucoup plus importante et novatrice que ces modèles déjà extrêmement puissants en eux-mêmes.

Exemple visuel tiré de Créez des modèles 3D à partir d’images! GANverse3D et NVIDIA Omniverse

GANverse3D. GANverse3D: Knight Rider KITT Re-created with AI par NVIDIA. Reproduit avec autorisation.

C’est ainsi que ce nouvel article scientifique, combiné à Omniverse, la nouvelle plateforme 3D de NVIDIA, permettra aux architectes, aux créateurs, aux développeurs de jeux et aux designers du monde entier d’ajouter facilement de nouveaux objets animés à leurs maquettes, sans aucune expertise en modélisation 3D ni grand budget consacré au rendu.

Notez que cette application fonctionne actuellement seulement avec les voitures, les chevaux et les oiseaux à cause de la quantité de données dont les GANs ont besoin pour être performants, mais elle reste extrêmement prometteuse. Je veux revenir dans un an pour voir à quel point elle sera devenue puissante. Qui aurait cru, il y a 10 ou 20 ans, que la création d’une version réaliste, animée et contrôlable de votre voiture sur un écran d’ordinateur prendrait moins d’une seconde? Et qu’il suffirait d’un petit appareil brillant dans votre poche pour la prendre en photo et la téléverser? C’est complètement fou. J’ai très hâte de voir ce que les chercheurs inventeront dans 10 à 20 ans!


Venez discuter avec nous dans notre communauté Discord : Learn AI Together et partagez vos projets, vos articles scientifiques et vos meilleurs cours, trouvez des coéquipiers pour Kaggle et bien plus encore!

Si vous aimez mon travail et souhaitez rester à jour dans le domaine de l’IA, vous devriez absolument me suivre sur mes autres réseaux sociaux (LinkedIn, Twitter) et vous abonner à mon infolettre hebdomadaire sur l’IA!

Pour me soutenir :

  • La meilleure façon de me soutenir est de devenir membre de ce site ou de vous abonner à ma chaîne YouTube si vous préférez le format vidéo.
  • Soutenez financièrement mon travail sur Patreon

Références

Discussion

Commentaires

Chargement

Aucun compte requis. Votre nom et votre commentaire seront publics, alors n'incluez pas de renseignements privés. Consultez la page de confidentialité pour les détails.

Continuez à apprendre

Vous voulez le côté pratique de l'IA, sans le brouillard marketing ?

Je partage ce qui est utile sur YouTube, Substack et dans mes guides d'ingénierie IA.

FAQ

Que crée GANverse3D?

Il transforme une seule image en représentation 3D qui peut être observée, personnalisée et animée.

Pourquoi la reconstruction 3D à partir d’une seule image est-elle difficile?

Le modèle doit déduire la profondeur et les surfaces cachées que l’image source ne montre jamais directement.

Quelles catégories d’objets l’application prenait-elle en charge?

Le système présenté se concentrait sur les voitures, les chevaux et les oiseaux, car l’entraînement de chaque catégorie exige beaucoup de données.

Qu’est-ce qui rend l’approche d’entraînement inhabituelle?

Elle réduit la dépendance aux annotations 3D explicites ou à plusieurs photos du même objet d’entraînement.

Où les ressources 3D générées peuvent-elles être utilisées?

Les utilisations possibles comprennent les jeux, l’illustration, le cinéma, l’architecture, la conception de produits et les scènes construites dans NVIDIA Omniverse.

Comment StyleGAN aide-t-il à créer les points de vue manquants?

La méthode utilise les premières couches de StyleGAN pour varier le point de vue et les dernières pour préserver l’objet, ce qui produit des exemples sous plusieurs angles pour entraîner le moteur de rendu 3D.