Modèles et plateformes d’IA

In-Paint3D : Génération d’images à l’aide de modèles de diffusion sans éclairage

mm
Ajouter Unite.AI à vos sources préférées sur Google

L’avènement de modèles de génération profonds a considérablement accéléré le développement de l’IA avec des capacités remarquables dans la génération de langage naturel, la génération 3D, la génération d’images et la synthèse de la parole. Les modèles de génération 3D ont transformé de nombreuses industries et applications, révolutionnant le paysage actuel de la production 3D. Cependant, de nombreux modèles de génération 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 d’actifs 3D divers, augmentant ainsi les cadres 3D existants dans des industries telles que la production cinématographique, 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 2K UV diverses 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 défi clé que Paint3D aborde 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 relever ce défi, 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, produisant initialement une carte de texture grossière. Cependant, comme 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 de génération profonds actuels. Alors, commençons.

Paint3D : Une Introduction

Les modèles d’IA de génération profonds ont démontré des capacités exceptionnelles dans la génération de langage naturel, la génération 3D et la 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’IA de génération profonds 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 textuelles pour générer des textures de haute qualité. Cependant, un défi important persiste : les textures pré-éclairées peuvent avoir un impact négatif sur les rendus finals de l’environnement 3D, en introduisant des erreurs d’éclairage lors de l’ajustement des lumières dans les flux de travail courants, comme le montre l’image suivante.

Comme on le constate, les cartes de texture sans pré-éclairage fonctionnent sans problème avec les pipelines de rendu traditionnels, produisant des résultats précis. En revanche, les cartes de texture avec pré-éclairage incluent des ombres inappropriées lors de la rééclairage. 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 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, comme 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, conduisant à 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 de génération 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 texture à 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’IA de génération pré-entraînés pour texturer des objets 3D. Dans 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 texture 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. 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 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 2K de haute qualité de manière sémantique, en éliminant les effets d’éclairage intrinsèques.

En résumé, Paint3D est un modèle d’IA de génération novateur, de type coarse-to-fine, conçu pour produire des cartes de textures 2K UV diverses, sans éclairage et à haute résolution 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 les cartes de texture 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

Dans 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 améliore la cohérence des maillages de texture et aide à générer progressivement la carte de texture.

Le processus commence avec 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 de l’apparence et des conditions de profondeur, et projetée sur le maillage. Cette méthode est répétée pour les vues suivantes, en incorporant 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 des 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 points de vue symétriques et les combine en une grille de profondeur, qui remplace une image de profondeur unique pour l’échantillonnage de texture sensible à la profondeur multi-vue.

É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 apparaissent. Pour relever ces défis, 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, suivie 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 texture UV complètes, diverses, à 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 d’image text2image Stable Diffusion pour aider les tâches de génération de texture, 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 cadre PyTorch, avec le rendu et les projections de texture exécutés sur Kaolin.

Comparaison de Textures et de Textes

Pour évaluer les performances de Paint3D, nous commençons par analyser sa génération de texture lorsqu’elle est conditionnée par des prompts textuels, en la comparant aux cadres de pointe tels que Text2Tex, TEXTure et LatentPaint. Comme le montre l’image suivante, le cadre Paint3D non seulement excelle dans la génération de détails de texture de haute qualité, mais génère également efficacement une carte de texture sans éclairage.

En exploitant les capacités robustes du modèle Stable Diffusion et des encodeurs ControlNet, Paint3D fournit une qualité de texture supérieure et une polyvalence. La comparaison met en évidence la capacité de Paint3D à produire des textures détaillées et à haute résolution sans éclairage intégré, 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 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 les cadres de pointe de manière quantitative.

Comme on le constate, le cadre Paint3D surpasse tous les modèles existants, et avec une marge significative, avec une amélioration d’environ 30 % de la base de référence FID et une amélioration d’environ 40 % de la base de 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 une variété d’objets et de catégories.

Comparaison d’Image et de Texture

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 issu du modèle d’image text2image de Stable Diffusion. Comme on le voit dans l’image suivante, le cadre Paint3D synthétise des textures exquises de manière remarquable, et est toujours capable de maintenir une grande fidélité 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 performances en termes de scores de base FID et KID par rapport au cadre TEXTure, le premier diminuant de 40,83 à 26,86, tandis que le second montre 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 2K UV sans éclairage, diverses 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 sans éclairage à haute résolution qui sont sémantiquement cohérentes sans être conditionnées par des entrées d’image ou de texte. Grâce à son approche de type coarse-to-fine, le cadre Paint3D produit des cartes de texture sans éclairage, diverses et à haute résolution, et offre de meilleures performances que les cadres de pointe actuels.

Un ingénieur de profession, un écrivain de cœur. Kunal est un rédacteur technique avec une profonde affection et une compréhension de l'IA et du ML, dédié à simplifier les concepts complexes dans ces domaines grâce à sa documentation engageante et informative.