Kontakt :

Tel: +48 519 323 891
Mail:
info@fotokrr.pl
krrgrafika@gmail.com

Menu :
Przykłady :
Sprzęt i inne :
Galerie :
Zapraszam na :

Stable Diffusion AI - Grafika z tekstu

W tekście tym chciał bym pobieżnie opisać czym jest Stable Diffusion, oraz omówić główne pojęcia z tym związane. Artykuł napisałem w połowie marca 2024 i opisuje stan na początek 2024 roku.
Rozpocznijmy od definicji Stable Diffusion . W skróconej formie Stable Diffusion można opisać jako model głębokiego uczenia, który potrafi tworzyć obrazy na podstawie tekstu (promptu). Obrazy powstają w oparciu o losowy szum.
Nie chce się skupiać na technice gdyż nie będę udawał, że tak do końca ją rozumiem, ale na tworzeniu grafik. Idea tworzenia obrazów z szumu może brzmieć dla fotografa jak herezja. Jednak istotne jest, że to działa – i to działa dobrze

Stable Diffusion - Grafika z tekstu.

Wymagania sprzętowe

Jednym z głównych atutów Stable Diffusion jest to, że działa na lokalnym komputerze. Nie trzeba polegać na zewnętrznych serwerach czy chmurze. Oznacza to większą kontrolę nad procesem generowania grafiki oraz brak konieczności przesyłania danych przez Internet.
Wiąże się to jednak z koniecznością posiadania pewnych zasobów sprzętowych.

1. Karta graficzna. Stable Diffusion korzysta z VRAM-u i CUDA. Dlatego niezbędna jest karta graficzna GeForce RTX. Im mocniejsza karta, tym lepiej. Rozsądne minimum to 8 GB VRAM na karcie.
Da się wprawdzie zmusić Stable Diffusion, aby generowało grafiki przy pomocy CPU, ale nie polecam, odbywa się to kosztem jakości obrazka i trwa strasznie długo. Można się zniechęcić. 
Innym rozwiązaniem w przypadku baraku odpowiedniej karty graficznej są rozwiązania chmurowe typu google-colab. Jednak to rozwiązanie ma swoje ograniczania. Tak jak wyżej napisałem jedną z głównych zalet Stable Diffusion jest praca na lokalnym komputerze, wysyłanie grafik do chmury jest zaprzeczeniem tej zalecie. Ponadto usługi chmurowe często są płatne lub dostępie bezpłatnie w ograniczonym zakresie. Praca w chmurze ze Stable Diffusion na dłuższą metę nie ma moim zdaniem sensu.

2. Miejsce na dysku. Stable Diffusion potrzebuje sporo przestrzeni dyskowej, 200 GB to minimum, a docelowo należało by poświęcić nawet 500 GB. Dla komfortu pracy wskazane było aby instalację dokonać na szybkim dysku SSD.

Stable Diffusion - Grafika z tekstu.

Jak rozpocząć - instalacja.

Aby instalacja przebiegła szybko i bezproblemowo, polecam zainstalowanie przeglądarki AI np. Pinokio, lub menadżera pakietów (środowiska uruchomieniowego) dla Stable Diffusion Stability Martix. Dzięki tym narzędziom instalacja Stable Diffusion odbywa się praktycznie jednym kliknięciem.
Bardziej do gustu przypadł mi Pinokio, głównie ze względu na łatwy dostęp do innych produktów AI, jednak w żadnym wypadku nie twierdzę, że Stability Matrix jest gorsze. Nie będę opisywał instalacji gdyż w sieci jest sporo dobrych poradników.
Linki do tych narzędzi znajdują się na dole strony. 

Stable Diffusion wybór interfejsu

Gdy zainstalowane jest już Pinokio lub Stability Matrix, należy zainstalować interfejs na którym będziemy pracować.

Przygodę ze Stable Diffusion polecam rozpocząć z
Fooocus, ten interfejs pozwala skupić się mniej na technicznych aspektach, a bardziej na tworzeniu grafiki. Możliwości konfiguracyjne Fooocus są duże, ale technika nie są tutaj na pierwszym planie. Fooocus obsługuje tylko wersję XL Stable Diffusion

Sugeruję zainstalować również Automatic1111. Ten interfejs jest trochę starszy i trochę bardziej techniczny niż niż Fooocus, można na nim zainstalować na nim starsze modele Stable Diffusion, co niekiedy bywa przydatne. Na youtybe bardzo wiele poradników opartych na pracy z Automatic1111.

