Modely a platformy AI

Vysokopřesné semantické editování obrazů pomocí EditGAN

mm
Přidejte Unite.AI mezi své preferované zdroje na Google

Generative Adversarial Networks nebo GANs získaly nové aplikace v oblasti editování obrazů. V posledních měsících se EditGAN stává populárním v oblasti AI/ML, protože je to novátorská metoda pro vysokopřesné a vysoce kvalitní semantické editování obrazů.

Budeme hovořit o modelu EditGAN podrobně a řekneme vám, proč by mohl být milníkem v oblasti semantického editování obrazů.

Takže začněme. Ale předtím, než se dozvíme, co je EditGAN, je důležité pochopit, proč je EditGAN důležitý a proč je to významný krok vpřed.

Proč EditGAN?

Ačkoli tradiční architektury GAN významně pomohly pokroku v oblasti editování obrazů založeného na AI, existují některé významné výzvy při stavbě architektury GAN od začátku.

  1. Během fáze trénování vyžaduje architektura GAN velké množství označených dat se segmentačními anotacemi.
  2. Jsou schopny poskytnout pouze vysokou úroveň kontroly.
  3. A často pouze interpolují mezi obrázky.

Můžeme pozorovat, že ačkoli tradiční architektury GAN dostanou práci hotovou, nejsou efektivní pro široké nasazení. Neefektivita tradiční architektury GAN je důvodem, proč byl EditGAN uveden společností NVIDIA (NVDA ) v roce 2022.

EditGAN je navržen jako efektivní metoda pro vysokopřesné a vysoce kvalitní semantické editování obrazů s možností umožňující uživatelům editovat obrázky změnou jejich vysoce detailních segmentačních masek. Jedním z důvodů, proč je EditGAN škálovatelnou metodou pro úkoly editování obrazů, je jeho architektura.

Model EditGAN je postaven na frameworku GAN, který modeluje obrázky a jejich semantické segmentace společně, a vyžaduje pouze malé množství označených nebo anotovaných trénovacích dat. Vývojáři EditGAN se pokusili vložit obrázek do latentního prostoru GAN, aby účinně upravili obrázek provedením podmíněné optimalizace latentního kódu v souladu se segmentační úpravou. Kromě toho, aby amortizovali optimalizaci, se model pokusil najít „editační vektory“ v latentním prostoru, které realizují úpravy.

Architektura frameworku EditGAN umožňuje modelu naučit se libovolné množství editačních vektorů, které lze poté aplikovat přímo na jiné obrázky s vysokou rychlostí a efektivitou. Kromě toho experimentální výsledky ukazují, že EditGAN může upravovat obrázky s dosud neviděnou úrovní detailů, zatímco zachovává kvalitu obrazu na maximum.

Shrnutí, proč potřebujeme EditGAN, je to první framework GAN pro editování obrazů, který nabízí

  1. Velmi vysokopřesné úpravy.
  2. Může pracovat s malým množstvím označených dat.
  3. Může být nasazen efektivně v reálných scénářích.
  4. Povoluje kompozicionalitu pro více úprav současně.
  5. Pracuje na GAN-generovaných, reálných vložených a dokonce i na obrázcích mimo doménu.

Vysokopřesné semantické editování obrazů pomocí EditGAN

StyleGAN2, framework GAN pro syntézu obrazů, je primární komponentou generování obrazů EditGAN. Framework StyleGAN2 mapuje latentní kódy, které jsou vybrány z multivariační normální distribuce, a mapuje je na realistické obrázky.

StyleGAN2 je hluboký generativní model, který byl trénován na syntézu obrazů nejvyšší možné kvality spolu s pochopením semantiky modelovaných obrazů.

Trénování a inference segmentace

Model EditGAN vkládá obrázek do latentního prostoru GAN pomocí optimalizace a kódování, a trénuje segmentační větev. Framework EditGAN pokračuje ve stavbě na předchozích pracích a trénuje kódovací zařízení, aby vložilo obrázky do latentního prostoru. Primárním cílem zde je trénovat kódovací zařízení pomocí standardních pixelových L2 a LPIPS konstrukčních ztrát pomocí vzorků GAN a reálných trénovacích dat. Kromě toho model také explicitně regularizuje kódovací zařízení pomocí latentních kódů při práci se vzorky GAN.

