Opendream: creare immagini con Stable Diffusion da un'interfaccia Web

Cos'è Opendream, applicazione Web che permette di generare e modificare immagini con il modello Stable Diffusion. Supporta livelli, editing non distruttivo ed estensioni.

I modelli generativi basati su meccanismi di diffusione stanno guadagnando sempre più attenzione, rappresentando un concetto affascinante e potente. Opendream è un nuovo strumento open source che, attraverso una pratica interfaccia Web, consente di generare immagini complesse a partire da una descrizione testuale scritta in linguaggio naturale.

Come si può verificare in questo lungo video, Opendream apre all’utilizzo ancora più intelligente dei modelli di diffusione consentendo di lavorare a più riprese su uno stesso progetto e abilitando l’utilizzo dei livelli, utili per aggiungere o eliminare degli elementi dalle immagini via via generate.

Cosa sono i modelli di diffusione

Semplificando, i modelli di diffusione possono generare dati simili a quelli su cui sono stati addestrati. Se il modello è addestrato su immagini di gatti, può generare immagini realistiche che ritraggono gatti. Questi modelli traggono ispirazione dal principio di funzionamento e dalla base matematica di un modello probabilistico in grado di analizzare e prevedere il comportamento di un sistema che varia nel tempo.

Una volta addestrato, il modello può generare campioni che corrispondono ai dati osservati. Questi campioni rappresentano possibili traiettorie o stati che il sistema potrebbe seguire o acquisire nel tempo, e ogni traiettoria ha una diversa probabilità di manifestarsi. Il modello può quindi prevedere il futuro comportamento del sistema generando una serie di campioni e calcolandone le rispettive probabilità.

La capacità di apprendere e rappresentare fedelmente i dettagli visivi che contraddistinguono i modelli di diffusione, apre la strada a nuove possibilità nel settore dell’imaging e della creazione creativa di nuovi contenuti.

L’attuale ecosistema di generazione di immagini per diffusione è composto da strumenti che consentono attività di manipolazione delle immagini “una tantum”: text2img, in-painting, pix2pix e simili. Popolari interfacce come Automatic1111, Midjourney e Stability.AI DreamStudio supportano solo l’editing distruttivo: ogni modifica ha impatto sulla precedente immagine e tende a ridurne la qualità. Ciò significa che gli utenti non possono rielaborare facilmente immagini create in precedenza e fare più esperimenti sulla stessa immagine.

Opendream, modello diffusione

Cos’è Opendream e come usarlo per creare immagini con Stable Diffusion

Stable Diffusion è uno degli strumenti più utilizzati in assoluto per generare immagini dal testo. Con Opendream si ha il vantaggio di accedere alla gestione dei layer, a uno strumento di editing non distruttivo, alla possibilità di creare estensioni direttamente dal browser Web. Tutte le funzioni integrate nell’applicazione, diventano direttamente sfruttabili con il sottostante modello Stable Diffusion per generare nuove immagini e modificare quelle preesistenti.

L’editing non distruttivo è un metodo di manipolazione delle immagini che preserva i dati dell’immagine originale consentendo agli utenti di apportare regolazioni e modifiche senza sovrascrivere il lavoro precedente. Si tratta quindi di uno schema che facilita la sperimentazione e fornisce un maggiore controllo sul processo di modifica utilizzando livelli e maschere.

Rimuovendo un livello dall’immagine, l’applicazione elimina anche tutti i livelli successivi. Ciò garantisce che tutti i livelli attualmente presenti nell’area di disegno siano un prodotto di altri livelli esistenti. Ne consegue, come spiegano gli autori di Opendream nel video citato in apertura, che diventa addirittura possibile riprodurre deterministicamente un flusso di lavoro.

A questo proposito, gli utenti di Opendream possono eventualmente salvare i flussi di lavoro in un formato di file “portatile” che può essere aperto in un secondo momento o condiviso con i collaboratori. In questo contesto, uno “stato” del sistema diventa un comodo file JSON che descrive tutti i livelli correnti e come essi sono stati creati.

Opendream workflow

Per iniziare a lavorare con Opendream è necessario aver installato le runtime Node.js, clonare questo repository GitHub in locale quindi eseguire il comando sh ./run_opendream.sh dalla cartella contenente i file del progetto. Dopo un’attesa di circa 30 secondi, sia il frontend che il backend di Opendream dovrebbero essere pronti per essere utilizzati.

Ti consigliamo anche

Link copiato negli appunti