Stable Diffusion: Podroben vodnik in navodila za uporabo
Umetna inteligenca (AI) je revolucionirala številna področja, med drugim tudi ustvarjanje vizualnih vsebin. Med najbolj impresivnimi orodji na tem področju je zagotovo Stable Diffusion. Gre za odprtokodni (open-source) model za generiranje slik, ki uporabnikom omogoča ustvarjanje osupljivih vizualnih del iz preprostih besedilnih opisov (t.i. “promptov”). Ta vodnik vas bo popeljal skozi vse, kar morate vedeti, da začnete ustvarjati svoje mojstrovine z Stable Diffusion.
Stable Diffusion ni le orodje za umetnike, temveč tudi za razvijalce, tržnike, ustvarjalce vsebin in vse, ki želijo raziskati meje kreativnosti. Njegova moč leži v zmožnosti generiranja realističnih fotografij, stiliziranih ilustracij, abstraktnih umetnin in še mnogo več, vse to zgolj z besedami.
Kaj je Stable Diffusion in kako deluje?
Stable Diffusion je generativni model, natančneje t.i. “latent diffusion model”, ki je bil izdan leta 2022. Razvil ga je podjetje Stability AI v sodelovanju z LMU Munich in RunwayML. Njegova ključna značilnost je zmožnost pretvorbe besedilnega opisa v sliko. Deluje tako, da se začne z naključnim šumom (noise) in ga postopoma “denoisira” (odstranjuje šum), dokler ne ustvari slike, ki ustreza podanemu promptu. Celoten proces poteka v “latentnem prostoru”, kar omogoča hitrejše in učinkovitejše generiranje.
- Text-to-Image (T2I): Glavna funkcija, kjer vnesete besedilo, Stable Diffusion pa generira sliko.
- Image-to-Image (I2I): Spreminjanje obstoječe slike na podlagi novega prompta in določene “stopnje vpliva” (denoising strength).
- Inpainting/Outpainting: Spreminjanje določenih delov slike ali razširitev slike preko njenih originalnih meja.
Namestitev Stable Diffusion
Obstaja več načinov za uporabo Stable Diffusiona. Najbolj priljubljena in vsestranska možnost za lokalno namestitev je Automatic1111’s Stable Diffusion Web UI.
Zahtevana strojna oprema
Za tekoče delovanje Stable Diffusiona boste potrebovali grafično kartico (GPU) z vsaj 8 GB VRAM-a. Priporočljivo je imeti 10 GB ali več. Novejše NVIDIA kartice (RTX serija) so najbolj optimizirane, deluje pa tudi na AMD karticah, vendar z morebitnimi izzivi in počasnejšim delovanjem. Minimalno 4 GB VRAM-a je mogoče, vendar bo generiranje zelo počasno in omejeno na manjše slike.
Namestitev Automatic1111 Web UI (Windows)
Najlažji način je uporaba skripte ali ročna namestitev:
- Namestite Python: Prenesite in namestite Python 3.10.6 (pomembna je ta specifična verzija za najboljšo kompatibilnost). Med namestitvijo obvezno označite možnost “Add Python to PATH”.
- Namestite Git: Prenesite in namestite Git.
- Klonirajte repozitorij: Odprite ukazni poziv (CMD) ali PowerShell, navigirajte do željene mape (npr.
cd C:\StableDiffusion) in izvedite:
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git - Zaženite namestitev: Ko je kloniranje končano, pojdite v mapo
stable-diffusion-webuiin zaženite datotekowebui-user.bat. Prvič bo to trajalo precej dolgo, saj bo preneslo vse potrebne knjižnice in osnovni model. - Prenesite modele: Medtem ko se namestitev izvaja, prenesite osnovni model. Priporočamo, da začnete z SD 1.5 ali SDXL Base modelom. Modele najdete na spletnih straneh kot sta Civitai ali Hugging Face. Prenesene datoteke modelov (.safetensors ali .ckpt) shranite v mapo
stable-diffusion-webui/models/Stable-diffusion. - Zaženite Web UI: Po končani namestitvi se bo v ukaznem pozivu prikazala povezava (npr.
http://127.0.0.1:7860). To povezavo odprite v spletnem brskalniku.
Praktičen nasvet: Za hitrejše generiranje na NVIDIA karticah lahko v datoteko webui-user.bat dodate argument --xformers ali --medvram (če imate manj VRAM-a) v vrstico set COMMANDLINE_ARGS=.
Uporaba Automatic1111 Web UI: Osnove
1. Vmesnik
Ko odprete Web UI, boste videli več zavihkov:
- txt2img: Generiranje slike iz besedila. To je vaš glavni zavihek.
- img2img: Spreminjanje obstoječe slike.
- Extras: Povečanje ločljivosti slike, Face restoration itd.
- PNG Info: Ogled podatkov o generirani sliki (prompt, seed, model itd.).
- Train: Za napredne uporabnike, ki želijo trenirati lastne modele.
- Settings: Splošne nastavitve programa.
2. Zavihek txt2img
To je osrednji del za generiranje slik. Ključni elementi so:
- Stable Diffusion checkpoint: Izberete glavni model (npr.
sd_xl_base_1.0.safetensors). - Prompt: Besedilni opis, kaj želite videti na sliki.
- Negative Prompt: Besedilni opis, česa ne želite videti na sliki.
- Sampling method: Algoritem za generiranje slike (npr. DPM++ 2M Karras, Euler a, DDIM). Različne metode dajo različne rezultate. DPM++ 2M Karras je pogosto dober kompromis med hitrostjo in kakovostjo.
- Sampling steps: Število korakov, ki jih model naredi za generiranje slike. Več korakov pomeni bolj podrobno sliko, a daljši čas. Običajno je 20-30 korakov dovolj.
- Restore faces: Poskuša popraviti obraze, ki so včasih popačeni.
- Tiling: Za generiranje brezšivnih tekstur.
- Hires. fix: Poveča ločljivost slike ob ohranjanju podrobnosti. Zelo priporočljivo za boljšo kakovost.
- Width/Height: Dimenzije generirane slike. Pazite na razmerje stranic, ki je bilo uporabljeno pri treniranju modela (npr. 512×512 za SD 1.5, 1024×1024 za SDXL).
- CFG Scale (Classifier Free Guidance Scale): Kako močno naj model sledi promptu. Nižje vrednosti (npr. 4-7) dajejo bolj kreativne, a manj natančne rezultate. Višje vrednosti (npr. 7-12) dajejo bolj natančne, a včasih manj zanimive rezultate.
- Seed: Število, ki določa začetno stanje naključnega šuma. Če uporabite enak seed in enak prompt, boste dobili enako sliko. -1 pomeni naključni seed.
- Batch count: Koliko slik naj generira.
- Batch size: Koliko slik naj generira naenkrat (če vam dovoljuje VRAM).
Umetnost “Promptanja” (Prompt Engineering)
Učinkoviti prompti so ključ do dobrih rezultatov. Tukaj je nekaj nasvetov:
- Bodite specifični: Namesto “ženska”, raje “mlada ženska z dolgimi rjavimi lasmi, oblečena v rdečo obleko”.
- Uporabite ključne besede: Dodajte besede, ki opisujejo stil (npr.
photo-realistic,oil painting,anime style,cinematic lighting), kakovost (npr.masterpiece,best quality,8k,ultra detailed) in kompozicijo (npr.full shot,close-up,dramatic angle). - Uporabite oklepaje za poudarjanje:
(beseda): rahlo poveča poudarek.((beseda)): močneje poveča poudarek.[beseda]: rahlo zmanjša poudarek.
- Uporabite zarez za ločevanje: Posamezne elemente prompta ločite z vejicami.
- Negativni prompti so enako pomembni: Uporabite jih za odstranjevanje neželenih elementov. Pogosti negativni prompti so:
(deformed, ugly, disfigured), low quality, bad anatomy, bad hands, missing fingers, extra fingers, fewer fingers, cropped, out of frame, blurry, grainy, watermark, signature, text, jpeg artifacts, duplicate, monochrome, grayscale - Eksperimentirajte z vrstnim redom: Besede na začetku prompta imajo večji vpliv.
- Uporabite vplivne umetnike/stile: Poskusite dodati
by Greg Rutkowskialiin the style of Van Gogh.
Primer dobrega prompta:
masterpiece, best quality, ultra detailed, (photorealistic:1.2) portrait of a beautiful young woman with flowing red hair, wearing a gothic victorian dress, intricate lace, soft studio lighting, bokeh background, cinematic, Nikon D850Primer negativnega prompta:
(deformed, ugly, disfigured), low quality, bad anatomy, bad hands, missing fingers, extra fingers, fewer fingers, cropped, out of frame, blurry, grainy, watermark, signature, text, jpeg artifacts, duplicate, monochrome, grayscale, two heads, extra limbs, bad eyes
Napredne funkcije in razširitve
Modeli in Checkpoints
Poleg osnovnega modela (npr. SD 1.5 ali SDXL) obstaja na tisoče “finetuned” modelov, ki so bili trenirani na specifičnih podatkovnih zbirkah in so specializirani za določen stil ali vsebino (npr. anime, realizem, arhitektura). Modele prenesite iz Civitai ali Hugging Face in jih shranite v mapo stable-diffusion-webui/models/Stable-diffusion.
LORA (Low-Rank Adaptation of Large Language Models)
LORAe so majhne datoteke (običajno nekaj deset do nekaj sto MB), ki se “naložijo” na glavni model in ga prilagodijo za ustvarjanje specifičnih likov, oblačil, stilov ali konceptov. So izjemno uporabne za doslednost in natančnost. LORAe prenesete iz Civitai in jih shranite v mapo stable-diffusion-webui/models/Lora. V promptu jih aktivirate z <lora:ime_lore:teža>, npr. <lora:add_detail:0.8>.
ControlNet
ControlNet je revolucionarna razširitev, ki omogoča izjemno natančno kontrolo nad kompozicijo in pozo generirane slike. Uporabnik lahko naloži referenčno sliko, ControlNet pa iz nje izvleče informacije, kot so robovi (Canny), globina (Depth), poze človeških figur (OpenPose) ali normalne mape (Normal Map), in jih nato uporabi za vodenje generativnega procesa. To je ključno za ustvarjanje slik, ki so točno takšne, kot si jih zamislite.
Namestitev ControlNeta:
- V Web UI pojdite na zavihek Extensions.
- Kliknite na Install from URL.
- V polje “URL for extension’s git repository” vnesite:
https://github.com/Mikubill/sd-webui-controlnet.git - Kliknite Install.
- Po namestitvi pojdite na zavihek Installed in kliknite Apply and restart UI.
- Prenesite ControlNet modele: Najdete jih na Hugging Face. Shranite jih v mapo
stable-diffusion-webui/extensions/sd-webui-controlnet/models. Priporočamo, da za začetek prenesete vsajcontrol_v11p_sd15_canny.pthincontrol_v11p_sd15_openpose.pth.
Uporaba ControlNeta:
V zavihku txt2img se vam bo pod menijem za generiranje pojavil razdelek ControlNet. Razširite ga in:
- Naložite referenčno sliko.
- Izberite Enable.
- Izberite Preprocessor (npr. Canny, OpenPose) in ustrezen Model.
- Nastavite Control Weight (kako močno naj ControlNet vpliva na sliko).
- Kliknite Generate.
Img2Img (Image-to-Image)
Ta funkcija vam omogoča, da vzamete obstoječo sliko in jo na podlagi novega prompta spremenite. Ključna nastavitev je Denoising strength (moč odstranjevanja šuma).
- Nizka vrednost (0.2-0.4): Ohrani večino originalne slike, le doda manjše spremembe.
- Srednja vrednost (0.5-0.7): Radikalnejše spremembe, a še vedno prepoznavna originalna slika.
- Visoka vrednost (0.8-1.0): Popolna preobrazba, skoraj nova slika, le kompozicija je ohranjena.
Inpainting in Outpainting
Obe funkciji sta del zavihka img2img in sta ključni za urejanje slik:
- Inpainting: Z masko označite del slike, ki ga želite spremeniti, in nato s promptom opišete, kaj naj se tam pojavi. Odlično za odstranjevanje neželenih objektov ali dodajanje novih elementov.
- Outpainting: Razširitev slike preko njenih originalnih meja. Naložite sliko, izberete regijo, ki jo želite razširiti, in s promptom opišete, kaj naj se pojavi v novih delih. Zelo uporabno za ustvarjanje širših kompozicij.
Nasveti za optimizacijo in reševanje težav
- Spremljajte VRAM: Če se generiranje ustavi z napako “CUDA out of memory”, zmanjšajte velikost slike, zmanjšajte batch size ali dodajte
--medvram/--lowvramvwebui-user.bat. - Uporabite Hires. fix: Za boljše in ostrejše slike vedno uporabite Hires. fix, še posebej pri večjih ločljivostih.
- Eksperimentirajte: Spreminjajte sampling metode, CFG Scale in sampling steps. Vsaka kombinacija lahko da edinstvene rezultate.
- Uporabite A/B testiranje: Če niste prepričani, katera beseda v promptu dela bolje, ustvarite več slik z majhnimi spremembami in primerjajte rezultate.
- Bodite potrpežljivi: Generiranje slik je pogosto iterativen proces. Za dosego želenega rezultata je včasih potrebnih več poskusov.
- Preverite spletne vire: Spletne strani kot so Civitai in Reddit (r/StableDiffusion) so polne primerov promptov, modelov in nasvetov.
- Posodabljajte: Redno posodabljajte Automatic1111 Web UI z ukazom
git pullv mapistable-diffusion-webui.
Etika in odgovornost pri uporabi AI
Z močjo, ki jo prinaša Stable Diffusion, prihaja tudi odgovornost. Pomembno je zavedati se etičnih vidikov:
- Avtorske pravice: Pravo okoli avtorskih pravic generiranih slik je še vedno v razvoju. Bodite previdni pri komercialni uporabi slik, ki so bile generirane na podlagi stilov ali del obstoječih umetnikov.
- Zloraba: Ne uporabljajte AI za ustvarjanje škodljivih, žaljivih ali nezakonitih vsebin. Stability AI ima smernice za varno uporabo.
- Transparentnost: Razmislite o transparentnosti, ali je delo človeško ali AI generirano, še posebej v kontekstu novinarstva ali izobraževanja.
Zaključek
Stable Diffusion je neverjetno močno in prilagodljivo orodje, ki je demokratiziralo ustvarjanje digitalne umetnosti. Z razumevanjem osnov, prompt engineeringa in naprednih funkcij, kot so LORA in ControlNet, lahko ustvarite praktično karkoli si zamislite. Ne bojte se eksperimentirati, učiti se in deliti svoje stvaritve. Prihodnost vizualne umetnosti je zdaj dostopna vsakomur!
Ta vodnik je le izhodiščna točka. Svet Stable Diffusiona se nenehno razvija, zato ostanite radovedni in se nenehno učite novih tehnik in orodij. Srečno ustvarjanje!