Intelligenza artificiale

In-Paint3D: Generazione di Immagini utilizzando Modelli di Diffusione senza Illuminazione

mm

L’avvento di modelli generativi di intelligenza artificiale profonda ha accelerato notevolmente lo sviluppo dell’IA con capacità notevoli nella generazione di linguaggio naturale, generazione di immagini, sintesi vocale e generazione di immagini 3D. I modelli generativi 3D hanno trasformato numerose industrie e applicazioni, rivoluzionando il paesaggio attuale della produzione 3D. Tuttavia, molti modelli generativi profondi attuali incontrano un ostacolo comune: la complessa cablatura e le mesh generate con texture di illuminazione sono spesso incompatibili con le pipeline di rendering tradizionali come PBR (Physically Based Rendering). I modelli basati sulla diffusione, che generano asset 3D senza texture di illuminazione, possiedono capacità notevoli per la generazione di asset 3D diversi, aumentando così i framework 3D esistenti in settori come la cinematografia, i giochi e la realtà aumentata/virtuale.

In questo articolo, discuteremo di Paint3D, un framework innovativo coarse-to-fine in grado di produrre mappe di texture 2K UV diverse e ad alta risoluzione per mesh 3D non testurate, condizionate su input visivi o testuali. La sfida principale che Paint3D affronta è la generazione di texture di alta qualità senza incorporare informazioni di illuminazione, consentendo agli utenti di rieditare o rielaborare all’interno delle pipeline grafiche moderne. 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 da vista, producendo inizialmente una mappa di texture grezza. Tuttavia, poiché i modelli 2D non possono disabilitare completamente gli effetti di illuminazione o rappresentare completamente le forme 3D, la mappa di texture può presentare artefatti di illuminazione e aree incomplete.

In questo articolo, esploreremo il framework Paint3D in profondità, esaminandone il funzionamento e l’architettura, e confrontandolo con i framework generativi profondi attuali. Quindi, iniziamo.

Paint3D: Un’introduzione

I modelli di intelligenza artificiale generativa profonda hanno dimostrato capacità eccezionali nella generazione di linguaggio naturale, generazione di immagini e sintesi vocale, e sono stati implementati in applicazioni reali, rivoluzionando l’industria della generazione 3D. Tuttavia, nonostante le loro capacità notevoli, i framework di intelligenza artificiale generativa profonda attuali spesso producono mesh con cablatura complessa e texture di illuminazione caotiche che sono incompatibili con le pipeline di rendering convenzionali, compresa la Physically Based Rendering (PBR). Allo stesso modo, la sintesi di texture ha subito un’evoluzione rapida, soprattutto con l’uso di modelli di diffusione 2D. Questi modelli utilizzano efficacemente modelli di diffusione pre-addestrati e condizioni testuali per generare texture di alta qualità. Tuttavia, una sfida significativa rimane: le texture pre-illuminate possono influire negativamente sui 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 di texture senza pre-illuminazione funzionano senza problemi con le pipeline di rendering tradizionali, fornendo risultati precisi. Al contrario, le mappe di texture con pre-illuminazione includono ombre inappropriate quando si applica la re-illuminazione. I framework di generazione di texture addestrati su dati 3D offrono un approccio alternativo, generando texture comprendendo la geometria completa di un oggetto 3D specifico. Sebbene questi framework possano fornire risultati migliori, mancano delle capacità di generalizzazione necessarie per applicare il modello a oggetti 3D al di fuori dei loro dati di addestramento.

I modelli di generazione di texture attuali affrontano due sfide critiche: raggiungere una generalizzazione ampia su oggetti diversi utilizzando indicazioni di immagine o prompt diversi, ed eliminare l’illuminazione accoppiata dai risultati di pre-addestramento. Le texture pre-illuminate possono interferire con i risultati finali degli oggetti testurati 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, portando a incoerenze nel mantenimento della coerenza della vista per gli oggetti 3D.

Per affrontare queste sfide, il framework Paint3D sviluppa un modello di diffusione a due stadi per oggetti 3D che generalizza su diversi modelli generativi pre-addestrati e mantiene la coerenza della vista generando texture senza illuminazione.

