UltraTex : diffusion multi-vues 2K pour le texturage 3D dans ComfyUI
UltraTex, de l'Université de Jilin et VAST, texture des maillages 3D en 2048x2048 grâce au background token dropping et à l'attention block-sparse, avec un pack de nœuds ComfyUI.
Ressources texturées produites par UltraTex à partir d'un maillage non texturé et d'une image de référence.
Ce que fait UltraTex
Fournissez à UltraTex un maillage non texturé et une image de référence : il génère six vues de texture en 2048² (face, gauche, arrière, droite, haut, bas), puis les cuit dans une texture UV appliquée au maillage. Le point clé de l'article est que la densité en 2K est en grande partie gaspillée.
Le rendu multi-vues centré objet comporte deux sources de redondance : les pixels d'arrière-plan qui ne portent aucune information de texture utile, et les interactions éparses entre les tokens de premier plan. UltraTex s'attaque aux deux :
- Background Token Dropping (BTD) supprime les tokens d'arrière-plan avant le backbone DiT, mais conserve les indices RoPE d'origine afin que les coordonnées spatiales et le prior géométrique multi-vues survivent à l'élagage.
- Block-Sparse Attention (BSA) applique une attention parcimonieuse top-k sur la séquence de premier plan restante au lieu d'une attention dense.
- Foreground-Aware VAE Decoding remplace le latent d'arrière-plan non débruité par un arrière-plan canonique dans la distribution et ajuste légèrement le décodeur, afin que la reconstruction 2K reste exempte des artefacts que l'élagage introduirait autrement.
Le pipeline UltraTex : background token dropping, block-sparse attention et un décodeur foreground-aware.
Les backbones sont FLUX.1-dev et FLUX.2-Klein (4B et 9B), de sorte que le générateur de textures hérite du conditionnement de prompt et d'image d'un modèle d'image général plutôt que d'un réseau de texturage spécialisé.
D'où vient la vitesse
Sur des échantillons courants du jeu de données G-buffer TexVerse, l'implémentation publiée rapporte une accélération de l'entraînement de 20,6× à 91,1× et une accélération d'inférence de bout en bout de 22,3× à 74,6× par rapport à la baseline dense à la même résolution de sortie 2K.
Accélérations d'entraînement et d'inférence par rapport à la baseline dense 2K, d'après la page du projet.
Résultats qualitatifs de texturage tirés de l'article.
Ce qui a été publié
- Code et poids. Le code d'entraînement et d'inférence se trouve dans le référentiel UltraTex, avec les checkpoints publiés sur ModelScope.
- Jeu de données. Le jeu de données G-buffer TexVerse est disponible sur Hugging Face.
- Article. SIGGRAPH Asia 2026, disponible sous la référence arXiv 2609.23169, avec les résultats et la vidéo sur la page du projet.
Utiliser UltraTex dans ComfyUI
Le pack de nœuds communautaire visualbruno/ComfyUI-UltraTex encapsule le pipeline sous forme de nœuds ComfyUI : UltraTex Load LoRA, UltraTex Foreground VAE Decoder, UltraTex Prep (mesh + reference), UltraTex Sampler et UltraTex Bake Texture. Le nœud Load LoRA existe parce que le nœud Load LoRA natif ne peut pas lire ces checkpoints (clés PEFT lora_A.default pour FLUX.2, clés UNO processor.*_lora pour FLUX.1), et Bake Texture reprojette les vues générées dans une texture UV et renvoie un GLB qui se connecte directement à Preview 3D.
Le modèle de diffusion, le VAE et l'encodeur de texte sont chargés avec les chargeurs natifs de ComfyUI, donc les poids fp8 et GGUF ainsi que le déchargement mémoire de ComfyUI s'appliquent. UltraTex Prep propose un dépliage UV sur GPU (comfy_gpu, environ 6 s pour 500 000 faces) ou un chemin xatlas sur CPU (environ 4,6 min pour le même maillage).
Quatre flux de travail d'exemple sont fournis avec le pack de nœuds :
Les deux autres sont PBR en 1024px et FLUX.1-dev.
Disponibilité
Le référentiel officiel fournit le code d'entraînement et d'inférence PyTorch avec des kernels Triton d'attention parcimonieuse, et les poids sont hébergés sur ModelScope. La voie ComfyUI correspond au pack de nœuds tiers ci-dessus, et non à une version officielle Comfy-Org : son installation implique donc d'ajouter le nœud personnalisé et de récupérer le LoRA UltraTex et le décodeur foreground depuis ModelScope.
Commentaires
Connectez-vous avec GitHub pour rejoindre la discussion.