Andersons vinkel

Redigering av en GANs latente rom med ‘blobs’

mm
Legg til Unite.AI blant dine foretrukne kilder på Google

Ny forskning fra UC Berkeley og Adobe (ADBE ) tilbyr en måte å redigere hyperrealistisk innhold som kan skapes av en Generative Adversarial Network (GAN), men som vanligvis ikke kan kontrolleres, animeres eller manipuleres fritt på en måte som er kjent for Photoshop-brukere og CGI-utøvere.

Tittelen på metoden er BlobGAN, og den innebærer å lage en grid av ‘blobs’ – matematiske konstruksjoner som kartlegger direkte til innhold i GANs latente rom.

Ved å flytte blobs, kan du flytte ‘objekter’ i en scenerepresentasjon, på en måte som er nærmere CGI- og CAD-metoder enn mange av de nåværende forsøkene på å kartlegge og kontrollere GANs latente rom:

Scene-manipulering med BlobGAN: når 'blobs' flyttes av brukeren, endres disposisjonen av latente objekter og stiler i GAN korresponderende. For flere eksempler, se papirens vedlagte video, innlemmet i slutten av denne artikkelen, eller på https://www.youtube.com/watch?v=KpUv82VsU5k

Scene-manipulering med BlobGAN: når ‘blobs’ flyttes av brukeren, endres disposisjonen av latente objekter og stiler i GAN korresponderende. For flere eksempler, se papirens vedlagte video, innlemmet i slutten av denne artikkelen, eller på https://www.youtube.com/watch?v=KpUv82VsU5k

Siden blobs korresponderer til ‘objekter’ i scenen som er kartlagt i GANs latente rom, er alle objekter disentangled a priori, og det er mulig å endre dem individuelt:

Objekter kan endres i størrelse, krympes, kloneres og fjernes, blant annet.

Objekter kan endres i størrelse, krympes, kloneres og fjernes, blant annet.

Som med enhver objekt i bildebehandlingsprogramvare (eller selv tekstbehandlingsprogramvare), kan en blob dupliseres og deretter manipuleres:

Blobs kan dupliseres i grensesnittet, og deres korresponderende latente representasjoner vil også bli 'kopiert og limt'. Kilde: https://dave.ml/blobgan/#results

Blobs kan dupliseres i grensesnittet, og deres korresponderende latente representasjoner vil også bli ‘kopiert og limt’. Kilde: https://dave.ml/blobgan/#results

BlobGAN kan også parse nye, brukervalgte bilder inn i sitt latente rom:

Med BlobGAN, trenger du ikke å inkorporere bilder du ønsker å manipulere direkte inn i treningsdataene og deretter jakte på deres latente koder, men kan innføre valgte bilder når som helst og manipulere dem. Bildene som endres her, er post-facto brukerinput. Kilde: https://dave.ml/blobgan/#results

Med BlobGAN, trenger du ikke å inkorporere bilder du ønsker å manipulere direkte inn i treningsdataene og deretter jakte på deres latente koder, men kan innføre valgte bilder når som helst og manipulere dem. Bildene som endres her, er post-facto brukerinput. Kilde: https://dave.ml/blobgan/#results

Flere resultater kan ses her, og i den vedlagte YouTube-videoen (innlemmet i slutten av denne artikkelen). Det finnes også en interaktiv Colab demo*, og en GitHub repo**.

Dette slaget av instrumentell og omfang kan synes naivt i etter-Photoshop-alderen, og parametrisk programvarepakker som Cinema4D og Blender har tillatt brukerne å skape og tilpasse 3D-verdener i årevis; men det representerer en lovende tilnærming til å temme de eksentriske og arkane naturer av det latente rommet i en Generative Adversarial Network, ved å bruke proxy-entiteter som er kartlagt til latente koder.

Forfatterne hevder:

‘På en utfordrende multi-kategori-datasett av innendørs scener, overgår BlobGAN Style-GAN2 i bildekvalitet som måles av FID.’

Papiret er tittel BlobGAN: Spatially Disentangled Scene Representations, og er skrevet av to forskere fra UC Berkeley, sammen med tre fra Adobe Research.

Middle-man

BlobGAN bringer en ny paradigme til GAN-bilde syntese. Tidligere tilnærminger til å håndtere diskrete enheter i det latente rommet, påpeker den nye artikkelen, har enten vært ‘top-down’ eller ‘bottom up’.

