top of page

Stable diffusion in architettura - potenzia i tuoi render utilizzando l'IA

  • Immagine del redattore: Jonas Grumann
    Jonas Grumann
  • 15 gen
  • Tempo di lettura: 5 min

Aggiornamento: 20 gen

Le cose nell'IA stanno evolvendo velocemente e può essere difficile capire da dove iniziare. In questo tutorial, ti guideremo nell'uso dell'interfaccia utente (UI) di Stable Diffusion e della sua funzionalità di inpainting per migliorare le presentazioni visive, integrando senza sforzo dettagli aggiuntivi.


Passo 1 - Installazione e avvio di Stable Diffusion

Prepara il tuo sistema:

  • Assicurati che il tuo sistema soddisfi i requisiti minimi:

    • GPU: Una GPU NVIDIA moderna con almeno 4 GB di VRAM (ad esempio, RTX 3070).

    • RAM: Almeno 8 GB.

    • Sistema operativo: Windows, macOS o Linux.


  • Scarica l'interfaccia web di Automatic1111 (un frontend popolare per Stable Diffusion):

    • Visita il repository GitHub di Automatic1111.

    • Clona il repository o scarica il file ZIP:


  • Installa Python e Git:

    • Scarica e installa Python 3.10.6.

    • Durante l'installazione, abilita l'opzione "add Python to PATH".

    • Installa Git da git-scm.com.


  • Configura Stable Diffusion:

    • Trova il file webui-user.bat nella cartella del repository.

    • Fai doppio clic sul file BAT per avviare l'interfaccia web.

    • Le dipendenze necessarie, inclusi i pacchetti Python, verranno installate automaticamente durante il primo avvio.


  • Avvia l'interfaccia web:

    • Una volta completata la configurazione, l'interfaccia web verrà avviata.

    • Apri il tuo browser e vai su http://127.0.0.1:7860/.



Stable diffusion webui running in the browser
Stable diffusion webui running in the browser

Passo 2: Scegliere e installare il modello giusto

Questa parte è soggettiva. I modelli sono essenzialmente "cervelli" differenti che puoi installare in Stable Diffusion. Sono stati addestrati su dati diversi, quindi producono risultati differenti. Io lavoro con RealisticVision e ne sono abbastanza soddisfatto. Puoi ottenerlo gratuitamente su CivitAi.


Una volta scaricato, metti il file nella cartella di installazione di Stable Diffusion sotto models/Stable-diffusion.

Passo 3: Preparare il Rendering della tua Architettura

Esporta il Rendering:

Salva la tua visualizzazione architettonica come file PNG o JPG ad alta risoluzione.

Assicurati che le aree che desideri modificare (aggiungere o modificare persone/oggetti) siano chiare e accessibili.

Puoi vedere il rendering con cui lavoreremo qui sotto. Ho deciso di creare un rendering esterno per mostrare le capacità dell'IA, poiché penso che funzioni particolarmente bene con gli asset naturali, grazie alle sue caratteristiche caotiche.



Passo 4: Usare l'Interfaccia UI di Stable Diffusion per l'Inpainting

È il momento di iniziare a divertirsi! Clicca sulla scheda img2img per accedere alla pagina di inpainting: img2img significa che stiamo partendo da un'immagine e vogliamo generare un'altra immagine.


Sulla pagina che si apre, clicca sul pulsante "inpaint" sotto la grande tela bianca.

Perfetto! Il tuo spazio di lavoro è pronto!

Ora naviga nel tuo file explorer per trovare l'immagine e trascinala sulla tela a sinistra.


Una volta che vedi la tua immagine sulla tela, clicca sull'icona del marcatore in alto a destra della tela:

Marker icon
Marker icon

Ora sei in modalità "paint", inizia a disegnare sulle parti del tuo rendering su cui desideri lavorare. La generazione dell'IA è abbastanza pesante per la GPU, quindi non può coprire grandi aree in una volta. Anche se selezioni una grande parte dell'immagine, il sistema la ridurrà alle dimensioni che specifichi nelle opzioni sotto l'immagine, farà i suoi calcoli e poi la espanderà per adattarla alle dimensioni originali. Questo non è un grande problema in questa fase, stiamo solo cercando di capire come dovrebbe apparire l'immagine finale. Nel nostro esempio, ho selezionato tutto per vedere cosa può immaginare l'IA.


The whole image is selected
The whole image is selected

