SAM 3D ComfyUI Controllo del Movimento di Oggetti e Corpo
Questo workflow fornisce generazione consapevole del 3D, guidata dalla struttura da una singola immagine usando mascheramento basato su Segment Anything e ragionamento sulla profondità. Include due modalità pronte all'uso: Modalità Oggetto per estrarre e ricostruire qualsiasi soggetto mascherato come mesh 3D texturizzata o Gaussiana 3D, e Modalità Corpo per costruire una mesh umana consapevole delle parti del corpo. Il design SAM 3D ComfyUI enfatizza la coerenza spaziale, rendendolo ideale per il controllo del movimento degli oggetti, la guida del movimento del corpo e la creazione di asset controllabili per pipeline video o 3D a valle.
Costruito sopra i progetti open source SAM3D, questo workflow SAM 3D ComfyUI trasforma una semplice immagine più maschera in asset esportabili GLB, STL e PLY con allineamento delle pose e cottura delle texture. È adatto per i creatori che desiderano risultati rapidi e controllabili senza affinamento.
Nota:
Questo workflow "Oggetto" 3D è raccomandato per l'esecuzione su macchine Medium, Large o XLarge. Tipi di macchine più grandi possono portare a errori di runtime o risultati instabili. Il workflow "Corpo" funziona bene per tutti i tipi di macchine.
A causa della complessità della ricostruzione e ottimizzazione 3D, il workflow "Oggetto 3D" può richiedere ~40 minuti o più per essere completato.
Modelli chiave nel workflow Comfyui SAM 3D ComfyUI
- Segment Anything Model (SAM). Utilizzato per segmentazione di alta qualità e promptabile che ancora vincoli spaziali. Vedi il documento originale per i dettagli: Segment Anything.
- Componenti preaddestrati SAM3D Objects. Forniscono profondità, struttura sparsa, generazione SLAT, decodificatori mesh e Gaussiani, e incorporatori di texture per la ricostruzione degli oggetti. Fonte: PozzettiAndrea/ComfyUI-SAM3DObjects.
- Componenti preaddestrati SAM3D Body. Forniscono elaborazione consapevole delle parti del corpo per generare mesh umane e una vista di debug. Fonte: PozzettiAndrea/ComfyUI-SAM3DBody.
- Stimatore di profondità monoculare incluso nei repository SAM3D. Fornisce intrinseci della fotocamera, una mappa di punti e una maschera informata dalla profondità che migliorano la ricostruzione e l'allineamento delle pose. Vedi i due repository SAM3D sopra.
- Formulazione di Gaussian Splatting 3D. Consente rappresentazioni di scene basate su punti fotorealistiche veloci, utili per anteprime rapide e alcuni renderer: 3D Gaussian Splatting for Real-Time Rendering.
Come usare il workflow Comfyui SAM 3D ComfyUI
A livello generale, carichi una singola immagine e la sua maschera, quindi scegli tra il gruppo Oggetto o il gruppo Corpo. La Modalità Oggetto ricostruisce una mesh texturizzata e una rappresentazione Gaussiana 3D con affinamento della posa opzionale. La Modalità Corpo costruisce una mesh consapevole delle parti del corpo e la esporta per un'ispezione rapida o un uso a valle.
Gruppo SAM3DObjects
Questo gruppo trasforma il tuo soggetto mascherato in un asset 3D. Fornisci un'immagine con una maschera che isola l'oggetto che vuoi controllare; il workflow gestisce automaticamente l'inversione per trattare il soggetto come primo piano. La profondità e gli intrinseci della fotocamera sono stimati per produrre una mappa di punti, quindi una struttura sparsa e una posa iniziale vengono create. Da lì una rappresentazione SLAT è generata e decodificata in una mesh e un Gaussiano 3D; una cottura delle texture trasferisce l'aspetto dall'immagine sorgente alla mesh. Infine, l'ottimizzazione della posa affina l'allineamento prima di visualizzare in anteprima ed esportare; vedi SAM3D_DepthEstimate (#59), SAM3DSparseGen (#52), SAM3DSLATGen (#35), SAM3DMeshDecode (#45), SAM3DGaussianDecode (#37), SAM3DTextureBake (#47), e SAM3D_PoseOptimization (#57).
Gruppo SAM3DBody
Questo gruppo si concentra sui soggetti umani. Fornisci un'immagine e una maschera che copre la persona. Il processore del corpo produce una mesh consapevole delle parti del corpo e un'immagine di debug così puoi verificare la qualità della segmentazione. Puoi esportare il risultato come mesh per l'ispezione o il rigging, quindi visualizzarlo interattivamente. I passaggi essenziali passano attraverso LoadSAM3DBodyModel (#62), SAM3DBodyProcess (#61), SAM3DBodyExportMesh (#64), e Preview3D (#65).
Nodi chiave nel workflow Comfyui SAM 3D ComfyUI
LoadSAM3DModel (#44) Carica tutti i pesi in modalità oggetto in un unico luogo, inclusi generatore di struttura sparsa, generatore SLAT e decodificatori, oltre a incorporatori di texture. Se i pesi sono ospitati su Hugging Face, inserisci il tuo token e mantieni il provider impostato di conseguenza. Usa precisione automatica a meno che tu non abbia motivo di forzare un dtype specifico. Una volta caricati, gli stessi handle alimentano l'intera pipeline degli oggetti.
SAM3D_DepthEstimate (#59) Stima la profondità monoculare, gli intrinseci della fotocamera, una mappa di punti e una maschera informata dalla profondità dalla tua immagine di input. Un buon inquadramento è importante: mantieni il soggetto ragionevolmente centrato ed evita ritagli estremi per intrinseci più stabili. Usa l'anteprima del cloud di punti integrata per controllare la geometria prima di impegnarti in lunghe cotture. Gli intrinseci e la mappa di punti prodotti qui sono riutilizzati più tardi per l'ottimizzazione delle pose.
SAM3DSparseGen (#52) Costruisce una struttura sparsa e una posa iniziale combinando l'immagine, la maschera in primo piano e i risultati della profondità. Se la tua maschera è troppo larga, aspettati elementi fluttuanti e struttura più debole; stringi i bordi per risultati più nitidi. Il nodo emette anche un oggetto di posa che puoi visualizzare in anteprima per assicurarti che l'orientamento sia corretto. Questa struttura sparsa condiziona direttamente il generatore SLAT.
SAM3DSLATGen (#35) Converte la struttura sparsa in una rappresentazione SLAT compatta ma consapevole della geometria. Un SLAT più pulito segue tipicamente da una maschera precisa e una buona profondità. Se prevedi di fare affidamento sull'output della mesh rispetto alla Gaussiana, favorisci impostazioni che preservano i dettagli piuttosto che l'estrema scarsità. Il percorso SLAT emesso alimenta entrambi i decodificatori.
SAM3DMeshDecode (#45) Decodifica SLAT in una mesh 3D impermeabile adatta per texturizzazione ed esportazione. Scegli la mesh quando hai bisogno di una topologia che funzioni in strumenti DCC e motori di gioco. Se vedi eccessivo appiattimento o buchi, rivedi la maschera e la densità della struttura sparsa a monte. Questo percorso produce un GLB che sarà cotto e opzionalmente allineato alla posa più tardi.
SAM3DGaussianDecode (#37) Genera una rappresentazione Gaussiana 3D dallo stesso SLAT per anteprime rapide e alcuni renderer. È utile quando vuoi convalidare rapidamente la geometria e la copertura del punto di vista. Se il tuo Gaussiano sembra rumoroso, migliora la maschera o aumenta la qualità della struttura piuttosto che sovra-regolare questo nodo. Il PLY risultante aiuta anche nella cottura delle texture.
SAM3DTextureBake (#47) Proietta l'aspetto dall'immagine sorgente sulla mesh decodificata. Usa una risoluzione di texture più alta quando hai bisogno di primi piani, e un preset più veloce per iterazioni rapide. La scelta del renderer può influire su nitidezza e velocità; scegli l'opzione più veloce per le anteprime e l'opzione di qualità superiore per i finali. Questo nodo produce il GLB texturizzato per l'anteprima e il raffinamento della posa.
SAM3D_PoseOptimization (#57) Affina l'allineamento del GLB usando intrinseci della fotocamera, la mappa di punti, la maschera originale e la posa iniziale. Aumenta il budget di ottimizzazione se osservi disallineamenti intorno a strutture sottili come arti o maniglie. Mantieni la maschera in primo piano pulita per evitare che l'ottimizzatore si sposti verso la geometria dello sfondo. Il GLB ottimizzato è quindi pronto per l'ispezione nell'anteprima 3D.
SAM3DBodyProcess (#61) Esegue l'elaborazione consapevole delle parti del corpo per produrre una mesh umana e un overlay di debug. Seleziona la modalità che si adatta al tuo caso d'uso, come corpo intero vs una regione specifica, per guidare la copertura della mesh. Se le mani o i capelli si tagliano, perfeziona la maschera intorno a quelle aree per una migliore fedeltà. Esporta in STL per controlli rapidi o converti successivamente se necessario.
Extra opzionali
- Usa una maschera pulita e ad alto contrasto. Sfuma solo leggermente; i bordi duri di solito si ricostruiscono meglio in modalità oggetto SAM 3D ComfyUI.
- Per iterazioni rapide, affidati al percorso Gaussiano prima, quindi passa alla decodifica della mesh e a cotture di texture a risoluzione più alta.
- Se i pesi richiedono autenticazione, incolla un token Hugging Face valido nei nodi di caricamento prima di mettere in coda il grafico.
- Ispeziona il cloud di punti e le anteprime delle pose prima di lunghe cotture per individuare problemi di inquadratura o maschera in anticipo.
- Formati di esportazione: GLB è ideale per DCC e motori, PLY Gaussiani per renderer compatibili, STL dalla modalità corpo per controlli rapidi su scala di stampa.
- Mantieni la scala del soggetto coerente tra le riprese se prevedi di utilizzare gli output di SAM 3D ComfyUI per guidare il movimento a valle o sequenze multi-view.
Ringraziamenti
Questo workflow implementa e si basa sui seguenti lavori e risorse. Ringraziamo sentitamente PozzettiAndrea per SAM 3D Objects e SAM 3D Body per i loro contributi e manutenzione. Per dettagli autorevoli, si prega di fare riferimento alla documentazione originale e ai repository collegati di seguito.
Risorse
- PozzettiAndrea/SAM 3D Objects
- GitHub: PozzettiAndrea/ComfyUI-SAM3DObjects
- PozzettiAndrea/SAM 3D Body
- GitHub: PozzettiAndrea/ComfyUI-SAM3DBody
Nota: L'uso dei modelli, dei dataset e del codice di riferimento è soggetto alle rispettive licenze e termini forniti dai loro autori e manutentori.
