Seguici sui social

In-Paint3D: generazione di immagini utilizzando modelli Lightning Less Diffusion

Intelligenza Artificiale

In-Paint3D: generazione di immagini utilizzando modelli Lightning Less Diffusion

mm

L’avvento di modelli di intelligenza artificiale generativa profonda ha accelerato in modo significativo lo sviluppo dell’intelligenza artificiale con notevoli capacità nella generazione del linguaggio naturale, nella generazione 3D, nella generazione di immagini e nella sintesi vocale. I modelli generativi 3D hanno trasformato numerosi settori e applicazioni, rivoluzionando l’attuale panorama della produzione 3D. Tuttavia, molti attuali modelli generativi profondi incontrano un ostacolo comune: cablaggi complessi e mesh generate con texture di illuminazione sono spesso incompatibili con le tradizionali pipeline di rendering come PBR (Physically Based Rendering). I modelli basati sulla diffusione, che generano risorse 3D senza texture di illuminazione, possiedono notevoli capacità per la generazione di diverse risorse 3D, ampliando così le strutture 3D esistenti in settori come il cinema, i giochi e la realtà aumentata/virtuale.

In questo articolo discuteremo di Paint3D, un nuovo framework da grossolano a fine in grado di produrre diverse mappe di texture UV 2K ad alta risoluzione per mesh 3D non strutturate, condizionate da input visivi o testuali. La sfida principale affrontata da Paint3D è generare texture di alta qualità senza incorporare informazioni sull'illuminazione, consentendo agli utenti di modificare o riaccendere all'interno delle moderne pipeline grafiche. Per affrontare questo problema, il framework Paint3D utilizza un modello di diffusione 2D pre-addestrato per eseguire la fusione di texture multi-vista e generare immagini condizionate dalla vista, producendo inizialmente una mappa di texture grossolana. Tuttavia, poiché i modelli 2D non possono disattivare completamente gli effetti di luce o rappresentare completamente le forme 3D, la mappa texture potrebbe presentare artefatti di illuminazione e aree incomplete.

In questo articolo esploreremo il framework Paint3D in modo approfondito, esaminandone il funzionamento e l'architettura e confrontandolo con i framework generativi profondi all'avanguardia. Quindi iniziamo.

Paint3D: un'introduzione

I modelli di Deep Generative AI hanno dimostrato capacità eccezionali nella generazione del linguaggio naturale, nella generazione 3D e nella sintesi di immagini e sono stati implementati in applicazioni di vita reale, rivoluzionando il settore della generazione 3D. Tuttavia, nonostante le loro notevoli capacità, i moderni framework di intelligenza artificiale generativa profonda spesso producono mesh con cablaggi complessi e trame di illuminazione caotiche che sono incompatibili con le pipeline di rendering convenzionali, incluso il Physically Based Rendering (PBR). Allo stesso modo, la sintesi delle texture ha fatto rapidi progressi, soprattutto con l’uso di modelli di diffusione 2D. Questi modelli utilizzano in modo efficace modelli di diffusione della profondità dell'immagine pre-addestrati e condizioni di testo per generare texture di alta qualità. Tuttavia, rimane una sfida significativa: le texture pre-illuminate possono influenzare negativamente i rendering finali dell'ambiente 3D, introducendo errori di illuminazione quando le luci vengono regolate all'interno dei flussi di lavoro comuni, come dimostrato nell'immagine seguente.

Come osservato, le mappe texture senza pre-illuminazione funzionano perfettamente con le pipeline di rendering tradizionali, fornendo risultati accurati. Al contrario, le mappe texture con pre-illuminazione includono ombre inappropriate quando viene applicata la reilluminazione. I framework di generazione texture addestrati su dati 3D offrono un approccio alternativo, generando texture comprendendo l'intera geometria di uno specifico oggetto 3D. Sebbene questi framework possano fornire risultati migliori, non dispongono delle capacità di generalizzazione necessarie per applicare il modello a oggetti 3D al di fuori dei loro dati di training.

Gli attuali modelli di generazione di texture devono affrontare due sfide cruciali: ottenere un'ampia generalizzazione su diversi oggetti utilizzando la guida dell'immagine o suggerimenti diversi ed eliminare l'illuminazione accoppiata dai risultati di pre-addestramento. Le texture pre-illuminate possono interferire con i risultati finali degli oggetti con texture all'interno dei motori di rendering. Inoltre, poiché i modelli di diffusione 2D pre-addestrati forniscono solo risultati 2D nel dominio della vista, mancano di una comprensione completa delle forme, il che porta a incoerenze nel mantenere la coerenza della vista per gli oggetti 3D.

Per affrontare queste sfide, il framework Paint3D sviluppa una texture a doppia fase modello di diffusione per oggetti 3D che generalizza tra diversi modelli generativi pre-addestrati e preserva la coerenza della vista generando texture prive di illuminazione.