En top-down-metode i en GAN eller bilde klassifiserer behandler bilder av scener som klasser, som ‘soverom’, ‘kirke’, ‘ansikt’, osv. Denne type tekst/bilde-paringsmetode driver en ny generasjon av multimodale bilde syntese-rammeverk, som den nylige DALL-E 2 fra OpenAI.

Bunn-opp-tilnærminger, derimot, kartlegger hvert piksel i et bilde til en klasse, etikett eller kategori. Slike tilnærminger bruker forskjellige teknikker, selv om semantisk segmentering er en populær nåværende forskningsstråle.

Forfatterne kommenterer:

‘Begge veier synes utilfredsstillende fordi ingen kan tilby enkle måter å resonere om deler av scenen som enheter. Scenens deler er enten bake inn i en enkelt sammenflettet latent vektor (top-down), eller må samles sammen fra individuelle piksel-etiketter (bunn-opp).’

I stedet tilbyr BlobGAN en uovervåket mid-nivå-representasjon, eller proxy-rammeverk for generative modeller.

Layout-nettverket kartlegger lokale (og kontrollerbare) 'blob'-enheter til latente koder. De fargede sirkler i midten utgjør en 'blob-kart'. Kilde: https://arxiv.org/pdf/2205.02837.pdf

Layout-nettverket kartlegger lokale (og kontrollerbare) ‘blob’-enheter til latente koder. De fargede sirkler i midten utgjør en ‘blob-kart’. Kilde: https://arxiv.org/pdf/2205.02837.pdf

De gaussiske (dvs. støy-baserte) blobs er dybde-ordnet, og representerer en flaskehals i arkitekturen som tilordner en mapping til hver enhet, og løser det største hindret som er GAN-innhold-manipulering: disentanglement (også et problem for autoencoder-baserte arkitekturer). Den resulterende ‘blob-kartet’ brukes til å manipulere BlobGANs dekoder.

Forfatterne noterer med en viss overraskelse at systemet lærer å dekomponere scener i layouts og enheter gjennom en off-the-shelf-diskriminatore som ikke bruker eksplisitte etiketter.

Arkitektur og Data

Enheter i blob-kartet konverteres til bilder via en revidert StyleGAN2-avledet nettverk, i en tilnærming som tar inspirasjon fra tidligere NVIDIA (NVDA ) -forskning.

En revidert StyleGAN 2-avledet fra NVIDIA Research. Noen av prinsippene i dette arbeidet ble adoptert eller tilpasset for BlobGAN. Kilde: https://arxiv.org/pdf/1912.04958.pdf

En revidert StyleGAN 2-avledet fra NVIDIA Research. Noen av prinsippene i dette arbeidet ble adoptert eller tilpasset for BlobGAN. Kilde: https://arxiv.org/pdf/1912.04958.pdf

StyleGAN 2 er modifisert i BlobGAN for å akseptere innputt fra blob-kartet i stedet for en enkelt global vektor, som vanligvis er tilfelle.

En serie manipulasjoner som er mulig med BlobGAN, inkludert 'autokomplettering' av et soverom-scene, og endring av størrelse og plassering av elementene i rommet. I raden under ser vi bruker-tilgjengelig instrumentell som muliggjør dette – blob-kartet.

En serie manipulasjoner som er mulig med BlobGAN, inkludert ‘autokomplettering’ av et tomt soverom-scene, og endring av størrelse og plassering av elementene i rommet. I raden under ser vi bruker-tilgjengelig instrumentell som muliggjør dette – blob-kartet.

Ved analogi, i stedet for å bringe et stort og komplekst bygg (det latente rommet) til eksistens på en gang, og deretter måtte utforske dens endeløse veier, sender BlobGAN inn komponent-blokkene fra starten, og vet alltid hvor de er. Denne disentanglement av innhold og plassering er den største innovasjonen i arbeidet.

 

* Ikke fungerende på tidspunktet for skriving
** Kode ikke publisert på tidspunktet for skriving

 

Først publisert 8. mai 2022.

Forfatter innen maskinlæring, domenespesialist i menneskeskapesynthese. Tidligere sjef for forskningsinnhold i Metaphysic.ai, til det ble oppløst i DNEG's Brahma.ai.
Portfolio nettsted: martinanderson.ai
Kontakt: martin@martinanderson.ai