Jak wytrenować stabilną sztuczną inteligencję za pomocą twarzy, aby tworzyć dzieła sztuki za pomocą DreamBooth

Opublikowany: 2022-10-10

Post gościnny autorstwa Tarunabh Dutta.

Jeśli rok 2021 był rokiem modeli językowych AI opartych na słowach, rok 2022 stanowił skok w kierunku modeli AI tekstu na obraz. Obecnie dostępnych jest wiele modeli sztucznej inteligencji tekstu na obraz, które umożliwiają tworzenie obrazów o wysokiej jakości. Stabilna dyfuzja to jedna z najpopularniejszych i najbardziej znanych opcji. Jest to szybki i stabilny model, który daje spójne wyniki.

how to train stable diffusion

Proces generowania obrazu jest nadal nieco tajemniczy, ale jasne jest, że stabilna dyfuzja daje doskonałe wyniki. Może być używany do generowania obrazów z tekstu lub do zmiany istniejących obrazów. Dostępne opcje i parametry pozwalają na dużą personalizację i kontrolę nad ostatecznym obrazem.

Chociaż stosunkowo łatwiej jest pracować nad zdjęciami celebrytów i popularnych postaci, wyłącznie ze względu na już dostępny zestaw zdjęć, nie jest tak łatwo nakłonić sztuczną inteligencję do pracy na własnej twarzy. Logika mówi, aby nakarmić model AI swoimi obrazami, a następnie pozwolić mu wykonać swoją magię, ale jak dokładnie można to zrobić?

W tym artykule postaramy się zademonstrować, jak wytrenować model stabilnej dyfuzji za pomocą odwrócenia tekstu DreamBooth na odnośniku do obrazu, aby zbudować reprezentację AI własnej twarzy lub dowolnego innego obiektu i wygenerować zdjęcia wyników z niesamowitymi wynikami, precyzją i spójnością. Jeśli brzmi zbyt technicznie, zatrzymaj się, a postaramy się, aby był jak najbardziej przyjazny dla początkujących.

Spis treści

Co to jest stabilna dyfuzja?

Odejdźmy od podstaw. Model stabilnej dyfuzji to najnowocześniejszy model uczenia maszynowego zamiany tekstu na obraz, wyszkolony na dużym zestawie obrazów. Szkolenie jest drogie, kosztuje około 660 000 USD. Jednak model stabilnej dyfuzji może być wykorzystany do generowania sztuki przy użyciu języka naturalnego.

Głębokie uczenie modele AI Text-to-Image stają się coraz bardziej popularne ze względu na ich zdolność do dokładnego tłumaczenia tekstu na obrazy. Ten model jest darmowy i można go znaleźć w Hugging Face Spaces i DreamStudio. Wagi modeli można również pobrać i wykorzystać lokalnie.

Stabilna dyfuzja wykorzystuje proces zwany „dyfuzją” do generowania obrazów, które wyglądają podobnie do monitu tekstowego.

Krótko mówiąc, algorytm stabilnej dyfuzji bierze opis tekstowy i generuje obraz na podstawie tego opisu. Wygenerowany obraz będzie wyglądał podobnie do tekstu, ale nie będzie dokładną repliką. Alternatywy dla Stable Diffusion obejmują modele Dall-E firmy OpenAI i Imagen firmy Google.

Przewodnik po trenowaniu stabilnej dyfuzji AI za pomocą twarzy, aby stworzyć obraz za pomocą DreamBooth

Dzisiaj zademonstruję, jak wytrenować model stabilnej dyfuzji, używając mojej twarzy jako początkowego odniesienia, aby wygenerować obrazy o bardzo spójnym i dokładnym stylu, który jest zarówno oryginalny, jak i świeży.

W tym celu użyjemy Google Colab o nazwie DreamBooth , aby trenować stabilną dyfuzję.

Przed uruchomieniem tej usługi Google Colab musimy przygotować określone zasoby treści.

