Zero123++ Un singolo modello di base di diffusione multiview coerente a immagine singola

Zero123++ Un unico modello di base per una diffusione multiview coerente a singola immagine

Negli ultimi anni si è assistito a un rapido avanzamento delle prestazioni, dell’efficienza e delle capacità generative dei nuovi modelli generativi di intelligenza artificiale emergenti che sfruttano ampi dati e pratiche di generazione di diffusione 2D. Oggi, i modelli generativi di intelligenza artificiale sono estremamente capaci di generare diversi tipi di contenuti multimediali 2D e, in certa misura, 3D, tra cui testo, immagini, video, GIF e altro ancora.

In questo articolo parleremo del framework Zero123++, un modello di intelligenza artificiale generativa a diffusione condizionata da immagine con l’obiettivo di generare immagini multiple coerenti in 3D utilizzando un’unica vista di input. Per massimizzare il vantaggio derivante dai modelli generativi preaddestrati precedenti, il framework Zero123++ implementa numerosi schemi di addestramento e di condizionamento per ridurre al minimo lo sforzo necessario per il raffinamento dai modelli di immagini di diffusione preconfezionati. Approfondiremo l’architettura, il funzionamento e i risultati del framework Zero123++ e analizzeremo le sue capacità di generare immagini multiple coerenti di alta qualità da un’immagine singola. Quindi cominciamo.

Zero123 e Zero123++: Un’introduzione

Il framework Zero123++ è un modello di intelligenza artificiale generativa a diffusione condizionata da immagine che mira a generare immagini multiple coerenti in 3D utilizzando un’unica vista di input. Il framework Zero123++ è una continuazione del framework Zero123 o Zero-1-to-3 che sfrutta una tecnica di sintesi di immagini di vista nuova senza tiro al bersaglio per aprire la conversione open-source da immagine singola a 3D. Sebbene il framework Zero123++ offra prestazioni promettenti, le immagini generate dal framework presentano incongruenze geometriche visibili ed è il motivo principale per cui esiste ancora un divario tra scene 3D e immagini multi-vista.

Il framework Zero-1-to-3 rappresenta la base per diversi altri framework, tra cui SyncDreamer, One-2-3-45, Consistent123 e altri che aggiungono strati aggiuntivi al framework Zero123 per ottenere risultati più coerenti nella generazione di immagini 3D. Altri framework come ProlificDreamer, DreamFusion, DreamGaussian e altri seguono un approccio basato sull’ottimizzazione per ottenere immagini 3D mediante la distillazione di un’immagine 3D da modelli non coerenti. Sebbene queste tecniche siano efficaci e generino immagini 3D soddisfacenti, i risultati potrebbero essere migliorati con l’implementazione di un modello di diffusione di base in grado di generare immagini multi-vista in modo coerente. Di conseguenza, il framework Zero123++ prende il framework Zero-1-to-3 e raffina un nuovo modello di diffusione di base multi-vista da Stable Diffusion.

Nel framework Zero-1-to-3, ogni vista nuova viene generata in modo indipendente e questo approccio porta a incongruenze tra le viste generate poiché i modelli di diffusione hanno una natura di campionamento. Per affrontare questo problema, il framework Zero123++ adotta un approccio di posizionamento a scacchiera, con l’oggetto circondato da sei viste in un’unica immagine, e garantisce la modellizzazione corretta della distribuzione congiunta di immagini multi-vista di un oggetto.

Un’altra sfida importante affrontata dagli sviluppatori che lavorano sul framework Zero-1-to-3 è che sfrutta in modo non ottimale le capacità offerte da Stable Diffusion, il che porta a inefficienza e costi aggiuntivi. Ci sono due motivi principali per cui il framework Zero-1-to-3 non può massimizzare le capacità offerte da Stable Diffusion:

  1. Quando si addestra con condizioni di immagine, il framework Zero-1-to-3 non incorpora meccanismi di condizionamento locali o globali offerti da Stable Diffusion in modo efficace.
  2. Durante l’addestramento, il framework Zero-1-to-3 utilizza una risoluzione ridotta, un approccio in cui la risoluzione di output viene ridotta al di sotto della risoluzione di addestramento che può ridurre la qualità della generazione di immagini per i modelli Stable Diffusion.

Per affrontare questi problemi, il framework Zero123++ implementa una serie di tecniche di condizionamento che massimizzano l’utilizzo delle risorse offerte da Stable Diffusion e mantengono la qualità della generazione di immagini per i modelli Stable Diffusion.

Miglioramento della condizionamento e delle coerenze

Nel tentativo di migliorare il condizionamento dell’immagine e la coerenza tra le immagini multi-vista, il framework Zero123++ ha implementato diverse tecniche, avendo come obiettivo principale il riutilizzo di tecniche precedenti provenienti dal modello Stable Diffusion preaddestrato.

Generazione di immagini multi-vista

