talon Paint3D : Modèle de diffusion sans éclairage pour la génération d'images - Unite.AI
Suivez nous sur

Intelligence artificielle

Paint3D : modèle de diffusion sans éclairage pour la génération d'images

mm
Le kit de préparation mis à jour on

Le développement rapide des modèles d’IA génératifs, en particulier des modèles d’IA génératifs profonds, offre des capacités considérablement avancées en matière de génération de langage naturel, de génération 3D, de génération d’images et de synthèse vocale. Ces modèles ont révolutionné la production 3D dans diverses industries. Cependant, beaucoup sont confrontés à un défi : leur câblage complexe et leurs maillages générés ne sont souvent pas compatibles avec les pipelines de rendu traditionnels comme le rendu physique (PBR). Les modèles basés sur la diffusion, notamment sans textures d'éclairage, démontrent une génération impressionnante d'actifs 3D diversifiés, améliorant les cadres 3D dans la réalisation de films, de jeux et d'AR/VR.

Cet article présente Paint3D, un nouveau cadre permettant de produire diverses cartes de textures UV 2K haute résolution pour des maillages 3D non texturés, conditionnées par des entrées visuelles ou textuelles. Le principal défi de Paint3D est de générer des textures de haute qualité sans éclairage intégré, permettant à l'utilisateur de rééditer ou de rééclairer au sein de pipelines graphiques modernes. Il utilise un modèle de diffusion 2D pré-entraîné pour la fusion de textures multi-vues, générant des cartes de texture grossières initiales. Cependant, ces cartes montrent souvent des artefacts d'éclairage et des zones incomplètes en raison des limitations du modèle 2D à désactiver les effets d'éclairage et à représenter pleinement les formes 3D. Nous approfondirons le fonctionnement, l'architecture et les comparaisons de Paint3D avec d'autres frameworks génératifs profonds. Commençons.

Paint3D : une introduction

Les capacités des modèles Deep Generative AI dans les tâches de génération de langage naturel, de génération 3D et de synthèse d’images sont bien connues et mises en œuvre dans des applications réelles, révolutionnant l’industrie de la génération 3D. Malgré leurs capacités remarquables, les profondeurs modernes IA générative Les frameworks génèrent des maillages caractérisés par un câblage complexe et des textures d'éclairage chaotiques qui sont souvent incompatibles avec les pipelines de rendu conventionnels, notamment le PBR ou le rendu physique. À l’instar des modèles d’IA génératifs profonds, la synthèse de textures a également progressé rapidement, notamment dans l’utilisation de modèles de diffusion 2D. Les modèles de synthèse de texture utilisent une profondeur d'image pré-entraînée modèles de diffusion efficacement pour utiliser les conditions de texte pour générer des textures de haute qualité. Cependant, ces approches rencontrent des problèmes avec les textures pré-éclairées qui peuvent avoir un impact significatif sur les rendus finaux de l'environnement 3D et introduire des erreurs d'éclairage lorsque les lumières sont modifiées dans les flux de travail courants, comme le montre l'image suivante. 

Comme on peut l'observer, la carte de texture avec éclairage libre fonctionne en synchronisation avec les pipelines de rendu traditionnels, fournissant des résultats précis, tandis que la carte de texture avec pré-éclairage inclut des ombres inappropriées lors de l'application d'un rééclairage. D'un autre côté, les frameworks de génération de textures formés sur des données 3D offrent une approche alternative dans laquelle le framework génère les textures en comprenant la géométrie entière d'un objet 3D spécifique. Bien qu'ils puissent fournir de meilleurs résultats, les frameworks de génération de textures formés sur des données 3D manquent de capacités de généralisation, ce qui entrave leur capacité à appliquer le modèle à des objets 3D en dehors de leurs données de formation. 