Etap 1: Dysk Google z wystarczającą ilością wolnego miejsca

W tym celu potrzebujesz konta na Dysku Google z co najmniej 9 GB wolnego miejsca.

Darmowe konto na Dysku Google zapewnia 15 GB wolnego miejsca, co wystarczy do tego zadania. Możesz więc stworzyć zupełnie nowe (jednorazowe) konto Gmail właśnie w tym celu.

google drive

Etap 2: Obrazy referencyjne do trenowania AI

Po drugie, musisz mieć co najmniej tuzin portretów swojej twarzy lub dowolnego obiektu docelowego, gotowych do wykorzystania jako odniesienia.

  • Upewnij się, że rysy twarzy są widoczne i odpowiednio oświetlone na przechwyconych obrazach. Unikaj stosowania ostrych cieni, szczególnie na twarzy.
  • Dodatkowo osoba powinna być zwrócona twarzą do aparatu lub mieć profil boczny, w którym wyraźnie widoczne są zarówno oczy, jak i wszystkie rysy twarzy.
  • Aparat powinien być w stanie uchwycić wysokiej jakości rysy twarzy. Najlepszą opcją jest profesjonalna lustrzanka cyfrowa lub aparat bezlusterkowy. Może też wystarczyć aparat w smartfonie o doskonałej jakości.
  • Kompozycja powinna być umieszczona w centrum kadru z niewielką przestrzenią nad głową.
  • Jako obrazy wejściowe wystarczające powinno być co najmniej dwanaście zbliżeń twarzy, pięć zdjęć w połowie ujęć obejmujących od głowy do talii i około trzech zdjęć pełnych sylwetek.
  • Do tego celu powinno wystarczyć minimum dwadzieścia zdjęć referencyjnych.

birme faces

W moim przypadku wykonałem i zebrałem kolekcję około 50 autoportretów, które przyciąłem do 512 x 512 pikseli za pomocą narzędzia internetowego Birme. W tym celu możesz również użyć dowolnego alternatywnego edytora obrazów.

Należy pamiętać, że ostateczny obraz wyjściowy musi być zoptymalizowany pod kątem Internetu i zmniejszony w rozmiarze pliku przy minimalnej utracie jakości.

Etap 3: Współpraca Google

Można teraz uruchomić środowisko wykonawcze Google Colab.

Istnieją zarówno bezpłatne, jak i płatne wersje platformy Google Colab. Dreambooth może działać na darmowej wersji, ale wydajność jest znacznie szybsza i bardziej spójna w wersji Colab Pro (płatnej), która priorytetowo traktuje użycie szybkiego GPU i przydziela co najmniej 15 GB pamięci VRAM do danego zadania.

Jeśli nie masz nic przeciwko wydaniu kilku dolarów, subskrypcja Colab Pro o wartości 10 USD, która obejmuje 100 jednostek obliczeniowych każdego miesiąca, jest więcej niż wystarczająca na tę sesję.

google colab signup

Będziesz mieć również dostęp do dodatkowej pamięci RAM i procesorów graficznych, które są stosunkowo mocniejsze i szybsze.

Pozwól, że powtórzę: NIE musisz być specjalistą ds. technicznych, aby uruchomić ten Colab. Nie potrzebujesz również żadnego wcześniejszego doświadczenia w kodowaniu.

Po zarejestrowaniu się w Google Colab (wersja bezpłatna lub płatna), zaloguj się przy użyciu swoich danych logowania i przejdź do tego linku , aby otworzyć DreamBooth Stable Diffusion .

Google Colab ma sekcje lub komórki „runtime” z klikalnymi przyciskami odtwarzania po lewej stronie, które są ułożone sekwencyjnie. Aby odtworzyć środowisko wykonawcze od góry, po prostu kliknij kolejno przyciski odtwarzania. Każdy segment składa się ze środowiska wykonawczego, które musi zostać wykonane. Po kliknięciu przycisku odtwarzania odpowiednia sekcja jest wykonywana jako środowisko wykonawcze. Po pewnym czasie po lewej stronie przycisku odtwarzania pojawi się zielony znacznik wyboru, aby wskazać, że środowisko wykonawcze zostało pomyślnie wykonane.

