Dreamcraft3D Generazione 3D gerarchica con priorità di diffusione con bootstrap.

Dreamcraft3D Generazione 3D gerarchica con priorità di diffusione e bootstrap.

I modelli generativi di intelligenza artificiale sono stati un tema molto discusso all’interno dell’industria dell’AI da un po’ di tempo. Il recente successo dei modelli generativi 2D ha aperto la strada ai metodi che utilizziamo per creare contenuti visivi oggi. Sebbene la comunità dell’IA abbia ottenuto un notevole successo con i modelli generativi 2D, la generazione di contenuti 3D rimane una sfida importante per i framework di intelligenza artificiale generativa profonda. Questo è particolarmente vero poiché la domanda di contenuti generati in 3D raggiunge un livello senza precedenti, guidata da una vasta gamma di giochi visivi, applicazioni, realtà virtuale e persino cinema. Vale la pena notare che, sebbene ci siano dei framework di intelligenza artificiale generativa 3D che producono risultati accettabili per determinate categorie e compiti, non sono in grado di generare efficientemente oggetti 3D. Questa mancanza può essere attribuita alla mancanza di dati estesi in 3D per l’addestramento dei framework. Di recente, gli sviluppatori hanno proposto di sfruttare l’orientamento offerto da modelli generativi di intelligenza artificiale pre-addestrati di testo-immagine, un approccio che ha mostrato risultati promettenti.

In questo articolo, discuteremo il framework DreamCraft3D, un modello gerarchico per la generazione di contenuti 3D che produce oggetti 3D coerenti e di alta qualità. Il framework DreamCraft3D utilizza un’immagine di riferimento 2D per guidare la fase di modellazione della geometria, migliorando la texture con un’attenzione alla risoluzione di problemi di coerenza riscontrati dai framework o metodi attuali. Inoltre, il framework DreamCraft3D utilizza un modello di diffusione dipendente dalla vista per il campionamento di distillazione del punteggio, aiutando nella modellazione della geometria che contribuisce al rendering coerente.

Approfondiremo ulteriormente il framework DreamCraft3D per la generazione di contenuti 3D. Inoltre, esploreremo il concetto di sfruttare modelli pre-addestrati di testo-immagine (T2I) per la generazione di contenuti 3D e esamineremo come il framework DreamCraft3D mira a utilizzare questo approccio per generare contenuti 3D realistici.

DreamCraft3D: Introduzione

DreafCraft3D è un pipeline gerarchico per la generazione di contenuti 3D. Il framework DreamCraft3D cerca di sfruttare un framework generativo di stato dell’arte T2I o Testo Immagine per creare immagini 2D di alta qualità utilizzando un promemoria di testo. L’approccio consente al framework DreamCraft3D di massimizzare le capacità dei modelli di diffusione 2D di ultima generazione per rappresentare la semantica visiva descritta nel promemoria di testo, pur mantenendo la libertà creativa offerta da questi framework generativi di intelligenza artificiale 2D. L’immagine generata viene quindi trasformata in 3D con l’aiuto del potenziamento geometrico delle texture a cascata e delle fasi di modellazione geometrica, e le tecniche specializzate vengono applicate in ogni fase con l’aiuto della scomposizione del problema.

Per la geometria, il framework DreamCraft3D si concentra pesantemente sulla struttura 3D globale e sulla coerenza multi-vista, aprendo così spazio a compromessi sulle texture dettagliate delle immagini. Una volta che il framework si è liberato dei problemi legati alla geometria, sposta la sua attenzione sull’ottimizzazione delle texture coerenti e realistiche mediante l’implementazione di una diffusione consapevole del 3D che avvia l’approccio di ottimizzazione 3D. Ci sono due considerazioni chiave per le due fasi di ottimizzazione, ovvero la Modellazione Geometrica e il Potenziamento delle Texture.

Detto questo, sarebbe sicuro descrivere DreamCraft3D come un framework generativo di intelligenza artificiale che sfrutta un pipeline gerarchica di generazione di contenuti 3D per trasformare essenzialmente le immagini 2D nei loro corrispondenti 3D mantenendo allo stesso tempo la coerenza 3D olistica.

Sfruttare modelli pre-addestrati T2I o Testo Immagine

