Portret malowany AI. Jak tworzyć obrazy w MidJourney?

data: 13 marca, 2023
czas czytania: 4 min
autor: Robert Olszewski

Inspiracją do powstania artykułu było spotkanie grudniowe w Future Processing, podczas którego tradycyjnie pracownicy wręczają symboliczny prezent dla Zarządu. W 2022 roku nasz zespół Designu postanowił wykorzystać do tego narzędzie MidJourney.


W treści będą pojawiać się następujące osoby z FPowego Zarządu: Tomasz Ciapała aka „Ciapak”, Michał Sztanga aka „Zdzichu”, Paweł Pustelnik oraz Mikołaj Gwóźdź. 
 
W artykule Robert Olszewski, autor filmu, zdradzi Wam, na co zwrócić uwagę przy kupowaniu licencji, a także pokaże możliwości programu. Nasz Senior Graphic Desinger podpowie jak tworzyć komendy oraz jakich opcji możecie użyć.

Rozmowę przeprowadziła: Marta Papiernik, Internal Communication Specialist.

Zacznijmy od tego, jak powszechnie są postrzegane narzędzia z obszaru AI. Dla laika to zadanie może wydać się wręcz banalne. Wpisujesz kilka słów kluczowych, bach i gotowe!  

Może tak, gdyby się dokładnie przestudiowało olbrzymią instrukcję, którą stworzyło MidJourney… Ja poznałem ją w części, by poznać podstawowe komendy i możliwości, ale rozumienie, jak w zasadzie działa ten program, przyszło metodą prób i błędów.  

Zacząłem od tłumaczeń imion i nazwisk Zarządu. Wybierając ciąg skojarzeń z filmu wpisałem na przykład taką komendę:  

Michael Barbell sitting in an old car with lots of friends.  

Rezultat nie był specjalnie oszałamiający. Jakbym był widzem, to czułbym się zawiedziony: 

Okazało się, że generowanie tych obrazów to pewien proces, na który składa się formułowanie komend w pewnej strukturze, stosując czasem dokładniejsze sformułowania, np. określając co ma być głównym elementem obrazu, a co w tle. Stopniowo dawałem coraz bardziej precyzyjne komendy, więc finalnie przypominały opis rzeczywistości bogaty jak u Orzeszkowej w „Nad Niemnem”. 

Wygląda na to, że jesteśmy świadkami powstania nowej profesji, kogoś w rodzaju AI Artist.  
 
* MidJourney ma swoją instrukcję, która uczy odpowiedniego sterowania programem, by mieć większą kontrolę nad wyglądem grafik. Bardziej zainteresowanych odsyłam do instrukcji: User Manual – Midjourney Documentation. 

Nim zaczniemy się bawić programem zdradź nam coś, co może wielu interesować: jak wygląda kwestia płatności? 

Płacisz za tzw. roboczogodziny, jakie MidJourney poświęca na generowanie obrazu. Im trudniejsza grafika, tym więcej roboczogodzin pochłania. Sama nauka skonsumowała mi ich około 225. 

Oczywiście kupiliśmy licencję, ale jak to z nimi bywa, trzeba je kupować rozważnie i powoli czytać wszystkie kruczki, podobnie jak przy usługach chmurowychDowiedzieliśmy się, że dopiero w średniej licencji MidJourney ma bezcenny tryb relax, który w ogóle nie konsumuje kredytów (roboczogodzin), ale też pochłania więcej czasu, więc trzeba dłużej czekać na rezultat. Niestety licencja odnawia się co miesiąc, a koszt średniej licencji jest wysoki. Na domiar złego, gdy anulujesz odnawianie, to mimo pozostałych nadwyżek roboczogodzin – nie masz już możliwości korzystania z MidJourney. Uczulam na to.  

Tryb relax w średniej licencji to game changer. Można wtedy bawić się koncepcjami i uczyć bez stresu, tworzyć sobie szkice, poszukać koncepcji czy punktów wyjścia, a potem użyć kredytów, by wyprodukować grafikę w dobrej jakości. Radzę więc wszystkim, którzy chcą się pobawić tym programem na własną rękę, by zakupić sobie średnią licencję albo skorzystać z darmowego dema, który jednak oferuje jedynie 25 roboczogodzin.   