Paint3D è un modello di generazione di texture a due stadi, coarse-to-fine, che sfrutta le robuste capacità di guida dei prompt e la generazione di immagini dei modelli di intelligenza artificiale generativa pre-addestrati per testurare oggetti 3D. Nel primo stadio, Paint3D campiona immagini multi-vista da un modello di diffusione 2D pre-addestrato in modo progressivo, consentendo la generalizzazione di risultati di texture di alta qualità e ricchi da prompt diversi. Il modello genera quindi una mappa di texture iniziale proiettando queste immagini sulla superficie della mesh 3D. Nel secondo stadio, il modello si concentra sulla generazione di texture senza illuminazione implementando approcci utilizzati da modelli di diffusione specializzati nell’eliminazione degli effetti di illuminazione e nel raffinamento di aree incomplete consapevoli della forma. Durante l’intero processo, il framework Paint3D genera costantemente mappe di texture di alta qualità, semanticamente coerenti, eliminando gli effetti di illuminazione intrinseci.

In sintesi, Paint3D è un modello di intelligenza artificiale generativa innovativo, progettato per produrre mappe di texture 2K UV diverse, senza illuminazione e ad alta risoluzione per mesh 3D non testurate. Si propone di raggiungere prestazioni allo stato dell’arte nel testurare oggetti 3D con input condizionali diversi, inclusi testo e immagini, offrendo vantaggi significativi per le attività di sintesi e editing grafico.

Metodologia e Architettura

Il framework Paint3D genera e raffina mappe di texture in modo progressivo per produrre texture diverse e di alta qualità per modelli 3D utilizzando input condizionali come immagini e prompt, come dimostrato nell’immagine seguente.

Stadio 1: Generazione di Texture Grezza Progressiva

Nel primo stadio di generazione di texture grezza, Paint3D utilizza modelli di diffusione 2D pre-addestrati per campionare immagini multi-vista, che vengono quindi proiettate sulla superficie della mesh per creare le mappe di texture iniziali. Questo stadio inizia con la generazione di una mappa di profondità da diverse vedute della telecamera. Il modello utilizza condizioni di profondità per campionare immagini dal modello di diffusione, che vengono quindi proiettate sulla mesh 3D. Questo approccio di rendering alternato, campionamento e proiezione migliora la coerenza delle mesh di texture e aiuta a generare progressivamente la mappa di texture.

Il processo inizia con le aree visibili della mesh 3D, concentrandosi sulla generazione di texture dalla prima vista della telecamera rendendo la mesh 3D in una mappa di profondità. Un’immagine di texture viene quindi campionata in base all’aspetto e alle condizioni di profondità e proiettata sulla mesh. Questo metodo viene ripetuto per punti di vista successivi, incorporando texture precedenti per renderizzare non solo un’immagine di profondità ma anche un’immagine RGB parzialmente colorata con maschere non colorate. Il modello utilizza un encodatore di inpainting di immagini consapevoli della profondità per riempire aree non colorate, generando una mappa di texture grezza completa proiettando immagini ritoccate sulla mesh 3D.

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

Stadio 2: Raffinamento di Texture nello Spazio UV

Nonostante la generazione di mappe di texture grezze logiche, sorgono sfide come buchi di texture dai processi di rendering e ombre di illuminazione dai modelli di diffusione 2D. Per affrontare queste sfide, Paint3D esegue un processo di diffusione nello spazio UV in base alla mappa di texture grezza, migliorando l’aspetto visivo e risolvendo i problemi.

Tuttavia, il raffinamento della mappa di texture nello spazio UV può introdurre discontinuità a causa della frammentazione di texture continue in frammenti individuali. Per mitigare questo, Paint3D raffina la mappa di texture utilizzando le informazioni di 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 encodatore di mappa di posizione aggiuntivo, simile a ControlNet, per integrare queste informazioni di adiacenza durante il processo di diffusione.

