Intelligence artificielle
In-Paint3D : Génération d’images à l’aide de modèles de diffusion avec moins d’éclairage
L’avènement de modèles d’intelligence artificielle générative profonde a considérablement accéléré le développement de l’IA avec des capacités remarquables en termes de génération de langage naturel, de génération 3D, de génération d’images et de synthèse vocale. Les modèles génératifs 3D ont transformé de nombreuses industries et applications, révolutionnant le paysage actuel de la production 3D. Cependant, de nombreux modèles génératifs profonds actuels rencontrent un obstacle commun : les câblages complexes et les maillages générés avec des textures d’éclairage sont souvent incompatibles avec les pipelines de rendu traditionnels comme le PBR (Physically Based Rendering). Les modèles basés sur la diffusion, qui génèrent des actifs 3D sans textures d’éclairage, possèdent des capacités remarquables pour la génération diversifiée d’actifs 3D, augmentant ainsi les cadres 3D existants dans des industries telles que la réalisation de films, les jeux et la réalité augmentée/virtuelle.
Dans cet article, nous allons discuter de Paint3D, un cadre novateur de type coarse-to-fine capable de produire des cartes de textures UV de haute résolution 2K diverses pour des maillages 3D non texturés, conditionnés soit sur des entrées visuelles soit sur des entrées textuelles. Le défi clé que Paint3D résout est la génération de textures de haute qualité sans intégrer d’informations d’éclairage, permettant aux utilisateurs de rééditer ou de rééclairer à l’intérieur des pipelines graphiques modernes. Pour résoudre ce problème, le cadre Paint3D utilise un modèle de diffusion 2D pré-entraîné pour effectuer une fusion de textures multi-vues et générer des images conditionnelles à la vue, produisant initialement une carte de texture grossière. Cependant, puisque les modèles 2D ne peuvent pas désactiver complètement les effets d’éclairage ou représenter complètement les formes 3D, la carte de texture peut présenter des artefacts d’éclairage et des zones incomplètes.
Dans cet article, nous allons explorer le cadre Paint3D en profondeur, en examinant son fonctionnement et son architecture, et en le comparant aux cadres génératifs profonds les plus récents. Alors, commençons.
Paint3D : Une introduction
Les modèles d’intelligence artificielle générative profonde ont démontré des capacités exceptionnelles en termes de génération de langage naturel, de génération 3D et de synthèse d’images, et ont été mis en œuvre dans des applications réelles, révolutionnant l’industrie de la génération 3D. Cependant, malgré leurs capacités remarquables, les cadres d’intelligence artificielle générative profonde modernes produisent souvent des maillages avec des câblages complexes et des textures d’éclairage chaotiques qui sont incompatibles avec les pipelines de rendu conventionnels, y compris le PBR (Physically Based Rendering). De même, la synthèse de textures a évolué rapidement, en particulier avec l’utilisation de modèles de diffusion 2D. Ces modèles utilisent efficacement des modèles de diffusion d’image à profondeur pré-entraînés et des conditions de texte pour générer des textures de haute qualité. Cependant, un défi important persiste : les textures pré-éclairées peuvent affecter négativement les rendus finals de l’environnement 3D, en introduisant des erreurs d’éclairage lorsque les lumières sont ajustées dans les flux de travail courants, comme le montre l’image suivante.

