Vous avez peut-être entendu parler de la puissance des modèles d'IA texte-image au cours des deux dernières années. Mais saviez-vous que la même technologie pourrait vous aider à passer de la 2D à la 3D ?
Les modèles 3D générés par l'IA ont un large cas d'utilisation dans le paysage numérique d'aujourd'hui. Jeux vidéo et le film s'appuient sur des artistes 3D qualifiés et des logiciels de modélisation tels que Blender pour créer des ressources 3D afin de peupler des scènes générées par ordinateur.
Cependant, est-il possible que l'industrie puisse utiliser l'apprentissage automatique pour créer des ressources 3D avec moins d'effort, de la même manière que les artistes 2D commencent aujourd'hui à adopter des technologies telles que DALL-E et À mi-parcours?
Cet article explore un nouvel algorithme qui tente de créer un modèle texte-3D efficace en utilisant les modèles de diffusion.
Qu’est ce qu' Fusion de rêves?
L'un des principaux problèmes liés à la création d'un modèle de diffusion qui génère directement des actifs 3D est qu'il n'y a tout simplement pas beaucoup de données 3D disponibles. Les modèles de diffusion 2D sont devenus si puissants en raison du vaste ensemble de données d'images trouvées sur Internet. On ne peut pas en dire autant des ressources 3D.
Certaines techniques génératives 3D contournent ce manque de données en profitant de cette abondance de données 2D.
RêveFusion est un modèle génératif qui peut créer des modèles 3D basés sur une description textuelle fournie. Le modèle DreamFusion utilise un modèle de diffusion texte-image pré-formé pour générer des modèles tridimensionnels réalistes à partir d'invites de texte.
Malgré l'absence de données d'entraînement 3D, cette approche a généré des ressources 3D cohérentes avec une apparence et une profondeur haute fidélité.
Comment ça marche?
L'algorithme DreamFusion se compose de deux modèles principaux : un modèle de diffusion 2D et un Réseau neuronal capable de convertir des images 2D en une scène 3D cohérente.
Modèle de texte à image Imagen de Google
La première partie de l'algorithme est le modèle de diffusion. Ce modèle est responsable de la conversion du texte en images.
Image est un modèle de diffusion qui peut générer un large échantillon de variations d'image d'un objet particulier. Dans ce cas, nos variations d'image doivent couvrir tous les angles possibles de l'objet fourni. Par exemple, si nous voulions générer un modèle 3D d'un cheval, nous voudrions des images 2D du cheval sous tous les angles possibles. Le but est d'utiliser Imagen pour fournir le plus d'informations possible (couleurs, réflexions, densité) pour le prochain modèle de notre algorithme.
Création de modèles 3D avec NeRF
Ensuite, Dreamfusion utilise un modèle connu sous le nom de Champ de rayonnement neuronal ou NeRF pour créer réellement le modèle 3D à partir de l'ensemble d'images généré. Les NeRF sont capables de créer des scènes 3D complexes à partir d'un ensemble de données d'images 2D.
Essayons de comprendre comment fonctionne un NeRF.
Le modèle vise à créer une fonction de scène volumétrique continue optimisée à partir de l'ensemble de données fourni d'images 2D.
Si le modèle crée une fonction, quelles sont l'entrée et la sortie ?
La fonction de scène prend en entrée un emplacement 3D et une direction de visualisation 2D. La fonction produit alors une couleur (sous forme de RVB) et une densité de volume spécifique.
Pour générer une image 2D à partir d'un point de vue spécifique, le modèle générera un ensemble de points 3D et exécutera ces points via la fonction de scène pour renvoyer un ensemble de valeurs de densité de couleur et de volume. Les techniques de rendu de volume convertiront ensuite ces valeurs en une sortie d'image 2D.
Utilisation conjointe de NeRF et de modèles de diffusion 2D
Maintenant que nous savons comment fonctionne un NeRF, voyons comment ce modèle peut générer des modèles 3D précis à partir de nos images générées.
Pour chaque invite de texte fournie, DreamFusion forme un NeRF initialisé de manière aléatoire à partir de zéro. Chaque itération choisit une position de caméra aléatoire dans un ensemble de coordonnées sphériques. Pensez au modèle enfermé dans une sphère de verre. Chaque fois que nous générons une nouvelle image de notre modèle 3D, nous choisissons un point aléatoire dans notre sphère comme point de vue de notre sortie. DreamFusion choisira également une position de lumière aléatoire l à utiliser pour le rendu.
Une fois que nous avons une position de caméra et de lumière, un modèle NeRF sera rendu. DreamFusion choisira également au hasard entre un rendu coloré, un rendu sans texture et un rendu de l'albédo sans ombrage.
Nous avons mentionné précédemment que nous voulons que notre modèle texte-image (Imagen) produise suffisamment d'images pour créer un échantillon représentatif.
Comment Dreamfusion y parvient-il ?
Dreamfusion modifie simplement légèrement l'invite de saisie pour obtenir les angles souhaités. Par exemple, nous pouvons obtenir des angles d'élévation élevés en ajoutant "vue aérienne" à notre invite. Nous pouvons générer d'autres angles en ajoutant des phrases telles que "vue de face", "vue de côté" et "vue de dos".
Les scènes sont rendues à plusieurs reprises à partir de positions de caméra aléatoires. Ces rendus passent ensuite par une fonction de perte de distillation de score. Une simple approche de descente en gradient améliorera lentement la Modèle 3D jusqu'à ce qu'elle corresponde à la scène décrite par le texte.
Une fois que nous avons rendu le modèle 3D à l'aide de NeRF, nous pouvons utiliser le Algorithme des Marching Cubes pour produire un maillage 3D de notre modèle. Ce maillage peut ensuite être importé dans des moteurs de rendu 3D ou des logiciels de modélisation populaires.
Limites
Alors que la sortie de DreamFusion est assez impressionnante car elle utilise les modèles de diffusion texte-image existants d'une manière nouvelle, les chercheurs ont noté quelques limitations.
Il a été observé que la fonction de perte SDS produit des résultats sursaturés et trop lissés. Vous pouvez observer cela dans la coloration non naturelle et le manque de détails précis trouvés dans les sorties.
L'algorithme DreamFusion est également limité par la résolution de la sortie du modèle Imagen, qui est de 64 x 64 pixels. Cela conduit à des modèles synthétisés manquant de détails plus fins.
Enfin, les chercheurs ont noté qu'il existe un défi inhérent à la synthèse de modèles 3D à partir de données 2D. Il existe de nombreux modèles 3D possibles que nous pouvons générer à partir d'un ensemble d'images 2D, ce qui rend l'optimisation assez difficile voire ambiguë.
Conclusion
Les rendus 3D de DreamFusion fonctionnent si bien en raison de la capacité des modèles de diffusion texte-image à créer n'importe quel objet ou scène. Il est impressionnant de voir comment un réseau de neurones peut comprendre une scène dans un espace 3D sans aucune donnée d'entraînement 3D. Je recommande la lecture du papier entier pour en savoir plus sur les détails techniques de l'algorithme DreamFusion.
Espérons que cette technologie s'améliorera pour éventuellement créer des modèles 3D photo-réalistes. Imaginez des jeux vidéo entiers ou des simulations qui utilisent des environnements générés par l'IA. Cela pourrait abaisser la barrière à l'entrée des développeurs de jeux vidéo pour créer des mondes 3D immersifs !
Quel rôle pensez-vous que les modèles de texte en 3D joueront à l'avenir ?
Soyez sympa! Laissez un commentaire