Opowiedz więcej o tym, jak tworzyć precyzyjne komendy i tym samym osiągać efekty, jakie widzieliśmy na filmie? 

Po pierwsze musisz dokładnie określić, jakie elementy mają się składać na tę grafikę. Standardowy input wpisuje się, stosując przecinki. Ja zacząłem stosować nawiasy kwadratowe i plusy. Nie dokopałem się tego w instrukcji, ale zauważyłem, że inni tak robią. Osiągałem dzięki temu zdecydowanie lepsze rezultaty, bo dzieliłem w ten sposób obraz na sekcje kontekstowe.  

Jako przykład weźmy obraz z Lemurem:  

/imagine [yellow lemur sitting next to bread] + [himalaian mountains] + [ferris wheel] –q 2 –ar 16:9 

Po inpucie MidJourneyzaproponuje nam 4 propozycje, z której możemy wybrać jedną z nich i:  

  • wygenerować kolejne 4 na podstawie wybranej,   
  • lub możemy zdecydować się na jedną konkretną wersję i użyć opcji upscale, aby ją otrzymać w lepszej jakości. 

W MidJourney również dostępny jest tryb remix, dzięki któremu możesz np. dodać lemurowi okulary. Program jednak nie zawsze dobrze ustali położenie tych okularów i zamiast na lemurze wyląduje to gdzieś indziej. 

Powyżej wybrana wersja 4 po upscale‘u. Teraz możemy użyć ostatecznego wykończenia prosząc MidJourney o remaster, by otrzymać obraz poniżej.

Jak widać powyżej funkcja remaster nadaje zdecydowanie większego realizmu i eliminuje sporo zniekształceń. Jest to już wersja w wysokiej rozdzielczości i nadal w trybie relax. W ten sposób otrzymaliśmy obraz całkowicie bez konsumowania roboczogodzin.  
 
* Dodatkowe parametry tutaj to: 

–q2 do wyboru mamy q1, q2, q3, q4 – to jest coś w stylu jakości – definiujesz w ten sposób ilość roboczogodzin poświęcanych na generowanie obrazu. q2 oznacza 2x więcej roboczogodzin niż standardowa operacja 

–ar 16:9 to proporcje obrazu, bez określenia tego rezultaty otrzymamy w kwadracie. Jak już wspominałem, MidJourney nie “dosztukuje” nic do istniejącego już zdjęcia, ale pomóc może Dall-E .

A jak określałeś styl, kolory, ogólny wygląd grafik? 

To kolejna kwestia. Możesz manipulować wyglądem wszystkich elementów: 

  • możesz określić jakie ma być światło (np. studyjne, plan filmowy, miękkie, twarde, nocne);  
  • możesz też zadać stylistykę nawiązując do znanych produkcji lub artystów. W tym celu na końcu komendy po przecinku (albo po plusie) dopisujesz: „Van Gogh”, „Picasso” albo „Naruto”, albo „Ghost in the Shell”.   
  • można dać coś trochę mniej precyzyjnego, sam styl malarski: „watercolor” i będzie to akwarela.  
  • określić można też rodzaj renderów: hiperrealistyczna fotografia czy tak zwany „octane render” (czyli z zawarciem realizmu ilustracyjnego, bogatego w szczegóły).  

Wiele zależy od wsadu i Twojej wyobraźni:  

Mikołaj Gwóźdź podczas pierwszych prób. 
Zastosowany octane render daje taki oto ciekawy styl – nieco mroczny i bogaty w szczegóły: 
/imagine hawk looking down over a board game, realistic, octane render –ar 16:9 –q 2 

Przykład zastosowania komend bez użycia nawiasów potrafi dawać fajne rezultaty. Tutaj jeszcze bez określenia proporcji 16:9 (portret Ciapaka): 
/imagine orange rockman badger, energetic, music stage background, realistic photo –q 2 

