AI-modeller och plattformar

Högprecisionssemantisk bildredigering med EditGAN

mm
Lägg till Unite.AI bland dina föredragna källor på Google

Generativa adversariala nätverk eller GAN har fått nya tillämpningar inom bildredigeringsindustrin. Under de senaste månaderna har EditGAN blivit alltmer populärt inom AI/ML-industrin eftersom det är en ny metod för högprecisions- och högkvalitetssemantisk bildredigering.

Vi kommer att diskutera EditGAN-modellen i detalj och berätta varför den kan visa sig vara en milstolpe inom den semantiska bildredigeringsindustrin.

Så låt oss börja. Men innan vi lär oss vad EditGAN är, är det viktigt för oss att förstå vad EditGAN är viktigt och varför det är ett stort steg framåt.

Varför EditGAN?

Även om traditionella GAN-arkitekturer har hjälpt AI-baserad bildredigering att utvecklas avsevärt, finns det några stora utmaningar med att bygga en GAN-arkitektur från scratch.

  1. Under utbildningsfasen kräver en GAN-arkitektur en stor mängd märkt data med semantisk segmenteringsanteckningar.
  2. De kan bara ge högnivåkontroll.
  3. Och ofta interpolerar de bara fram och tillbaka mellan bilder.

Det kan observeras att även om traditionella GAN-arkitekturer får jobbet gjort, är de inte effektiva för stor skala distribution. Traditionell GAN-arkitekturs undermåliga effektivitet är anledningen till varför EditGAN introducerades av NVIDIA (NVDA ) 2022.

EditGAN föreslås vara en effektiv metod för högprecisions- och högkvalitetssemantisk bildredigering med möjlighet att låta användarna redigera bilder genom att ändra deras högt detaljerade segmenteringsmasker för en bild. En av anledningarna till varför EditGAN är en skalbar metod för bildredigeringsuppgifter är på grund av dess arkitektur.

EditGAN-modellen byggs på ett GAN-ramverk som modellerar bilder och deras semantiska segmenteringar gemensamt och kräver endast en handfull märkt eller annoterad utbildningsdata. Utvecklarna av EditGAN har försökt att infoga en bild i GAN:s latenta utrymme för att effektivt modifiera bilden genom att utföra villkorlig latentskodsoptimering i enlighet med segmenteringsredigeringen. Dessutom försöker modellen att hitta “redigeringsvektorer” i latenta utrymme som förverkligar redigeringarna.

Arkitekturen för EditGAN-ramverket tillåter modellen att lära sig ett godtyckligt antal redigeringsvektorer som sedan kan implementeras eller tillämpas direkt på andra bilder med hög hastighet och effektivitet. Dessutom indikerar experimentella resultat att EditGAN kan redigera bilder med en aldrig tidigare skådad detaljnivå samtidigt som bildkvaliteten bevaras till maximalt.

För att sammanfatta varför vi behöver EditGAN, är det den första GAN-baserade bildredigeringsramen som erbjuder

  1. Mycket högprecisionsredigering.
  2. Kan arbeta med en handfull märkt data.
  3. Kan distribueras effektivt i realtids scenarier.
  4. Tillåter komposition för flera redigeringar samtidigt.
  5. Fungerar på GAN-genererade, verkliga inbäddade och även utomdomänsbilder.

Högprecisionssemantisk bildredigering med EditGAN

StyleGAN2, en state-of-the-art GAN-ram för bildsyntes, är den primära bildgenereringskomponenten i EditGAN. StyleGAN2-ramen kartlägger latentkoder som dras från en pool av multivariat normalfördelning och kartlägger den till realistiska bilder.

StyleGAN2 är en djup generativ modell som har tränats för att syntetisera bilder av högsta kvalitet möjligt tillsammans med att förvärva en semantisk förståelse för de modellerade bilderna.

Segmenteringsutbildning och inferens

EditGAN-modellen infogar en bild i GAN:s latenta utrymme med hjälp av optimering och en encoder för att utföra segmentering på en ny bild och träna segmenteringsgrenen. EditGAN-ramen fortsätter att bygga på tidigare arbeten och tränar en encoder för att infoga bilderna i latenta utrymme. Det primära målet här är att träna encodern bestående av standardpixelvisa L2- och LPIPS-konstruktionsförluster med hjälp av prover från GAN och riktiga träningsdata. Dessutom regulariserar modellen också encodern explicit med hjälp av latentkoderna när den arbetar med GAN-prover.

