Connect with us

Intelligenza artificiale

Orchestrare la sintesi facciale con la segmentazione semantica

mm

Il problema di inventare volti umani con una Generative Adversarial Network (GAN) è che i dati del mondo reale che alimentano le immagini false vengono con accoutrements indesiderati e inseparabili, come i capelli sulla testa (e/o sul viso), sfondi e vari tipi di “arredamento” del viso, come occhiali, cappelli e orecchini; e che questi aspetti periferici della personalità diventano inevitabilmente legati a un’identità “fusa”.

Sotto le architetture GAN più comuni, questi elementi non sono indirizzabili nel proprio spazio dedicato, ma sono piuttosto strettamente associati al viso in (o intorno al) cui sono incorporati.

Non è solitamente possibile dettare o influenzare l’aspetto di sottosezioni di un viso creato da un GAN, come restringere gli occhi, allungare il naso o cambiare il colore dei capelli nel modo in cui potrebbe fare un artista di sketch della polizia.

Tuttavia, il settore di ricerca sulla sintesi di immagini sta lavorando su di esso:

Nuova ricerca sulla generazione di volti basata su GAN ha separato le varie sezioni di un viso in aree distinte, ognuna con il proprio 'generatore', che lavora in concerto con altri generatori per l'immagine. Nella riga centrale, vediamo la 'mappa di caratteristiche' orchestrante che costruisce aree aggiuntive del viso. Fonte: https://arxiv.org/pdf/2112.02236.pdf

Nuova ricerca sulla generazione di volti basata su GAN ha separato le varie sezioni di un viso in aree distinte, ognuna con il proprio ‘generatore’, che lavora in concerto con altri generatori per l’immagine. Nella riga centrale, vediamo la ‘mappa di caratteristiche’ orchestrante che costruisce aree aggiuntive del viso. Fonte: https://arxiv.org/pdf/2112.02236.pdf

In un nuovo documento, ricercatori del ramo statunitense della multinazionale tecnologica cinese ByteDance hanno utilizzato la segmentazione semantica per dividere le parti costituenti del viso in sezioni discrete, ognuna delle quali è allocata al proprio generatore, in modo che sia possibile raggiungere un grado maggiore di disentanglement. O, almeno, disentanglement percettivo.

Il documento è intitolato SemanticStyleGAN: Learning Compositional Generative Priors for Controllable Image Synthesis and Editing, e è accompagnato da una pagina del progetto ricca di media progetto che presenta numerosi esempi delle varie trasformazioni fine-granulari che possono essere ottenute quando gli elementi del viso e della testa sono isolati in questo modo.

La texture del viso, lo stile e il colore dei capelli, la forma e il colore degli occhi e molti altri aspetti delle caratteristiche generate da GAN possono ora essere disentangled, anche se la qualità della separazione e il livello di strumentalità possono variare tra i casi. Fonte: https://semanticstylegan.github.io/

La texture del viso, lo stile e il colore dei capelli, la forma e il colore degli occhi e molti altri aspetti delle caratteristiche generate da GAN possono ora essere de facto disentangled, anche se la qualità della separazione e il livello di strumentalità possono variare tra i casi. Fonte: https://semanticstylegan.github.io/

Lo spazio latente ingovernabile

Una rete generativa avversaria addestrata a generare volti – come il StyleGan2 generatore che alimenta il sito web popolare thispersondoesnotexist.com – forma relazioni complesse tra le ‘caratteristiche’ (non nel senso del viso) che deriva dall’analizzare migliaia di volti del mondo reale, al fine di imparare a creare volti umani realistici.

Questi processi clandestini sono ‘codici latenti’, collettivamente lo spazio latente. Sono difficili da analizzare e, di conseguenza, difficili da strumentalizzare.

La scorsa settimana è emerso un nuovo progetto di sintesi di immagini che tenta di ‘mappare’ questo spazio quasi occulto durante il processo di addestramento stesso, e poi di utilizzare queste mappe per navigare interattivamente, e sono state proposte varie soluzioni per ottenere un controllo più profondo del contenuto sintetizzato da GAN.

È stato fatto qualche progresso, con una gamma diversificata di architetture GAN che tentano di ‘raggiungere’ lo spazio latente in qualche modo e controllare le generazioni di volti da lì. Tali sforzi includono InterFaceGAN, StyleFlow, GANSpace e StyleRig, tra le altre offerte in un flusso costantemente produttivo di nuovi documenti.

Ciò che hanno in comune è un grado limitato di disentanglement; gli ingegnosi controlli GUI per vari aspetti (come ‘capelli’ o ‘espressione’) tendono a trascinare lo sfondo e/o altri elementi nel processo di trasformazione, e nessuno di loro (incluso il documento discusso qui) ha risolto il problema del capelli neurali temporali.

Dividere e conquistare lo spazio latente

In ogni caso, la ricerca di ByteDance adotta un approccio diverso: invece di cercare di discernere i misteri di un singolo GAN che opera su un’intera immagine di viso generata, SemanticStyleGAN formula un approccio basato su layout, dove i volti sono ‘composti’ da processi generatori separati.