Upewnij się, że ręcznie uruchamiasz tylko jedno środowisko wykonawcze na raz i przejdź do następnej sekcji „środowiska wykonawczego” dopiero po zakończeniu bieżącego środowiska wykonawczego.

W części środowiska uruchomieniowego na górnym pasku menu możesz uruchomić wszystkie środowiska uruchomieniowe jednocześnie. Nie jest to jednak zalecane.

change runtime type dreambooth

Poniżej znajduje się opcja o nazwie „Zmień typ środowiska wykonawczego”. Jeśli masz subskrypcję pro, możesz wybrać i zapisać „premium” GPU i dużą pamięć RAM do wykonania.

choose high ram

Teraz jesteś gotowy do uruchomienia DreamBooth Colab.

run dream booth

10 kroków do pomyślnego ukończenia wyszkolonego modelu AI na DreamBooth

KROK 1: Zdecyduj się na GPU i VRAM

Pierwszym krokiem jest określenie dostępnego typu GPU i VRAM. Użytkownicy Pro będą mieli dostęp do szybkiego GPU i ulepszonej pamięci VRAM, która jest bardziej stabilna.

determine GPU VRAM

Po kliknięciu przycisku odtwarzania zostanie wyświetlone ostrzeżenie, ponieważ uzyskiwany jest dostęp do GitHub, źródłowej witryny dewelopera. Aby kontynuować, wystarczy kliknąć „ Uruchom mimo to”.

choose vram

KROK 2: Uruchom DreamBooth

W następnym kroku musisz zainstalować określone wymagania i zależności. Wystarczy kliknąć przycisk odtwarzania i pozwolić mu działać.

dreambooth play

KROK 3: Zaloguj się do Hugging Face

Po kliknięciu przycisku odtwarzania następny krok będzie wymagał zalogowania się na konto Hugging Face. Możesz utworzyć darmowe konto, jeśli jeszcze go nie masz. Po zalogowaniu przejdź do strony Ustawienia w prawym górnym rogu.

hugging face settings

Następnie kliknij sekcję „ Tokeny dostępu ” i przycisk „ Utwórz nowy ”, aby wygenerować nowy „token dostępu” i zmienić jego nazwę zgodnie z potrzebami.

access tokens

Skopiuj token dostępu, a następnie wróć do karty Colab i wprowadź go w odpowiednim polu, a następnie kliknij „ Zaloguj się”.

login to huggingface

KROK 4: Zainstaluj xformers

W tym kroku możesz kliknąć środowisko wykonawcze, aby zainstalować xformers , po prostu naciskając przycisk odtwarzania.

install xformers

KROK 5: Podłącz Dysk Google

Po kliknięciu przycisku odtwarzania zostaniesz poproszony w nowym wyskakującym oknie o pozwolenie na dostęp do Twojego konta Dysku Google. Kliknij „Zezwól”, gdy zostaniesz poproszony o uprawnienia.

access google drive folder

Po przyznaniu uprawnień musisz potwierdzić, że wybrano opcję „ Zapisz na Dysku Google ”. Musisz także ustawić nową nazwę dla zmiennej „ NAZWA KLASY ”. Jeśli chcesz przesłać referencyjne zdjęcia osoby, po prostu wpisz „osoba”, „mężczyzna” lub „kobieta”. Jeśli Twoje obrazy referencyjne przedstawiają psa, wpisz „pies” i tak dalej. Pozostałe pola możesz pozostawić bez zmian. Alternatywnie możesz zmienić nazwę katalogu wejściowego — „INSTANCE DIR” lub katalogu wyjściowego — „OUTPUT DIR”.