L’indispensabile qualità di generare immagini multivista consistenti risiede nella corretta modellazione della distribuzione congiunta di più immagini. Nel framework Zero-1-to-3, la correlazione tra le immagini multivista viene ignorata perché per ogni immagine, il framework modella la distribuzione marginale condizionale in modo indipendente e separato. Tuttavia, nel framework Zero123++, gli sviluppatori hanno optato per un approccio di layout a mosaico che divide 6 immagini in un singolo frame/immagine per la generazione multivista coerente, e il processo è illustrato nell’immagine seguente.

Inoltre, è stato notato che le orientazioni degli oggetti tendono a dissiparsi durante l’addestramento del modello sulle posizioni delle telecamere, e per prevenire questa dissipazione, il framework Zero-1-to-3 si allena sulle posizioni delle telecamere con angoli di elevazione e azimut relativi all’input. Per implementare questo approccio, è necessario conoscere l’angolo di elevazione della vista dell’input che viene poi utilizzato per determinare la posa relativa tra nuove viste dell’input. Nel tentativo di conoscere questo angolo di elevazione, i framework spesso aggiungono un modulo di stima dell’elevazione, e questo approccio comporta spesso costi aggiuntivi in termini di errori nel flusso di lavoro.

Programma del rumore

Programma lineare scalato, il programma del rumore originale per Stable Diffusion si concentra principalmente sui dettagli locali, ma come si può vedere nell’immagine seguente, ha pochi passaggi con SNR (rapporto segnale-rumore) più basso.

Questi passaggi a basso rapporto segnale-rumore si verificano all’inizio della fase di denoising, una fase cruciale per determinare la struttura globale a bassa frequenza. Ridurre il numero di passaggi durante la fase di denoising, sia durante l’interferenza che durante l’addestramento, spesso comporta una maggiore variazione strutturale. Sebbene questa configurazione sia ideale per la generazione di singole immagini, limita la capacità del framework di garantire una coerenza globale tra diverse viste. Per superare questa difficoltà, il framework Zero123++ adatta un modello LoRA sul framework Stable Diffusion 2 v-prediction per svolgere un compito di esempio, e i risultati sono illustrati di seguito.

Con il programma del rumore lineare scalato, il modello LoRA non fa overfitting, ma sbianca leggermente l’immagine. Al contrario, lavorando con il programma del rumore lineare, il framework LoRA genera correttamente un’immagine vuota indipendentemente dall’input di partenza, evidenziando così l’impatto del programma del rumore sulla capacità del framework di adattarsi a nuovi requisiti globalmente.

Attenzione di riferimento scalata per condizioni locali

L’input con singola vista o le immagini di condizionamento nel framework Zero-1-to-3 vengono concatenate agli input rumorosi nella dimensione delle caratteristiche per essere sottoposti a rumore per il condizionamento dell’immagine.

Questa concatenazione porta a una corrispondenza spaziale pixel-per-pixel errata tra l’immagine di destinazione e l’input. Per fornire un corretto condizionamento locale, il framework Zero123++ utilizza una Reference Attention scalata, un approccio in cui un modello UNet di denoising viene eseguito su un’immagine di riferimento aggiuntiva, seguito dall’appendimento delle matrici di valore e della chiave di auto-attenzione dall’immagine di riferimento ai rispettivi strati di attenzione quando l’input del modello viene denoised, come mostrato nella figura seguente.

L’approccio Reference Attention è in grado di guidare il modello di diffusione nella generazione di immagini con texture simili all’immagine di riferimento e contenuto semantico senza alcun adattamento fine. Con il fine tuning, l’approccio Reference Attention produce risultati superiori scalando il latente.

Condizionamento globale: FlexDiffuse

Nell’approccio originale di Stable Diffusion, le embedding di testo sono l’unica fonte di embedding globali, e l’approccio utilizza il framework CLIP come codificatore di testo per eseguire esami incrociati tra le embedding di testo e i latenti del modello. Di conseguenza, gli sviluppatori sono liberi di utilizzare l’allineamento tra gli spazi di testo e le immagini CLIP risultanti per il condizionamento globale delle immagini.

Il framework Zero123++ propone di utilizzare una variante addestrabile del meccanismo di guida lineare per incorporare il condizionamento globale dell’immagine nel framework con il minimo ottimizzazione necessaria, e i risultati sono dimostrati nell’immagine seguente. Come si può vedere, senza la presenza di un condizionamento globale dell’immagine, la qualità del contenuto generato dal framework è soddisfacente per le regioni visibili che corrispondono all’immagine di input. Tuttavia, la qualità dell’immagine generata dal framework per le regioni non visibili subisce un significativo deterioramento, che è principalmente dovuto all’incapacità del modello di dedurre la semantica globale dell’oggetto.

Architettura del modello

Il framework Zero123++ è addestrato con il modello Stable Diffusion 2v come base utilizzando gli approcci e le tecniche diverse menzionate nell’articolo. Il framework Zero123++ è preaddestrato sul dataset Objaverse che viene renderizzato con illuminazione HDRI casuale. Il framework adotta anche l’approccio del programma di addestramento a fasi utilizzato nel framework Stable Diffusion Image Variations nel tentativo di ridurre ulteriormente la quantità di ottimizzazione necessaria e preservare il più possibile la stabilità precedente di Diffusion.

