Vision par ordinateurIA générativeVision par ordinateurIA générative
Vision par ordinateur6 min de lecture

Des modèles 3D à partir de texte ! DreamFusion expliqué

Comment l’IA génère des modèles 3D à partir de texte seulement ! Mais comment peut-on générer un rendu 3D à partir de texte si le modèle NeRF fonctionne uniquement avec des images ?

Des modèles 3D à partir de texte ! DreamFusion expliqué
Sommaire

Regardez la vidéo

Nous avons vu des modèles capables de recevoir une phrase et de générer des images.

Puis, d’autres approches ont permis de manipuler les images générées en apprenant des concepts précis, comme un objet ou un style particulier.

La semaine dernière, Meta a publié le modèle Make-A-Video, que j’ai présenté et qui permet de générer une courte vidéo, encore une fois à partir d’une phrase. Les résultats ne sont pas encore parfaits, mais les progrès accomplis dans le domaine depuis l’année dernière sont tout simplement incroyables.

Cette semaine, nous faisons un autre pas en avant.

Voici DreamFusion, un nouveau modèle de Google Research capable de comprendre suffisamment une phrase pour en générer un modèle 3D.

Vous pouvez le voir comme DALLE ou Stable Diffusion, mais en 3D.

C’est vraiment cool, non ?! Difficile de faire plus cool.

Mais son fonctionnement est encore plus fascinant. Plongeons dans le sujet.

Exemple visuel de l’article « Des modèles 3D à partir de texte ! DreamFusion expliqué »

[…] un tigre habillé en médecin. Modèle 3D généré avec DreamFusion.

Si vous suivez mon travail, DreamFusion est assez simple à comprendre.

Il utilise essentiellement deux modèles que j’ai déjà présentés : les NeRF et l’un des modèles texte-image. Dans leur cas, il s’agit du modèle Imagen, mais n’importe lequel pourrait fonctionner, comme Stable Diffusion.

Comme vous le savez si vous avez été un bon étudiant et avez regardé les vidéos précédentes, les NeRF sont un type de modèle utilisé pour produire le rendu de scènes 3D en générant des champs de radiance neuronaux à partir d’une ou de plusieurs images d’un objet.

Exemple visuel de l’article « Des modèles 3D à partir de texte ! DreamFusion expliqué »

Approche NeRF. Image tirée de l’article scientifique sur NeRF.

Mais comment peut-on alors générer un rendu 3D à partir de texte si le modèle NeRF fonctionne uniquement avec des images ?

Eh bien, nous utilisons Imagen, l’autre IA, pour générer une variation d’image à partir du texte souhaité !

Et pourquoi faisons-nous ça au lieu de générer directement des modèles 3D à partir de texte ? Parce qu’il faudrait d’immenses jeux de données 3D accompagnés de leurs légendes pour entraîner notre modèle, et ces données seraient très difficiles à obtenir. Nous utilisons plutôt un modèle texte-image préentraîné, dont les données sont beaucoup moins complexes à rassembler, puis nous l’adaptons à la 3D ! Le système n’a donc besoin d’aucune donnée 3D pendant l’entraînement, mais seulement d’une IA existante capable de générer des images ! C’est vraiment cool de voir comment nous pouvons réutiliser de puissantes technologies pour de nouvelles tâches simplement en interprétant le problème différemment.

Repartons donc du début : nous avons un modèle NeRF.

Exemple visuel de l’article « Des modèles 3D à partir de texte ! DreamFusion expliqué »

Vue d’ensemble de l’approche. Image tirée de l’article scientifique sur DreamFusion.

Comme je l’ai expliqué dans des vidéos précédentes, ce type de modèle utilise des images pour prédire les pixels de chaque nouvelle vue. Il crée ainsi un modèle 3D en apprenant à partir de paires d’images du même objet prises depuis différents points de vue. Dans notre cas, nous ne commençons pas directement avec des images. Nous partons du texte et échantillonnons une orientation de vue aléatoire que nous voulons générer. En gros, nous tentons de créer un modèle 3D en générant les images de tous les angles possibles qu’une caméra pourrait capter autour de l’objet et en devinant les couleurs et les densités des pixels, les réflexions de la lumière, et ainsi de suite. Tout ce qu’il faut pour rendre le résultat réaliste.