dreambooth settings

KROK 6: Prześlij zdjęcia referencyjne

Po kliknięciu przycisku odtwarzania w poprzednim kroku zobaczysz opcję przesłania i dodania wszystkich swoich zdjęć referencyjnych.

upload images

Polecam minimum 6 i maksymalnie 20 zdjęć. Patrz „ETAP 2” powyżej, aby uzyskać zwięzłe wyjaśnienie, jak wybrać najlepszy obraz referencyjny w oparciu o sposób uchwycenia obiektu.

select images

Po przesłaniu wszystkich zdjęć możesz je wyświetlić w kolumnie po lewej stronie. Jest ikona folderu. Po kliknięciu będziesz mógł wyświetlić foldery i podfoldery, w których aktualnie przechowywane są Twoje dane.

W katalogu danych możesz wyświetlić katalog wejściowy, w którym przechowywane są wszystkie przesłane zdjęcia. W moim przypadku jest to znane jako „sks” (nazwa domyślna).

Ponadto pamiętaj, że ta treść jest tylko tymczasowo przechowywana w Twojej przestrzeni dyskowej Google Colab, a nie na Dysku Google.

input directory

start training

KROK 7: Trenuj model AI za pomocą DreamBooth

Jest to najważniejszy krok, ponieważ będziesz trenować nowy model sztucznej inteligencji na podstawie wszystkich przesłanych zdjęć referencyjnych za pomocą DreamBooth.

train images dreambooth

Musisz skupić się tylko na dwóch polach wejściowych. Pierwszym parametrem jest „—monit o wystąpienie”. Tutaj musisz podać bardzo unikalną nazwę. W moim przypadku użyję mojego imienia i inicjałów. Cała idea polega na tym, aby cała nazwa była niepowtarzalna i precyzyjna.

Drugim kluczowym polem wejściowym jest parametr „—klasa zachęty”. Musisz zmienić jego nazwę, aby pasowała do tej, której użyłeś w „KROKU 4”. W moim przypadku użyłem terminu „człowiek”. Więc wpiszę go ponownie w to pole i nadpiszę poprzedni wpis.

dreambooth parameters

Pozostałe pola można pozostawić nietknięte. Obserwowałem użytkowników eksperymentujących, zmieniając pola, takie jak „-liczba obrazów klas” na 12 i „-maksymalna liczba kroków pociągu” na 1000, 2000 lub nawet więcej. Pamiętaj jednak, że modyfikacja tych pól może spowodować wyczerpanie się pamięci Colab i awarię, co wymaga ponownego uruchomienia od początku. Dlatego wskazane jest, aby nie edytować ich przy pierwszej próbie. Możesz eksperymentować z nimi w przyszłości po zdobyciu odpowiedniego doświadczenia.

Po uruchomieniu tego środowiska wykonawczego, klikając przycisk odtwarzania, Colab rozpocznie pobieranie niezbędnych plików wykonywalnych, a następnie będzie mógł trenować, korzystając z obrazów referencyjnych.

Trenowanie modelu zajmie od 15 minut do ponad godziny. Musisz uzbroić się w cierpliwość i śledzić postępy aż do zakończenia działania. Jeśli Twój Google Colab jest zbyt długo bezczynny, może się zresetować. Sprawdzaj więc postępy i od czasu do czasu klikaj kartę.

colab executing

execution complete

KROK 8: Konwertuj model AI do formatu ckpt

Po zakończeniu trenowania będziesz mieć możliwość przekonwertowania wytrenowanego modelu na plik w formacie ckpt, który jest bezpośrednio zgodny ze stabilną dyfuzją.

Konwersję można przeprowadzić w dwóch fazach wykonawczych. Pierwszy to „ Pobierz skrypt ”, a drugi to „ Uruchom konwersję ”, w którym możesz zmniejszyć rozmiar pobierania trenowanego modelu. Jednak takie postępowanie znacznie pogorszy jakość wynikowego obrazu.

