Kąt Andersona

Edycja przestrzeni latentnej GAN za pomocą “blobs”

mm
Dodaj Unite.AI do preferowanych źródeł w Google

Nowe badania przeprowadzone przez UC Berkeley i Adobe (ADBE ) oferują sposób bezpośredniej edycji hiperrealistycznych treści, które mogą być tworzone przez Generative Adversarial Network (GAN), ale które zwykle nie mogą być kontrolowane, animowane lub swobodnie manipulowane w sposób długo znany użytkownikom programu Photoshop i praktykom CGI.

Zatytułowane BlobGAN, metoda ta polega na tworzeniu siatki “blobs” – konstrukcji matematycznych, które mapują się bezpośrednio na treści w przestrzeni latentnej GAN.

Przesuwając bloby, można przesuwać “obiekty” w scenie, w sposób intuicyjny, który jest bliższy metodom CGI i CAD niż wiele obecnych prób mapowania i kontrolowania przestrzeni latentnej GAN:

Manipulacja sceną z BlobGAN: gdy użytkownik przesuwa

Manipulacja sceną z BlobGAN: gdy użytkownik przesuwa “bloby”, dyspozycja latentnych obiektów i stylów w GAN jest odpowiednio zmieniana. Więcej przykładów można zobaczyć w dołączonym do artykułu filmie wideo lub na https://www.youtube.com/watch?v=KpUv82VsU5k

Ponieważ bloby odpowiadają “obiektom” w scenie mapowanej w przestrzeni latentnej GAN, wszystkie obiekty są rozłączane a priori, co pozwala na ich indywidualną modyfikację:

Obiekty można zmniejszać, kurczyć, klonować i usuwać, między innymi.

Obiekty można zmniejszać, kurczyć, klonować i usuwać, między innymi.

Podobnie jak w przypadku edytora zdjęć (lub nawet edytora tekstu), blob może być duplikowany i następnie modyfikowany:

Bloby mogą być duplikowane w interfejsie, a ich odpowiednie latentne reprezentacje również będą

Bloby mogą być duplikowane w interfejsie, a ich odpowiednie latentne reprezentacje również będą “kopiowane i wklejane”. Źródło: https://dave.ml/blobgan/#results

BlobGAN może również parsować nowe, wybrane przez użytkownika obrazy do swojej przestrzeni latentnej:

Z BlobGAN nie trzeba włączać obrazów, które chcemy modyfikować, bezpośrednio do danych szkoleniowych i szukać ich latentnych kodów, ale można wprowadzać wybrane obrazy w dowolnym momencie i modyfikować je. Zdjęcia, które są modyfikowane, są wprowadzane przez użytkownika. Źródło: https://dave.ml/blobgan/#results

Z BlobGAN nie trzeba włączać obrazów, które chcemy modyfikować, bezpośrednio do danych szkoleniowych i szukać ich latentnych kodów, ale można wprowadzać wybrane obrazy w dowolnym momencie i modyfikować je. Źródło: https://dave.ml/blobgan/#results

Więcej wyników można zobaczyć tutaj, a także w dołączonym do artykułu filmie wideo na YouTube (umieszczonym na końcu tego artykułu). Istnieje również interaktywny demo Colab demo*, a także repozytorium GitHub**.

Ten rodzaj instrumentarium i zakres może wydawać się naiwny w erze post-Photoshop, a pakiety parametryczne takie jak Cinema4D i Blender pozwalają użytkownikom tworzyć i dostosowywać światy 3D od dziesięcioleci; jednak reprezentuje on obiecujące podejście do ujarzmienia ekstrawaganckich i tajemniczych natur przestrzeni latentnej w Generative Adversarial Network, poprzez użycie proxy jednostek, które są mapowane na latentne kody.

Autorzy twierdzą:

‘W przypadku wyzwania wielokategorialnego zestawu danych scen wewnętrznych, BlobGAN przewyższa Style-GAN2 pod względem jakości obrazu, mierzonej przez FID.’

Artykuł artykuł nosi tytuł BlobGAN: Przestrzenie scenowe rozłączone przestrzennie i został napisany przez dwóch badaczy z UC Berkeley, wraz z trzema z Adobe Research.

POśrednik