Les modèles actuels de génération de textures sont confrontés à deux défis critiques : utiliser le guidage d'image ou diverses invites pour atteindre un degré plus large de généralisation sur différents objets, et le deuxième défi étant l'élimination de l'éclairage couplé sur les résultats obtenus lors de la pré-entraînement. Les textures pré-illuminées peuvent potentiellement interférer avec les résultats finaux des objets texturés dans les moteurs de rendu, et comme les modèles de diffusion 2D pré-entraînés fournissent des résultats 2D uniquement dans le domaine de la vue, ils manquent de compréhension globale des formes, ce qui les empêche de pour maintenir la cohérence de la vue pour les objets 3D. 

En raison des défis mentionnés ci-dessus, le framework Paint3D tente de développer un modèle de diffusion de texture en deux étapes pour les objets 3D qui se généralise à différents modèles génératifs pré-entraînés et préserve la cohérence de la vue tout en apprenant la génération de texture sans éclair. 

Paint3D est un modèle de génération de textures grossières à fines en deux étapes qui vise à tirer parti des solides capacités de guidage rapide et de génération d'images des utilisateurs pré-entraînés. IA générative modèles pour texturer des objets 3D. Dans la première étape, le framework Paint3D échantillonne d'abord progressivement des images multi-vues à partir d'un modèle de diffusion d'images 2D sensible à la profondeur pré-entraîné pour permettre la généralisation de résultats de texture riches et de haute qualité à partir de diverses invites. Le modèle génère ensuite une première carte de texture en rétroprojectant ces images sur la surface du maillage 3D. Dans la deuxième étape, le modèle se concentre sur la génération de textures sans éclairage en mettant en œuvre des approches utilisées par des modèles de diffusion spécialisés dans la suppression des influences lumineuses et le raffinement sensible à la forme des régions incomplètes. Tout au long du processus, le framework Paint3D est systématiquement capable de générer sémantiquement des textures 2K de haute qualité et d’éliminer les effets d’éclairage intrinsèques. 

Pour résumer, Paint3D est un nouveau modèle d'IA génératif grossier à fin qui vise à produire des cartes de textures UV 2K diverses, sans éclairage et haute résolution pour les maillages 3D non texturés afin d'obtenir des performances de pointe en matière de texturation d'objets 3D avec différentes conditions. entrées comprenant du texte et des images, et offre un avantage significatif pour les tâches de synthèse et d'édition graphique. 

Méthodologie et Architecture

Le framework Paint3D génère et affine progressivement les cartes de texture pour générer des cartes de texture diverses et de haute qualité pour les modèles 3D à l'aide des entrées conditionnelles souhaitées, notamment des images et des invites, comme le montre l'image suivante. 

Au stade grossier, le modèle Paint3D utilise des modèles de diffusion d'images 2D pré-entraînés pour échantillonner des images multi-vues, puis crée les cartes de texture initiales en rétroprojetant ces images sur la surface du maillage. Dans la deuxième étape, c'est-à-dire l'étape de raffinement, le modèle Paint3D utilise un processus de diffusion dans l'espace UV pour améliorer les cartes de texture grossières, obtenant ainsi une fonction de haute qualité, sans peinture et sans éclairage, qui garantit l'attrait visuel et l'exhaustivité de la texture finale. . 

Étape 1 : Génération progressive de texture grossière

Au cours de l'étape de génération progressive de texture grossière, le modèle Paint3D génère une carte de texture UV grossière pour les maillages 3D qui utilisent un modèle de diffusion 2D sensible à la profondeur pré-entraîné. Pour être plus précis, le modèle utilise d'abord différentes vues de caméra pour restituer la carte de profondeur, puis utilise les conditions de profondeur pour échantillonner les images du modèle de diffusion d'images, puis rétroprojete ces images sur la surface du maillage. Le framework exécute alternativement les approches de rendu, d'échantillonnage et de rétroprojection pour améliorer la cohérence des maillages de texture, ce qui contribue finalement à la génération progressive de la carte de texture. 

