Intelligence artificielle
Paint3D : Modèle de diffusion sans éclairage pour la génération d’images

Le développement rapide des modèles génératifs d’IA, en particulier les modèles génératifs d’IA profonds, a considérablement amélioré les capacités 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, de nombreux utilisateurs sont confrontés à un défi : leurs câblages complexes et les maillages générés ne sont souvent pas compatibles avec les pipelines de rendu traditionnels comme le rendu basé sur la 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 divers, améliorant les cadres 3D dans les domaines du cinéma, du jeu et de la réalité augmentée/virtuelle.
Cet article présente Paint3D, un cadre novateur pour produire des cartes de textures 2K UV diverses et haute résolution pour des maillages 3D non texturés, conditionnés 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 aux utilisateurs de rééditer ou de rééclairer à l’intérieur des 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 textures initiales grossières. Cependant, ces cartes présentent souvent des artefacts d’éclairage et des zones incomplètes en raison des limitations du modèle 2D pour désactiver les effets d’éclairage et représenter pleinement les formes 3D. Nous allons examiner le fonctionnement, l’architecture et les comparaisons de Paint3D avec d’autres cadres génératifs profonds. Commençons.
Paint3D : Une introduction
Les capacités des modèles d’IA génératifs profonds dans la génération de langage naturel, la génération 3D et les tâches 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 cadres génératifs d’IA modernes génèrent des maillages caractérisés par des câblages complexes et des textures d’éclairage chaotiques qui sont souvent incompatibles avec les pipelines de rendu conventionnels, y compris le PBR ou le rendu basé sur la physique. Comme les modèles d’IA génératifs profonds, la synthèse de textures a également évolué rapidement, en particulier dans l’utilisation de modèles de diffusion 2D. Les modèles de synthèse de textures utilisent des modèles de diffusion d’image vers profondeur pré-entraînés pour générer des textures de haute qualité à l’aide de conditions textuelles. Cependant, ces approches rencontrent des difficultés avec les textures pré-éclairées qui peuvent avoir un impact significatif sur les rendus finals 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 harmonie 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 la rééclairage. D’un autre côté, les cadres de génération de textures formés sur des données 3D offrent une approche alternative dans laquelle le cadre génère les textures en comprenant la géométrie d’un objet 3D spécifique. Bien qu’ils puissent fournir de meilleurs résultats, les cadres de génération de textures formés sur des données 3D manquent de capacités de généralisation qui entrave leur capacité à appliquer le modèle à des objets 3D en dehors de leurs données d’entraînement.
Les modèles actuels de génération de textures sont confrontés à deux défis critiques : utiliser des conseils d’image ou des invites diverses pour atteindre un degré plus élevé 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 à partir de l’entraînement préalable. Les textures pré-éclairées peuvent potentiellement interférer avec les résultats finals 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 d’une compréhension complète des formes qui les empêche de maintenir la cohérence de la vue pour les objets 3D.
En raison des défis mentionnés ci-dessus, le cadre Paint3D tente de développer un modèle de diffusion de texture à deux étapes pour les objets 3D qui 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 textures sans éclairage.
Paint3D est un modèle de génération de texture à deux étapes, grossier à fin, qui vise à exploiter les solides conseils de prompte et les capacités de génération d’images des modèles d’IA génératifs pré-entraînés pour texturer les objets 3D. Dans la première étape, le cadre Paint3D échantillonne d’abord des images multi-vues à partir d’un modèle de diffusion d’image 2D pré-entraîné progressivement pour permettre la généralisation de résultats de textures riches et de haute qualité à partir de invites diverses. Le modèle génère ensuite une carte de texture initiale en projetant 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 employées par des modèles de diffusion spécialisés dans la suppression des influences d’éclairage et le raffinement des zones incomplètes. Tout au long du processus, le cadre Paint3D est capable de générer des textures de haute qualité 2K sémantiquement, et élimine les effets d’éclairage intrinsèques.