L’idea di sfruttare modelli pre-addestrati T2I o Testo Immagine per la generazione di contenuti 3D è stata introdotta per la prima volta dal framework DreamFusion nel 2022. Il framework DreamFusion ha cercato di imporre una perdita SDS o campione di distillazione del punteggio per ottimizzare il framework 3D in modo che i rendering ad angolazioni casuali si allineassero alle distribuzioni delle immagini condizionate dal testo come interpretate da un efficiente framework di diffusione testo-immagine. Sebbene l’approccio DreamFusion abbia fornito risultati decenti, ci sono stati due problemi principali, sfocatura e sovrasaturazione. Per affrontare questi problemi, i lavori recenti implementano varie strategie di ottimizzazione a fasi per migliorare la perdita di distillazione 2D, che porta in ultima analisi a una migliore qualità e immagini 3D realistiche.

Tuttavia, nonostante il recente successo di questi framework, non riescono a eguagliare l’abilità dei framework generativi 2D di sintetizzare contenuti complessi. Inoltre, questi framework sono spesso affetti dal “problema di Janus”, una condizione in cui i rendering 3D che sembrano plausibili singolarmente mostrano incongruenze stilistiche e semantiche quando esaminati nel loro complesso.

Per affrontare le problematiche riscontrate nelle opere precedenti, il framework DreamCraft3D esplora la possibilità di utilizzare una pipeline di generazione di contenuti 3D gerarchica e olistica, e trae ispirazione dal processo artistico manuale in cui un concetto viene prima tracciato su una bozza 2D, dopo di che l’artista crea la geometria grezza, raffina i dettagli geometrici e dipinge texture ad alta fedeltà. Seguendo lo stesso approccio, il framework DreamCraft3D suddivide le complesse operazioni di generazione di contenuti 3D o immagini in diverse fasi gestibili. Inizia generando un’immagine 2D di alta qualità utilizzando un prompt di testo, e procede utilizzando il potenziamento delle texture e la scultura della geometria per trasformare l’immagine in una fase 3D. La suddivisione del processo in fasi successive consente al framework DreamCraft2D di massimizzare il potenziale di generazione gerarchica che porta infine a una generazione di immagini 3D di qualità superiore.

Nella prima fase, il framework DreamCraft3D impiega la scultura geometrica per produrre forme geometriche 3D consistenti e plausibili utilizzando l’immagine 2D come riferimento. Inoltre, questa fase non solo fa uso della perdita SDS per le perdite fotometriche e le nuove visualizzazioni presso la visualizzazione di riferimento, ma il framework introduce anche una vasta gamma di strategie per promuovere la coerenza geometrica. Il framework mira a sfruttare lo Zero-1-to-3, un modello di traduzione di immagini conditionato dalla visualizzazione disponibile in commercio, per utilizzare l’immagine di riferimento per modellare la distribuzione delle nuove visualizzazioni. Inoltre, il framework passa dalla rappresentazione della superficie implicita alla rappresentazione a maglia per il raffinamento geometrico da grezzo a fine livello.

La seconda fase del framework DreamCraft3D utilizza un approccio di distillazione dei punteggi avviato per potenziare le texture dell’immagine, poiché i modelli di diffusione condizionati dalla visualizzazione corrente sono addestrati su una quantità limitata di dati 3D, motivo per cui spesso faticano a raggiungere le prestazioni o la fedeltà dei modelli di diffusione 2D. Grazie a questa limitazione, il framework DreamCraft3D raffina il modello di diffusione in conformità con immagini multi-view dell’istanza 3D ottimizzata, e questo approccio aiuta il framework ad aumentare le texture 3D mantenendo la coerenza multi-view. Quando il modello di diffusione viene addestrato su queste rappresentazioni multi-view, fornisce una migliore guida per l’ottimizzazione della texture 3D, e questo approccio aiuta il framework DreamCraft3D a raggiungere un livello incredibile di dettaglio delle texture mantenendo la coerenza delle visualizzazioni.

Come si può osservare dalle immagini sopra, il framework DreamCraft3D è in grado di produrre immagini e contenuti 3D creativi con texture realistiche e strutture geometriche complesse. Nella prima immagine, troviamo il corpo di Son Goku, un personaggio anime, mescolato con la testa di un cinghiale selvatico in corsa, mentre la seconda immagine raffigura un Beagle vestito da detective. Di seguito sono riportati alcuni esempi aggiuntivi.

DreamCraft3D: Funzionamento e Architettura