Comme on le constate, les cartes de textures sans pré-éclairage fonctionnent sans problème avec les pipelines de rendu traditionnels, produisant des résultats précis. En revanche, les cartes de textures avec pré-éclairage incluent des ombres inappropriées lorsque le rééclairage est appliqué. Les cadres de génération de textures formés sur des données 3D offrent une approche alternative, en générant des textures en comprenant la géométrie complète d’un objet 3D spécifique. Bien que ces cadres puissent produire de meilleurs résultats, ils manquent de capacités de généralisation nécessaires pour appliquer le modèle à des objets 3D en dehors de leurs données d’entraînement.
Les modèles de génération de textures actuels rencontrent deux défis critiques : atteindre une généralisation large sur différents objets à l’aide de guidages d’images ou de prompts divers, et éliminer l’éclairage couplé des résultats de pré-entraînement. Les textures pré-éclairées peuvent interférer avec les résultats finals des objets texturés dans les moteurs de rendu. De plus, puisque les modèles de diffusion 2D pré-entraînés ne fournissent que des résultats 2D dans le domaine de la vue, ils manquent d’une compréhension complète des formes, ce qui entraîne des incohérences dans le maintien de la cohérence de la vue pour les objets 3D.
Pour relever ces défis, le cadre Paint3D développe un modèle de diffusion à deux étapes pour les objets 3D qui généralise sur différents modèles génératifs pré-entraînés et préserve la cohérence de la vue tout en générant des textures sans éclairage.
Paint3D est un modèle de génération de textures à deux étapes, de type coarse-to-fine, qui utilise les capacités de guidage de prompt et de génération d’images des modèles d’intelligence artificielle générative pré-entraînés pour texturer des objets 3D. À la première étape, Paint3D échantillonne des images multi-vues à partir d’un modèle de diffusion d’image 2D pré-entraîné de manière progressive, permettant la généralisation de résultats de textures de haute qualité et riches à partir de prompts divers. Le modèle génère ensuite une carte de texture initiale en projetant ces images sur la surface du maillage 3D. À 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 les modèles de diffusion spécialisés dans l’élimination des influences d’éclairage et l’affinement des régions incomplètes sensibles à la forme. Tout au long du processus, le cadre Paint3D génère de manière cohérente des textures de haute qualité 2K de manière sémantique, en éliminant les effets d’éclairage intrinsèques.

En résumé, Paint3D est un modèle d’intelligence artificielle générative novateur, de type coarse-to-fine, conçu pour produire des cartes de textures UV de haute résolution 2K diverses et sans éclairage pour des maillages 3D non texturés. Il vise à atteindre des performances de pointe dans le texturage d’objets 3D avec différentes entrées conditionnelles, y compris du texte et des images, offrant des avantages significatifs pour les tâches de synthèse et d’édition graphique.
Méthodologie et architecture
Le cadre Paint3D génère et affine des cartes de textures de manière progressive pour produire des textures diverses et de haute qualité pour les modèles 3D à l’aide d’entrées conditionnelles telles que des images et des prompts, comme le montre l’image suivante.