Le modèle commence à générer la texture de la région visible avec les vues de la caméra se concentrant sur le maillage 3D, et restitue le maillage 3D sur une carte de profondeur à partir de la première vue. Le modèle échantillonne ensuite une image de texture pour une condition d'apparence et une condition de profondeur. Le modèle rétroprojete ensuite l'image sur le maillage 3D. Pour les points de vue, le modèle Paint3D exécute une approche similaire mais avec un léger changement en effectuant le processus d'échantillonnage de texture à l'aide d'une approche de peinture d'image. De plus, le modèle prend en compte les régions texturées des points de vue précédents, permettant au processus de rendu de produire non seulement une image de profondeur, mais également une image RVB partiellement colorée avec un masque non coloré dans la vue actuelle. 

Le modèle utilise ensuite un modèle d'inpainting d'image sensible à la profondeur avec un encodeur d'inpainting pour remplir la zone non colorée de l'image RVB. Le modèle génère ensuite la carte de texture à partir de la vue en rétroprojetant l'image peinte dans le maillage 3D sous la vue actuelle, permettant au modèle de générer la carte de texture progressivement et d'arriver à l'intégralité de la carte de structure grossière. Enfin, le modèle étend le processus d'échantillonnage de texture à une scène ou un objet avec plusieurs vues. Pour être plus précis, le modèle utilise une paire de caméras pour capturer deux cartes de profondeur lors de l'échantillonnage initial de texture à partir de points de vue symétriques. Le modèle combine ensuite deux cartes de profondeur et compose une grille de profondeur. Le modèle remplace l'image de profondeur unique par la grille de profondeur pour effectuer un échantillonnage de texture multi-vues tenant compte de la profondeur. 

Étape 2 : raffinement de la texture dans l'espace UV

Bien que l'apparition de cartes de texture grossières soit logique, elle se heurte à certains défis tels que des trous de texture provoqués lors du processus de rendu par l'auto-occlusion ou des ombres éclair en raison de l'implication de modèles de diffusion d'images 2D. Le modèle Paint3D vise à effectuer un processus de diffusion dans l'espace UV sur la base d'une carte de texture grossière, en essayant d'atténuer les problèmes et d'améliorer encore davantage l'attrait visuel de la carte de texture lors du raffinement de la texture. Cependant, affiner le modèle de diffusion d'image traditionnel avec les cartes de texture dans l'espace UV introduit une discontinuité de texture puisque la carte de texture est générée par le mappage UV de la texture de la surface 3D qui coupe la texture continue en une série de fragments individuels dans l'espace UV. espace. En raison de la fragmentation, le modèle a du mal à apprendre les relations de contiguïté 3D entre les fragments, ce qui entraîne des problèmes de discontinuité de texture. 

Le modèle affine la carte de texture dans l'espace UV en effectuant le processus de diffusion sous la direction des informations de contiguïté des fragments de texture. Il est important de noter que dans l'espace UV, c'est la carte de position qui représente les informations de contiguïté 3D des fragments de texture, le modèle traitant chaque élément hors arrière-plan comme une coordonnée de point 3D. Au cours du processus de diffusion, le modèle fusionne les informations de contiguïté 3D en ajoutant un encodeur de carte de position individuelle au modèle de diffusion d'image pré-entraîné. Le nouvel encodeur ressemble à la conception du framework ControlNet et possède la même architecture que l'encodeur implémenté dans le modèle de diffusion d'image avec la couche à convolution nulle reliant les deux. De plus, le modèle de diffusion de texture est entraîné sur un ensemble de données comprenant des cartes de texture et de position, et le modèle apprend à prédire le bruit ajouté au bruit latent. Le modèle optimise ensuite l'encodeur de position et fige le débruiteur entraîné pour sa tâche de diffusion d'image. 

Le modèle utilise ensuite simultanément la position de l'encodeur conditionnel et d'autres encodeurs pour effectuer des tâches de raffinement dans l'espace UV. À cet égard, le modèle dispose de deux capacités de raffinement : UVHD ou UV High Definition et UV inpainting. La méthode UVHD est structurée pour améliorer l’attrait visuel et l’esthétique de la carte de texture. Pour obtenir l'UVHD, le modèle utilise un encodeur d'amélioration d'image et un encodeur de position avec le modèle de diffusion. Le modèle utilise la méthode d'inpainting UV pour remplir les trous de texture dans le plan UV, ce qui est capable d'éviter les problèmes d'auto-occlusion générés lors du rendu. Au cours de la phase de raffinement, le modèle Paint3D effectue d'abord une inpainting UV, puis exécute UVHD pour générer la carte de texture finale raffinée. En intégrant les deux méthodes de raffinement, le framework Paint3D est capable de produire des cartes de texture UV complètes, diversifiées, haute résolution et sans éclairage. 