Dlatego, aby zachować oryginalny rozmiar, opcja ' fp16 ' musi pozostać niezaznaczona.

run conversion

Pod koniec tego konkretnego środowiska wykonawczego plik o nazwie „ model.ckpt ” zostanie zapisany na podłączonym Dysku Google.

model ckpt

Możemy zapisać ten plik do wykorzystania w przyszłości, ponieważ środowiska wykonawcze są natychmiast usuwane po zamknięciu karty przeglądarki DreamBooth Colab. Gdy później ponownie otworzysz wersję Colab DreamBooth, będziesz musiał zacząć od zera.

Załóżmy, że zapisujesz wyszkolony plik modelu na Dysku Google. W takim przypadku możesz pobrać go później, aby użyć go z lokalnie zainstalowanym graficznym interfejsem użytkownika Stable Diffusion, DreamBooth lub dowolnymi notatnikami Stable Diffusion Colab, które wymagają załadowania pliku „model.ckpt”, aby środowisko wykonawcze mogło działać efektywnie. Możesz również zapisać go na lokalnych dyskach twardych do późniejszego wykorzystania.

KROK 9: Przygotuj się na komunikat tekstowy

Następne dwa procesy uruchomieniowe w kategorii „Wnioskowanie” przygotowują nowo wytrenowany model dla monitu tekstowego używanego do generowania obrazu. Po prostu naciśnij przycisk odtwarzania dla każdego czasu działania, a zakończy się w ciągu kilku minut.

inference

KROK 10: Generowanie obrazów AI

To jest ostatni krok, w którym możesz wpisać monity tekstowe, a obrazy AI zostaną wygenerowane.

Musisz użyć dokładnej nazwy „instance_prompt” i „–class_prompt” razem z KROKU 6 na początku monitu tekstowego. Na przykład w moim przypadku wykorzystałem „portret mężczyzny tarunabhtd, malarstwo cyfrowe”, aby wygenerować nowe obrazy AI przypominające mnie.

image prompt

image generation

Poniżej możesz zobaczyć niektóre wyniki obrazów wygenerowane za pomocą wytrenowanego modelu DreamBooth.

sample generated images

Baw się z podpowiedziami, aby uzyskać najlepsze wyniki

Jeśli dokładnie wykonasz czynności opisane powyżej, będziesz w stanie generować obrazy AI, które bardzo przypominają rysy twarzy na obrazach referencyjnych. Ta metoda wymaga jedynie, aby internetowa platforma Google Colab wykonała ulepszoną wersję technologii AI w celu odwrócenia tekstu.

Aby uzyskać lepsze pomysły na monity tekstowe, możesz sprawdzić witryny takie jak –

  • OpenArt AI
  • Krea AI
  • Leksyka sztuka

Musisz także nauczyć się sztuki tworzenia lepszych i skuteczniejszych podpowiedzi tekstowych przy użyciu różnych stylów artystycznych i różnych kombinacji. Dobrym miejscem startowym byłby SubReddit Stable Diffusion.

Reddit ma ogromną społeczność poświęconą stabilnej dyfuzji. Istnieje również wiele grup na Facebooku i społeczności Discord, które aktywnie dyskutują, udostępniają i odkrywają nowe możliwości Stabilnej Dyfuzji.

Poniżej udostępniam również linki do kilku filmów instruktażowych DreamBooth, które można obejrzeć na Youtube –

Mam nadzieję, że ten przewodnik okaże się przydatny. Jeśli masz jakieś pytania, śmiało komentuj poniżej, a my postaramy się Ci pomóc.

Autor:
Tarunabh Dutta to wielokrotnie nagradzany filmowiec, który w ciągu ostatnich 16 lat zrealizował ponad 45 projektów, w tym filmy fabularne, krótkometrażowe, teledyski, filmy dokumentalne i reklamy, pod swoim niezależnym szyldem „TD Film Studio”.