Resultatet är att modellen infogar de annoterade bilderna från datamängden som är märkta med semantisk segmentering i latenta utrymme och använder sig av korsentropiförlust för att träna segmenteringsgrenen i generatoren.

Använda segmenteringsredigering för att hitta semantik i latenta utrymme

Det primära syftet med EditGAN är att utnyttja den gemensamma fördelningen av semantiska segmenteringar och bilder för högprecisionsbildredigering. Säg att vi har en bild x som behöver redigeras, så infogar modellen bilden i EditGAN:s latenta utrymme eller använder prover från modellen själv. Segmenteringsgrenen genererar sedan y eller den motsvarande segmenteringen främst eftersom både RGB-bilder och segmenteringar delar samma latentkoder w. Utvecklare kan sedan använda valfria märknings- eller digitala målningsverktyg för att modifiera segmenteringen och redigera dem manuellt enligt deras behov.

Olika sätt att redigera under inferens

De latenta utrymmesredigeringsvektorer som erhålls med hjälp av optimering kan beskrivas som semantiskt meningsfulla och är ofta desamma med olika attribut. Därför kan modellen, för att redigera en ny bild, infoga bilden i latenta utrymme och direkt utföra samma redigeringsoperationer som modellen lärde sig tidigare, utan att utföra optimeringen allt igen från scratch. Det vore säkert att säga att de redigeringsvektorer modellen lär sig amortiserar optimeringen som var nödvändig för att redigera bilden initialt.

Det är värt att notera att utvecklare ännu inte har perfekterat desammanfogning, och redigeringsvektorer fungerar ofta inte som bäst när de används för andra bilder. Men problemet kan övervinnas genom att ta bort redigeringsartefakter från andra delar av bilden genom att utföra några extra optimeringssteg under testtiden.

Baserat på våra nuvarande kunskaper kan EditGAN-ramen användas för att redigera bilder på tre olika sätt.

  • Real-tidsredigering med redigeringsvektorer

För bilder som är lokaliserade och desamma, redigerar modellen bilden genom att tillämpa redigeringsvektorer som lärts tidigare med olika skalor och manipulerar bilden i interaktiva hastigheter.

  • Använda självständig förbättring för vektorbaserad redigering

För att redigera lokaliserade bilder som inte är desamma perfekt med andra delar av bilden, initierar modellen redigeringen av bilden med hjälp av tidigare lärda redigeringsvektorer och tar bort redigeringsartefakter genom att utföra några extra optimeringssteg under testtiden.

  • Optimeringsbaserad redigering

För att utföra storskalig och bildspecifik redigering, utför modellen optimering från början eftersom redigeringsvektorer inte kan användas för att utföra sådana överföringar till andra bilder.

Implementering

EditGAN-ramen utvärderas på bilder som sprids över fyra olika kategorier: Bilar, Fåglar, Katter och Ansikten. Segmenteringsgrenen i modellen tränas med hjälp av bild-maskpar på 16, 30, 30, 16 som märkt utbildningsdata för Bilar, Fåglar, Katter och Ansikten. När bilden ska redigeras enbart med hjälp av optimering eller när modellen försöker lära sig redigeringsvektorerna, utför modellen 100 optimeringssteg med hjälp av Adam-optimisatorn.

För Katt-, Bil- och Ansiktsdatamängden använder modellen riktiga bilder från DatasetGAN:s testuppsättning som inte användes för att träna GAN-ramen för att utföra redigeringsfunktion. Dessa bilder infogas direkt i EditGAN:s latenta utrymme med hjälp av optimering och kodning. För Fågelkategorin visas redigeringen på GAN-genererade bilder.

Resultat

Kvalitativa resultat

Inomdomänsresultat

Bilden ovan visar prestationen för EditGAN-ramen när den tillämpar tidigare lärda redigeringsvektorer på nya bilder och förbättrar bilderna med hjälp av 30 optimeringssteg. Dessa redigeringsoperationer som utförs av EditGAN-ramen är desamma för alla klasser och bevarar den övergripande kvaliteten på bilderna. Jämfört med resultaten från EditGAN och andra ramverk kan det observeras att EditGAN-ramen överträffar andra metoder när det gäller att utföra högprecisions- och komplexa redigeringar samtidigt som den bevarar ämnesidentiteten och bildkvaliteten på samma gång.