Proponuję również zainstalować ComfyUI. Ten interfejs jest już bardzo techniczny, opiera się na nodach. Jeśli ktoś miał do czynienia z Davinci Resolve lub Blenerem to sama idea nod-ów nie powinna być obca. ConfyUI obsługuje każdy z modeli Stable Diffusion łącznie z najnowszym Stable Cascade.
Ten interfejs może być przydatny gdy chcemy użyć Stable Diffusion do jakiś mniej typowych zastosowań lub zautomatyzować generowanie grafik. W sieci strony z których można pobrać gotowe szablony (Workflow) dla ConfyUI

Stable Diffusion - Grafika z tekstu.

Prompt - pozytywny

Podstawą w procesie generowania grafiki przy pomocy AI jest prompt. Prompt jest to tekstowe polecenie dla algorytmu w którym opisujemy co chcemy zobaczyć.
Generowanie grafiki za pomocą Stable Diffusion jest zarówno szybkie, jak i proste, ale tylko wtedy gdy celem jest stworzenie obrazu o wysokim poziomie ogólności. Na przykład, wprowadzenie promptu “beautiful woman” w (Stable Diffusion akceptuje tylko język angielski) spowoduje wygenerowanie grafiki przedstawiającej losową kobietę. Taki obraz może przedstawiać kobietę w różnym wieku, o różnym wyglądzie, w różnorodnym stroju i na różnorodnym tle itd. Czyli dostaniemy to o co prosiliśmy, piękną kobietę, pozostałe elementy grafiki będą losowe.
Jednakże, jeśli naszym celem jest stworzenie bardziej spersonalizowanego obrazu, na przykład kobiety w określonym wieku, o specyficznym typie urody, z określonym kolorem włosów, znajdującej się w pomieszczeniu urządzonym w konkretnym stylu, z określonymi przedmiotami, to proces tworzenia prompt-u staje się bardziej złożony. W takim przypadku, zaczynam od napisania bardziej ogólnego promptu, stopniowo dodając do niego więcej szczegółów i sprawdzając po wprowadzeniu zmian, czy wygenerowane obrazy spełniają moje oczekiwania.

Bardzo istotny jest parametr Guidance Scale (występujący też pod nazwą CFG) . Wartość tego parametru wpływa na to, jak bardzo generowany obraz będzie odpowiadał wprowadzonemu prompt-owi. Upraszczając parametr ten można nazwać siłą prompt-u. Im wyższa wartość parametru, tym większa zgodność obrazu z prompt-em. Przy wysokich wartościach odbywa się to jednak kosztem jakości i kreatywności grafiki.

Pisanie skutecznych promptów dla Stable Diffusion wymaga praktyki. Nie jest to zadanie trudne, ale najlepiej jest doskonalić tę umiejętność samodzielnie. Więcej informacji na temat tworzenia promptów znajdziesz w podręczniku, do którego link znajduje się na dole strony.

Stable Diffusion - Grafika z tekstu.

Prompt negatywny

Podczas generowania grafiki za pomocą Stable Diffusion, oprócz prompt-ów pozytywnych, które opisują pożądane elementy, istotną rolę odgrywają także prompt-y negatywne. Te ostatnie służą do określenia elementów, których nie chcemy widzieć na grafice. Chociaż ich użycie nie jest obowiązkowe, to jednak mogą one znacząco wpłynąć na końcowy wygląd obrazu.
Dla różnych rodzajów grafik warto jest przygotować ogólny prompt negatywny, który będzie służył jako baza. Następnie, w zależności od potrzeb, można do niego dodawać lub odejmować istotne elementy. Zależnie od używanego modelu Stable Diffusion w prompt-ach negatywnych zazwyczaj umieszcza się uwagi ogólne (np. zaprzeczenia: worst quality, low quality, normal quality, lowres, low details, bad
anatomy ),
  lub wyklucza często spotykane wady (typu: bad proportions, fused fingers, too many fingers, long neck)

Stable Diffusion - Checkpoint

Po zainstalowaniu Stable Diffusion i UI mamy zazwyczaj do dyspozycji „fabrycznie” zainstalowane chckpointy. Chceckpoint jest to plik (ogromny w przypadku modelu XL ponad 6 GB) zawierający stan modelu sztucznej inteligencji w danym momencie jego treningu, czyli jak nazwa wskazuje punkt kontrolny (chceckpoint).
W praktyce oznacza to, że checkpoint może być wytrenowany np. w architekturze, ale z portretami będzie sobie radził sobie gorzej. Do portretów będziemy musieli ściągnąć inny checkpoint.
Wraz z instalacją Fooocus, standardowo dostępny jest checkpoint JuggernautXL, który jest wszechstronnym modelem nadającym się do różnorodnych rodzajów grafiki i jest naprawdę dobry. Jednak w jakiś bardziej specjalistycznych grafikach nie jest wybitny, są lepsze. Jeśli chcemy skupić się na generowaniu portretów lub grafik fantasy to wskazane było by pobrać wytrenowany właśnie w tym zakresie Chceckpoint.

