TextualInversion

Da Wiki AI.

Textual Inversion è un metodo innovativo che permette di introdurre nuove idee, come stili specifici o oggetti, mantenendo inalterato il meccanismo di base. Ciò si realizza identificando una "parola-chiave" che, una volta inserita nel sistema, può evocare immagini con un nuovo stile o contenere elementi inediti. Successivamente, si cerca di scoprire un insieme di valori numerici, o vettore, che il modello associa a questa parola-chiave. Una volta trovato, questo vettore permette di "insegnare" al modello come generare immagini che includano il concetto desiderato ogni volta che la parola-chiave viene utilizzata, senza dover ristrutturare o rieducare l'intero modello da capo. Questa tecnica permette di soddisfare esigenze specifiche con una spesa computazionale relativamente bassa.

Come funziona

A differenza di LoRA che va a modificare i pesi interni al modello, Textual inversion non altera il modello ma gli aggiunge qualcosa di nuovo (che può essere un oggetto ma anche uno stile) sotto forma di Embedding all'interno dello spazio vettoriale. Di fatto aggiunge al modello un nuovo riferimento sotto forma di una Keyword che viene Tokenizzata ed inserita nello spazio latente del modello, esattamente come le parole del prompt.

Dunque: LoRA modifica i pesi mentre Textual Inversion aggiunge un Embedding. Il risultato in entrambi i casi sono leggere modifiche al processo di generazione al fine di personalizzarlo.

Grazie a Textualinversion si associa un Embedding al Token "S*" fonte: https://stable-diffusion-art.com/embedding/
Tramite l'Embedding corrispondente a "S*" si riesce ad "inniettare" nello spazio latente del modello il concetto di "toy cat", che può poi essere riutilizzato in altre generazioni.

Come integrarlo su AUTOMATIC1111

  1. Vai su http://civitai.com/ o https://huggingface.co/sd-concepts-library e scarica il file dell'Embedding.
  2. Rinomina il file con la keyword a cui vuoi che sia associato. N.B. Dev'essere una parola totalmente nuova e che non sia già presente nel modello.
  3. Metti il file nella cartella "embeddings" nella directory dell'interfaccia grafica (stable-diffusion-webui/embeddings).
  4. Riavvia AUTOMATIC1111 e nello startup terminal dovrebbe apparire il seguente messaggio:

    Loaded a total of 1 textual inversion embeddings. Embeddings: lakeywordchehaiscelto

  5. A questo punto si può utilizzare nel prompt la nuova keyword

N.B. In AUTOMATIC1111 potrebbe essere necessario aggiustare la "strenght" del prompt per ottenere il risultato desiderato.

(marc_allante:1.2)  a dog
Stessa keyword con varie strenght









Per provare in modo più semplice come funziona TextualInversion si può provare da qui: https://huggingface.co/spaces/sd-concepts-library/stable-diffusion-conceptualizer.

Questo progetto di Huggingface consente infatti di testare con un proprio prompt e tramite specifiche Keyword degli Embedding (stili o oggetti) già implementati nel modello da altri utenti:

Depthmap Keyword
Moebius Keyword
A Female Cyborg Keyword


Line Art Keyword