Andersons vinkel

Redigering av en GANs latenta utrymme med ‘Blob’

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

Ny forskning från UC Berkeley och Adobe (ADBE ) erbjuder ett sätt att direkt redigera den hyperrealistiska innehållet som kan skapas av en Generative Adversarial Network (GAN), men som vanligtvis inte kan kontrolleras, animeras eller fritt manipuleras på ett sätt som är välkänt för Photoshop-användare och CGI-utövare.

Metoden, som kallas BlobGAN, innebär att skapa ett rutnät av ‘blobbar’ – matematiska konstruktioner som kartläggs direkt till innehåll inom GANs latenta utrymme.

Genom att flytta blobbarna kan du flytta ‘objekten’ i en scenrepresentation på ett intuitivt sätt som är närmare CGI- och CAD-metoder än många av de nuvarande försöken att kartlägga och kontrollera GANs latenta utrymme:

Scenmanipulation med BlobGAN: när 'blobbarna' flyttas av användaren, ändras dispositionen av latenta objekt och stilar i GAN på motsvarande sätt. För fler exempel, se den medföljande videon, inbäddad i slutet av den här artikeln, eller på https://www.youtube.com/watch?v=KpUv82VsU5k

Scenmanipulation med BlobGAN: när ‘blobbarna’ flyttas av användaren, ändras dispositionen av latenta objekt och stilar i GAN på motsvarande sätt. För fler exempel, se den medföljande videon, inbäddad i slutet av den här artikeln, eller på https://www.youtube.com/watch?v=KpUv82VsU5k

Eftersom blobbarna motsvarar ‘objekten’ i scenen som kartläggs i GANs latenta utrymme, är alla objekten disentanglad a priori, vilket gör det möjligt att ändra dem individuellt:

Objekt kan förstoras, förminskas, klonas och tas bort, bland annat.

Objekt kan förstoras, förminskas, klonas och tas bort, bland annat.

Som med alla objekt i fotoeditor (eller till och med texteditor) programvara, kan en blobb dupliceras och sedan manipuleras:

Blobbar kan dupliceras i gränssnittet, och deras motsvarande latenta representationer kommer också att 'kopieras och klistras in'. Källa: https://dave.ml/blobgan/#results

Blobbar kan dupliceras i gränssnittet, och deras motsvarande latenta representationer kommer också att ‘kopieras och klistras in’. Källa: https://dave.ml/blobgan/#results

BlobGAN kan också tolka nya, användarvalda bilder till dess latenta utrymme:

Med BlobGAN behöver du inte införliva bilder som du vill manipulera direkt i träningsdata och sedan leta reda på deras latenta koder, utan kan mata in valda bilder när som helst och manipulera dem. Fotona som ändras här är efterfaktliga användarindata. Källa: https://dave.ml/blobgan/#results

Med BlobGAN behöver du inte införliva bilder som du vill manipulera direkt i träningsdata och sedan leta reda på deras latenta koder, utan kan mata in valda bilder när som helst och manipulera dem. Fotona som ändras här är efterfaktliga användarindata. Källa: https://dave.ml/blobgan/#results

Flera resultat kan ses här, och i den medföljande YouTube-videon (inbäddad i slutet av den här artikeln). Det finns också en interaktiv Colab demo*, och ett GitHub repo**.

Denna typ av instrument och omfattning kan tyckas naiv i efter-Photoshop-eran, och parametriska programvarupaket som Cinema4D och Blender har tillåtit användare att skapa och anpassa 3D-världar i decennier; men det representerar ett lovande tillvägagångssätt för att tämja de excentriska och det arkaiska i GANs latenta utrymme, genom användning av proxyentiteter som kartläggs till latenta koder.

Författarna hävdar:

‘På en utmanande multi-kategoridatabas av inomhusscener, presterar BlobGAN bättre än Style-GAN2 i bildkvalitet som mäts av FID.’

Den artikeln heter BlobGAN: Rumsligt disentanglad scenrepresentation, och är skriven av två forskare från UC Berkeley, tillsammans med tre från Adobe Research.

Mellanhand

BlobGAN för med sig ett nytt paradigm till GAN-bildsyntes. Tidigare tillvägagångssätt för att hantera diskreta entiteter i det latenta utrymmet, påpekar den nya artikeln, har antingen varit ‘top-down’ eller ‘bottom-up’.