Il framework DreamCraft3D cerca di sfruttare un framework generativo di testo-immagine T2I all’avanguardia per creare immagini 2D di alta qualità utilizzando un prompt di testo. Questo approccio consente al framework DreamCraft3D di massimizzare le capacità dei modelli di diffusione 2D all’avanguardia per rappresentare la semantica visiva come descritta nel prompt di testo, mantenendo al contempo la libertà creativa offerta da questi framework generativi AI 2D. L’immagine generata viene quindi trasformata in 3D con l’aiuto del potenziamento delle texture geometriche a cascata e delle fasi di scultura geometrica, e le tecniche specializzate vengono applicate in ogni fase grazie alla scomposizione del problema. L’immagine seguente riassume brevemente il funzionamento del framework DreamCraft3D.

Analizziamo nel dettaglio le principali considerazioni di progettazione per il potenziamento delle texture e le fasi di scultura geometrica.

Scultura Geometrica

La scultura geometrica è la prima fase in cui il framework DreamCraft3D cerca di creare un modello 3D in modo che si allinei all’aspetto dell’immagine di riferimento nella stessa visualizzazione di riferimento, garantendo al contempo la massima plausibilità anche sotto diversi angoli di vista. Per garantire la massima plausibilità, il framework utilizza la perdita SDS per favorire il rendering plausibile dell’immagine per ogni singola visualizzazione campionata che può essere riconosciuta da un modello di diffusione preaddestrato. Inoltre, per utilizzare in modo efficace le indicazioni dell’immagine di riferimento, il framework penalizza le differenze fotometriche tra l’immagine di riferimento e le immagini renderizzate nella visualizzazione di riferimento, e la perdita viene calcolata solo all’interno della regione del primo piano della visualizzazione. Inoltre, per favorire la sparsità della scena, il framework implementa anche una perdita di maschera che genera la silhouette. Nonostante ciò, mantenere in modo coerente l’aspetto e la semantica delle visualizzazioni posteriori rimane ancora una sfida, motivo per cui il framework utilizza approcci aggiuntivi per produrre geometrie dettagliate e coerenti.

Prior di diffusione consapevole in 3D

I metodi di ottimizzazione in 3D che utilizzano solo la supervisione per vista sono sotto-constraint, motivo principale per cui il framework DreamCraft3D fa uso di Zero-1-to-3, un modello di diffusione condizionato dalla vista, in quanto offre una maggiore consapevolezza del punto di vista essendo stato allenato su una scala più ampia di dati in 3D. Inoltre, il framework Zero-1-to-3 è un modello di diffusione ottimizzato che riesce ad “allucinare” l’immagine in relazione alla posa della fotocamera data l’immagine di riferimento.

Allenamento progressivo della vista

Ottenere direttamente viste libere in 360 gradi potrebbe portare a artefatti geometrici o discrepanze, come una gamba extra sulla sedia, un evento che potrebbe essere attribuito all’ambiguità derivante da un’unica immagine di riferimento. Per superare questa difficoltà, il framework DreamCraft3D amplia progressivamente le viste di allenamento, in modo che la geometria ben strutturata si propaghi gradualmente per ottenere risultati a 360 gradi.

Annealing del passo temporale di diffusione

Il framework DreamCraft3D utilizza una strategia di annealing del passo temporale di diffusione nel tentativo di allinearsi alla progressione “grezza-fine” dell’ottimizzazione in 3D. All’inizio del processo di ottimizzazione, il framework dà la priorità a campionare un passo temporale di diffusione più grande per fornire la struttura globale. Man mano che il framework procede con il processo di allenamento, riduce linearmente l’intervallo di campionamento nel corso di centinaia di iterazioni. Grazie a questa strategia di annealing, il framework riesce a stabilire una plausibile geometria globale durante le prime fasi dell’ottimizzazione prima di perfezionare i dettagli strutturali.

Miglioramento dettagliato della struttura

Il framework DreamCraft3D ottimizza inizialmente una rappresentazione di superficie implicita per stabilire una struttura approssimativa. Successivamente, utilizza questo risultato in combinazione con una griglia tetraedrica deformabile o DMTet per inizializzare una rappresentazione in mesh 3D testurizzata, che separa l’apprendimento di testo e geometria. Quando il framework ha completato il miglioramento strutturale, il modello è in grado di preservare i dettagli ad alta frequenza ottenuti dall’immagine di riferimento raffinando esclusivamente le texture.

Aumento della texture utilizzando campioni di punteggio bootstrap

