Artificial Intelligence
Semantyczna edycja obrazu o wysokiej precyzji za pomocą EditGAN

Generatywne sieci przeciwstawne Sieci GAN zyskują nowe zastosowania w branży edycji obrazów. W ciągu ostatnich kilku miesięcy EditGAN zyskuje na popularności w branży sztucznej inteligencji i uczenia maszynowego, ponieważ jest nowatorską metodą precyzyjnej i wysokiej jakości semantycznej edycji obrazów.
Będziemy szczegółowo omawiać model EditGAN i poinformujemy Cię, dlaczego może on okazać się kamieniem milowym w branży semantycznej edycji obrazów.
A więc zacznijmy. Zanim jednak dowiemy się, czym jest EditGAN, ważne jest, abyśmy zrozumieli, jakie jest znaczenie EditGAN i dlaczego jest to znaczący krok naprzód.
Dlaczego EditGAN?
Chociaż tradycyjne architektury GAN pomogły w znacznym rozwoju branży edycji obrazów opartej na sztucznej inteligencji, istnieją pewne poważne wyzwania związane z budowaniem architektury GAN od podstaw.
- W fazie uczenia architektura GAN wymaga dużej ilości danych oznaczonych etykietami z adnotacjami dotyczącymi segmentacji semantycznej.
- Są w stanie zapewnić jedynie kontrolę wysokiego poziomu.
- Często po prostu interpolują tam i z powrotem między obrazami.
Można zaobserwować, że chociaż tradycyjne architektury GAN wykonują swoją pracę, nie są skuteczne w przypadku wdrożeń na szeroką skalę. Niska wydajność tradycyjnej architektury GAN jest powodem, dla którego NVIDIA wprowadziła EditGAN w 2022 roku.
Proponuje się, że EditGAN jest skuteczną metodą zapewniającą wysoką precyzję i wysoką jakość semantyki Edytowanie obrazu z możliwością umożliwienia użytkownikom edycji obrazów poprzez zmianę bardzo szczegółowych masek segmentacji obrazu. Jednym z powodów, dla których EditGAN jest skalowalną metodą do zadań edycji obrazów, jest jej architektura.
Model EditGAN jest zbudowany na frameworku GAN, który wspólnie modeluje obrazy i ich semantyczną segmentację i wymaga jedynie kilku oznaczonych etykietami lub adnotacjami danych szkoleniowych. Twórcy EditGAN próbowali osadzić obraz w ukrytej przestrzeni GAN, aby skutecznie modyfikować obraz, wykonując warunkową optymalizację ukrytego kodu zgodnie z edycją segmentacji. Ponadto, aby amortyzować optymalizację, model próbuje znaleźć „wektory edycyjne” w przestrzeni ukrytej, która realizuje edycję.
Architektura środowiska EditGAN pozwala modelowi nauczyć się dowolnej liczby wektorów edycyjnych, które można następnie zaimplementować lub zastosować bezpośrednio na innych obrazach z dużą szybkością i wydajnością. Co więcej, wyniki eksperymentów wskazują, że EditGAN może edytować obrazy z niespotykanym wcześniej poziomem szczegółowości, zachowując jednocześnie maksymalną jakość obrazu.
Podsumowując, dlaczego potrzebujemy EditGAN, jest to pierwszy w historii framework do edycji obrazów oparty na GAN, który oferuje
- Bardzo precyzyjna edycja.
- Może pracować z kilkoma oznakowanymi danymi.
- Można skutecznie wdrożyć w scenariuszach czasu rzeczywistego.
- Umożliwia kompozycyjność dla wielu edycji jednocześnie.
- Działa na obrazach generowanych przez GAN, rzeczywiście osadzonych, a nawet obrazach spoza domeny.
Precyzyjna semantyczna edycja obrazu za pomocą EditGAN
StyleGAN2, najnowocześniejsza platforma GAN do syntezy obrazu, jest głównym komponentem EditGAN do generowania obrazu. Struktura StyleGAN2 odwzorowuje ukryte kody pochodzące z puli wielowymiarowego rozkładu normalnego i odwzorowuje je na realistyczne obrazy.
StyleGAN2 to głęboki model generatywny, do którego został przeszkolony syntezować obrazy najwyższej możliwej jakości wraz z nabyciem semantycznego zrozumienia modelowanych obrazów.
Trening segmentacji i wnioskowanie
Model EditGAN osadza obraz w ukrytej przestrzeni GAN przy użyciu optymalizacji i kodera w celu przeprowadzenia segmentacji na nowym obrazie i szkolenia gałęzi segmentacji. Struktura EditGAN w dalszym ciągu opiera się na poprzednich pracach i uczy kodera, aby osadzał obrazy w ukrytej przestrzeni. Głównym celem jest tutaj nauczenie kodera składającego się ze standardowych strat konstrukcyjnych L2 i LPIPS w pikselach przy użyciu próbek z GAN i rzeczywistych danych treningowych. Co więcej, model reguluje również koder jawnie, używając ukrytych kodów podczas pracy z próbkami GAN.
W rezultacie model osadza obrazy z adnotacjami ze zbioru danych oznaczonego segmentacją semantyczną w przestrzeni ukrytej i wykorzystuje utratę entropii krzyżowej do uczenia gałęzi segmentacji generatora.
Korzystanie z edycji segmentacji w celu znalezienia semantyki w przestrzeni ukrytej
Podstawowym celem EditGAN jest wykorzystanie wspólnej dystrybucji segmentacji semantycznych i obrazów precyzyjna edycja obrazu. Powiedzmy, że mamy obraz x który wymaga edycji, więc model osadza obraz w ukrytej przestrzeni EditGAN lub wykorzystuje przykładowe obrazy z samego modelu. Następnie generuje się gałąź segmentacji y lub odpowiadająca segmentacja, głównie dlatego, że zarówno obrazy RGB, jak i segmentacje mają te same ukryte kody w. Programiści mogą następnie użyć dowolnych narzędzi do etykietowania lub malowania cyfrowego, aby ręcznie zmodyfikować segmentację i edytować je zgodnie ze swoimi wymaganiami.
Różne sposoby edycji podczas wnioskowania
Wektory edycji przestrzeni ukrytej uzyskane za pomocą optymalizacji można opisać jako znaczące semantycznie i często są rozplątane za pomocą różnych atrybutów. Dlatego też, aby edytować nowy obraz, model może bezpośrednio osadzić obraz w przestrzeni ukrytej i bezpośrednio wykonać te same operacje edycyjne, których model nauczył się wcześniej, bez konieczności ponownego przeprowadzania optymalizacji od zera. Można śmiało powiedzieć, że wektory edycyjne, których uczy się model, amortyzują optymalizację, która była niezbędna do początkowej edycji obrazu.
Warto zaznaczyć, że programiści wciąż nie doprowadzili do perfekcji rozplątywania, a wektory edycyjne często nie dają najlepszych rezultatów, gdy są przyzwyczajone do innych obrazów. Problem można jednak rozwiązać, usuwając artefakty edycji z innych części obrazu, wykonując kilka dodatkowych kroków optymalizacyjnych w czasie testu.
Na podstawie naszej aktualnej wiedzy framework EditGAN może być używany do edycji obrazów w trzech różnych trybach.
- Edycja w czasie rzeczywistym za pomocą wektorów edycyjnych
W przypadku obrazów, które są zlokalizowane i rozplątane, model edytuje obrazy, stosując poznane wcześniej wektory edycyjne w różnych skalach, i manipuluje obrazami w interaktywnym tempie.
- Korzystanie z samonadzorowanego udoskonalania do edycji opartej na wektorach
W przypadku edycji zlokalizowanych obrazów, które nie są idealnie rozplątane z innymi częściami obrazu, model inicjuje edycję obrazu przy użyciu wcześniej poznanych wektorów edycji i usuwa artefakty edycji, wykonując kilka dodatkowych kroków optymalizacyjnych w czasie testu.
- Edycja oparta na optymalizacji
Aby przeprowadzić edycję na dużą skalę i dotyczyć konkretnego obrazu, model od początku przeprowadza optymalizację, ponieważ wektorów edycyjnych nie można używać do wykonywania tego rodzaju transferów do innych obrazów.
Wdrożenie
Struktura EditGAN jest oceniana na podstawie obrazów podzielonych na cztery różne kategorie: samochody, ptaki, koty i twarze. Gałąź segmentacji modelu jest szkolona przy użyciu par obrazu-maski po 16, 30, 30, 16 jako oznaczonych danych szkoleniowych odpowiednio dla samochodów, ptaków, kotów i twarzy. Gdy obraz ma być edytowany wyłącznie przy użyciu optymalizacji lub gdy model próbuje nauczyć się wektorów edycyjnych, model wykonuje 100 kroków optymalizacyjnych przy użyciu optymalizatora Adama.
W przypadku zbioru danych Kot, samochód i twarze model wykorzystuje rzeczywiste obrazy ze zbioru testowego DatasetGAN, które nie były używane do uczenia struktury GAN w zakresie wykonywania funkcji edycji. Od razu te obrazy są osadzane w ukrytej przestrzeni EditGAN przy użyciu optymalizacji i kodowania. W przypadku kategorii Ptaki edycja jest pokazana na obrazach wygenerowanych przez GAN.
Efekt
Wyniki jakościowe
Wyniki w domenie
Powyższy obraz przedstawia wydajność środowiska EditGAN podczas stosowania poznanych wcześniej wektorów edycyjnych na nowatorskich obrazach i udoskonalania obrazów przy użyciu 30 kroków optymalizacji. Te operacje edycyjne wykonywane przez platformę EditGAN są rozdzielone dla wszystkich klas i zachowują ogólną jakość obrazów. Porównując wyniki EditGAN i innych frameworków, można zaobserwować, że framework EditGAN przewyższa inne metody w wykonywaniu bardzo precyzyjnych i złożonych edycji przy jednoczesnym zachowaniu tożsamości podmiotu i jakości obrazu.
Zaskakujące jest to, że framework EditGAN potrafi wykonywać niezwykle precyzyjne edycje, takie jak rozszerzanie źrenic czy edycja szprych w oponach samochodowych. Co więcej, EditGAN może być również używany do edycji semantycznych części obiektów, które mają zaledwie kilka pikseli, a także do przeprowadzania modyfikacji obrazu na dużą skalę. Warto zauważyć, że liczne operacje edycyjne frameworka EditGAN umożliwiają generowanie zmanipulowanych obrazów, w przeciwieństwie do obrazów widocznych w danych treningowych GAN.
Wyniki poza domeną
Aby ocenić wydajność EditGAN poza domeną, framework został przetestowany na zestawie danych MetFaces. Model EditGAN wykorzystuje rzeczywiste twarze w domenie do tworzenia wektorów edycyjnych. Następnie model osadza portrety MetFaces spoza domeny przy użyciu 100-etapowego procesu optymalizacji i stosuje wektory edycji w 30-etapowym samonadzorowanym procesie udoskonalania. Wyniki można zobaczyć na poniższym obrazku.
Wyniki ilościowe
Aby ilościowo zmierzyć możliwości edycji obrazu EditGAN, model wykorzystuje test porównawczy edycji uśmiechu, który został po raz pierwszy wprowadzony przez MaskGAN. Twarze o neutralnym wyrazie są zastępowane uśmiechniętymi twarzami, a wydajność mierzona jest na podstawie trzech parametrów.
- Poprawność semantyczna
Model wykorzystuje wstępnie wytrenowany klasyfikator atrybutów uśmiechu, aby zmierzyć, czy twarze na obrazach po edycji wykazują uśmiech.
- Jakość obrazu na poziomie dystrybucji
Odległość wlotu jądra lub KID i odległość wlotu Frecheta lub FID oblicza się na podstawie zbioru danych testowych CelebA i 400 edytowanych obrazów testowych.
- Zachowania tożsamości
Zdolność modelu do zachowania tożsamości obiektów podczas edycji obrazu jest mierzona przy użyciu wstępnie przeszkolonej sieci ekstrakcji cech ArcFace.
Powyższa tabela porównuje wydajność platformy EditGAN z innymi modelami bazowymi w teście porównawczym edycji uśmiechu. Metodę stosowaną w ramach EditGAN w celu zapewnienia tak wysokich wyników porównuje się w oparciu o trzy różne wartości bazowe:
- MaskaGAN
MaskGAN pobiera obrazy bez uśmiechu wraz z ich maskami segmentacyjnymi oraz docelową uśmiechniętą maskę segmentacyjną jako dane wejściowe. Warto zauważyć, że w porównaniu z EditGAN, framework MaskGAN wymaga dużej ilości danych z adnotacjami.
- Edycja lokalna
EditGAN porównuje także swoją wydajność z edycją lokalną, metodą używaną do grupowania funkcji GAN w celu implementacji edycji lokalnej, i jest ona zależna od obrazów referencyjnych.
- InterFaceGAN
Podobnie jak EditGAN, InterFaceGAN również próbuje znaleźć wektory edycyjne w ukrytej przestrzeni modelu. Jednak w przeciwieństwie do EditGAN, model InterFaceGAN wykorzystuje dużą ilość danych z adnotacjami, pomocniczych klasyfikatorów atrybutów i nie zapewnia dużej precyzji edycji.
- Styl GAN2 Destylacja
Ta metoda tworzy alternatywne podejście, które niekoniecznie wymaga osadzania rzeczywistych obrazów, a zamiast tego wykorzystuje model wektora edycyjnego do utworzenia zbioru danych szkoleniowych.
Ograniczenia
Ponieważ EditGAN opiera się na frameworku GAN, ma takie same ograniczenia jak każdy inny model GAN: może pracować tylko z obrazami, które mogą być modelowane przez GAN. Ograniczenia EditGAN do pracy z obrazami modelowanymi GAN są głównym powodem, dla którego trudno jest wdrożyć EditGAN w różnych scenariuszach. Warto jednak zauważyć, że bardzo precyzyjne zmiany EditGAN można łatwo przenieść na inne obrazy, korzystając z wektorów edycyjnych.
Podsumowanie
Jednym z głównych powodów, dla których GAN nie jest standardem branżowym w dziedzinie edycji obrazów, jest jego ograniczona praktyczność. Struktury GAN zwykle wymagają dużej ilości danych szkoleniowych z adnotacjami i często nie zapewniają wysokiej wydajności i dokładności.
EditGAN ma na celu rozwiązanie problemów związanych z konwencjonalnymi frameworkami GAN i stara się stać się skuteczną metodą wysokiej jakości i precyzyjnej edycji obrazów semantycznych. Dotychczasowe wyniki wykazały, że EditGAN rzeczywiście oferuje to, co twierdzi, i już działa lepiej niż niektóre z obecnych standardowych praktyk i modeli branżowych.