Sitemap
Stefano

Stefano

Per ora questo è un semplice blog per imparare ad usare Stable Diffusion, in futuro chissà!

Stable diffusion — 9. Controlnet: la potenza del movimento

5 min readJun 26, 2023

Una delle cose più complesse nel creare immagini con AI è la creazione di immagini dinamiche o in posa. Si può scrivere un prompt del tipo: “Ragazza che salta allegramente” ma può essere particolarmente complesso raggiungere la posizione di salto che si desidera raggiungere.

A tale scopo viene in aiuto Controlnet. Questa è un’estensione di A1111 che propone diversi Controlnet models che permettono la creazione delle immagini con diverse tecniche a disposizione.

Press enter or click to view image in full size
Press enter or click to view image in full size
Press enter or click to view image in full size
Immagine reale (a sinistra), posa generata (centro), immagine creata dopo il prompt (a destra)

Come installare Controlnet?

Prima di tutto bisogna installare l’estensione (vedi anche il blog precedente a questo): Mikubill/sd-webui-controlnet: WebUI extension for ControlNet (github.com)

Dopo di chè bisogna installare alcuni modelli che permettono di processare le immagini. Questi si trovano in questa cartella: lllyasviel/ControlNet-v1–1 at main (huggingface.co)

Salvate i file .pth e .yaml nella cartella “A1111 Web UI Autoinstaller\stable-diffusion-webui\models\ControlNet”. Vi chiederete quali scaricare se non volete installarli tutti? Beh… dipende da cosa volete ottenere. Se per esempio volete usare “openpose”, allora scaricatevi “control_v11p_sd15_openpose.pth”. Se volete usare “canny”, scaricatevi “control_v11p_sd15_canny.pth”.

Ma proviamo ad andare più nel dettaglio.

Per gli esempi sottostanti userò sempre la Gioconda come immagine base.

Col suo sorriso enigmatico!!!

Openpose

Openpose è un metodo che permette di mettere uno o più personaggi nella posizione che si è deciso.

Press enter or click to view image in full size
  1. Cliccate sul TAB Controlnet (sotto all’opzione del Seed)
  2. Cliccate su Enable
  3. Dalla lista “Control Type” cliccate su OpenPose
  4. Su Preprocess lasciate openpose_full se volete analizzare tutto il corpo, altrimenti scegliete il preprocessore che desiderate se volete focalizzarvi su volto o mani.
  5. Scegliete il modello scaricato (dovrebbe essere già scelto di default)
  6. Aggiungete l’immagine che volete selezionare
  7. Se volete vedere una preview del preprocessore cliccate sul piccolo fuoco d’artificio vicino al menu del preprocessore.
  8. Generate l’immagine
Press enter or click to view image in full size
Press enter or click to view image in full size
Preprocessata, output col mio prompt di uomo anziano

Se non siete soddisfatti della posa ottenuta, potete modificarla dopo aver scaricato quest’estensione: fkunn1326/openpose-editor: Openpose Editor for AUTOMATIC1111’s stable-diffusion-webui (github.com)
Un piccolo pulsante “Edit” dovrebbe apparirvi nella preview pre-processata.

Se volete usare pose create da altri (Civitai è ricca di ciò), aggiungete la posa come un’immagine normale (punto 6), ma in preprocessore selezionate “none”.

Canny

Canny è carino perché riprende lo stile dell’immagine, ne estrae le linee principali e ricrea l’immagine seguendo lo stesso stile.

Il processo è simile a quello utilizzato per Openpose.

Press enter or click to view image in full size
Preprocessata, output col mio prompt di donna con molti colori

Scribble

Un’alternativa a “canny” può essere scribble che trasforma l’immagine di partenza in uno splendido scarabocchio.

Press enter or click to view image in full size
Splendido scarabocchio e dopo aver messo il prompt sopra

Depth

Get Stefano’s stories in your inbox

Join Medium for free to get updates from this writer.

Depth è simile a “canny”, ma invece di focalizzarsi sul bordo si concentra di più sulla “profondità” dell’immagine.

Press enter or click to view image in full size
Preprocessata, output col mio prompt di suora

Lineart

Questo preprocessore è anch’esso simile canny, ma il suo modo di prendere nota dei dettagli è più simile a tratti di penna o pennello. Il che può essere utile per ottenere immagini simil dipinto o fumetto. Ci sono diversi line art in relazione se si vuole andare su un livello più “anime” o “realistico”.

Press enter or click to view image in full size
Preprocessata, output come anime

SoftEdge

SoftEdge è un’altra tecnica basata sull’analisi dei bordi ma che crea un leggero bordo attorno all’immagine.

Press enter or click to view image in full size
Press enter or click to view image in full size
Preprocessata e dopo con un tocco di Steampunk

MLSD

Qui invece ci concentriamo sulle righe dritte dell’immagine scelta. Visto che la Gioconda non ha una linea dritta neanche a pagarla d’oro il risultato è praticamente nullo. Posto ciò come esempio di utilizzo sbagliato di preprocessore.

Press enter or click to view image in full size
Preprocessata (da schifo) e immagine ottenuta

Qua con un esempio più interessante.

Press enter or click to view image in full size
Press enter or click to view image in full size
Press enter or click to view image in full size
Originale, preprocessata, nuovo con prompt

Normal maps

Normal maps si basano sull’orientazione della superfice. Molto simile all’effetto depths. Può essere utile se si vuole dare un’effetto tridimensionale all’immagine.

Press enter or click to view image in full size
Preprocessata e futurista

Segmentation

Segmentation divide l’oggetto cercando di dare una sturttura di referenza all’immagine.

Anche qua l’esempio col dipinto non rende bene, quindi ripropongo i palazzi.

Press enter or click to view image in full size
Press enter or click to view image in full size
Press enter or click to view image in full size
Originale, preprocessata, immagine col prompt

Shuffle

Questo processore è utile per creare immagini con uno stile simile a quello di partenza. L’immagine viene mischiata e i colori più lo stile vengono riutilizzati in un’immagine completamente nuova.

Press enter or click to view image in full size
Press enter or click to view image in full size
Mix di Monalisa, la mia donna Steampunk con uno stile Leonardesco

Reference

Reference è una nuova serie di preprocessori che per NON utilizzano un Control model. Basta selezione il preprocessore. Questo serve per influenzare l’immagine che si vuole ottenere.

Press enter or click to view image in full size
La mia personale Mona Lisa

Ci sono altre tecniche quali

  • Tile resample” per upscalare l’immagine
  • “inpaintint” per ritoccare le immagini con img2img
  • “T2IA” che utilizza template da Tencent: TencentARC/T2I-Adapter at main (huggingface.co)
  • “IP2P” (non sono riuscito a trovare molta documentazione in proposito)

Prometto che ci ritornerò quando andrò più sul dettaglio. Ciononostante credo che per oggi sia abbastanza e vi abbia offerto una buona descrizione di cosa si possa ottenere con quest’estensione.

Se vi è piaciuto il post condividete con amici e parenti. E ricordatevi di apprezzare il post!

--

--

Stefano
Stefano

Written by Stefano

Per ora questo è un semplice blog per imparare ad usare Stable Diffusion, in futuro chissà!