Paint3D è un modello di generazione di texture a doppia fase, da grossolana a fine, che sfrutta la forte guida rapida e le capacità di generazione di immagini dei modelli di intelligenza artificiale generativa pre-addestrati per creare texture di oggetti 3D. Nella prima fase, Paint3D campiona progressivamente immagini multi-vista da un modello di diffusione di immagini 2D pre-addestrato con consapevolezza della profondità, consentendo la generalizzazione di risultati di texture ricche e di alta qualità da diversi prompt. Il modello genera quindi una mappa di texture iniziale proiettando all'indietro queste immagini sulla superficie mesh 3D. Nella seconda fase, il modello si concentra sulla generazione di texture prive di illuminazione implementando gli approcci utilizzati dai modelli di diffusione specializzati nella rimozione delle influenze luminose e nel perfezionamento delle regioni incomplete sensibili alla forma. Durante tutto il processo, il framework Paint3D genera coerentemente texture 2K di alta qualità in modo semantico, eliminando gli effetti di illuminazione intrinseci.

In sintesi, Paint3D è un nuovo modello di intelligenza artificiale generativa da grossolana a fine, progettato per produrre mappe di texture UV 2K diverse, prive di illuminazione e ad alta risoluzione per mesh 3D non strutturate. Mira a raggiungere prestazioni all'avanguardia nella texturizzazione di oggetti 3D con diversi input condizionali, inclusi testo e immagini, offrendo vantaggi significativi per le attività di sintesi e modifica grafica.

Metodologia e architettura

Il framework Paint3D genera e perfeziona progressivamente le mappe delle texture per produrre texture diverse e di alta qualità per i modelli 3D utilizzando input condizionali come immagini e prompt, come dimostrato nell'immagine seguente.

Fase 1: generazione progressiva della struttura grossolana

Nella fase iniziale di generazione della texture grossolana, Paint3D utilizza un'immagine 2D pre-addestrata modelli di diffusione per campionare immagini multivista, che vengono poi retroproiettate sulla superficie mesh per creare le mappe texture iniziali. Questa fase inizia con la generazione di una mappa di profondità da varie visualizzazioni della telecamera. Il modello utilizza le condizioni di profondità per campionare le immagini dal modello di diffusione, che vengono poi retroproiettate sulla superficie mesh 3D. Questo approccio alternativo di rendering, campionamento e retroproiezione migliora la coerenza delle mesh di texture e aiuta a generare progressivamente la mappa di texture.

Il processo inizia con le regioni visibili della mesh 3D, concentrandosi sulla generazione della texture dalla prima vista della telecamera eseguendo il rendering della mesh 3D su una mappa di profondità. Un'immagine della texture viene quindi campionata in base all'aspetto e alle condizioni di profondità e retroproiettata sulla mesh. Questo metodo viene ripetuto per i punti di vista successivi, incorporando le texture precedenti per rendere non solo un'immagine di profondità ma anche un'immagine RGB parzialmente colorata con maschere non colorate. Il modello utilizza un codificatore di pitturazione di immagini in grado di riconoscere la profondità per riempire aree non colorate, generando una mappa di texture grossolana completa proiettando indietro le immagini dipinte sulla mesh 3D.

Per scene o oggetti più complessi, il modello utilizza più viste. Inizialmente, cattura due mappe di profondità da punti di vista simmetrici e le combina in una griglia di profondità, che sostituisce una singola immagine di profondità per il campionamento di texture multi-vista in grado di riconoscere la profondità.

Fase 2: perfezionamento della texture nello spazio UV

Nonostante la generazione di mappe logiche di texture grossolane, sorgono problemi come i buchi delle texture dai processi di rendering e le ombre luminose dai modelli di diffusione delle immagini 2D. Per risolvere questi problemi, Paint3D esegue un processo di diffusione nello spazio UV basato sulla mappa di texture grossolana, migliorando l'attrattiva visiva e risolvendo i problemi.

Tuttavia, il perfezionamento della mappa delle texture nello spazio UV può introdurre discontinuità dovute alla frammentazione delle texture continue in singoli frammenti. Per mitigare questo problema, Paint3D perfeziona la mappa delle texture utilizzando le informazioni sull'adiacenza dei frammenti di texture. Nello spazio UV, la mappa di posizione rappresenta le informazioni di adiacenza 3D dei frammenti di texture, trattando ogni elemento non di sfondo come una coordinata di punto 3D. Il modello utilizza un codificatore aggiuntivo della mappa di posizione, simile a ControlNet, per integrare queste informazioni di adiacenza durante il processo di diffusione.