Mówiłeś, że dobierałeś skojarzenia tak, by układały się w abstrakcyjny opis. Jak MidJourney poradziło sobie z wyłapaniem tych wszystkich elementów i poskładaniem w spójną całość? Pracując nad grafikami wpisywałeś od razu całą komendę, z wszystkimi elementami? 

Na początku pracowałem iteracyjnie, po kolei wpisując elementy z opisu. Weźmy za przykład jednego z portretów Zdzicha – najpierw w inpucie określiłem stary samochód i zobaczyłem, co z tego wyjdzie. Potem do tej samej komendy dodałem ludzi. Potem dorzuciłem człowieka w sztruksach… Z biegiem czasu poczułem się na tyle swobodnie, że potrafiłem z góry zadawać te sformułowania, które opierały się na wybranych wypowiedziach FPowiczów, ale były bardziej opisowe.  

A tak wyglądały początki kreowania portretu Zdzicha. Bardziej wykręcony input też dał radę, na to nie ma reguły! Tutaj jeszcze bez dodatkowych parametrów: 

/imagine Michael barbells body saying let it be, tincture person, fun and smile, always okay 

Bardziej rozbudowany input z określeniem oświetlenia, jakości i proporcji, pogrupowany w nawiasy: /imagine [little old car full of people inside, abstract man standing next to a car, head like barbells] + [crowd in far background] + [pants on top of a car], Cinematic Lighting –q 2 –ar 16:9

Próby generowania autonomicznego spaghetti supermana. Input ze wskazaniem stylu oświetlenia i malowania. Jak widać, spaghetti nie zostało wyłapane przez MidJourney.
/imagine storks flying, [superman, head made of spathetti], beautiful lightning, soft Lighting, watercolor –q 2 –ar 16:9

Czy AI zagraża twórcy? Kto jest tą kreatywną siłą?  

Wspomniałeś, że efekt zależy w dużej mierze od wyobraźni, ale przyznałeś też, że byłeś zaskakiwany przez efekt końcowy?  

Tak, nieustannie. Bawiliśmy się trochę tym programem w zespole i zażyczyliśmy sobie czarną Alfę Romeo na Tatooinie. Efekt przekraczał nasze wyobrażenia: 
(* Podczas prac nad filmem wyszedł update MidJourney V3 do V4. Poniżej wspomniana Alfa na Tatooine w MidJourney V3 i w V4. Ten sam input, a przepaść jakościowa ogromna. W tamtym momencie V4 nie potrafił jeszcze generować proporcji innych niż kwadrat).

MidJourney V3: /imagine [alfa romeo giulia quadrifoglio on Tatooine] + [black], star wars, realistic –q 2

MidJourney V4: /imagine [alfa romeo giulia quadrifoglio on Tatooine] + [black], star wars, realistic –q 2

Generowanie tych obrazów ma pewien unikatowy wydźwięk, bo – jak już mówiłem – odpowiedź na taką samą komendę jest za każdym razem inna. Raz udało mi się wygenerować abstrakcyjny wizerunek Zdzicha ze sztangą zamiast głowy, ale każde kolejne podejście wypluwało mi już coś innego, jak superrealistyczny obraz muskularnego kolesia na plaży. Trudno było nie odnieść wrażenia, że jest to wręcz zerżnięte z istniejącego zdjęcia. 
 

No i tutaj pojawia się pytanie: czyje to dzieło? Kto jest twórcą w tym układzie? Ty? Czy AI? Czy autor oryginalnego elementu, z którego miksowany jest nowy obraz?  

Zacznijmy od tego, że programy takie jak MidJourney bazują na istniejących grafikach, bez wsadu sztuczna inteligencja nie stworzy nic nowego. 

Jak dokładnie to wygląda? Tworzony obraz ma najpierw przygotowane podłoże. Obszar roboczy takiego obrazu jest podzielony na dowolną ilość sekcji o dowolnych kształtach. Na tym etapie są one już opisywane kontekstowo. Następnie MidJourney pobiera obrazy ze swojej bazy, kradnie z nich potrzebne elementy i wypełnia nimi te przygotowane uprzednio sekcje. To wszystko jest następnie łączone ze sobą różnymi trikami, aby te połączenia były graficznie uzasadnione, by nie wyglądały jak wycięte nożyczkami i na siłę wklejone. Na końcu zaś dodawane są różne filtry stylistyczne.  
  