Al fine di raggiungere questa distinzione di caratteristiche (del viso), SemanticStyleGAN utilizza Fourier Features per generare una mappa di segmentazione semantica (distinzioni di topografia facciale crude e colorate, mostrate verso il basso a destra dell’immagine di seguito) per isolare le aree del viso che riceveranno un’attenzione individuale e dedicata.

Architettura del nuovo approccio, che impone uno strato intermedio di segmentazione semantica sul viso, trasformando efficacemente la struttura in un orchestratore di più generatori per diversi aspetti di un'immagine.

Architettura del nuovo approccio, che impone uno strato intermedio di segmentazione semantica sul viso, trasformando efficacemente la struttura in un orchestratore di più generatori per diversi aspetti di un’immagine.

Le mappe di segmentazione sono generate per le immagini false che vengono presentate sistematicamente al discriminatore del GAN per la valutazione mentre il modello migliora, e alle immagini di origine (non false) utilizzate per l’addestramento.

All’inizio del processo, un Multi-Layer Perceptron (MLP) mappa inizialmente i codici latenti casualmente selezionati, che verranno quindi utilizzati per controllare i pesi dei generatori che prenderanno il controllo di una sezione dell’immagine del viso da produrre.

Ogni generatore crea una mappa di caratteristiche e una mappa di profondità simulata dalle caratteristiche di Fourier che gli vengono fornite a monte. Questa uscita è la base per le maschere di segmentazione.

La rete di rendering a valle è condizionata solo dalle mappe di caratteristiche precedenti e ora sa come generare una maschera di segmentazione ad alta risoluzione, facilitando la produzione finale dell’immagine.

Infine, un discriminatore biforcato sovraintende alla distribuzione concatenata di immagini RGB (che per noi sono il risultato finale) e delle maschere di segmentazione che hanno permesso loro di essere separate.

Con SemanticStyleGAN, non ci sono perturbazioni visive indesiderate quando si ‘impostano’ i cambiamenti delle caratteristiche del viso, perché ogni caratteristica del viso è stata addestrata separatamente all’interno della struttura di orchestrazione.

Sostituire gli sfondi

Poiché l’intento del progetto è quello di ottenere un controllo maggiore sull’ambiente generato, il processo di rendering/composizione include un generatore di sfondi addestrato su immagini reali.

Un motivo convincente per cui gli sfondi non vengono trascinati nelle manipolazioni del viso in SemanticStyleGAN è che si trovano su uno strato più lontano e sono completi, anche se parzialmente nascosti dai volti sovrapposti.

Un motivo convincente per cui gli sfondi non vengono trascinati nelle manipolazioni del viso in SemanticStyleGAN è che si trovano su uno strato più lontano e sono completi, anche se parzialmente nascosti dai volti sovrapposti.

Poiché le mappe di segmentazione risulteranno in volti senza sfondi, questi ‘sfondi di drop-in’ non solo forniscono un contesto, ma sono anche configurati per essere appropriati, in termini di illuminazione, per i volti sovrapposti.

Addestramento e dati

I modelli ‘realistici’ sono stati addestrati sulle prime 28.000 immagini in CelebAMask-HQ, ridimensionate a 256×256 pixel per adattarsi allo spazio di addestramento (cioè la VRAM disponibile, che detta una dimensione di batch massima per iterazione).

Sono stati addestrati diversi modelli e sono stati sperimentati vari strumenti, set di dati e architetture durante il processo di sviluppo e vari test di ablazione. Il modello più grande e produttivo del progetto ha presentato una risoluzione di 512×512, addestrato nel corso di 2,5 giorni su otto NVIDIA Tesla V100 GPU. Dopo l’addestramento, la generazione di una singola immagine richiede 0,137 secondi su un lobo GPU senza parallelizzazione.

Gli esperimenti di stile cartoon/anime presentati nei molti video sulla pagina del progetto (vedi link sopra) sono derivati da vari set di dati di volti popolari, tra cui Toonify, MetFaces e Bitmoji.

Una soluzione provvisoria?

Gli autori sostengono che non c’è ragione per cui SemanticStyleGAN non possa essere applicato ad altri domini, come paesaggi, auto, chiese e tutti gli altri ‘domini di test’ predefiniti a cui le nuove architetture vengono sottoposte all’inizio della loro carriera.

Tuttavia, il documento ammette che man mano che il numero di classi aumenta per un dominio (come ‘auto’, ‘lampione stradale’, ‘pedone’, ‘edificio’, ‘auto’ ecc.), questo approccio a pezzi potrebbe diventare ingestibile in vari modi, senza ulteriori lavori di ottimizzazione. Il set di dati urbanistici CityScapes, ad esempio, ha 30 classi in 8 categorie.

È difficile dire se l’attuale interesse per conquistare lo spazio latente più direttamente sia condannato come l’alchimia; o se i codici latenti saranno eventualmente decifrabili e controllabili – uno sviluppo che potrebbe rendere questo tipo di approccio più ‘esternamente complesso’ ridondante.

Scrittore su apprendimento automatico, specialista di dominio nella sintesi di immagini umane. Ex capo della ricerca contenuti presso Metaphysic.ai.