Anche se la fase di modellazione della geometria enfatizza l’apprendimento di una geometria dettagliata e coerente, sfoca la texture fino a un certo punto, che potrebbe essere il risultato del fatto che il framework si basa su un modello precedente in 2D che opera a una risoluzione approssimativa e offre una nitidezza limitata offerta dal modello di diffusione in 3D. Inoltre, problemi comuni di texture come eccessiva saturazione e smussamento eccessivo si verificano a causa di un’ampia guida priva di classificatore.

Il framework utilizza una perdita di distillazione del punteggio variazionale o Variational Score Distillation per aumentare il realismo delle texture. Durante questa fase, il framework opta per un modello di diffusione stabile per ottenere gradienti ad alta risoluzione. Inoltre, il framework mantiene la griglia tetraedrica fissa per favorire un rendering realistico ottimizzando la struttura complessiva della mesh. Durante la fase di apprendimento, il framework DreamCraft3D non utilizza il framework Zero-1-to-3, in quanto ha un effetto negativo sulla qualità delle texture e queste texture inconsistenti potrebbero ripetersi, portando a uscite 3D bizzarre.

Esperimenti e Risultati

Per valutare le prestazioni del framework DreamCraft3D, viene confrontato con i framework attuali più avanzati e i risultati qualitativi e quantitativi vengono analizzati.

Confronto con i Modelli di Base

Per valutare le prestazioni, il framework DreamCraft3D viene confrontato con 5 framework all’avanguardia, tra cui DreamFusion, Magic3D, ProlificDreamer, Magic123 e Make-it-3D. Il benchmark di test comprende 300 immagini di input che sono una miscela di immagini del mondo reale e quelle generate dal framework Stable Diffusion. Ogni immagine nel benchmark di test ha un prompt di testo, una mappa di profondità prevista e una maschera alfa per il primo piano. Il framework utilizza i prompt di testo per le immagini reali da un framework di didascalia delle immagini.

Analisi qualitativa

La seguente immagine confronta il framework DreamCraft3D con i modelli di base attuali e come si può osservare, i framework che si basano sull’approccio testo-3D spesso presentano problemi di coerenza multi-view.

Da un lato, hai il framework ProlificDreamer che offre texture realistiche, ma che pecca nel generare un oggetto 3D plausibile. Framework come il framework Make-it-3D, che si basano su metodi di immagini-3D, riescono a creare viste frontali di alta qualità, ma non riescono a mantenere la geometria ideale per le immagini. Le immagini generate dal framework Magic123 offrono una migliore regolarizzazione geometrica, ma generano texture e dettagli geometrici eccessivamente saturi e lisciati. Rispetto a questi framework, il framework DreamCraft3D, che utilizza un metodo di distillazione del punteggio iniziale bootstrap, non solo mantiene la coerenza semantica, ma migliora anche la diversità dell’immaginazione complessiva.

Analisi Quantitativa

Nel tentativo di generare immagini 3D accattivanti che non solo assomiglino all’immagine di riferimento, ma trasmettano anche la semantica da varie prospettive in modo coerente, le tecniche utilizzate dal framework DreamCraft3D vengono confrontate con modelli di base e il processo di valutazione impiega quattro metriche: PSNR e LPIPS per misurare l’aderenza alla prospettiva di riferimento, Distanza Contestuale per valutare la congruenza a livello di pixel e CLIP per stimare la coerenza semantica. I risultati sono mostrati nell’immagine seguente.

Conclusioni

In questo articolo, abbiamo discusso di DreamCraft3D, un flusso di lavoro gerarchico per la generazione di contenuti 3D. Il framework DreamCraft3D mira a sfruttare un framework generativo Text-to-Image (T2I) all’avanguardia per creare immagini 2D di alta qualità utilizzando una descrizione testuale. Questo approccio consente al framework DreamCraft3D di massimizzare le capacità dei modelli di diffusione 2D all’avanguardia nella rappresentazione della semantica visiva descritta nella descrizione testuale, pur mantenendo la libertà creativa offerta da questi framework generativi AI 2D. L’immagine generata viene quindi trasformata in 3D attraverso fasi di potenziamento della texture geometrica e scolpitura geometrica a cascata. Tecniche specializzate vengono applicate a ogni fase, aiutate dalla scomposizione del problema. Come risultato di questo approccio, il framework DreamCraft3D può produrre asset 3D di alta fedeltà e coerenti con texture accattivanti, visibili da angolazioni multiple.