Pour résumer, Paint3D est un modèle génératif d’IA novateur à deux étapes qui vise à produire des cartes de textures 2K UV diverses, sans éclairage et haute résolution pour des maillages 3D non texturés pour atteindre des performances de pointe dans le texturage d’objets 3D avec différentes entrées conditionnelles, y compris 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 cadre Paint3D génère et affine progressivement les cartes de textures pour générer des cartes de textures diverses et de haute qualité pour les modèles 3D en utilisant des entrées conditionnelles souhaitées, y compris des images et des invites, comme le montre l’image suivante.

Dans l’étape grossière, le modèle Paint3D utilise des modèles de diffusion d’image 2D pré-entraînés pour échantillonner des images multi-vues, puis crée les cartes de textures initiales en projetant 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 textures grossières, réalisant ainsi une fonction de haute qualité, d’inpainting et sans éclairage qui assure l’attrait visuel et la complétude de la texture finale.
Étape 1 : Génération de texture grossière progressive
Dans l’étape de génération de texture grossière progressive, 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 d’image 2D pré-entraîné et conscient de la profondeur. Plus précisément, le modèle utilise d’abord différentes vues de caméra pour rendre la carte de profondeur, puis utilise des conditions de profondeur pour échantillonner des images à partir du modèle de diffusion d’image, et projette ensuite ces images sur la surface du maillage. Le cadre effectue les rendus, les échantillonnages et les projections de manière alternative pour améliorer la cohérence des maillages de texture, ce qui aide 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 caméra se concentrant sur le maillage 3D, et rend 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 projette ensuite l’image sur le maillage 3D. Pour les points de vue, le modèle Paint3D exécute une approche similaire mais avec une légère modification en effectuant le processus d’échantillonnage de texture en utilisant 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 ne pas seulement produire une image de profondeur, mais également une image RGB partiellement colorée avec un masque non coloré dans la vue actuelle.
Le modèle utilise ensuite un modèle de peinture d’image conscient de la profondeur avec un encodeur de peinture pour remplir la zone non colorée dans l’image RGB. Le modèle génère ensuite la carte de texture à partir de la vue en projetant l’image peinte sur le maillage 3D sous la vue actuelle, permettant au modèle de générer la carte de texture progressivement, et aboutit à l’ensemble de la carte de texture grossière. Enfin, le modèle étend le processus d’échantillonnage de texture à une scène ou à un objet avec plusieurs vues. Plus précisément, le modèle utilise une paire de caméras pour capturer deux cartes de profondeur pendant l’échantillonnage de texture initial à partir de points de vue symétriques. Le modèle combine ensuite les 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-vue conscient de la profondeur.
Étape 2 : Raffinement de texture dans l’espace UV
Bien que l’apparence des cartes de textures grossières soit logique, elle fait face à des défis tels que des trous de texture causés pendant le processus de rendu par auto-occlusion ou des ombres d’éclairage en raison de l’implication de modèles de diffusion d’image 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, essayant d’atténuer les problèmes et d’améliorer encore l’attrait visuel de la carte de texture lors du raffinement. Cependant, le raffinement du modèle de diffusion d’image mainstream avec les cartes de textures dans l’espace UV introduit une discontinuité de texture, car la carte de texture est générée par la mise en correspondance UV de la texture de la surface 3D qui coupe la texture continue en une série de fragments individuels dans l’espace UV. En conséquence de la fragmentation, le modèle a du mal à apprendre les relations d’adjacence 3D entre les fragments, ce qui conduit à 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 d’adjacence 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 d’adjacence 3D des fragments de texture, avec le modèle traitant chaque élément non arrière-plan comme une coordonnée de point 3D. Lors du processus de diffusion, le modèle fusionne les informations d’adjacence 3D en ajoutant un encodeur de position individuel au modèle de diffusion d’image pré-entraîné. Le nouvel encodeur ressemble à la conception du cadre ControlNet et a la même architecture que l’encodeur mis en œuvre dans le modèle de diffusion d’image, avec la couche de convolution nulle reliant les deux. De plus, le modèle de diffusion de texture est formé sur un ensemble de données comprenant des cartes de texture et des cartes de position, et le modèle apprend à prédire le bruit ajouté au latent bruyant. Le modèle optimise ensuite l’encodeur de position et gèle le débruiteur formé 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 a deux capacités de raffinement : UVHD ou UV Haute Définition et UV inpainting. La méthode UVHD est conçue pour améliorer l’attrait visuel et l’esthétique de la carte de texture. Pour atteindre 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 qui est capable d’éviter les problèmes d’auto-occlusion générés pendant le rendu. Dans l’étape de raffinement, le modèle Paint3D effectue d’abord l’inpainting UV, puis effectue UVHD pour générer la carte de texture finale raffinée. En intégrant les deux méthodes de raffinement, le cadre Paint3D est capable de produire des cartes de textures complètes, diverses, haute résolution et sans éclairage.
Paint3D : Expériences et résultats
Le modèle Paint3D utilise le modèle d’image vers texte Stable Diffusion pour l’aider dans les tâches de génération de texture, tandis qu’il utilise le composant d’encodeur d’image pour gérer les conditions d’image. Pour améliorer encore son contrôle sur les commandes conditionnelles comme l’inpainting d’image, la profondeur et la haute définition d’image, le cadre Paint3D utilise les encodeurs de domaine ControlNet. Le modèle est mis en œuvre sur le cadre PyTorch avec le rendu et les projections de texture mis en œuvre sur Kaolin.
Comparaison de texture à texture
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 de invites textuelles, et le comparons à des cadres de pointe, y compris Text2Tex, TEXTure et LatentPaint. Comme on peut l’observer dans l’image suivante, le cadre Paint3D ne génère pas seulement des détails de texture de haute qualité, mais il synthétise également une carte de texture sans éclairage de manière raisonnable.