Výsledkem je, že model vkládá anotované obrázky z datové sady označené semantickou segmentací do latentního prostoru a používá ztrátu křížové entropie pro trénování segmentační větve generátoru.

Použití editace segmentace pro nalezení sémantiky v latentním prostoru

Primárním účelem EditGAN je využít společnou distribuci semantických segmentací a obrazů pro vysokopřesné editování obrazů. Řekněme, že máme obrázek x, který potřebuje být upraven, takže model vkládá obrázek do latentního prostoru EditGAN nebo používá vzorky z modelu samotného. Segmentační větev poté generuje y nebo odpovídající segmentaci, protože obě RGB obrázky a segmentace sdílejí stejné latentní kódy w. Vývojáři mohou poté použít libovolné označení nebo digitální malovací nástroje pro úpravu segmentace a upravit je ručně podle potřeby.

Různé způsoby úpravy během inference

Vektory latentního prostoru získané pomocí optimalizace lze popsat jako sémanticky významné a jsou často disentangled s různými atributy. Proto, aby se upravil nový obrázek, model může přímo vložit obrázek do latentního prostoru a provést stejné úpravy, které se model naučil dříve, bez provedení optimalizace znovu od začátku. Bylo by bezpečné říci, že vektory úpravy, které model naučí, amortizují optimalizaci, která byla nezbytná pro úpravu obrázku původně.

Je worth noting, že vývojáři dosud nezískali dokonalou disentanglement a vektory úpravy často nedávají nejlepší výsledky, když se použijí na jiné obrázky. Nicméně, problém lze překonat odstraněním úprav artifacts z jiných částí obrázku provedením několika dalších optimalizačních kroků během testovacího času.

Na základě našich současných znalostí lze framework EditGAN použít k úpravě obrazů ve třech různých režimech.

  • Úprava v reálném čase s vektory úpravy

Pro obrázky, které jsou lokalizovány a disentangled, model upravuje obrázky aplikací vektorů úpravy, které se naučil dříve, s různými měřítky a manipuluje obrázky na interaktivních rychlostech.

  • Použití samo-supervizní úpravy pro vektorovou úpravu

Pro úpravu lokalizovaných obrázků, které nejsou dokonale disentangled s jinými částmi obrázku, model inicializuje úpravu obrázku pomocí vektorů úpravy, které se naučil dříve, a odstraňuje úprav artifacts provedením několika dalších optimalizačních kroků během testovacího času.

  • Optimalizační úprava

Pro provedení velkých a obrazkových úprav se model provádí optimalizaci od začátku, protože vektory úpravy nelze použít pro provedení těchto typů přenosů na jiné obrázky.

Implementace

Framework EditGAN je hodnocen na obrázcích z čtyř různých kategorií: Auta, Ptáci, Kočky a Tváře. Segmentační větev modelu je trénována pomocí obrazů a masky párů 16, 30, 30, 16 jako označených trénovacích dat pro Auta, Ptáky, Kočky a Tváře. Když je obrázek upraven pouze pomocí optimalizace nebo když se model pokusí naučit vektory úpravy, model provádí 100 optimalizačních kroků pomocí optimalizátoru Adam.

Pro datové sady Kočka, Auto a Tváře model používá reálné obrázky z testovací sady DatasetGAN, které nebyly použity pro trénování frameworku GAN, pro provedení funkcionality úpravy. Tyto obrázky jsou přímo vloženy do latentního prostoru EditGAN pomocí optimalizace a kódování. Pro kategorii Ptáci je úprava ukázána na GAN-generovaných obrázcích.

Výsledky

Kvalitativní výsledky

Vnitřní výsledky

Výše uvedený obrázek demonstruje výkon frameworku EditGAN, když aplikuje dříve naučené vektory úpravy na nové obrázky a upravuje obrázky pomocí 30 optimalizačních kroků. Tyto úpravy provedené frameworkem EditGAN jsou disentangled pro všechny třídy a zachovávají celkovou kvalitu obrázků. Při srovnání výsledků EditGAN a jiných frameworků lze pozorovat, že framework EditGAN překonává ostatní metody při provádění vysokopřesných a komplexních úprav, zatímco zachovává identitu subjektu a kvalitu obrázku.