BlobGAN wprowadza nowy paradygmat do syntezy obrazu GAN. Poprzednie podejścia do rozwiązywania dyskretnych jednostek w przestrzeni latentnej, nowy artykuł wskazuje, były albo “od góry do dołu” lub “od dołu do góry”.

Podejście “od góry do dołu” w GAN lub klasyfikatorze obrazu traktuje obrazy scen jako klasy, takie jak “sypialnia”, “kościół”, “twarz” itp. Ten rodzaj połączenia tekstu i obrazu napędza nową generację ram multimodalnej syntezy obrazu, takich jak niedawny DALL-E 2 od OpenAI.

Podejścia “od dołu do góry” mapują każdy piksel w obrazie do klasy, etykiety lub kategorii. Takie podejścia wykorzystują różne techniki, choć segmentacja semantyczna jest popularnym nurtem badań.

Autorzy komentują:

‘Oba podejścia wydają się niewystarczające, ponieważ żadne z nich nie zapewnia łatwych sposobów rozumienia części sceny jako jednostek. Części sceny są albo wbudowane w pojedynczy splątany wektor latentny (od góry do dołu), lub muszą być grupowane razem z indywidualnych pikseli etykiet (od dołu do góry).’

Zamiast tego, BlobGAN oferuje nienadzorowaną reprezentację pośrednią, lub ramę proxy dla modeli generatywnych.

Sieć układu mapuje lokalne (i sterowalne) jednostki

Sieć układu mapuje lokalne (i sterowalne) jednostki “blob” na kody latentne. Kolorowe koła w centrum tworzą “mapę blobów”. Źródło: https://arxiv.org/pdf/2205.02837.pdf

Gaussian (tj. oparte na szumie) bloby są uporządkowane według głębi i reprezentują wąskie gardło w architekturze, które przypisuje mapowanie do każdej jednostki, rozwiązując największą przeszkodę w manipulacji treścią GAN: rozłączanie (również problem dla architektur opartych na autoencoderach). Wynikowa “mapa blobów” jest wykorzystywana do manipulowania dekodera BlobGAN.

Autorzy zauważają z pewnym zaskoczeniem, że system uczy się rozkładać sceny na układy i jednostki za pomocą dyskryminatora, który nie wykorzystuje jawnych etykiet.

Architektura i Dane

Jednostki w mapie blobów są konwertowane na obrazy za pomocą zmodyfikowanej sieci StyleGAN2, w podejściu, które czerpie inspirację z wcześniejszych badań NVIDIA (NVDA ).

Zmodyfikowana sieć StyleGAN 2 od NVIDIA Research. Niektóre z zasad w tej pracy zostały przyjęte lub dostosowane do BlobGAN.

Zmodyfikowana sieć StyleGAN 2 od NVIDIA Research. Niektóre z zasad w tej pracy zostały przyjęte lub dostosowane do BlobGAN. Źródło: https://arxiv.org/pdf/1912.04958.pdf

StyleGAN 2 jest modyfikowany w BlobGAN, aby akceptował dane wejściowe z mapy blobów zamiast pojedynczego globalnego wektora, jak to zwykle ma miejsce.

Seria manipulacji możliwych dzięki BlobGAN, w tym

Seria manipulacji możliwych dzięki BlobGAN, w tym “autouzupełnienie” pustej sceny sypialni i zmiana rozmiaru oraz położenia elementów w pokoju. W rzędzie poniżej widzimy instrumentarium dostępne dla użytkownika, które umożliwia to – mapę blobów.

Przez analogię, zamiast tworzyć ogromny i złożony budynek (przestrzeń latentną) od razu, a następnie eksplorować jego niekończące się ścieżki, BlobGAN wysyła bloki składowe na początku i zawsze wie, gdzie się znajdują. To rozłączenie treści i położenia jest główną innowacją w tej pracy.

 

* Nie funkcjonalny w momencie pisania
** Kod nie został opublikowany w momencie pisania

 

Pierwotnie opublikowano 8 maja 2022 r.

Pisarz specjalizujący się w dziedzinie machine learning, specjalista w dziedzinie syntezowania obrazów ludzi. Były szef działu treści badawczych w Metaphysic.ai, do czasu jego rozwiązania i połączenia z DNEG's Brahma.ai.
Portfolio site: martinanderson.ai
Contact: martin@martinanderson.ai