Il modello utilizza simultaneamente la posizione dell’encodatore condizionale e altri encodatori per eseguire compiti di raffinamento nello spazio UV, offrendo due capacità: UVHD (UV High Definition) e UV inpainting. UVHD migliora l’aspetto visivo e l’estetica, utilizzando un encodatore di miglioramento di immagini e un encodatore di posizione con il modello di diffusione. UV inpainting riempie i buchi di texture, evitando problemi di auto-occlusione dal rendering. Il processo di raffinamento inizia con UV inpainting, seguito da UVHD per produrre una mappa di texture raffinata finale.

Integrando questi metodi di raffinamento, il framework Paint3D genera mappe di texture complete, diverse, ad alta risoluzione e senza illuminazione, rendendolo una soluzione robusta per la testurazione di oggetti 3D.

Paint3D: Esperimenti e Risultati

Il modello Paint3D utilizza il modello di diffusione stabile text2image per assistere nelle attività di generazione di texture, mentre il componente dell’encodatore di immagini gestisce le condizioni di immagine. Per migliorare il controllo su attività condizionali come l’inpainting di immagini, la gestione della profondità e le immagini ad alta definizione, il framework Paint3D impiega encodatori di dominio ControlNet. Il modello è implementato sul framework PyTorch, con rendering e proiezioni di texture eseguiti su Kaolin.

Confronto Testo-Texture

Per valutare le prestazioni di Paint3D, iniziamo analizzando la sua generazione di texture quando condizionata con prompt testuali, confrontandola con framework allo stato dell’arte come Text2Tex, TEXTure e LatentPaint. Come mostrato nell’immagine seguente, il framework Paint3D non solo eccelle nella generazione di dettagli di texture di alta qualità, ma sintetizza anche efficacemente una mappa di texture senza illuminazione.

Sfruttando le robuste capacità del modello di diffusione stabile e degli encodatori ControlNet, Paint3D fornisce una qualità di texture superiore e versatilità. Il confronto mette in evidenza la capacità di Paint3D di produrre texture dettagliate e ad alta risoluzione senza texture di illuminazione incorporata, rendendolo una soluzione leader per le attività di testurazione 3D.

In confronto, il framework Latent-Paint è incline a generare texture sfocate che risultano in effetti visivi subottimali. D’altra parte, sebbene il framework TEXTure generi texture chiare, manca di levigatezza e presenta splicing e cuciture evidenti. Infine, il framework Text2Tex genera texture lisce in modo notevole, ma non riesce a replicare le prestazioni per la generazione di texture fini con dettagli intricati. L’immagine seguente confronta il framework Paint3D con framework allo stato dell’arte in modo quantitativo.

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

Confronto Immagine-Testura

Per generare le capacità generative di Paint3D utilizzando prompt visivi, utilizziamo il modello TEXTure come baseline. Come menzionato in precedenza, il modello Paint3D impiega un encodatore di immagini derivato dal modello text2image di Stable Diffusion. Come si può vedere nell’immagine seguente, il framework Paint3D sintetizza texture esquisite in modo notevole e mantiene ancora una fedeltà alta rispetto alla condizione di immagine.

D’altra parte, il framework TEXTure è in grado di generare una texture simile a Paint3D, ma non riesce a rappresentare i dettagli di texture nell’immagine di condizione in modo preciso. Inoltre, come dimostrato nell’immagine seguente, il framework Paint3D consegna punteggi di baseline FID e KID migliori rispetto al framework TEXTure, con il primo che scende da 40,83 a 26,86, mentre il secondo mostra un calo da 9,76 a 4,94.

Pensieri Finali

In questo articolo, abbiamo parlato di Paint3D, un framework innovativo coarse-to-fine in grado di produrre mappe di texture 2K UV diverse, senza illuminazione e ad alta risoluzione per mesh 3D non testurate, condizionate su input visivi o testuali. Il punto di forza principale del framework Paint3D è che è in grado di generare texture ad alta risoluzione senza illuminazione che sono coerenti semanticamente senza essere condizionate su input di immagine o testo. Grazie al suo approccio coarse-to-fine, il framework Paint3D produce mappe di texture senza illuminazione, diverse e ad alta risoluzione, e consegna prestazioni migliori rispetto ai framework attuali allo stato dell’arte.

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