Nous commençons donc avec une légende et lui apportons une petite modification selon le point de vue aléatoire de la caméra que nous voulons générer. Par exemple, si nous voulons produire une vue de face, nous ajoutons « vue de face » à la légende.

De l’autre côté, nous utilisons le même angle et les mêmes paramètres de caméra pour que notre modèle NeRF initial, qui n’est pas entraîné, prédise le premier rendu.

Exemple visuel de l’article « Des modèles 3D à partir de texte ! DreamFusion expliqué »

Ensuite, nous utilisons Imagen, notre modèle texte-image préentraîné, pour générer une version sous forme d’image guidée par notre légende et par le premier rendu auquel nous avons ajouté du bruit. J’explique plus en détail ce processus dans ma vidéo sur Imagen si vous êtes curieux de voir comment il y arrive.

Notre modèle Imagen est donc guidé par l’input textuel ainsi que par le rendu actuel de l’objet auquel du bruit a été ajouté. Nous ajoutons ce bruit parce qu’il s’agit du type d’input qu’Imagen peut recevoir. L’image doit faire partie de la distribution de bruit que le modèle comprend. Nous l’utilisons ensuite pour générer une image de meilleure qualité. Nous ajoutons l’image qui a servi à la générer, puis retirons le bruit que nous avions ajouté manuellement afin d’utiliser ce résultat pour guider et améliorer notre modèle NeRF à l’étape suivante.

Nous faisons tout cela pour mieux comprendre où le modèle NeRF devrait porter son attention dans l’image afin de produire de meilleurs résultats à l’étape suivante.

Et nous répétons tout le processus jusqu’à ce que le modèle 3D soit assez satisfaisant !

Vous pouvez ensuite exporter ce modèle sous forme de maillage et l’utiliser dans la scène de votre choix !

Exemple visuel de l’article « Des modèles 3D à partir de texte ! DreamFusion expliqué »

Et avant que certains d’entre vous posent la question, non, vous n’avez pas besoin de réentraîner le modèle de génération d’images. Comme les chercheurs le disent si bien dans l’article scientifique, il agit simplement comme un critique figé qui prédit les modifications dans l’espace de l’image.

Et voilà !

Voici comment DreamFusion génère des rendus 3D à partir d’inputs textuels. Si vous voulez mieux comprendre l’approche, regardez mes vidéos sur les NeRF et Imagen. Je vous invite aussi à lire leur article scientifique pour obtenir plus de détails sur cette méthode précise.

Merci d’avoir lu l’article en entier. Je vous invite aussi à regarder la vidéo en haut de la page pour voir plus d’exemples ! On se revoit la semaine prochaine avec un autre article scientifique incroyable !


Références

►Lisez l’article complet : /fr/dreamfusion/
►Poole, B., Jain, A., Barron, J.T. and Mildenhall, B., 2022. DreamFusion: Text-to-3D using 2D Diffusion. arXiv preprint arXiv:2209.14988.
►Site Web du projet : https://dreamfusion3d.github.io/
►Mon infolettre (une nouvelle application de l’IA expliquée chaque semaine dans vos emails !) : /fr/newsletter/

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 génère DreamFusion ?

DreamFusion transforme un prompt textuel en une représentation 3D qui peut être rendue depuis de nouveaux points de vue.

Comment un NeRF peut-il apprendre sans véritables photos d’entraînement ?

Un modèle de diffusion texte-image évalue les vues rendues et guide le NeRF vers des images qui correspondent au prompt.

Pourquoi produire le rendu de l’objet sous de nombreux angles ?

Les différents points de vue poussent la représentation vers une géométrie 3D cohérente plutôt que vers une seule image plane convaincante.

Qu’apporte le modèle de diffusion ?

Il fournit un a priori visuel appris qui relie la description textuelle à une apparence d’image plausible.

Quelle est une limite courante de la génération 3D à partir de texte ?

Le résultat peut sembler plausible tout en contenant une géométrie incohérente, des caractéristiques répétées ou des surfaces non observées de faible qualité.