Seguici sui social

Intelligenza Artificiale

Modifica semantica delle immagini ad alta precisione con EditGAN

mm
Una persona che tiene in mano il globo mentre si trova nei campi.

Reti del contraddittorio generativo Le reti GAN (Galline Anonime) stanno trovando nuove applicazioni nel settore dell'editing delle immagini. Negli ultimi mesi, EditGAN sta guadagnando popolarità nel settore dell'intelligenza artificiale e dell'apprendimento automatico perché rappresenta un metodo innovativo per l'editing semantico delle immagini ad alta precisione e qualità. 

Parleremo in dettaglio del modello EditGAN e ti faremo sapere perché potrebbe rivelarsi una pietra miliare nel settore dell'editing semantico delle immagini.

Quindi iniziamo. Ma prima di sapere cos'è EditGAN, è importante per noi capire qual è l'importanza di EditGAN e perché rappresenta un significativo passo avanti. 

Perché ModificaGAN?

Sebbene le architetture GAN tradizionali abbiano aiutato il settore dell’editing di immagini basato sull’intelligenza artificiale a progredire in modo significativo, ci sono alcune sfide importanti nella costruzione di un’architettura GAN da zero. 

  1. Durante la fase di addestramento, un'architettura GAN richiede un'elevata quantità di dati etichettati con annotazioni di segmentazione semantica. 
  2. Sono in grado di fornire solo un controllo di alto livello. 
  3. E spesso si limitano a interpolare avanti e indietro tra le immagini. 

Si può osservare che, sebbene le architetture GAN tradizionali svolgano il lavoro, non sono efficaci per l’implementazione su larga scala. L'efficienza inferiore alla media dell'architettura GAN tradizionale è il motivo per cui EditGAN è stato introdotto da NVIDIA nel 2022. 

EditGAN si propone come un metodo efficace per alta precisione e alta qualità semantica modifica delle immagini con la capacità di consentire agli utenti di modificare le immagini alterando le maschere di segmentazione altamente dettagliate di un'immagine. Uno dei motivi per cui EditGAN è un metodo scalabile per le attività di modifica delle immagini è la sua architettura. 

Il modello EditGAN è costruito su un framework GAN che modella congiuntamente le immagini e le loro segmentazioni semantiche e richiede solo una manciata di dati di training etichettati o annotati. Gli sviluppatori di EditGAN hanno tentato di incorporare un'immagine nello spazio latente di GAN per modificare efficacemente l'immagine eseguendo l'ottimizzazione condizionale del codice latente in conformità con la modifica della segmentazione. Inoltre, per ammortizzare l’ottimizzazione, il modello tenta di trovare “vettori di modifica” nello spazio latente che realizzino le modifiche. 

L'architettura del framework EditGAN consente al modello di apprendere un numero arbitrario di vettori di editing che possono quindi essere implementati o applicati direttamente su altre immagini con alta velocità ed efficienza. Inoltre, i risultati sperimentali indicano che EditGAN può modificare le immagini con un livello di dettaglio mai visto prima preservando al massimo la qualità dell'immagine. 

Per riassumere il motivo per cui abbiamo bisogno di EditGAN, è il primo framework di modifica delle immagini basato su GAN che offre

  1. Modifica ad altissima precisione. 
  2. Può funzionare con una manciata di dati etichettati. 
  3. Può essere implementato in modo efficace in scenari in tempo reale. 
  4. Consente la composizionalità per più modifiche simultaneamente. 
  5. Funziona su immagini generate da GAN, realmente incorporate e anche fuori dominio. 

Editing semantico delle immagini ad alta precisione con EditGAN 

StyleGAN2, un framework GAN all'avanguardia per la sintesi delle immagini, è il componente principale di generazione di immagini di EditGAN. Il framework StyleGAN2 mappa i codici latenti estratti da un pool di distribuzione normale multivariata e li mappa in immagini realistiche. 

StyleGAN2 è un modello generativo profondo a cui è stato addestrato sintetizzare immagini della massima qualità possibile insieme all’acquisizione di una comprensione semantica delle immagini modellate. 

Addestramento e inferenza sulla segmentazione

Il modello EditGAN incorpora un'immagine nello spazio latente del GAN ​​utilizzando l'ottimizzazione e un codificatore per eseguire la segmentazione su una nuova immagine e addestrando il ramo di segmentazione. Il framework EditGAN continua a basarsi su lavori precedenti e addestra un codificatore a incorporare le immagini nello spazio latente. L'obiettivo principale in questo caso è addestrare l'encoder costituito da perdite di costruzione L2 e LPIPS pixel-wise standard utilizzando campioni provenienti da GAN e dati di addestramento reali. Inoltre, il modello regolarizza anche esplicitamente il codificatore utilizzando i codici latenti quando si lavora con i campioni GAN. 