To właśnie ta baza grafik powoduje, że artyści, graficy, ilustratorzy mają mieszane uczucia, tym bardziej, że nagminnie zdarza się, że bot pasożytuje na ich dziełach bez ich wiedzy. Były takie przypadki, że znajdowano w wygenerowanym obrazie zniekształcony podpis jakiegoś artysty. No i teraz kto łamie prawa autorskie? Twórca bota? Czy ta osoba, która korzysta z MidJourney i pozyskuje obrazy? Może to sam bot powinien być postawiony przed sądem? :)  

To otwiera nowy rozdział w myśleniu o grafice i podzielam zdanie środowiska grafików, że powinna powstać nowa gałąź prawna, która ureguluje wspomniane wątki wokół sztucznej inteligencji.   

Pojawiają się też obawy, że programy typu MidJourney mogą wypchnąć ilustratorów z rynku.   

Nie są one bezzasadne. Również w ramach eksperymentu wpisaliśmy komendę „King babyface night forest background”. Program wygenerował nam przepiękną twarz dziecka-króla ze skazami na policzkach. Było to gotowe dzieło, które mogłoby być np. postacią w grze. Może być zatem tak, że zamówienie na zilustrowanie gry planszowej nie pójdzie już do człowieka, a zrobi to MidJourney za ułamek ceny. 

Nowa wersja – MidJourney V4. Rezultat uzyskany komendą /imagine [king, baby face] + [nightforest in background], hyperrealistic –q 2

Jakie są zatem Twoje odczucia?  

Nie podoba mi się kwestia nieuregulowanych praw autorskich, to, że kogoś okrada się z jego dokonań, pomysłowości. Ja sam robiąc animacje w ramach kampanii „Człowiek nie robot”, również opieram się na gotowych elementach, by przyspieszyć swoją pracę. Są to jednak dzieła na licencji, które kupuję.  

A czy widzisz w MidJourney jakąś szansę?  

Ja bronię tego programu, bo widzę w tym fantastyczne źródło inspiracji i wzmocnienie na etapie pracy koncepcyjnej. Jest to mega odstresowujące, kiedy nie masz dobrego dnia i nie jesteś w stanie wyprodukować nawet jednego dobrego pomysłu od strzała, a terminy są bezlitosne. AI zawsze zaproponuje zawsze coś, co można potem odtworzyć używając już zakupionych materiałów na stocku, bądź tworząc je własnoręcznie.  

Człowiek nie robot, nie zawsze jest kreatywny na zawołanie…  

…ale taki bot jak MidJourney to już co innego 😉 Traktuję zatem tę swoją relację z AI-em jako symbiozę. Brałem grafiki, które mi zaproponował (np. cztery próbki tej samej komendy), następnie dodawałem przedmioty, zmieniałem ich położenie, zawężałem efekty do konkretnego stylu. 

Ale nie odbiera Ci to smaku zwycięstwa, bycia oryginalnym?  

Nie, ponieważ samo uzyskanie oczekiwanych rezultatów wymaga tu pracy i jest jakąś formą zwycięstwa.  

Newsletter IT leaks

Dzielimy się inspiracjami i nowinkami z branży IT. Szanujemy Twój czas - obiecujemy nie spamować i wysyłać wiadomości raz na dwa miesiące.

Subscribe to our newsletter

Administratorem Twoich danych osobowych jest Future Processing S.A. z siedzibą w Gliwicach. Twoje dane będziemy przetwarzać w celu przesyłania cyklicznego newslettera dot. branży IT. W każdej chwili możesz się wypisać lub edytować swoje dane. Więcej informacji znajdziesz w naszej polityce prywatności.

Subscribe to our newsletter

Administratorem Twoich danych osobowych jest Future Processing S.A. z siedzibą w Gliwicach. Twoje dane będziemy przetwarzać w celu przesyłania cyklicznego newslettera dot. branży IT. W każdej chwili możesz się wypisać lub edytować swoje dane. Więcej informacji znajdziesz w naszej polityce prywatności.