Modele și platforme AI

Editare Semantică de Înaltă Precizie a Imaginilor cu EditGAN

mm
Adaugă Unite.AI la sursele tale preferate pe Google

Rețelele Adversative Generative sau GAN-urile au beneficiat de noi aplicații în industria de editare a imaginilor. În ultimele luni, EditGAN a câștigat popularitate în industria AI/ML, deoarece este o metodă nouă pentru editarea semantică de înaltă precizie și calitate a imaginilor.

Vom discuta despre modelul EditGAN în detaliu și vă vom spune de ce ar putea fi o piatră de hotar în industria de editare semantică a imaginilor.

Așadar, să începem. Dar înainte de a afla ce este EditGAN, este important să înțelegem importanța EditGAN și de ce este un pas înainte semnificativ.

De ce EditGAN?

Deși arhitecturile GAN tradiționale au ajutat industria de editare a imaginilor bazată pe IA să progreseze semnificativ, există câteva provocări majore în construirea unei arhitecturi GAN de la zero.

  1. În faza de antrenare, o arhitectură GAN necesită o cantitate mare de date etichetate cu anotări de segmentare semantică.
  2. Sunt capabile să ofere doar un control de nivel înalt.
  3. Și adesea, ele interpolază doar între imagini.

Se poate observa că, deși arhitecturile GAN tradiționale fac treaba, nu sunt eficiente pentru o amplă implementare. Ineficiența arhitecturilor GAN tradiționale este motivul pentru care EditGAN a fost introdus de NVIDIA (NVDA ) în 2022.

EditGAN este propus să fie o metodă eficientă pentru editarea semantică de înaltă precizie și calitate a imaginilor, cu capacitatea de a permite utilizatorilor să editeze imagini prin modificarea masivelor de segmentare detaliate ale unei imagini. Unul dintre motivele pentru care EditGAN este o metodă escalabilă pentru sarcinile de editare a imaginilor este arhitectura sa.

Modelul EditGAN este construit pe un cadru GAN care modelează imagini și segmentări semantice în mod comun și necesită doar o cantitate mică de date de antrenare etichetate sau anotate. Dezvoltatorii EditGAN au încercat să încorporeze o imagine în spațiul latent GAN pentru a modifica eficient imaginea prin efectuarea unei optimizări condiționale a codului latent în conformitate cu editarea segmentării. Mai mult, pentru a amortiza optimizarea, modelul încearcă să găsească “vectori de editare” în spațiul latent care realizează editările.

Arhitectura cadrului EditGAN permite modelului să învețe un număr arbitrar de vectori de editare care pot fi apoi implementați sau aplicați direct pe alte imagini cu viteză și eficiență ridicată. Mai mult, rezultatele experimentale indică faptul că EditGAN poate edita imagini cu un nivel de detaliu niciodată văzut înainte, păstrând calitatea imaginii la maximum.

Pentru a rezuma de ce avem nevoie de EditGAN, este primul cadru de editare a imaginilor bazat pe GAN care oferă

  1. Editare de înaltă precizie.
  2. Poate lucra cu o cantitate mică de date etichetate.
  3. Poate fi implementat eficient în scenarii în timp real.
  4. Permite compunerea pentru multiple editări simultane.
  5. Funcționează pe imagini generate de GAN, imagini reale încorporate și chiar imagini din afara domeniului.

Editare Semantică de Înaltă Precizie cu EditGAN

StyleGAN2, un cadru GAN de ultimă generație pentru sinteză de imagini, este componenta principală de generare a imaginilor a EditGAN. Cadrul StyleGAN2 mapăază coduri latente care sunt extrase dintr-o distribuție normală multivariată și le mapăază în imagini realiste.

StyleGAN2 este un model generativ profund care a fost antrenat pentru a sintetiza imagini de cea mai bună calitate posibilă, împreună cu o înțelegere semantică a imaginilor modelate.

Antrenare și Inferență de Segmentare

Modelul EditGAN încorporează o imagine în spațiul latent GAN folosind optimizarea și un encoder pentru a efectua segmentarea pe o imagine nouă și antrenarea ramurii de segmentare. Cadrul EditGAN continuă să se bazeze pe lucrări anterioare și antrenează un encoder pentru a încorpora imagini în spațiul latent. Obiectivul principal aici este de a antrena encoderul, care constă în pierderi standard L2 și LPIPS, folosind mostre din GAN și date de antrenare din viața reală. Mai mult, modelul regularizează explicit encoderul folosind codurile latente atunci când lucrează cu mostrele GAN.

În consecință, modelul încorporează imagini anotate din setul de date etichetate cu segmentare semantică în spațiul latent și folosește pierderea de entropie cruză pentru a antrena ramura de segmentare a generatorului.

