W dzisiejszych czasach możliwości sieci neuronowych już nikogo nie dziwią. Te są w stanie stworzyć niemal każdy obraz, często nie do odróżnienia od zwykłych fotografii. Jednak te są w większość przypadków dostępne jako usługi online, które często wymagają dodatkowych płatności i lub mają pewne ograniczenia. Dobrym przykładem takiej usługi jest Midjourney, która co raz częściej nie jest dostępna za darmo.
Spis treści
Wyobraź sobie jednak, że istnieje całkowicie darmowa i otwarta sieć neuronowa, którą możesz zainstalować na swoim komputerze osobistym. Brzmi nie realnie, ale to prawda! Oprogramowanie takie już istnieje i nazywa się Stable Diffusion. Jednak to nie jedyne zalety rozwiązania Stability.Ai.
Co wyróżnia stabilną dyfuzję na tle podobnych sieci neuronowych?
Na początek jest to wspomniana dystrybucja open source na licencji Creative ML OpenRail-M. Możesz uruchomić Stable Diffusion na własnym komputerze zamiast przez chmurę. Licencja Creative ML OpenRAIL-M oznacza, że to użytkownik jest właścicielem praw do wygenerowanych przez siebie obrazów wyjściowych i może je swobodnie wykorzystywać komercyjnie.
Dzięki temu, że Stable Diffusion zostało stworzone jako program open source, zarówno wstępnie wytrenowane modele, jak i sam silnik generowania obrazu mogą być modyfikowane przez użytkownika w dowolnej ilości. Oznacza to, że liczba dodatków, pluginów, modyfikacji silnika, modeli będzie stale rosła wraz ze zwiększającą się popularnością oprogramowania. Nic nie stoi na przeszkodzie, o ile posiadamy takie umiejętności, by samodzielnie wprowadzić dowolną zmianę w kodzie, by uzyskać potrzebną funkcjonalność.
Dodatkowo sami możemy wytrenować własny model, na podstawie odpowiednich danych źródłowych by ten generował potrzebne nam obrazy w dowolnym stylu i kompozycji wizualnej.
Stable Diffusion nie jest idealne ?
Wypuszczenie Stable Diffusion wywołało niepokój wśród wielu osób, które obawiają się jego wpływu na kulturę i gospodarkę. W przeciwieństwie do DALL-E 2, czy Midjourney dane treningowe Stable Diffusion są dostępne dla każdego użytkownika bez żadnych sztywnych ograniczeń.
I choć Stable Diffusion domyślnie zawiera automatyczne filtry „NSFW” (Not Safe For Work – skrót oznaczający, że coś nie powinno być oglądane w pracy/szkole/miejscu publicznym) i niewidoczny śledzący znak wodny osadzony w metadanych obrazu. To są ograniczenia, które w łatwy sposób można ominąć, zwłaszcza w oprogramowaniu typu open source. Oznacza to, że program może być używany do tworzenia obrazów, które OpenAI powinno blokować m.in: propagandy, obrazów przedstawiających przemoc, pornografię, obrazów naruszających prawa autorskie, podróbek i wiele innych.
Co prawda licencja Stable Diffusion oficjalnie zabrania wielu z tych aplikacji, jednak wyegzekwowanie zastosowania się do warunków jest prawie niemożliwe do wdrożenia w praktyce.
Ponadto Stable Diffusion trenuje na bazie milionów dzieł sztuki zebranych przez Internet. Wiele z nich zostało stworzonych przez żyjących artystów i użyte bez proszenia o zgodę. Rodzi to ważne pytania dotyczące praw autorskich. Pod naciskiem zewnętrznym, twórcy AI umożliwią usunięcie dzieł z bazy treningowej Stable Diffusion. Jednak zmiana ta nastąpi dopiero w trzeciej odsłonie tej sieci neuronowej. Konieczne będzie również zarejestrowanie się na specjalnie stronie i wyszukanie obrazu, który ma zostać usunięty.
Jak działa Stable Diffusion
Proces tworzenia obrazu w Stable Diffusion polega na trzech krokach. Pierwszym etapem jest przetworzenie naszego zapytania przez koder tekstu. To specjalny model transformatora językowego bazujący na rozwiązaniu CLIP opracowany przez Open.AI (twórcy popularnego ChatGPT). Tekstowe dane wejściowe są przetwarzane na zapis cyfrowy, który zestaw liczb opisuje każde słowo z osobna.
Informacje następnie trafiają do generatora obrazu. To tutaj jest zawarta cała się neuronowa UNet i algorytm planowania. Również ten etap odpowiada za generowanie informacje o obrazie. Ostatnim etapem jest dekodowanie obrazu, czyli proces odszumiania, o którym wspomniałem już wcześniej.
Możliwości Stable Diffusion
Stable Diffusion składa się z dwóch głównych komponentów: wytrenowanej sieci neuronowej oraz interfejsu przeznaczonego do interakcji z nią. I choć główną podkreślaną funkcją oprogramowania jest generowanie obrazu na podstawie wpisanego tekstu, nie są to jedyne dostępne funkcje.
Do dyspozycji otrzymujemy następujące opcje:
- Generowanie obrazu w stylu różnych artystów. Społeczność opracowuje już osobne odmiany sieci neuronowej różniące się stylem, na przykład taka, która “maluje” w stylu Leonardo da Vinci
- Zastępować obiekty na obrazach i rysować tła. Korzystając z funkcji Inpainting, sieć neuronowa zastępuje dowolny obiekt tym, który sama generuje. A funkcja Outpainting pozwala dokończyć gotowy obraz i wygenerować wokół niego tło
- Rysować na bazie szkicu. Stable Diffusion może dodawać szczegóły i tło do szkicu. Możesz dzięki temu zamienić rysunki swoich dzieci w realistyczne prace.
- Generować obiekty i lokalizacje dla gier wideo. Integracja sieci neuronowej z silnikiem Unreal Engine pozwala na szybie tworzenie przedmiotów w grze zgodnie z opisem i umieszczanie ich w przestrzeni.
- Tworzyć projekty animowane. Za pomocą sieci neuronowej możesz tworzyć animacje poklatkowe czy łączyć zdjęcia w filmy
Generowanie obrazu
Podobnie jak w przypadku Midjourney, aby wygenerować obrazy za pomocą Stable Diffusion, wystarczy wpisać jego opis tekstowy w języku angielskim. Jednak to nie wszystko i natrafimy na pewne niuanse. Dotyczą on przede wszystkim ustawień w interfejsie graficznym (Web UI) programu.
Określ żądaną rozdzielczość obrazu w ustawieniach, domyślna wartość to 512×512 pikseli. Wyższa rozdzielczość spowoduje zwieszone obciążenie dla karty graficznej. Dlatego radzę zostawić standardowe 512×512 bądź 512 x 768 (dla proporcji 2:3 stosowanej w fotografii) pikseli. Pamiętajmy, że zawsze później będziemy mogli w razie potrzeby wykorzystać AI do przeskalowania obrazu.
Określ liczbę kroków do wygenerowania obrazu (Sampling steps). Im większa ich liczba, tym lepszy będzie finalny obraz, ale i więcej czasu zajmie jego stworzenie. Niektóre fotorealistyczne grafiki wymagają 100 inne dadzą zadowalający efekt już po 30 krokach.
Ustaw stopień swobody AI (CFG Scale). Parametr ten odpowiada za “kreatywność” AI. Im wyższy, tym mniej swobodnie sieć neuronowa będzie interpretować opis tekstowy obrazu – „domyślać się” brakujących elementów itp. Zaleca się ustawienie tego parametru na 7-8.
Jeśli mówimy o zasadach tworzenia tekstowego opisu obrazu, to niewiele różnią się one od tych z Midjourney. Ten powinien być również jak najbardziej kompletny i konkretny. Pamiętaj jednak, że Stable Diffusion widzi tylko pierwsze 75 słów opisu. Dla obrazu wysokiej jakości wystarczy wpisać słowa typu high quality bądź 8k. Pamiętaj, że waga słów zależy od ich umiejscowienia: im bliżej początku opisu tym słowo będzie traktowane priorytetowo.
Modele, swoboda w generowaniu obrazów
Choć dostępny jest podstawowy model językowy udostępniony przez twórców Stable Diffusion, nie jesteśmy zmuszeni z niego korzystać. W sieci obecnie udostępnionych jest już setki jak nie tysiące gotowych checkpointów (tak nazywane są modele dla SD). Możliwości jest naprawdę wiele. Od specjalnie wytrenowanych, by tworzyć obrazy niczym z oryginalnego japońskiego Anime, czy prace przypominające wizualizacje najlepszych architektów, czy mistrzów wzornictwa przemysłowego. Pamiętaj tylko by sprawdzić, na jakiej licencji udostępniany jest dany checkpoint i jakie prace możesz nim wykonać. W celu poszukiwań idealnie dopasowanych rozwiązań do waszych potrzeb polecę stronę civitai.com.
Stable Diffusion to świetna alternatywa dla uznanego Midjourney. W przeciwieństwie do niego jest całkowicie darmowy i może działać na twoim komputerze. Dużą zaletą może być brak cenzury czy ograniczeń ze strony silnika. To prawda, że proces konfigurowania programu jest nieco bardziej skomplikowany, dlatego przygotowałem osobny poradnik jak przeprowadzić całą instalację. Pamiętaj również że uzyskane wyniki w dużym stopniu zależą od wybranego modelu.