Il modello utilizza simultaneamente la posizione dell'encoder condizionale e di altri encoder per eseguire attività di perfezionamento nello spazio UV, offrendo due funzionalità: UVHD (UV High Definition) e inpainting UV. UVHD migliora l'attrattiva visiva e l'estetica, utilizzando un codificatore di miglioramento dell'immagine e un codificatore di posizione con il modello di diffusione. La verniciatura UV riempie i buchi delle texture, evitando problemi di auto-occlusione dal rendering. La fase di perfezionamento inizia con la verniciatura UV, seguita da UVHD per produrre una mappa di texture raffinata finale.

Integrando questi metodi di perfezionamento, il framework Paint3D genera mappe di texture UV complete, diversificate, ad alta risoluzione e prive di illuminazione, rendendolo una soluzione solida per la texturizzazione di oggetti 3D.

Paint3D: esperimenti e risultati

Il modello Paint3D utilizza il modello text2image Stable Diffusion per assistere nelle attività di generazione delle texture, mentre il componente codificatore di immagini gestisce le condizioni dell'immagine. Per migliorare il controllo sulle attività condizionali come l'inserimento di immagini, la gestione della profondità e le immagini ad alta definizione, il framework Paint3D utilizza codificatori di dominio ControlNet. Il modello è implementato sul framework PyTorch, con proiezioni di rendering e texture eseguite su Kaolin.

Confronto tra testo e texture

Per valutare le prestazioni di Paint3D, iniziamo analizzando la sua generazione di texture quando condizionata da istruzioni testuali, confrontandola con framework all'avanguardia come Text2Tex, TEXTure e LatentPaint. Come mostrato nell'immagine seguente, il framework Paint3D non solo eccelle nel generare dettagli di texture di alta qualità, ma sintetizza anche efficacemente una mappa di texture priva di illuminazione.

Sfruttando le robuste funzionalità degli encoder Stable Diffusion e ControlNet, Paint3D offre qualità e versatilità di texture superiori. Il confronto evidenzia la capacità di Paint3D di produrre texture dettagliate e ad alta risoluzione senza illuminazione incorporata, rendendolo una soluzione leader per le attività di texturizzazione 3D.

In confronto, il framework Latent-Paint tende a generare texture sfocate che si traducono in effetti visivi non ottimali. D'altra parte, sebbene la struttura TEXTURE generi texture chiare, manca di morbidezza e presenta giunture e giunture evidenti. Infine, il framework Text2Tex genera texture uniformi molto bene, ma non riesce a replicare le prestazioni nel generare texture fini con dettagli intricati.  L'immagine seguente confronta quantitativamente il framework Paint3D con i framework più avanzati. 

Come si può osservare, il framework Paint3D supera tutti i modelli esistenti e con un margine significativo con un miglioramento di quasi il 30% nella linea di base FID e un miglioramento di circa il 40% nella linea di base KID. Il miglioramento dei punteggi di base FID e KID dimostra la capacità di Paint3D di generare texture di alta qualità su diversi oggetti e categorie. 

Confronto tra immagini e texture

Per generare le capacità generative di Paint3D utilizzando suggerimenti visivi, utilizziamo il modello TEXture come base di riferimento. Come accennato in precedenza, il modello Paint3D utilizza un codificatore di immagini proveniente dal modello text2image di Diffusione stabile. Come si può vedere nell'immagine seguente, il framework Paint3D sintetizza straordinariamente bene texture raffinate ed è ancora in grado di mantenere un'alta fedeltà rispetto alle condizioni dell'immagine. 

D'altra parte, il framework TEXture è in grado di generare una texture simile a Paint3D, ma non riesce a rappresentare accuratamente i dettagli della texture nelle condizioni dell'immagine. Inoltre, come dimostrato nell'immagine seguente, il framework Paint3D fornisce punteggi di base FID e KID migliori rispetto al framework TEXTURE con il primo che diminuisce da 40.83 a 26.86 mentre il secondo mostra un calo da 9.76 a 4.94. 

Considerazioni finali

In questo articolo, abbiamo parlato di Paint3D, un nuovo framework da grossolano a fine in grado di produrre mappe di texture UV 2K senza illuminazione, diverse e ad alta risoluzione per mesh 3D non strutturate condizionate da input visivi o testuali. Il punto forte del framework Paint3D è che è in grado di generare texture UV 2K ad alta risoluzione senza illuminazione che sono semanticamente coerenti senza essere condizionate da input di immagini o testo. Grazie al suo approccio da grossolano a fine, il framework Paint3D produce mappe di texture senza illuminazione, diverse e ad alta risoluzione e offre prestazioni migliori rispetto agli attuali framework all'avanguardia. 

"Un ingegnere di professione, uno scrittore a memoria". Kunal è uno scrittore tecnico con un profondo amore e comprensione di AI e ML, dedito a semplificare concetti complessi in questi campi attraverso la sua documentazione coinvolgente e informativa.