Folosirea Editării de Segmentare pentru a Găsi Semantica în Spațiul Latent

Scopul principal al EditGAN este de a valorifica distribuția comună a segmentărilor semantice și a imaginilor pentru editarea de înaltă precizie a imaginilor. Să zicem că avem o imagine x care trebuie editată, astfel încât modelul încorporează imaginea în spațiul latent EditGAN sau folosește mostre din modelul însuși. Ramura de segmentare generează apoi y sau segmentarea corespunzătoare, în principal pentru că atât imaginile RGB, cât și segmentările împărtășesc aceleași coduri latente w. Dezvoltatorii pot apoi folosi orice instrumente de etichetare sau pictură digitală pentru a modifica segmentarea și a o edita manual, conform cerințelor.

Diferite Moduri de Editare în Timpul Inferenței

Vectorii de editare a spațiului latent obținuți prin optimizare pot fi descriși ca fiind semnificativi din punct de vedere semantic și sunt adesea dezîncurajați cu diferite atribute. Prin urmare, pentru a edita o imagine nouă, modelul poate încorpora direct imaginea în spațiul latent și efectua aceleași operațiuni de editare pe care le-a învățat anterior, fără a efectua optimizarea din nou de la zero. Ar fi sigur să spunem că vectorii de editare pe care modelul îi învață amortizează optimizarea care a fost esențială pentru a edita imaginea inițial.

Este demn de remarcat că dezvoltatorii nu au încă perfectat dezîncurajarea, iar vectorii de editare nu returnează întotdeauna cele mai bune rezultate atunci când sunt folosiți pentru alte imagini. Cu toate acestea, problema poate fi depășită prin îndepărtarea artefactelor de editare din alte părți ale imaginii prin efectuarea unor pași suplimentari de optimizare în timpul testării.

Pe baza cunoștințelor noastre actuale, cadrul EditGAN poate fi folosit pentru a edita imagini în trei moduri diferite.

  • Ediție în Timp Real cu Vectori de Editare

Pentru imagini localizate și dezîncurajate, modelul editează imaginile prin aplicarea vectorilor de editare învățați anterior cu diferite scări și manipulează imaginile la rate interactive.

  • Folosind Refinarea Auto-Supervizată pentru Editarea Bazată pe Vectori

Pentru editarea imaginilor localizate care nu sunt dezîncurajate perfect cu alte părți ale imaginii, modelul inițializează editarea imaginii folosind vectorii de editare învățați anterior și îndepărtează artefactele de editare prin efectuarea unor pași suplimentari de optimizare în timpul testării.

  • Ediție Bazată pe Optimizare

Pentru a efectua editări la scară largă și specifice imaginilor, modelul efectuează optimizarea de la început, deoarece vectorii de editare nu pot fi folosiți pentru a efectua aceste tipuri de transferuri către alte imagini.

Implementare

Cadrul EditGAN este evaluat pe imagini răspândite în patru categorii diferite: Mașini, Păsări, Pisici și Fețe. Ramura de segmentare a modelului este antrenată folosind perechi de imagini și măști de 16, 30, 30, 16 ca date de antrenare etichetate pentru Mașini, Păsări, Pisici și Fețe, respectiv. Atunci când imaginea este editată pur și simplu folosind optimizarea sau atunci când modelul încearcă să învețe vectorii de editare, modelul efectuează 100 de pași de optimizare folosind optimizatorul Adam.

Pentru seturile de date Pisică, Mașină și Fețe, modelul folosește imagini reale din setul de testare DatasetGAN care nu au fost folosite pentru a antrena cadrul GAN pentru a efectua funcționalitatea de editare. Aceste imagini sunt încorporate direct în spațiul latent EditGAN folosind optimizarea și codarea. Pentru categoria Păsări, editarea este arătată pe imagini generate de GAN.

Rezultate

Rezultate Calitative

Rezultate în Domeniu

Imaginea de mai sus demonstrează performanța cadrului EditGAN atunci când aplică vectorii de editare învățați anterior pe imagini noi și rafinează imaginile folosind 30 de pași de optimizare. Aceste operațiuni de editare efectuate de cadrul EditGAN sunt dezîncurajate pentru toate clasele și păstrează calitatea generală a imaginilor. Comparând rezultatele EditGAN cu alte metode, se poate observa că cadrul EditGAN depășește alte metode în efectuarea editărilor de înaltă precizie și complexe, păstrând identitatea subiectului și calitatea imaginii în același timp.