Di conseguenza, il modello incorpora le immagini annotate dal set di dati etichettati con segmentazione semantica nello spazio latente e utilizza la perdita di entropia incrociata per addestrare il ramo di segmentazione del generatore. 

Utilizzo della modifica della segmentazione per trovare la semantica nello spazio latente

Lo scopo principale di EditGAN è sfruttare la distribuzione congiunta di segmentazioni semantiche e immagini per editing di immagini ad alta precisione. Diciamo che abbiamo un'immagine x che deve essere modificato, quindi il modello incorpora l'immagine nello spazio latente di EditGAN o utilizza le immagini di esempio dal modello stesso. Viene quindi generato il ramo di segmentazione y o la segmentazione corrispondente principalmente perché sia ​​le immagini che le segmentazioni RGB condividono gli stessi codici latenti w. Gli sviluppatori possono quindi utilizzare qualsiasi strumento di etichettatura o pittura digitale per modificare la segmentazione e modificarli manualmente in base alle proprie esigenze. 

Diversi modi di modificare durante l'inferenza

I vettori di modifica dello spazio latente ottenuti utilizzando l'ottimizzazione possono essere descritti come semanticamente significativi e sono spesso districati con attributi diversi. Pertanto, per modificare una nuova immagine, il modello può incorporare direttamente l'immagine nello spazio latente ed eseguire direttamente le stesse operazioni di modifica apprese in precedenza dal modello, senza eseguire nuovamente l'ottimizzazione da zero. Sarebbe corretto affermare che i vettori di modifica appresi dal modello ammortizzano l'ottimizzazione essenziale per modificare inizialmente l'immagine. 

Vale la pena notare che gli sviluppatori non hanno ancora perfezionato il districamento e che i vettori di modifica spesso non restituiscono i migliori risultati se utilizzati su altre immagini. Tuttavia, il problema può essere risolto rimuovendo gli artefatti di modifica da altre parti dell'immagine eseguendo alcuni passaggi di ottimizzazione aggiuntivi durante il periodo di prova. 

Sulla base delle nostre conoscenze attuali, il framework EditGAN può essere utilizzato per modificare le immagini in tre diverse modalità. 

  • Modifica in tempo reale con la modifica dei vettori

Per le immagini localizzate e districate, il modello modifica le immagini applicando vettori di modifica appresi in precedenza con scale diverse e manipola le immagini a velocità interattive. 

  • Utilizzo del perfezionamento autogestito per l'editing basato su vettori

Per la modifica di immagini localizzate che non sono districate perfettamente con altre parti dell'immagine, il modello inizializza la modifica dell'immagine utilizzando i vettori di modifica precedentemente appresi e rimuove gli artefatti di modifica eseguendo alcuni passaggi di ottimizzazione aggiuntivi durante il tempo di test. 

  • Modifica basata sull'ottimizzazione

Per eseguire modifiche su larga scala e specifiche dell'immagine, il modello esegue l'ottimizzazione dall'inizio poiché i vettori di modifica non possono essere utilizzati per eseguire questo tipo di trasferimenti ad altre immagini. 

Implementazione/Attuazione

Il framework EditGAN viene valutato su immagini distribuite in quattro diverse categorie: automobili, uccelli, gatti e volti. Il ramo di segmentazione del modello viene addestrato utilizzando coppie immagine-maschera di 16, 30, 30, 16 come dati di addestramento etichettati rispettivamente per Auto, Uccelli, Gatti e Volti. Quando l'immagine deve essere modificata esclusivamente utilizzando l'ottimizzazione o quando il modello tenta di apprendere i vettori di modifica, il modello esegue 100 passaggi di ottimizzazione utilizzando l'ottimizzatore Adam. 

Per il set di dati Cat, Car e Faces, il modello utilizza immagini reali dal set di test di DatasetGAN che non sono state utilizzate per addestrare il framework GAN per l'esecuzione della funzionalità di modifica. Immediatamente, queste immagini vengono incorporate nello spazio latente di EditGAN utilizzando l'ottimizzazione e la codifica. Per la categoria Uccelli, la modifica viene mostrata sulle immagini generate da GAN. 

Risultati

Risultati qualitativi

Risultati nel dominio

L'immagine sopra mostra le prestazioni del framework EditGAN quando applica i vettori di editing precedentemente appresi su nuove immagini e perfeziona le immagini utilizzando 30 passaggi di ottimizzazione. Queste operazioni di modifica eseguite dal framework EditGAN sono districate per tutte le classi e preservano la qualità complessiva delle immagini. Confrontando i risultati di EditGAN e di altri framework, si può osservare che il framework EditGAN supera altri metodi nell'esecuzione di modifiche complesse e ad alta precisione, preservando allo stesso tempo l'identità del soggetto e la qualità dell'immagine. 

