Unghiul lui Anderson
Editarea spațiului latent al unei GAN cu ‘Blobs’

Noi cercetări de la UC Berkeley și Adobe (ADBE ) oferă o modalitate de a edita direct conținutul hiperreal care poate fi creat de o Rețea Adversarială Generativă (GAN), dar care de obicei nu poate fi controlat, animat sau manipulat liber într-un mod familiar utilizatorilor de Photoshop și practicanților de CGI.
Denominată BlobGAN, metoda implică crearea unei grile de ‘blobs’ – construcții matematice care se corelează direct cu conținutul din spațiul latent al GAN.
Prin mișcarea blob-urilor, puteți muta ‘obiectele’ dintr-o reprezentare a scenei, într-un mod intuitiv care este mai apropiat de metodele CGI și CAD decât multe dintre încercările actuale de a cartografia și controla spațiul latent al GAN:

Manipularea scenei cu BlobGAN: pe măsură ce ‘blob-urile’ sunt mutate de utilizator, dispoziția obiectelor latente și a stilurilor în GAN este corespunzător modificată. Pentru mai multe exemple, consultați videoclipul însoțitor al articolului, încorporat la sfârșitul acestui articol, sau la https://www.youtube.com/watch?v=KpUv82VsU5k
Deoarece blob-urile corespund ‘obiectelor’ din scena cartografiată în spațiul latent al GAN, toate obiectele sunt disociate a priori, permițând modificarea lor individuală:

Obiectele pot fi redimensionate, micșorate, clonate și eliminate, printre alte operații.
La fel ca orice obiect în software-ul de editare foto (sau chiar text), un blob poate fi duplicat și ulterior manipulat:

Blob-urile pot fi duplicate în interfață, iar reprezentările lor latente corespunzătoare vor fi, de asemenea, ‘copiate și lipite’. Sursa: https://dave.ml/blobgan/#results
BlobGAN poate, de asemenea, analiza imagini noi, selectate de utilizator, în spațiul său latent:

Cu BlobGAN, nu trebuie să încorporați imagini pe care doriți să le manipulați direct în datele de antrenare și apoi să căutați codurile lor latente, ci puteți introduce imagini selectate la liber și le puteți manipula. Sursa: https://dave.ml/blobgan/#results
Mai multe rezultate pot fi văzute aici, și în videoclipul însoțitor YouTube (încorporat la sfârșitul acestui articol). De asemenea, există un demo interactiv Colab demo*, și un depozit GitHub repo**.
Acest tip de instrument și domeniu de aplicare poate părea naiv în era post-Photoshop, și pachetele software parametrice, cum ar fi Cinema4D și Blender, permit utilizatorilor să creeze și să personalizeze lumi 3D de decenii; dar reprezintă o abordare promițătoare pentru a domestici excentricitățile și natura arcană a spațiului latent într-o Rețea Adversarială Generativă, prin utilizarea unor entități proxy care sunt cartografiate la coduri latente.
Autorii afirmă:
‘Pe un set de date complex cu mai multe categorii de scene interioare, BlobGAN depășește Style-GAN2 în calitatea imaginilor, măsurată prin FID.’
Articolul articolul se numește BlobGAN: Reprezentări spațiale disociate ale scenei, și este scris de doi cercetători de la UC Berkeley, împreună cu trei de la Adobe Research.
Middle-man
BlobGAN aduce un nou paradigmă pentru sinteza de imagini GAN. Abordările anterioare pentru adresarea entităților discrete în spațiul latent, noul articol subliniază, au fost fie ‘de sus în jos’ sau ‘de jos în sus’.
O abordare ‘de sus în jos’ într-o GAN sau clasificator de imagini tratează imagini de scene ca clase, cum ar fi ‘dormitor’, ‘biserică’, ‘față’, etc. Acest tip de asociere text/ imagine alimentează o nouă generație de cadre de sinteză de imagini multimodale, cum ar fi recentul DALL-E 2 de la OpenAI.
Abordările ‘de jos în sus’, în schimb, cartografiază fiecare pixel dintr-o imagine într-o clasă, etichetă sau categorie. Astfel de abordări utilizează tehnici diverse, deși segmentarea semantică este o direcție de cercetare curentă populară.
Autorii comentă:
‘Ambele căi par nesatisfăcătoare, deoarece niciuna nu poate oferi modalități ușoare de a raționa despre părțile scenei ca entități. Părțile scenei sunt fie încorporate într-un singur vector latent încurcat (de sus în jos), sau trebuie să fie grupate împreună din etichete de pixel individuale (de jos în sus).’
În schimb, BlobGAN oferă o reprezentare de nivel mediu nesupravegheată, sau un cadru de proxy pentru modele generative.

Rețeaua de layout cartografiază entitățile locale (și controlabile) ‘blob’ la coduri latente. Sursa: https://arxiv.org/pdf/2205.02837.pdf
Blob-urile gaussiene (adică bazate pe zgomot) sunt ordonate în profunzime și reprezintă un punct de strângere în arhitectură care atribuie o cartografiere pentru fiecare entitate, rezolvând cel mai mare obstacol care există pentru manipularea conținutului GAN: disocierea (de asemenea o problemă pentru arhitecturile bazate pe autoencoder). Harta de blob rezultată este utilizată pentru a manipula decodificatorul BlobGAN.
Autorii notează cu oarecare surprindere că sistemul învață să descompună scenele în layout-uri și entități prin intermediul unui discriminator de serie, care nu utilizează etichete explicite.
Arhitectură și date
Entitățile din harta de blob sunt convertite în imagini prin intermediul unei rețele revizuite StyleGAN2, într-o abordare care ia inspirație din cercetările anterioare ale NVIDIA (NVDA ).

O rețea revizuită StyleGAN 2 de la NVIDIA Research. Sursa: https://arxiv.org/pdf/1912.04958.pdf
StyleGAN 2 este modificat în BlobGAN pentru a accepta intrări de la harta de blob în loc de un vector global unic, așa cum se întâmplă de obicei.

O serie de manipulări posibile cu BlobGAN, inclusiv ‘autocompletarea’ unei scene de dormitor, și redimensionarea și relocarea elementelor din cameră.
Prin analogie, în loc să aducă o clădire vastă și complexă (spațiul latent) în existență deodată, și apoi să trebuiască să exploreze aleile sale infinite, BlobGAN trimite blocurile componente la început, și întotdeauna știe unde sunt. Această disociere a conținutului și a locației este inovația majoră a lucrării.
* Nu este funcțional la momentul scrierii
** Codul nu a fost publicat la momentul scrierii
Publicat pentru prima dată pe 8 mai 2022.