Scorri verso il basso, dove sono tutte le opzioni. Potresti scrivere un libro su tutte queste opzioni, quindi non entreremo nei dettagli, ma ecco cosa faccio solitamente:

  • Imposta "Modalità di ridimensionamento" su "Ritaglia e ridimensiona"

  • "Modalità maschera" su "inpaint masked" - significa che vogliamo che l'IA modifichi la parte dipinta dell'immagine

  • "Contenuto mascherato" su "Originale" - significa che l'IA vedrà la parte dell'immagine che abbiamo dipinto e partirà da quella

  • "Metodo di campionamento" - puoi provare diversi metodi, mi piace usare "Euler A" e Karras per il Tipo di Scheduler

  • Imposta la larghezza su qualcosa di piccolo, come 768, e l'altezza in modo che rispetti il rapporto di aspetto dell'immagine originale.


Le 4 cose che ho saltato sono quelle che cambierai di più:

  • La casella di testo "Prompt" in alto. Qui dovresti descrivere cosa vuoi che l'IA generi, nel mio caso ho scritto: "modern cabin, conifer forest, warm sunlight, bushes, shrubs, rocky beach, river, photorealistic". Facoltativamente, puoi aggiungere anche un "negative prompt" nel campo di testo "negative prompt". Questi sono gli elementi che l'IA cercherà di evitare, ad esempio, puoi scrivere "3d, cgi, anime, cartoon" per escludere un certo tipo di stile.

  • "Denoising strength" - questo decide quanto creativa o invasiva sarà l'IA. Tienila su 0 e produrrà esattamente la stessa immagine che hai fornito, impostala su 1 e genererà qualcosa di completamente diverso.

  • La scala CGF decide quanto l'IA ascolterà il tuo prompt e quanto inventerà. Trovo che mantenere questo valore attorno al 7 di default sia abbastanza buono.

  • "Inpaint area": "Solo mascherato" significa che l'IA vedrà solo la parte dipinta, quindi non conoscerà ciò che la circonda. Questo è meno pesante per la GPU, ma i risultati non si fonderanno altrettanto bene con l'immagine originale, mentre "whole image" significa che l'IA vede tutta l'immagine.



Denoising strength da 0 a 1, con intervalli di 0.25. Come puoi vedere, la prima immagine è esattamente quella che avevamo mentre l'ultima è qualcosa di completamente diverso. Giocare con la forza di denoising è un buon modo per "brainstorming" e vedere dove vorresti portare il tuo rendering.


Ora che abbiamo un'idea generale, possiamo iniziare a perfezionare la nostra immagine. Dalle immagini che ho creato, posso già dire che le rocce lisce sembrano migliori di quelle che avevo nel mio rendering. Inoltre, gli alberi sembrano necessitare di un po' di lavoro. Cominciamo con le rocce:

Rimuoverò tutta l'area che ho dipinto cliccando sull'icona della gomma sulla tela e poi dipingerò solo una piccola porzione di rocce e cambierò il prompt in "rocky beach, river, shrubs, bushes, detailed". Seleziono solo una piccola parte, perché non possiamo mantenere una risoluzione elevata durante la generazione e perderemmo qualità.

Small portion of rocks selected
Small portion of rocks selected

Trascino la forza di denoising su 0,4 e clicco su genera.

Queste rocce sembrano già migliori di quelle che avevo prima!


Old rocks
Old rocks


New rocks
New rocks

Se non sei soddisfatto di ciò che ottieni, clicca su "genera" di nuovo o gioca con le impostazioni fino a quando non sei contento.

Quando pensi che vada bene, puoi trascinare l'immagine dalla tela destra (quella generata) sulla tela di sinistra, sostituendola. Facendo questo stai dicendo "Sono soddisfatto e voglio continuare a lavorare da questa nuova immagine".

Ricorda che tutte le immagini sono salvate nella cartella "output" nella tua directory di installazione di Stable Diffusion. Quindi se commetti un errore, puoi sempre tornare indietro e partire da lì.

Lo farò e dipingerò su una nuova parte della spiaggia rocciosa:



Ho postato l'immagine originale e quella con la spiaggia dell'IA. Come puoi vedere, sembra molto meglio!


Da qui in poi, tutto quello che devi fare è ripetere il processo per le altre parti dell'immagine. Ecco cosa ho creato, penso che sembri molto meglio dell'originale.


Final render of Hut by the Lake
Final render of Hut by the Lake

Nota: questo tutorial riguarda solo l'inpainting, ma c'è molto di più su Stable Diffusion e l'IA. Inoltre, abbiamo affrontato questo processo mascherando e generando piccole parti ripetutamente. Funziona, ma non è l'ideale; esiste un modo per generare aree molto più grandi, ma ne parleremo in un altro post.


Post originale in inglese, tradotto con l'aiuto dell'IA. Potete cambiare la lingua in alto per vedere il post originale. Thanks for reading!

 
 

CONTATTACI

Into di Jonas Grümann

6966 Lugano

Ticino, Svizzera

T: +41 (0)79 813 14 75

E: info@intovisual.ch

Grazie!

bottom of page