Vad som är förbluffande är att EditGAN-ramen kan utföra extremt högprecisionsredigering som att utvidga pupillerna eller redigera hjulspindlarna i bilens däck. Dessutom kan EditGAN också användas för att redigera semantiska delar av föremål som endast har några pixlar eller för att utföra storskaliga ändringar av en bild. Det är värt att notera att de flera redigeringsoperationerna i EditGAN-ramen kan generera manipulerade bilder som inte liknar de som finns i GAN-träningsdata.

Utandomänsresultat

För att utvärdera EditGAN:s utandomänsprestation har ramverket testats på MetFaces-datamängden. EditGAN-modellen använder inomdomäns riktiga ansikten för att skapa redigeringsvektorer. Modellen infogar sedan MetFaces-porträtt som är utomdomän med hjälp av en 100-stegs optimeringsprocess och tillämpar redigeringsvektorerna via en 30-stegs självständig förbättringsprocess. Resultaten kan ses i bilden nedan.

Kvantitativa resultat

För att mäta EditGAN:s bildredigeringsförmåga kvantitativt använder modellen ett leende-redigeringsbenchmark som introducerades av MaskGAN. Ansikten med neutral uttryck ersätts med leende ansikten och prestationen mäts över tre parametrar.

  • Semantisk korrekthet

Modellen använder en förtränad leendeattributklassificerare för att mäta om ansiktena i bilderna visar leende uttryck efter redigering.

  • Fördelning på distributionsnivå för bildkvalitet

Kernel Inception Distance eller KID och Frechet Inception Distance eller FID beräknas mellan CelebA-testdatamängden och 400 redigerade testbilder.

  • Identitetsskydd

Modellens förmåga att bevara identiteten hos ämnen när bilden redigeras mäts med hjälp av en förtränad ArcFace-funktionsextraheringsnätverk.

Tabellen ovan jämför prestationen för EditGAN-ramen med andra baslinjemodeller på leende-redigeringsbenchmark. Metoden som följs av EditGAN-ramen för att leverera så höga resultat jämförs över tre olika baslinjer:

  • MaskGAN

MaskGAN tar icke-leende bilder tillsammans med deras segmenteringsmasker och en mål-leende segmenteringsmask som indata. Det är värt att notera att när det jämförs med EditGAN, kräver MaskGAN-ramen en stor mängd annoterad data.

  • Lokal redigering

EditGAN jämför också sin prestation med lokal redigering, en metod som används för att klustra GAN-funktioner för att implementera lokal redigering och som är beroende av referensbilder.

  • InterFaceGAN

Liksom EditGAN försöker InterFaceGAN också att hitta redigeringsvektorer i modellens latenta utrymme. Men till skillnad från EditGAN, använder InterFaceGAN-modellen en stor mängd annoterad data, auxiliära attributklassificerare och har inte den fina redigeringsprecisionen.

  • StyleGAN2Destillation

Denna metod skapar en alternativ approach som inte nödvändigtvis kräver riktiga bildinbäddningar, utan använder istället en redigeringsvektormodell för att skapa en träningsdatamängd.

Begränsningar

Eftersom EditGAN är baserad på GAN-ramen, har den samma begränsning som alla andra GAN-modeller: den kan bara fungera med bilder som kan modelleras av GAN. EditGAN:s begränsning att fungera med GAN-modellerade bilder är den största anledningen till varför det är svårt att implementera EditGAN i olika scenarier. Men det är värt att notera att EditGAN:s högprecisionsredigering kan överföras lätt till andra olika bilder med hjälp av redigeringsvektorer.

Slutsats

En av de största anledningarna till varför GAN inte är en branschstandard inom bildredigeringsfältet är på grund av dess begränsade praktiska tillämpning. GAN-ramverk kräver vanligtvis en stor mängd annoterad träningsdata och de returnerar ofta inte hög effektivitet och precision.

EditGAN syftar till att hantera de problem som presenteras av konventionella GAN-ramverk, och det försöker att komma som en effektiv metod för högkvalitets- och högprecisionssemantisk bildredigering. Resultaten hittills har visat att EditGAN faktiskt erbjuder vad det påstår, och det fungerar redan bättre än några av de nuvarande branschstandardpraktikerna och modellerna.

Kunal Kejriwal är en backend‑ingenjör som specialiserar sig på Python, PostgreSQL, Redis och molninfrastruktur på GCP och AWS. Med tre års erfarenhet av att bygga och skala produktionssystem skriver han om AI‑infrastruktur, distribuerade system och arkitekturen bakom distribution av maskininlärningsarbetsbelastningar.