Opcjonalnie możemy używać Refiner– a, jest do dodatkowy Checkpoint (moduł) służący do poprawy jakości obrazka. Refiner może również wpłynąć na styl grafiki. Na przykład, jeśli stworzymy grafikę fantasy za pomocą checkpointu DreamshaperXL i chcemy, aby była bardziej foto- realistyczna, możemy użyć checkpointu JuggernautXL (lub innego lepszego w foto-realizmie) jako refiner-a.
Warto zauważyć, że użycie Refinera może zbliżyć nas do oczekiwanego rezultatu, ale również może negatywnie wpłynąć na grafikę. Jeśli checkpoint bazowy dobrze radził sobie z pewnymi elementami, nie gwarantuje to, że Refiner poradzi sobie równie dobrze. Należy to przetestować w praktyce. Jeśli chcemy zmodyfikować wygląd grafiki lepszym rozwiązaniem  w większości wypadków jest użycie LORA.

Warto zauważyć, że jeśli używamy modelu XL, jako refiner-a można użyć checkpointu pochodzącego ze starszego modelu
Stable Diffusion 1.5.  Jest to o tyle istotne, że checkpointów do starszej wersji jest sporo i niektóre są unikatowe i ciekawe.

Stable Diffusion - Grafika z tekstu.

Stable Diffusion - Lora

Istnieje inna, lepsza metoda pozwalająca na zmianę charakteru grafik. Są to Lora. Lora jest to forma dodatku lub modyfikatora dla modelu, który umożliwia uzyskanie określonego stylu lub skupienie się na wybranych elementach w promet-cie.
Możliwe jest stosowanie więcej niż jednej Lora, a także regulowanie intensywności jej wpływu na grafikę. Dzięki temu można precyzyjnie dostosować obraz do swoich potrzeb.
Kombinacja checkpoint-u i dobrze dobranych Lora może przynieść interesujące i unikatowe rezultaty. Jest to szczególnie przydatne, gdy chcemy nadać grafice indywidualny charakter lub gdy zależy nam na określonym stylu wizualnym.

Stable Diffusion - Grafika z tekstu.

Ograniczenia

Technologie AI, takie jak Stable Diffusion, mają jak na razie swoje ograniczenia. Jeśli potrzebujemy grafiki o pewnym poziomie ogólności Stable Diffusion poradzi sobie bez problemu. Jednakże, generowanie konkretnych obiektów – produktów lub miejsc, gdzie istotne są szczegóły, może być problematyczne.
W takich przypadkach, zamiast polegać wyłącznie na AI, możemy wykorzystać „klasyczne” zdjęcia jako bazę i użyć Stable Diffusion do dodania aranżacji lub szczegółów lokalizacji. Efekty takiego połączenia są zazwyczaj dużo lepsze niż wypełnienie generatywne dostępne w Adobe Photoshop. Zaznaczyć jednak muszę, że praca na Web UI Stable Diffusion nie jest tak wygodna i intuicyjna jak w Photoshopie.

Pomimo użycia prompt-ów negatywnych, wygenerowane grafiki często zawierają błędy i niedoskonałości. W praktyce, jeśli wygenerowana grafika osiąga 60 – 70% zamierzonego efektu, uznaje to za sukces. Pozostałe 10 – 15% można dopracować w Adobe Photoshop. Brakujące procenty to niestety ograniczenia technologii.
„Świeżo” wygenerowaną grafikę traktuję jako półprodukt, podobny do zdjęcia w formacie RAW, które wymaga dalszej obróbki, aby osiągnąć pożądany efekt końcowy.

Retusz zdjęć portretowych, wygenerowane w Stable Diffusion, zdjęcie po retuszu.

Najważniejsze zagadnienia o jakich nie napisałem

Tak jak na wstępnie napisałem, tekst jest skrócona prezentacją zagadnień związanych ze Stable Diffusion. Skupiłem się tutaj na jednym z trybów pracy czyli text to image.
Oprócz text to image istnieje jeszcze tryby:
Image to image, który pozwala na wygenerowanie nowego obrazu na podstawie wczytanego zdjęcia lub grafiki. Można używać przy tym prompt-ów i modyfikatorów.
Inpaint – który pozwala na wypełnienie – zamianę zaznaczonego obszaru grafiki
Outpaint – który służy do rozszerzania i wypełniania grafik poza ich pierwotne granice.

