Stable diffusion — 9. Controlnet: la potenza del movimento
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.
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.
Openpose
Openpose è un metodo che permette di mettere uno o più personaggi nella posizione che si è deciso.
- Cliccate sul TAB Controlnet (sotto all’opzione del Seed)
- Cliccate su Enable
- Dalla lista “Control Type” cliccate su OpenPose
- Su Preprocess lasciate openpose_full se volete analizzare tutto il corpo, altrimenti scegliete il preprocessore che desiderate se volete focalizzarvi su volto o mani.
- Scegliete il modello scaricato (dovrebbe essere già scelto di default)
- Aggiungete l’immagine che volete selezionare
- Se volete vedere una preview del preprocessore cliccate sul piccolo fuoco d’artificio vicino al menu del preprocessore.
- Generate l’immagine
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.
Scribble
Un’alternativa a “canny” può essere scribble che trasforma l’immagine di partenza in uno splendido scarabocchio.
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.
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”.
SoftEdge
SoftEdge è un’altra tecnica basata sull’analisi dei bordi ma che crea un leggero bordo attorno all’immagine.
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.
Qua con un esempio più interessante.
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.
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.
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.
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.
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!