Étape 1 : Génération de texture grossière progressive
À la première étape de génération de texture grossière, Paint3D utilise des modèles de diffusion d’image 2D pré-entraînés pour échantillonner des images multi-vues, qui sont ensuite projetées sur la surface du maillage pour créer les cartes de texture initiales. Cette étape commence par la génération d’une carte de profondeur à partir de différentes vues de caméra. Le modèle utilise des conditions de profondeur pour échantillonner des images à partir du modèle de diffusion, qui sont ensuite projetées sur la surface du maillage 3D. Cette approche de rendu alternatif, d’échantillonnage et de projection inverse améliore la cohérence des maillages de texture et aide à générer progressivement la carte de texture.
Le processus commence par les régions visibles du maillage 3D, en se concentrant sur la génération de texture à partir de la première vue de caméra en rendant le maillage 3D dans une carte de profondeur. Une image de texture est ensuite échantillonnée en fonction des conditions d’apparence et de profondeur et projetée sur le maillage. Cette méthode est répétée pour les vues de caméra suivantes, en intégrant les textures précédentes pour rendre non seulement une image de profondeur mais également une image RGB partiellement colorée avec des masques non colorés. Le modèle utilise un encodeur d’inpainting d’image sensible à la profondeur pour remplir les zones non colorées, générant une carte de texture grossière complète en projetant les images inpaintées sur le maillage 3D.
Pour des scènes ou des objets plus complexes, le modèle utilise plusieurs vues. Initialement, il capture deux cartes de profondeur à partir de vues de caméra symétriques et les combine en une grille de profondeur, qui remplace une seule image de profondeur pour l’échantillonnage de texture multi-vue sensible à la profondeur.
Étape 2 : Affinement de la texture dans l’espace UV
Malgré la génération de cartes de texture grossières logiques, des défis tels que les trous de texture provenant des processus de rendu et les ombres d’éclairage provenant des modèles de diffusion d’image 2D surgissent. Pour résoudre ces problèmes, Paint3D effectue un processus de diffusion dans l’espace UV en fonction de la carte de texture grossière, améliorant l’attrait visuel et résolvant les problèmes.
Cependant, l’affinement de la carte de texture dans l’espace UV peut introduire des discontinuités en raison de la fragmentation de textures continues en fragments individuels. Pour atténuer cela, Paint3D affine la carte de texture en utilisant les informations d’adjacence des fragments de texture. Dans l’espace UV, la carte de position représente les informations d’adjacence 3D des fragments de texture, en traitant chaque élément non arrière-plan comme une coordonnée de point 3D. Le modèle utilise un encodeur de carte de position supplémentaire, similaire à ControlNet, pour intégrer ces informations d’adjacence pendant le processus de diffusion.
Le modèle utilise simultanément la position de l’encodeur conditionnel et d’autres encodeurs pour effectuer des tâches d’affinement dans l’espace UV, offrant deux capacités : UVHD (UV High Definition) et inpainting UV. UVHD améliore l’attrait visuel et l’esthétique, en utilisant un encodeur d’amélioration d’image et un encodeur de position avec le modèle de diffusion. L’inpainting UV remplit les trous de texture, en évitant les problèmes d’auto-occlusion provenant du rendu. L’étape d’affinement commence par l’inpainting UV, suivi de UVHD pour produire une carte de texture affinée finale.
En intégrant ces méthodes d’affinement, le cadre Paint3D génère des cartes de textures UV complètes, diverses, de haute résolution et sans éclairage, ce qui en fait une solution robuste pour le texturage d’objets 3D.
Paint3D : Expériences et résultats
Le modèle Paint3D utilise le modèle text2image Stable Diffusion pour aider les tâches de génération de textures, tandis que le composant d’encodeur d’image gère les conditions d’image. Pour améliorer son contrôle sur les tâches conditionnelles telles que l’inpainting d’image, la gestion de la profondeur et l’imagerie haute définition, le cadre Paint3D utilise des encodeurs de domaine ControlNet. Le modèle est mis en œuvre sur le framework PyTorch, avec le rendu et les projections de texture exécutés sur Kaolin.
Comparaison de textures à partir de texte
Pour évaluer les performances de Paint3D, nous commençons par analyser sa génération de textures lorsqu’elle est conditionnée par des prompts textuels, en la comparant aux cadres les plus récents tels que Text2Tex, TEXTure et LatentPaint. Comme le montre l’image suivante, le cadre Paint3D ne se distingue pas seulement par sa capacité à générer des détails de texture de haute qualité, mais il synthétise également avec efficacité une carte de texture sans éclairage.
En exploitant les capacités robustes de Stable Diffusion et des encodeurs ControlNet, Paint3D offre une qualité de texture et une polyvalence supérieures. La comparaison met en évidence la capacité de Paint3D à produire des textures détaillées, de haute résolution et sans éclairage, ce qui en fait une solution de premier plan pour les tâches de texturage 3D.

En comparaison, le cadre Latent-Paint est enclin à générer des textures floues qui entraînent 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 les cadres les plus récents 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 % par rapport à la référence FID et une amélioration d’environ 40 % par rapport à la référence KID. L’amélioration des scores de référence 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’images à textures
Pour générer les capacités de génération de Paint3D à l’aide de prompts visuels, 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 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 de manière précise. De plus, comme le montre l’image suivante, le cadre Paint3D offre de meilleures références FID et KID que le cadre TEXTure, avec la première diminuant de 40,83 à 26,86, tandis que la deuxième affiche une baisse de 9,76 à 4,94.

Pensées finales
Dans cet article, nous avons discuté de Paint3D, un cadre novateur de type coarse-to-fine capable de produire des cartes de textures UV sans éclairage, diverses et de haute résolution 2K 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 sans éclairage de haute résolution 2K qui sont cohérentes sur le plan sémantique sans être conditionnées sur des entrées d’image ou de texte. Grâce à son approche coarse-to-fine, le cadre Paint3D produit des cartes de textures sans éclairage, diverses et de haute résolution, et offre de meilleures performances que les cadres actuels les plus récents.












