Modele dyfuzyjne - jak tworzyć efektowne obrazy z generatywną SI

Blog. Immerse yourself in AI

Modele dyfuzyjne - jak tworzyć efektowne obrazy za pomocą generatywnej SI

Aleksandra

Aleksandra Osztynowicz
Ai Engineer
26. April 2023

Sztuczna  inteligencja (SI) staje się coraz bardziej popularna, ponieważ odgrywa znaczącą rolę w niemal każdym aspekcie naszego życia a trend ten jest zauważalny już od kilku lat. Dodatkowo w ostatnim czasie zainteresowanie sztuczną inteligencją znacząco wzrosło za sprawą nowej metody przekazywania poleceń dla SI – prompt engineeringu. Rewolucja zaszła zarówno w generowaniu tekstu (rozwiązania i modele takie jak ChatGPT, GPT-4) jak i obrazu (Stable Diffusion, DALL-E 2). Ten artykuł ma na celu przedstawienie najważniejszych informacji i praktycznych metod związanych z technikami generowania obrazów przy pomocy generative AI (modele dyfuzyjne). Wszystkie obrazy umieszczone w artykule zostały wygenerowanie z wykorzystaniem modeli Stable Diffusion, a polecenia tekstowe były podawane w języku angielskim.

Czym są modele dyfuzyjne? 

Modele dyfuzyjne są modelami generatywnymi co oznacza, że są trenowane w taki sposób, aby wygenerować obrazy możliwie jak najbardziej podobne do obrazów treningowych. Trening polega na dodaniu szumu gaussowskiego do danych a następnie nauce jak odzyskać dane w procesie odszumiania. W trakcie inferencji, model wykorzystuje szum losowy, aby wygenerować obraz wynikowy. 

Diffusion Models

Obraz wejściowy z losowym szumem i wynik wygenerowany przez model dyfuzyjny. 

Wykorzystując to narzędzie, jesteśmy w stanie stworzyć niemal nieskończoną ilość różnych obrazów bazując na poleceniu tekstowym. Istnieje wiele możliwości wykorzystania modeli dyfuzyjnych. Najbardziej znanym ich wykorzystaniem jest sztuka (głośny przykład modelu AI wygrywającego konkurs na najlepszy obraz), ale mogą być one wykorzystywane jako inspiracja i generowanie pierwszych szkiców dla grafików oraz do tworzenia grafik lub nawet wideo na cele reklamowe, ilustracje do książek, do generowania materiałów marketingowych czy tworzenia ilustracji do prezentacji biznesowych. 

 

Jak korzystać z modeli dyfuzyjnych? 

Modele dyfuzyjne generują obrazy bazując na otrzymanym tekście, dlatego kluczowym jest stworzenie poprawnego polecenia tekstowego (promptu), aby otrzymać pożądany efekt. Dobry prompt powinien składać się z trzech części: typu, tematu i stylu. 

  • Typ – określa rodzaj generowanego obrazu. Przykładowe typy to zdjęcie, plakat, ilustracja, obraz olejny, rysunek z użyciem ołówka, kreskówka 3D. Jeżeli typ nie jest sprecyzowany, obraz zostanie wygenerowany z typem domyślnym – obrazek. Poniżej przedstawiamy wyniki stworzone na podstawie polecenia: ,,Ludzie w parku”, korzystając z różnych typów.
  • Temat temat generowanego obrazu (najczęściej obiekt, który obraz ma przedstawiać), najważniejsza część polecenia. Modele dyfuzyjne były trenowane z wykorzystaniem milionów obrazów, więc nie powinny mieć problemu ze stworzeniem obrazu nawet ze specyficznym tematem. 
temat
  • Stylstyl obrazu. Ten komponent zawiera w sobie takie informacje jak typ oświetlenia, motyw, epokę czy styl artystyczny. Im więcej szczegółów na temat stylu tym lepiej. Przy precyzyjnym opisie modele dyfuzyjne są w stanie dokładnie zwizualizować ludzkie wyobrażenia. Jak wcześniej zostało wspomniane – rezultat jaki otrzymamy zależy przede wszystkim od polecenia. Przetestujmy to na przykładzie obrazu z wieżą Eiffla. 
Wieza Eiffla

A teraz wieża Eiffla z wykorzystaniem różnych stylów: 

Problemy związane z modelami dyfuzyjnymi 

Modele dyfuzyjne to potężne narzędzia, jednak nieidealne. Istnieją pewne ograniczenia, które należy wziąć pod uwagę, planując wykorzystanie ich we własnym rozwiązaniu. 

  • Zbyt długi temat – jeżeli temat w poleceniu jest zbyt długi, opisuje kilka różnych obiektów, model prawdopodobnie pominie kilka ostatnich obiektów. Najlepszym rozwiązaniem jest ograniczenie tematu do jednego lub dwóch obiektów, by mieć pewność, że te obiekty znajdą się na obrazie wygenerowanym przez model. Dodatkową metodą radzenia sobie z tym wyzwaniem jest umieszczanie najważniejszych detali na początku polecenia. 

Polecenie: ,,Obraz olejny przedstawiający piękny krajobraz ze stadem koni, małym domem w tle i wodospadem, słoneczny dzień, wesołe światło”

