NeuralTextures
Le Textures Neurali sono uno strumento potente che consente di ottenere risultati eccellenti. Per presentare questo approccio abbiamo preso come riferimento lo studio “Deferred Neural Rendering: Image Synthesis using Neural Textures”[1].
Data una sorgente e un attore target, è possibile ricostruire la geometria del viso e trasferire le espressioni facciali della sorgente nel volto destinazione, tutto questo grazie alle reti neurali e all’utilizzo di una mappa UV modificata.
La mappatura UV è il processo di modellazione 3D di proiezione di un’immagine 2D sulla superficie di un modello 3D per la mappatura delle trame. Le lettere “U” e “V” indicano gli assi della trama 2D poiché “X”, “Y” e “Z” sono già utilizzati per indicare gli assi dell’oggetto 3D nel modello spaziale.
Il planisfero terrestre verrebbe tradotto così:
[1] Justus Thies – Technical University of Munich, Michael Zollhöfer – Stanford University, Matthias Nießner – Technical University of Munich.
Il “texture mapping”[2] oggi è una delle fondamentali tecniche di rendering image-based.
L’uso delle reti neurali GAN (generative adversarial networks) combinato al texture mapping, raggiungono risultati impressionanti nella sintesi di singole immagini.
Come abbiamo visto per il metodo DeepFakes, con il successo del deep learning, le reti neurali possono essere utilizzate anche per sintetizzare immagini 2D artificiali. Gli approcci di sintesi pura possono essere estesi a un ambiente condizionale, che è normalmente affrontato da reti generative che seguono una classica architettura encoder-decoder. La sintesi condizionale può essere usata per colmare il divario tra due domini diversi, ovvero rendering di ricostruzioni di visione artificiale incomplete e immagini fotorealistiche. Al giorno d’oggi, le cGANs (conditional GAN) sono di fatto lo standard per la sintesi di immagini condizionali. Approcci recenti utilizzano reti di generatori basate su una architettura U-Net[3] un’architettura convoluzionale encoder-decoder con salto di connessioni.
[2] Il texture mapping in computer grafica è una tecnica che permette di proiettare una o più texture sulla superficie di un modello 3D, utilizzando le coordinate UV.
[3] U-Net è una rete neurale convoluzionale sviluppata per la segmentazione di immagini biomediche presso il Dipartimento di Informatica dell’Università di Friburgo, in Germania. La rete si basa sulla rete completamente convoluzionale e la sua architettura è stata modificata ed estesa per funzionare con meno immagini di addestramento e per produrre segmentazioni più precise. La segmentazione di un’immagine 512 × 512 richiede meno di un secondo su una GPU moderna.
Usando il trasferimento delle espressioni, generiamo una mappa UV modificata dell’attore target che corrisponde all’espressione dell’attore sorgente.
Questa mappa UV viene utilizzata per campionare dalla Neural Textures dell’attore obiettivo. Inoltre, forniamo un’immagine di sfondo al Neural renderer per produrre il risultato della riproduzione finale
Il risultato ottenuto è estremamente realistico, come dimostrano i test svolti:
Rispetto agli altri metodi l’approccio Neural Texture mostra ad oggi, una qualità nettamente superiore sia nella visione d’insieme che nell’analisi del dettaglio.
In questa immagine si percepisce la maggiore qualità che l’approccio NT è in grado di offrire. Nella terza immagine si nota un dettaglio nettamente superiore, della bocca e dei denti, con un movimento molto più naturale e completo rispetto ai 2 precedenti dove non si riesce a dare un movimento della bocca naturale e non si riesce a raggiungere lo stesso dettaglio, per esempio nei denti e la ricostruzione dell’interno della bocca che infatti vengono omessi.