Co je úžasné, je to, že framework EditGAN může provést velmi vysokopřesné úpravy, jako je dilatace žáků nebo úprava ráfků kol aut. Kromě toho EditGAN může být použit k úpravě sémantických částí objektů, které mají pouze několik pixelů, nebo může být použit k provedení velkých úprav obrázku. Je worth noting, že několik úprav frameworku EditGAN je schopno generovat upravené obrázky, které se liší od těch, které se objevují v trénovacích datech GAN.

Mimo doménu výsledky

Pro hodnocení výkonu EditGAN mimo doménu byl framework testován na datové sadě MetFaces. Model EditGAN používá vnitřní reálné tváře pro vytvoření vektorů úpravy. Model poté vkládá portréty MetFaces, které jsou mimo doménu, pomocí 100-krokového optimalizačního procesu a aplikuje vektory úpravy pomocí 30-krokového samo-supervizního procesu úpravy. Výsledky lze vidět na následujícím obrázku.

Kvantitativní výsledky

Pro měření schopností editování obrazů frameworku EditGAN je použit benchmark úpravy úsměvu, který byl poprvé uveden frameworkem MaskGAN. Tváře s neutrálním výrazem jsou nahrazeny úsměvem a výkon je měřen napříč třemi parametry.

  • Sémantická korektnost

Model používá předtrénovaný klasifikátor atributu úsměvu, aby měřil, zda tváře v obrazech ukazují úsměv po úpravě.

  • Kvalita obrazu na úrovni distribuce

Je vypočten Kernel Inception Distance (KID) a Frechet Inception Distance (FID) mezi testovací sadou CelebA a 400 upravenými testovacími obrázky.

  • Zachování identity

Schopnost modelu zachovat identitu subjektu při úpravě obrazu je měřena pomocí předtrénované sítě ArcFace pro extrakci funkcí.

Výše uvedená tabulka srovnává výkon frameworku EditGAN s jinými základními modely na benchmarku úpravy úsměvu. Metoda, kterou framework EditGAN používá pro dosažení takových výsledků, je srovnána napříč třemi různými základními modely:

  • MaskGAN

MaskGAN bere jako vstup neúsměvné obrázky a jejich segmentační masky a cílovou úsměvnou segmentační masku. Je worth noting, že ve srovnání s EditGAN vyžaduje framework MaskGAN velké množství anotovaných dat.

  • Místní úprava

EditGAN také srovnává svůj výkon s místními úpravami, metodou, která se používá pro clustering GAN funkcí pro implementaci místních úprav a je závislá na referenčních obrazech.

  • InterFaceGAN

Stejně jako EditGAN se InterFaceGAN pokusí najít vektory úpravy v latentním prostoru modelu. Nicméně, na rozdíl od EditGAN, model InterFaceGAN používá velké množství anotovaných dat, pomocné klasifikátory atributů a nemá jemnou přesnost úpravy.

  • StyleGAN2Distillation

Tato metoda vytváří alternativní přístup, který nevyžaduje reálné vkládání obrazů, ale místo toho používá model vektorů úpravy pro vytvoření trénovací sady.

Omezení

Protože EditGAN je založen na frameworku GAN, má stejné omezení jako jakýkoli jiný model GAN: může pracovat pouze s obrázky, které lze modelovat frameworkem GAN. Omezení EditGAN pracovat pouze s obrázky modelovanými GAN je hlavním důvodem, proč je obtížné implementovat EditGAN napříč různými scénáři. Nicméně, je worth noting, že vysokopřesné úpravy EditGAN lze snadno přenést na jiné obrázky pomocí vektorů úpravy.

Závěr

Jedním z hlavních důvodů, proč GAN není průmyslovým standardem v oblasti editování obrazů, je jeho omezená praktičnost. Frameworky GAN obvykle vyžadují velké množství anotovaných trénovacích dat a často nedosahují vysoké efektivity a přesnosti.

EditGAN se snaží řešit problémy, které jsou představeny konvenčními frameworky GAN, a pokusí se stát efektivní metodou pro vysokokvalitní a vysokopřesné semantické editování obrazů. Výsledky zatím ukazují, že EditGAN skutečně nabízí, co slibuje, a již nyní překonává některé současné průmyslové standardy a modely.

Kunal Kejriwal je backendový inženýr specializující se na Python, PostgreSQL, Redis a cloudovou infrastrukturu na GCP a AWS. Má tři roky zkušeností s vývojem a škálováním produkčních systémů a píše o AI infrastruktuře, distribuovaných systémech a architektuře nasazování pracovních zátěží strojového učení.