En top-down-metod i en GAN eller bildklassificerare behandlar bilder av scener som klasser, som ‘sovrum’, ‘kyrka’, ‘ansikte’, etc. Denna typ av text/bild-parning driver en ny generation av multimodala bildsyntesramverk, som den nyligen lanserade DALL-E 2 från OpenAI.

Bottenn-upp-tillvägagångssätt, istället, kartlägger varje pixel i en bild till en klass, etikett eller kategori. Sådana tillvägagångssätt använder diverse tekniker, även om semantisk segmentering är en populär aktuell forskningssträng.

Författarna kommenterar:

‘Båda vägarna verkar otillfredsställande eftersom ingen av dem kan ge enkla sätt att resonera om delar av scenen som entiteter. Scenens delar är antingen inbäddade i en enda sammanflätad latent vektor (top-down), eller måste grupperas ihop från enskilda pixelliknande etiketter (bottom-up).’

Istället erbjuder BlobGAN en icke övervakad mellannivårepresentation, eller proxyramverk för generativa modeller.

Layoutnätverket kartlägger lokala (och kontrollerbara) 'blobb'-entiteter till latenta koder. De färgade cirklarna i mitten utgör en 'blobb-karta'. Källa: https://arxiv.org/pdf/2205.02837.pdf

Layoutnätverket kartlägger lokala (och kontrollerbara) ‘blobb’-entiteter till latenta koder. De färgade cirklarna i mitten utgör en ‘blobb-karta’. Källa: https://arxiv.org/pdf/2205.02837.pdf

De gaussiska (dvs. brus-baserade) blobbarna är djupordnade och representerar en flaskhals i arkitekturen som tilldelar en mappning till varje entitet, vilket löser det största hindret för GAN-innehållsmanipulation: disentanglement (även ett problem för autoencoder-baserade arkitekturer). Den resulterande ‘blobb-kartan’ används för att manipulera BlobGANs avkodare.

Författarna noterar med viss överraskning att systemet lär sig att bryta ner scener i layouter och entiteter genom en standarddiskriminatör som inte använder explicita etiketter.

Arkitektur och Data

Entiteter i blobb-kartan omvandlas till bilder via en reviderad StyleGAN2-derivat nätverk, i ett tillvägagångssätt som tar inspiration från tidigare NVIDIA (NVDA ) -forskning.

En reviderad StyleGAN 2-derivat från NVIDIA Research. Några av principerna i detta arbete antogs eller anpassades för BlobGAN. Källa: https://arxiv.org/pdf/1912.04958.pdf

En reviderad StyleGAN 2-derivat från NVIDIA Research. Källa: https://arxiv.org/pdf/1912.04958.pdf

StyleGAN 2 modifieras i BlobGAN för att acceptera indata från blobb-kartan istället för en enda global vektor, som vanligtvis är fallet.

En serie manipulationer som möjliggörs av BlobGAN, inklusive 'autocompletion' av ett sovrum, och omstorleksning och omlokalisering av elementen i rummet. I raden nedan ser vi den användar-tillgängliga instrumenten som möjliggör detta – blobb-kartan.

En serie manipulationer som möjliggörs av BlobGAN, inklusive ‘autocompletion’ av ett sovrum, och omstorleksning och omlokalisering av elementen i rummet. I raden nedan ser vi den användar-tillgängliga instrumenten som möjliggör detta – blobb-kartan.

Genom analogi, istället för att skapa ett stort och komplext byggnadsverk (det latenta utrymmet) på en gång, och sedan ha att utforska dess oändliga vägar, skickar BlobGAN in komponentblocken från början, och vet alltid var de är. Denna disentanglement av innehåll och plats är den stora innovationen i arbetet.

 

* Inte fungerande vid tidpunkten för skrivande
** Kod inte publicerad vid tidpunkten för skrivande

 

Publicerad första gången den 8:e maj 2022.

Författare på maskinlärande, domänspecialist inom mänsklig bildsyntes. Fd chef för forskningsinnehåll på Metaphysic.ai, till dess upplösning i DNEG:s Brahma.ai.
Portfolio site: martinanderson.ai
Kontakt: martin@martinanderson.ai