IO SONO COLUI CHE ARTI (con Diffusione Stabile)
Il mio ultimo articolo sulla generazione di immagini usando PyTorch sembra scritto tre anni fa, invece che tre mesi fa. A quel tempo il codice sorgente di strumenti come Dall-E e Midjourney non era disponibile per sviluppatori come me. Quella limitazione sembrava non essere un'area che potevo esplorare perché era ben oltre la mia capacità di decodificarla.
E poi CompVis ha rilasciato Stable Diffusion come open source, consentendo a chiunque abbia una copia del codice di sperimentarlo ed estenderlo.
Avanti veloce di 3-4 mesi da quando è uscito Stable Diffusion e attorno ad esso si è formato un intero ecosistema. Chiunque abbia le capacità per eseguire alcuni comandi (chiunque) può configurare un server Stable Diffusion personale, più comunemente l' interfaccia utente web basata su Gradio AUTOMATIC1111 . Quell'interfaccia utente è così popolare che le persone stanno scrivendo i propri plugin per questo. Stiamo usando una variante di AUTOMATIC1111 con le nostre piccole modifiche e modifiche in cima.
All'interno di Open Studios avere la nostra diffusione stabile auto-ospitata è stato un enorme vantaggio: abbiamo sostanzialmente acquisito un dipartimento artistico che può pompare centinaia di opzioni da utilizzare per banner, animazioni e qualsiasi altra cosa necessiti di una direzione creativa visiva. Come sceneggiatore, sono stato in grado di eseguire rapidamente il rendering di una scena in classe su cui stavo lavorando e mi sono reso conto che sembrava noiosa, quindi ho spostato la scena in un museo. Questo tipo di iterazione avanti e indietro di solito avviene tra almeno alcune persone con diversi campi di competenza, ad esempio un direttore artistico e disegnatori.
In qualità di sostenitore, vorrei poter dire che le immagini generate da Stable Diffusion andavano bene, la maggior parte delle volte non lo sono e ci vogliono un po' di tentativi ed errori di riesecuzione e correzione manuale usando Photoshop.
Scoprire cosa può essere un concetto
Immagina una nuvola di post-it raggruppati insieme sulla base di etichette, è così che funziona la memoria per un sistema di apprendimento automatico. All'interno dello studio dell'apprendimento automatico, questa nuvola di post-it è nota come "spazio latente".
La stessa scena di una spiaggia può apparire molto diversa a seconda che sia presa dal punto di vista di una persona o di un uccello o che l'interpretazione della luce sia realistica o stilizzata. I risultati possono essere un po' imprevedibili, che in questo caso d'uso è esattamente quello che vogliamo perché come flusso di lavoro è come chiedere a un team di concept artist di andare a trovare idee per te.
A volte non sappiamo nemmeno come deve essere qualcosa, usiamo i suggerimenti per generare immagini e poi passiamo attraverso fasi iterative di selezione dei nostri preferiti e ne creiamo altri finché non arriviamo nei posti che ci piacciono.
Quando si esplora un'area sconosciuta è spesso utile disegnare una mappa e con Stable Diffusion in realtà è abbastanza simile!
Tracciare lo spazio latente e sollecitare la ricerca
Utilizzando le nostre workstation da studio dotate di potenti schede grafiche della serie RTX 30, generalmente utilizziamo la dimensione massima del batch e il numero massimo di campioni. Il numero di risultati è il prodotto di queste due impostazioni, quindi in 10 batch con 4 campioni avremmo 40 immagini. Se le griglie XY sono attivate, ciò si moltiplicherà ulteriormente per il numero di opzioni in X e Y.
Quando si utilizza Stable Diffusion è pratica comune generare migliaia di griglie XY come una sorta di tavolozza di esempio e quindi scegliere quelle che corrispondono alla visione e allo stile creativi appropriati. L'interfaccia utente AUTOMATIC1111 ha ampie opzioni di personalizzazione per ciò che sono definiti gli assi X e Y della tua griglia, consentendoti di utilizzare diversi modelli di dati, prompt di testo e altre impostazioni per vedere come si uniscono tutti in modi diversi.
I prompt possono richiedere del tempo per essere capiti, a volte richiedono settimane di tentativi ed errori per riorganizzare le parole e persino cercare online in posti come Lexica quando non riusciamo a convincere l'IA a disegnare ciò che vogliamo. Nel nostro mondo non abbiamo cose come demoni o cyborg e quindi ci vuole un po' di finezza per dire al sistema cosa vogliamo vedere - per esempio un demone potrebbe essere un "pipistrello umanoide gigante con corna e pelo rosso" e un il cyborg potrebbe essere un "uomo con protesi umanoidi cibernetiche".
Ci sono fattori esterni che influiscono anche sull'efficacia dei prompt di testo: impostazioni come il valore seme, il campionatore, la scala CFG (quanto rigorosamente conforme al prompt di testo) e persino la risoluzione possono cambiare radicalmente il risultato.
Aggiunta di nuovi dettagli alle immagini a bassa risoluzione
La dimensione principale utilizzata per tutta la grafica Stable Diffusion è 512x512, ma in genere vogliamo immagini progettate per la visualizzazione a schermo intero con una risoluzione minima di 1080p, ma preferibilmente 4K. La tecnica che utilizziamo si chiama img2img e può effettivamente prendere qualsiasi immagine esistente come input, ma per l'upscaling utilizziamo uno script specifico per l'upscaling o reimmettiamo le variazioni dei parametri utilizzati per crearlo, al fine di garantire risultati di dettaglio elevati al risoluzioni più elevate.
A volte l'upscaling di un'immagine può essere più complicato della sua creazione originale. Vedi sotto un'immagine originale VS è varie forme ingrandite.
Nel grande schema delle cose non ci è voluto quasi nessuno sforzo per creare l'immagine originale, ma il rovescio della medaglia è che lo sforzo per poi ingrandire questa immagine è stato in realtà piuttosto massiccio. Tutto sommato è stato un esperimento informativo, almeno insegnandoci a ripulire le immagini in Photoshop prima dell'upscaling!
Flusso di lavoro e gestione dei file
Lavoriamo con migliaia di immagini in ogni progetto di Stable Diffusion, spesso abbinate a fogli di metadati che spiegano come abbiamo costruito quegli asset nel caso avessimo bisogno di ricostruirli o modificarli in futuro.
Le unità cloud e Git aiutano sicuramente, ma chiunque abbia familiarità con la produzione multimediale saprà che tende a esserci un bel po' di dati scartati in questi tipi di progetti. I processi per lo smaltimento e l'archiviazione delle cose per riferimento possono essere tanto importanti quanto l'archiviazione dei dati in primo luogo.
— —
Spero che questo ti dia un'idea del lavoro in corso dietro le quinte di Open Studios. Invidiavo i professionisti della tecnologia più anziani per essere lì per il boom di Dot Com, ma mi sento come se ci fosse appena stato dato il nostro.
Riferimenti e link:
- Lessico —https://lexica.art/
- Interfaccia utente web automatica1111 —https://github.com/AUTOMATIC1111/stable-diffusion-webui
- Banca dati modello —https://upscale.wiki/wiki/Model_Database#Drawn_Material

![Che cos'è un elenco collegato, comunque? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