W obrazie wynikowym został pominięty dom, ale jeżeli zmienimy nieco kolejność w naszym poleceniu: ,,Obraz olejny przedstawiający piękny krajobraz z wodospadem, małym domem w tle I stadem koni, słoneczny dzień, wesołe światło” 

Tym razem model pominął konie w wygenerowanym obrazie.

  • Generowanie dziwnie wyglądających twarzy – w momencie pisania artykułu modele dyfuzyjne są zdolne do generowania realistycznie wyglądających twarzy, ale mają problemy z generowaniem kilku twarzy na jednym obrazie. 

Poniżej rezultat polecenia: ,,Zdjęcie mężczyzny z brodą i w okularach, bardzo szczegółowy, realistyczny, wysoka jakość” 

Ale gdy zwiększymy liczbę osób, twarze są zniekształcone: ,,Zdjęcie sześciu osób podczas spotkania służbowego, bardzo szczegółowy, realistyczny, wysoka jakość”

  • Łączenie dwóch obiektów w jeden – czasami, gdy polecenie zawiera dwa mniej popularne obiekty z tej samej grupy tematycznej (np. zwierzęta) modele dyfuzyjne generują ich połączenie zamiast dwóch oddzielnych obiektów.  

Obraz wygenerowany na podstawie polecenia: ,,Krowa i świnia” 

Obraz przedstawia dwa zwierzęta, ale wyglądają one bardziej jak hybryda krowy i świni. Ten problem zazwyczaj znika, gdy pracujemy z bardziej popularnymi obiektami: ,,Kot i pies” 

  • Generowanie tekstu na obrazieobecne modele dyfuzyjne mają także problem z generowaniem tekstu na obrazie. Wygenerowany obraz zwykle zawiera tekst, ale często jest on przekręcony lub dodane są dodatkowe słowa: 
a man in t-shirt with text HOME

Sposoby użycia modeli dyfuzyjnych 

  • Tekst na obraz – polega na generowaniu obrazów jedynie na podstawie tekstu (promptu). Wszystkie powyższe przykłady zostały stworzone właśnie z wykorzystaniem tego sposobu. Jest to najbardziej podstawowa forma użycia modeli dyfuzyjnych. 
  • Obraz na obraz – wykorzystuje obraz i polecenie tekstowe do wygenerowania kolejnego obrazu. Obiekt wejściowy jest bazą dla wyjściowego. Użytkownik może kontrolować stopień podobieństwa pomiędzy wejściowym a wyjściowym obrazem. Jednym z możliwych zastosowań tej metody jest edycja obrazu wejściowego: 

Może być także użyty do wygenerowania obrazu ze szkicu (rysunku):

Lub po prostu w celu wykorzystania palety kolorów z obrazu wejściowego: 

Lub po prostu w celu wykorzystania palety kolorów z obrazu wejściowego:

Dostrajanie modeli dyfuzyjnych 

Bardzo ważną cechą modeli dyfuzyjnych, z uwagi na wykorzystanie ich w scenariuszach biznesowych, jest możliwość ich dotrenowania na własnych danych. Po dostrojeniu użytkownik jest w stanie generować obrazy z własnymi spersonalizowanymi obiektami. Może być to np. osoba, zwierzę, produkt czy logo firmy. Ta właściwość jest kluczowa dla wielu aplikacji biznesowych, które polegają na generowaniu spersonalizowanych materiałów marketingowych czy sprzedażowych, zawierających produkty czy inne obiekty istotne dla danej firmy.  

 

W ramach szybkiej demonstracji, wygenerowaliśmy kilka obrazów dotrenowanych na jedynie trzech zdjęciach naszego logo:

Jak widać wyniki nie są idealne, ale model wychwycił główne cechy z zaledwie trzech obrazów. Wykorzystując więcej danych treningowych model dyfuzyjny ma potencjał, by tworzyć interesujące i efektowne materiały firmowe. 

Wnioski 

W tym artykule, przedstawiliśmy najważniejsze informacje na temat modeli dyfuzyjnych. Jak widzisz jest to potężne narzędzie, a jego głównym ograniczeniem jest nasza wyobraźnia. 

Obszar sztucznej inteligencji (SI) związany z modelami generatywnymi jest cały czas intensywnie rozwijany i prawdopodobnie w niedalekiej przyszłości problemy, które zostały wymienione w tekście, zostaną rozwiązane, co jeszcze zwiększy możliwości modeli dyfuzyjnych.  

Wykorzystaj modele dyfuzyjne w Twojej firmie

W theBlue.ai wykorzystujemy modele dyfuzyjne by tworzyć innowacyjne rozwiązania dla biznesu i innych branż. Nasz zespół ekspertów nieustannie szuka nowych rozwiązań i wdraża je, by zmaksymalizować potencjał tej technologii w projektach dla naszych Klientów. Wierzymy, że modele dyfuzyjne mają szansę zrewolucjonizować sposób, w jaki działają przedsiębiorstwa i cieszymy się, że możemy być na czele tego szybko rozwijającego się obszaru. 

Jeśli jestes zainteresowany zbadaniem potencjału modeli dyfuzyjnych dla Twojego biznesu, skontaktuj się z nami. Nasz zespół ekspertów z chęcią pomoże Ci stworzyć efektywne rozwiązania korzystające z tej technologii lub wdrożyć szybkie proof of concept, dla udowodnienia jej wartości dla Twojego produktu lub firmy.