Il funzionamento o l’architettura del framework Zero123++ può essere ulteriormente suddiviso in passaggi o fasi sequenziali. La prima fase prevede che il framework ottimizzi finemente le matrici KV dei livelli di attenzione incrociata e i livelli di auto-attenzione di Stable Diffusion con AdamW come ottimizzatore, 1000 passaggi di riscaldamento e una pianificazione del tasso di apprendimento coseno massimizzata a 7×10-5. Nella seconda fase, il framework utilizza un tasso di apprendimento costante molto conservativo con 2000 gruppi di riscaldamento e utilizza l’approccio Min-SNR per massimizzare l’efficienza durante l’addestramento.

Zero123++: Risultati e confronto delle prestazioni

Prestazioni qualitative

Per valutare le prestazioni del framework Zero123++ in base alla qualità generata, viene confrontato con SyncDreamer e Zero-1-to-3- XL, due dei migliori framework di punta per la generazione di contenuti. I framework vengono confrontati con quattro immagini di input con diverse scoperture. La prima immagine è un giocattolo catena elettrica, presa direttamente dal dataset Objaverse, e vanta di un’ampia incertezza sulla parte posteriore dell’oggetto. La seconda è l’immagine di un estintore e la terza è l’immagine di un cane seduto su un razzo, generata dal modello SDXL. L’immagine finale è un’illustrazione di anime. Gli steps di elevazione necessari per i framework vengono ottenuti utilizzando il metodo di stima dell’elevazione del framework One-2-3-4-5, e la rimozione dello sfondo viene ottenuta utilizzando il framework SAM. Come si può vedere, il framework Zero123++ genera immagini multi-view di alta qualità in modo coerente ed è in grado di generalizzare sia all’illustrazione 2D fuori dominio che alle immagini generate dall’IA.

Analisi quantitativa

Per confrontare quantitativamente il framework Zero123++ con i framework Zero-1-to-3 e Zero-1to-3 XL di punta, gli sviluppatori valutano il punteggio Learned Perceptual Image Patch Similarity (LPIPS) di questi modelli sui dati di convalida suddivisi, un sottoinsieme del dataset Objaverse. Per valutare le prestazioni del modello nella generazione di immagini multi-view, gli sviluppatori suddividono le immagini di riferimento di verità fondamentale e le 6 immagini generate rispettivamente, per poi calcolare il punteggio Learned Perceptual Image Patch Similarity (LPIPS). I risultati sono dimostrati di seguito e come si può chiaramente vedere, il framework Zero123++ ottiene le migliori prestazioni sul set di convalida suddiviso.

Valutazione del testo per la generazione di immagini multi-view

Per valutare la capacità del framework Zero123++ nella generazione di contenuti testuali per immagini multi-view, gli sviluppatori utilizzano prima il framework SDXL con promemoria di testo per generare un’immagine, e poi impiegano il framework Zero123++ nell’immagine generata. I risultati sono dimostrati nell’immagine seguente e come si può vedere, rispetto al framework Zero-1-to-3 che non può garantire una generazione multi-view coerente, il framework Zero123++ restituisce immagini multi-view coerenti, realistiche e altamente dettagliate implementando l’approccio o pipeline testo-immagine-immagine-multi-view.

Zero123++ Depth ControlNet

Oltre al framework base Zero123++, gli sviluppatori hanno rilasciato anche il Depth ControlNet Zero123++, una versione controllata in profondità del framework originale costruito utilizzando l’architettura ControlNet. Le immagini lineari normalizzate vengono renderizzate rispetto alle immagini RGB successive e un framework ControlNet viene addestrato per controllare la geometria del framework Zero123++ utilizzando la percezione di profondità.

Conclusioni

In questo articolo abbiamo parlato di Zero123++, un modello IA generativo a diffusione condizionato all’immagine con l’obiettivo di generare immagini a vista multipla coerenti in 3D utilizzando un’unica vista di input. Per massimizzare il vantaggio ottenuto dai modelli generativi precedentemente preaddestrati, il framework Zero123++ implementa numerosi schemi di addestramento e condizionamento per ridurre al minimo lo sforzo richiesto per il fine-tuning dei modelli di immagine a diffusione già pronti all’uso. Abbiamo anche discusso i diversi approcci e miglioramenti implementati dal framework Zero123++ che consentono di ottenere risultati equivalenti o addirittura superiori a quelli ottenuti dai framework attuali di ultima generazione.

Tuttavia, nonostante la sua efficienza e la capacità di generare immagini multi-vista di alta qualità in modo coerente, il framework Zero123++ ha ancora margine di miglioramento, con possibili aree di ricerca quali:

  • Modello Raffinatore a Due Fasi che potrebbe risolvere l’incapacità di Zero123++ di soddisfare i requisiti globali di coerenza.
  • Ulteriori Incrementi di Scala per migliorare ulteriormente la capacità di Zero123++ di generare immagini di qualità ancora più elevata.