Paint3D : Expériences et résultats

Le modèle Paint3D utilise le Diffusion stable modèle text2image pour l'aider dans les tâches de génération de texture tout en utilisant le composant encodeur d'image pour gérer les conditions de l'image. Pour améliorer encore son contrôle sur les contrôles conditionnels tels que l'inpainting d'image, la profondeur et la haute définition d'image, le framework Paint3D utilise des encodeurs de domaine ControlNet. Le modèle est implémenté sur le framework PyTorch avec des projections de rendu et de texture implémentées sur Kaolin. 

Comparaison texte-textures

Pour analyser ses performances, nous commençons par évaluer l'effet de génération de texture de Paint3D lorsqu'il est conditionné à l'aide d'invites textuelles, et nous le comparons aux frameworks de pointe, notamment Text2Tex, TEXTure et LatentPaint. Comme on peut l'observer dans l'image suivante, le framework Paint3D excelle non seulement dans la génération de détails de texture de haute qualité, mais il synthétise également assez bien une carte de texture sans éclairage. 

En comparaison, le framework Latent-Paint a tendance à générer des textures floues qui entraînent des effets visuels sous-optimaux. D'un autre côté, bien que le framework TEXTure génère des textures claires, il manque de douceur et présente des épissures et des coutures visibles. Enfin, le framework Text2Tex génère remarquablement bien des textures lisses, mais il ne parvient pas à reproduire les performances de génération de textures fines avec des détails complexes. 

L'image suivante compare quantitativement le framework Paint3D avec les frameworks de pointe. 

Comme on peut le constater, le framework Paint3D surpasse tous les modèles existants, et de loin, avec une amélioration de près de 30 % de la référence FID et une amélioration d'environ 40 % de la référence KID. L'amélioration des scores de base FID et KID démontre la capacité de Paint3D à générer des textures de haute qualité sur divers objets et catégories. 

Comparaison image-texture

Pour générer les capacités génératives de Paint3D à l'aide d'invites visuelles, nous utilisons le modèle TEXTure comme référence. Comme mentionné précédemment, le modèle Paint3D utilise un encodeur d'image provenant du modèle text2image de Stable Diffusion. Comme on peut le voir dans l'image suivante, le framework Paint3D synthétise remarquablement bien des textures exquises et est toujours capable de maintenir une haute fidélité par rapport aux conditions de l'image. 

D'un autre côté, le framework TEXTure est capable de générer une texture similaire à Paint3D, mais il ne parvient pas à représenter avec précision les détails de la texture dans l'état de l'image. De plus, comme le démontre l'image suivante, le framework Paint3D offre de meilleurs scores de base FID et KID par rapport au framework TEXTure, le premier diminuant de 40.83 à 26.86 tandis que le second affiche une baisse de 9.76 à 4.94. 

Réflexions finales

Dans cet article, nous avons parlé de Paint3D, un nouveau framework grossier à fin capable de produire des cartes de texture UV 2K sans éclairage, diversifiées et haute résolution pour des maillages 3D non texturés conditionnés par des entrées visuelles ou textuelles. Le principal point fort du framework Paint3D est qu'il est capable de générer des textures UV 2K haute résolution sans éclairage, sémantiquement cohérentes, sans être conditionnées par des entrées d'image ou de texte. Grâce à son approche grossière à fine, le framework Paint3D produit des cartes de textures sans éclairage, diversifiées et haute résolution, et offre de meilleures performances que les frameworks de pointe actuels. 

« Ingénieur de profession, écrivain de cœur ». Kunal est un rédacteur technique avec un amour et une compréhension profonds de l'IA et du ML, dédié à la simplification de concepts complexes dans ces domaines grâce à sa documentation engageante et informative.