Analyses

PartBloom : modèles 3D construits par pièces

PartBloom est un framework open source qui transforme une image unique en modèle 3D modulaire avec des parties exportables séparément, en tirant parti des LLM pour la structure et de TRELLIS pour les détails.

PartBloom : modèles 3D construits par pièces

Points forts et résultats : d’une image unique à des parties séparées

PartBloom est un framework open source qui transforme une image unique en modèle 3D composé de parties séparées. Son idée centrale est simple : un LLM construit la structure, puis TRELLIS ajoute les détails. Les parties sont planifiées en fonction de leurs fonctions et de leurs mouvements relatifs, ce qui permet d’exporter séparément des composants tels que la carrosserie et les roues d’un véhicule. Le modèle grossier vise à préserver les ouvertures et les connexions, rendant le résultat plus facile à modifier, remplacer et assembler.

Le projet présente 14 exemples à partir d’une image unique, des comparaisons de génération et de décomposition, ainsi que des démonstrations d’animations avec rigging. Les deux figures ci-dessous illustrent le niveau de détail global et les limites entre les parties. Ces exemples qualitatifs suggèrent un potentiel, mais n’établissent pas de supériorité constante par rapport aux autres méthodes. Cet article s’appuie sur le README et le code source ; nous n’avons pas exécuté de tests de génération.

https://external-v2fun-data-hk-1.oss-accelerate.aliyuncs.com/temp/2026/11/06/1_1793934387317.JPEG

https://external-v2fun-data-hk-1.oss-accelerate.aliyuncs.com/temp/2026/11/06/2_1793934401950.JPEG

Fonctionnement : planification, raffinement et décodage des parties

https://external-v2fun-data-hk-1.oss-accelerate.aliyuncs.com/temp/2026/11/06/whiteboard_exported_image_1793934451327.png

La première étape orchestre trois rôles de LLM. Le planificateur produit un graphe des parties décrivant les fonctions, les boîtes englobantes, les relations parent-enfant, les emplacements des connexions et les mouvements attendus. Le constructeur modifie ensuite un masque de voxels binaire pour chaque partie dans une grille partagée de taille 64³, à l’aide d’outils de polygone, de pinceau, de déplacement et d’effacement. Comme pour une construction avec des blocs, ces opérations créent une véritable géométrie grossière. Le réviseur compare l’image de référence avec quatre vues du proxy, en vérifiant les proportions, les parties manquantes, les connexions et les ouvertures. Il peut déclencher jusqu’à deux cycles de réparation.

La deuxième étape réutilise les poids TRELLIS préentraînés. Les coordonnées combinées de surface et de support du modèle grossier sont étendues d’une cellule dans les six directions vers les faces voisines, puis encodées en un latent de structure par le VAE de structure parcimonieuse. Après mélange de cet encodage avec du bruit gaussien, le modèle de flux échantillonne par défaut de t=0.65 à t=0 en 12 étapes, guidé par l’image de référence, avant de décoder la structure raffinée. Le proxy fournit donc un a priori spatial modifiable, même si le raffinement peut toujours supprimer de petites parties.

L’affectation fondée sur la distance et la croissance de régions connexes transfèrent les étiquettes des parties vers la structure raffinée. Le pipeline échantillonne ensuite un SLat partagé pour l’ensemble de l’objet : un ensemble de caractéristiques associées à des coordonnées spatiales. Il s’agit d’opérations distinctes : le latent de structure est initialisé à partir du proxy, tandis que le SLat détaillé est généré de nouveau. En mode parts par défaut, les caractéristiques sont sélectionnées par étiquette de partie et décodées en maillages séparés. En mode joint, le SLat complet est décodé en caractéristiques de résolution supérieure avant l’extraction du maillage de chaque partie. Le contexte de génération partagé favorise la cohérence, mais ne garantit pas l’exactitude des jointures.

L’apparence provient de la tranche de chaque partie dans le même SLat, grâce au décodage gaussien, au rendu multi-vues et à la cuisson des textures. La sortie contient une couleur de base cuite et ne doit pas être confondue avec un ensemble complet de matériaux PBR. Les livrables comprennent les données de planification et de proxy, les maillages indépendants, les fichiers GLB texturés par partie, le fichier assembly_textured.glb assemblé, les images d’aperçu et les journaux d’exécution. Ensemble, ils permettent l’inspection, la modification et le dépannage.

Applications et perspectives : des parties séparées aux ressources utilisables

Les utilisations potentielles comprennent le prototypage d’animations, les vues éclatées de produits et la formation à l’assemblage. Les maillages séparés nécessitent toujours un rigging pour l’animation squelettique. L’impression physique exige également de travailler sur les tolérances, les interfaces et l’épaisseur des parois. Comme la géométrie invisible est déduite d’une image unique, la sortie ne doit pas être considérée comme une rétro-ingénierie précise.

Le déploiement nécessite une API de LLM, un environnement CUDA, les poids de TRELLIS et de DINOv2, ainsi que Blender 4.5. Le dépôt PartBloom utilise la licence MIT, mais sa dépendance PhysX-Omni utilise la S-Lab License 1.0, qui restreint l’utilisation commerciale.

La feuille de route officielle comprend le rigging et une migration vers TRELLIS.2. Des recherches supplémentaires pourraient explorer les contraintes multi-vues, la vérification des connexions et la régénération locale. Mesurer la conservation des parties, la qualité des jointures, le temps d’exécution et le coût aiderait à déterminer avec quelle fiabilité cette approche peut prendre en charge les flux de production.

Sources : Dépôt et feuille de route ; Prompts de l’agent ; Pipeline de raffinement ; Export des textures.

FAQ

Que crée PartBloom à partir d’une seule image ?

PartBloom transforme une image de référence en modèle 3D avec des pièces modifiables séparément. Par exemple, les roues d’un véhicule peuvent être exportées en tant que maillages individuels, ce qui vous permet de faire pivoter ou de remplacer une roue tout en gardant la carrosserie en place.

Comment PartBloom détermine-t-il où une partie se termine et où une autre commence ?

Tout commence par demander ce que fait chaque composant et comment il se déplace par rapport à ses voisins. Un modèle de langage utilise ce plan pour construire une forme 3D approximative pour chaque élément. TRELLIS affine ensuite la géométrie en utilisant l’image de référence comme guide.

Quels fichiers PartBloom exporte-t-il ?

Vous obtenez un fichier GLB texturé pour chaque pièce ainsi qu’un fichier assembly_textured.glb présentant l’objet dans son ensemble. Choisissez un fichier par pièce pour modifier un composant, ou ouvrez l’assemblage pour vérifier comment les pièces s’emboîtent. Les textures incluent uniquement la couleur de base précalculée.

Quelle est la précision des parties masquées dans l’image ?

PartBloom déduit les surfaces cachées à partir de la forme visible. Une roue peut sembler convaincante de côté, tandis que sa connexion cachée à l’axe nécessite encore des ajustements. Les petites pièces peuvent également disparaître pendant le raffinement, alors inspectez le modèle sous plusieurs angles avant de vous fier à l’assemblage.

Articles connexes