En comparaison, le cadre Latent-Paint est enclin à générer des textures floues qui aboutissent à des effets visuels sous-optimaux. D’un autre côté, bien que le cadre TEXTure génère des textures claires, il manque de douceur et présente des coutures et des joints visibles. Enfin, le cadre Text2Tex génère des textures lisses de manière remarquable, mais il échoue à répliquer les performances pour générer des textures fines avec des détails complexes.
L’image suivante compare le cadre Paint3D avec des cadres de pointe de manière quantitative.

Comme on peut l’observer, le cadre Paint3D surpasse tous les modèles existants, et avec une marge significative, avec une amélioration d’environ 30 % de la base FID et une amélioration d’environ 40 % de la base 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 différents objets et catégories.
Comparaison d’image à texture
Pour générer les capacités génératives de Paint3D à l’aide de 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 d’image vers texte de Stable Diffusion. Comme on peut le voir dans l’image suivante, le cadre Paint3D synthétise des textures exquises de manière remarquable, et est toujours capable de maintenir une fidélité élevée par rapport à la condition d’image.

D’un autre côté, le cadre TEXTure est capable de générer une texture similaire à Paint3D, mais il échoue à représenter les détails de texture dans la condition d’image avec précision. De plus, comme le montre l’image suivante, le cadre Paint3D offre de meilleures scores de base FID et KID par rapport au cadre TEXTure, le premier diminuant de 40,83 à 26,86, tandis que le deuxième passe de 9,76 à 4,94.

Pensées finales
Dans cet article, nous avons discuté de Paint3D, un cadre novateur à deux étapes capable de produire des cartes de textures 2K UV diverses, sans éclairage et haute résolution pour des maillages 3D non texturés, conditionnés soit sur des entrées visuelles, soit sur des entrées textuelles. Le point fort du cadre Paint3D est qu’il est capable de générer des textures 2K UV sans éclairage de haute résolution qui sont sémantiquement cohérentes sans être conditionnées sur des entrées d’image ou de texte. En raison de son approche grossière à fine, le cadre Paint3D produit des cartes de textures sans éclairage, diverses et haute résolution, et offre de meilleures performances que les cadres de pointe actuels.