Nie napisałem również o seed -ach. Seed w Stable Diffusion jest liczbą która inicjuje proces generowania obrazu, upraszczając jest numer wersji obrazu. Używając tego samego seed-a z tym samym prompt-em i innymi ustawieniach uzyskamy taki sam obraz. Jest to przydatne jeśli w niewielki sposób chcemy zmodyfikować odpowiadającą nam grafikę.

Stable Diffusion - Grafika z tekstu.

Przyszłość i kontrowersje

Wiele osób wyraża niechęć do obrazów generowanych przez AI. Trochę mi to przypomina dyskusję sprzed kilu lat o fotografii mobilnej i o tym czy smartfony mogą zastąpić lustrzanki. Wówczas wnioski były jasne: oczekiwania wobec fotografii decydują o wyborze narzędzia. Dla jakości i plastyki obrazu niezbędne są duże (fizycznie) matryce i zaawansowana optyka. Smartfony pomimo że fotograficznie coraz lepsze nie są wstanie tego zapewnić bez jakiegoś przełomu technologicznego, którego kila lat temu nie było widać.

AI może być właśnie tym przełomem. Jest kwestią czasu, aż jakaś firma dopracuje i umieści już istniejące już technologie w zgrabnym kompaktowym urządzeniu. Po uruchomieniu „migawki”, AI przeanalizuje i opiszę scenę (działająca namiastka dostępna jest w najnowszym Fooocus) i wygeneruje zdjęcie w stylu foto-realistycznym lub jakimikolwiek innym. Nie będzie potrzebna do tego duża matryca ani wymyślny obiektyw.
Problem mocy obliczeniowej niezbędnej do generowania zdjęć może być rozwiązany przez generowanie ich na podstawie promptu stworzonego przez AI, po automatycznym przesłaniu materiału do komputera lub chmury. Typowa dla smartfona matryca i obiektyw mogą służyć jako dopełnienie dla promptu.

Stable Diffusion kontrowersje prawne

Nie jestem prawnikiem, więc nie będę za wiele na ten temat pisał. Ogólnie największe kontrowersje dotyczą tego, że modele Stable Diffusion są „szkolone” na zbiorach fotografii które są objęte prawami autorskimi. W związku z czym wygenerowane grafiki mogą naruszać czyjeś prawa autorskie.
W ramach testu proponuję, utworzyć grafikę na podstawie bardzo ogólnego jednozdaniowego prompt-u mającego wygenerować fotografię popularnej atrakcji turystycznej którą dobrze znamy. Na podstawie wygenerowanej grafiki samemu proszę wyrobić sobie zdanie na ten temat. Wnioski jakie wyciągniemy z tego testu nie będą miały znaczenia dla rozstrzygnięć prawnych.
W każdym razie należy pamiętać, że istnieją niejasności w tym zakresie.

Stable Diffusion - Grafika z tekstu.

Podsumowanie

Stable Diffusion oraz inne systemy AI do generowania grafiki stanowią przyszłość i przełomową technologię, która niezależnie od opinii, rewolucjonizuje świat grafiki i fotografii. W niedalekiej przyszłości, fotografia cyfrowa może stać się tym, czym dzisiaj jest fotografia analogowa.
Opór wobec AI w dziedzinie grafiki jest nieuzasadniony. Osoby posiadające wiedzę i doświadczenie w grafice czy fotografii powinny postrzegać te technologie jako narzędzie, a nie zagrożenie. Pojęcia takie jak kompozycja, głębia ostrości, światło i cienie są i będą nadal kluczowe w procesie tworzenia grafik, nawet przy wykorzystaniu AI. Próg wejścia do świata grafiki i fotografii się nie zmieni, acz świat się zmieni.

Stable Diffusion - Grafika z tekstu.

Linki:

Stability AI – twórcy Stable Diffusion.
Pinokio – przeglądarka AI.
Stability Matrix – warte polecenia środowisko dla Stable Diffusion.
Prompt Book – trochę stary, ale dobrze opisuje podstawy.
CivitAI – największy zbiór checkpoint-ów, Lora, grafik z prompt-ami.
ConfyUI workflows – gotowe „szablony” dla ConfyUI

Jeśli jesteście Państwo zainteresowani zapraszam do obejrzenia przykładów, zapoznania się z zasadami współpracy i składania zleceńWięcej przykładowych zdjęć znajduje się tutaj oraz w moim portfolio.

www.fotokrr.pl – Retusz i Szparowanie zdjęć. Tel. +48 519 323 891 mail: info@fotokrr.pl , krrgrafika@gmail.com    Z A P R A S Z A M