Ce este uimitor este că cadrul EditGAN poate efectua editări de înaltă precizie, cum ar fi dilatarea pupilelor sau editarea spițelor roților unei mașini. Mai mult, EditGAN poate fi folosit și pentru a edita părți semantice ale obiectelor care au doar câteva pixeli sau pentru a efectua modificări la scară largă ale unei imagini. Este demn de remarcat că operațiunile de editare ale cadrului EditGAN pot genera imagini manipulate care nu apar în datele de antrenare GAN.

Rezultate în Afara Domeniului

Pentru a evalua performanța cadrului EditGAN în afara domeniului, cadrul a fost testat pe setul de date MetFaces. Modelul EditGAN folosește fețe reale din domeniu pentru a crea vectori de editare. Modelul încorporează apoi portretele MetFaces care sunt în afara domeniului folosind un proces de optimizare de 100 de pași și aplică vectorii de editare prin intermediul unui proces de rafinare auto-supervizată de 30 de pași. Rezultatele pot fi văzute în imaginea de mai jos.

Rezultate Cantitative

Pentru a măsura capacitățile de editare a imaginilor ale cadrului EditGAN în mod cantitativ, modelul folosește un benchmark de editare a zâmbetului care a fost introdus pentru prima dată de MaskGAN. Fețele care conțin expresii neutre sunt înlocuite cu fețe zâmbitoare și performanța este măsurată pe trei parametri.

  • Corectitudine Semantică

Modelul folosește un clasificator de atribute de zâmbet preantrenat pentru a măsura dacă fețele din imagini arată expresii zâmbitoare după editare.

  • Calitatea Imaginii la Nivel de Distribuție

Se calculează distanța de început a noțiunii (KID) și distanța de început a noțiunii (FID) între setul de testare CelebA și 400 de imagini editate.

  • Păstrarea Identității

Capacitatea modelului de a păstra identitatea subiectului atunci când editează imaginea este măsurată folosind o rețea de extragere a caracteristicilor ArcFace preantrenată.

Tabelul de mai sus compară performanța cadrului EditGAN cu alte modele de referință pe benchmark-ul de editare a zâmbetului. Metoda folosită de cadrul EditGAN pentru a oferi astfel de rezultate este comparată pe trei modele de referință diferite:

  • MaskGAN

MaskGAN ia imagini care nu zâmbesc, împreună cu măștile de segmentare și o mască de zâmbet țintă, ca intrare. Este demn de remarcat că, în comparație cu EditGAN, cadrul MaskGAN necesită o cantitate mare de date anotate.

  • Ediție Locală

EditGAN compară și performanța sa cu editarea locală, o metodă care este utilizată pentru a clustra caracteristicile GAN pentru a implementa editarea locală și care depinde de imagini de referință.

  • InterFaceGAN

La fel ca EditGAN, InterFaceGAN încearcă să găsească vectori de editare în spațiul latent al modelului. Cu toate acestea, spre deosebire de EditGAN, modelul InterFaceGAN folosește o cantitate mare de date anotate, clasificatori auxiliari de atribute și nu are precizia de editare fină.

  • StyleGAN2Distillation

Această metodă creează o abordare alternativă care nu necesită neapărat încorporarea imaginilor reale, ci folosește un model de vector de editare pentru a crea un set de date de antrenare.

Limitări

Deoarece EditGAN se bazează pe cadrul GAN, are aceeași limitare ca orice alt model GAN: poate lucra doar cu imagini care pot fi modelate de GAN. Limitarea EditGAN de a lucra cu imagini modelate de GAN este motivul principal pentru care este dificil de implementat EditGAN în diferite scenarii. Cu toate acestea, este demn de remarcat că editările de înaltă precizie ale EditGAN pot fi transferate cu ușurință către alte imagini diferite, folosind vectorii de editare.

Concluzie

Unul dintre motivele principale pentru care GAN nu este o normă industrială în domeniul editării imaginilor este datorită lipsei sale de practicitate. Cadrele GAN necesită de obicei o cantitate mare de date de antrenare anotate și nu oferă întotdeauna eficiență și precizie ridicate.

EditGAN încearcă să abordeze problemele prezentate de cadrele GAN convenționale și încearcă să devină o metodă eficientă pentru editarea semantică de înaltă calitate și precizie a imaginilor. Rezultatele până acum au indicat faptul că EditGAN oferă ceea ce promite și că este deja mai bun decât unele dintre practicile și modelele actuale din industrie.

Kunal Kejriwal este un inginer backend specializat în Python, PostgreSQL, Redis și infrastructură cloud pe GCP și AWS. Cu trei ani de experiență în construirea și scalarea sistemelor de producție, el scrie despre infrastructura AI, sistemele distribuite și arhitectura din spatele implementării sarcinilor de învățare automată.