Ciò che sorprende è che il framework EditGAN può eseguire modifiche di altissima precisione, come la dilatazione delle pupille o la modifica dei raggi degli pneumatici di un'auto. Inoltre, EditGAN può essere utilizzato anche per modificare le parti semantiche di oggetti che hanno solo pochi pixel, oppure per apportare modifiche su larga scala a un'immagine. È importante notare che le diverse operazioni di modifica del framework EditGAN sono in grado di generare immagini manipolate, a differenza delle immagini che appaiono nei dati di addestramento GAN. 

Risultati fuori dominio

Per valutare le prestazioni fuori dominio di EditGAN, il framework è stato testato sul set di dati MetFaces. Il modello EditGAN utilizza facce reali nel dominio per creare vettori di modifica. Il modello incorpora quindi i ritratti MetFaces che sono fuori dominio utilizzando un processo di ottimizzazione in 100 passaggi e applica i vettori di modifica tramite un processo di perfezionamento autocontrollato in 30 passaggi. I risultati possono essere visti nella seguente immagine. 

Risultati quantitativi

Per misurare quantitativamente le capacità di modifica delle immagini di EditGAN, il modello utilizza un benchmark di modifica del sorriso introdotto per la prima volta da MaskGAN. I volti che contengono un'espressione neutra vengono sostituiti con volti sorridenti e la prestazione viene misurata in base a tre parametri. 

  • Correttezza semantica

Il modello utilizza un classificatore di attributi del sorriso pre-addestrato per misurare se i volti nelle immagini mostrano espressioni sorridenti dopo la modifica. 

  • Qualità dell'immagine a livello di distribuzione

La distanza di inizio del kernel o KID e la distanza di inizio di Frechet o FID vengono calcolate tra il set di dati del test CelebA e 400 immagini di test modificate. 

  • Conservazione dell'identità

La capacità del modello di preservare l'identità dei soggetti durante la modifica dell'immagine viene misurata utilizzando una rete di estrazione delle funzionalità ArcFace pre-addestrata. 

La tabella sopra confronta le prestazioni del framework EditGAN con altri modelli di base sul benchmark di modifica del sorriso. Il metodo seguito dal framework EditGAN per fornire risultati così elevati viene confrontato su tre diverse linee di base:

  • MascheraGAN

MaskGAN accetta come input immagini non sorridenti, insieme alle relative maschere di segmentazione, e una maschera di segmentazione sorridente target. Vale la pena notare che, rispetto a EditGAN, il framework MaskGAN richiede una grande quantità di dati annotati. 

  • Modifica locale

EditGAN confronta anche le sue prestazioni con l'editing locale, un metodo utilizzato per raggruppare le funzionalità GAN ​​per implementare l'editing locale e dipende dalle immagini di riferimento. 

  • InterfacciaGAN

Proprio come EditGAN, anche InterFaceGAN tenta di trovare i vettori di modifica nello spazio latente del modello. Tuttavia, a differenza di EditGAN, il modello InterFaceGAN utilizza una grande quantità di dati annotati, classificatori di attributi ausiliari e non ha la precisione di modifica fine. 

  • StileGAN2Distillazione

Questo metodo crea un approccio alternativo che non richiede necessariamente l'incorporamento di immagini reali e utilizza invece un modello vettoriale di editing per creare un set di dati di addestramento. 

Limiti

Poiché EditGAN è basato sul framework GAN, presenta la stessa limitazione di qualsiasi altro modello GAN: può funzionare solo con immagini che possono essere modellate dal GAN. La limitazione di EditGAN nel lavorare con immagini modellate GAN è il motivo principale per cui è difficile implementare EditGAN in diversi scenari. Tuttavia, vale la pena notare che le modifiche ad alta precisione di EditGAN possono essere trasferite facilmente ad altre immagini diverse utilizzando i vettori di modifica. 

Conclusione

Uno dei motivi principali per cui GAN non è uno standard industriale nel campo dell’editing delle immagini è la sua praticità limitata. I framework GAN di solito richiedono una quantità elevata di dati di addestramento annotati e spesso non restituiscono un'elevata efficienza e precisione. 

EditGAN mira ad affrontare i problemi presentati dai framework GAN convenzionali e tenta di diventare un metodo efficace per l'editing semantico di immagini di alta qualità e alta precisione. I risultati finora hanno indicato che EditGAN offre effettivamente ciò che afferma e sta già funzionando meglio di alcune delle attuali pratiche e modelli standard del settore. 

"Un ingegnere di professione, uno scrittore a memoria". Kunal è uno scrittore tecnico con un profondo amore e comprensione di AI e ML, dedito a semplificare concetti complessi in questi campi attraverso la sua documentazione coinvolgente e informativa.