Angolo di Anderson
Affrontare i “cattivi giorni di capelli” nella sintesi di immagini umane

Da l’epoca d’oro della statuaria romana, raffigurare i capelli umani è stata una sfida spinosa. La testa umana media contiene 100.000 capelli, ha indici di rifrazione variabili in base al colore e, oltre una certa lunghezza, si muoverà e si riformerà in modi che possono essere simulati solo attraverso modelli fisici complessi – fino ad ora, applicabili solo attraverso metodologie CGI “tradizionali”.

Dal 2017, la ricerca di Disney, un modello basato sulla fisica tenta di applicare un movimento realistico a uno stile di capelli fluido in un flusso di lavoro CGI. Fonte: https://www.youtube.com/watch?v=-6iF3mufDW0
Il problema è affrontato in modo insufficiente dai metodi di deepfakes attuali. Per alcuni anni, il pacchetto principale DeepFaceLab ha avuto un modello “testa completa” che può catturare solo incarnazioni rigide di stili di capelli corti (di solito maschili); e recentemente il suo stablemate FaceSwap (entrambi i pacchetti sono derivati dal codice sorgente DeepFakes del 2017) ha offerto un’implementazione del modello di segmentazione semantica BiseNet, che consente all’utente di includere orecchie e capelli nel output dei deepfakes.
Anche quando si rappresentano stili di capelli molto corti, i risultati tendono a essere molto limitati in termini di qualità, con teste complete che appaiono sovrapposte alle immagini, piuttosto che integrate in esse.
GAN Hair
I due principali approcci in competizione per la simulazione umana sono i Campi di Radianza Neurale (NeRF), che possono catturare una scena da più punti di vista e incorporare una rappresentazione 3D di questi punti di vista in una rete neurale esplorabile; e le Reti Adversarie Generative (GANs), che sono notevolmente più avanzate in termini di sintesi di immagini umane (non da ultimo perché NeRF è emerso solo nel 2020).
La comprensione inferita della geometria 3D di NeRF gli consente di replicare una scena con grande fedeltà e coerenza, anche se attualmente ha poco o nessuno spazio per l’imposizione di modelli fisici – e, in effetti, uno spazio relativamente limitato per qualsiasi tipo di trasformazione sui dati raccolti che non si riferisca al cambiamento del punto di vista della telecamera. Attualmente, NeRF ha capacità molto limitate in termini di riproduzione del movimento dei capelli umani.
Le controparti basate su GAN di NeRF partono con uno svantaggio quasi fatale, poiché, a differenza di NeRF, lo spazio latente di un GAN non incorpora nativamente una comprensione delle informazioni 3D. Pertanto, la sintesi di immagini facciali 3D basata su GAN è diventata una ricerca calda nella generazione di immagini negli ultimi anni, con InterFaceGAN del 2019 una delle principali scoperte.
Tuttavia, anche i risultati di InterFaceGAN dimostrano che la coerenza dei capelli neurali rimane una sfida difficile in termini di coerenza temporale, per potenziali flussi di lavoro VFX:

Capelli ‘sfrigolanti’ in una trasformazione di pose da InterFaceGAN. Fonte: https://www.youtube.com/watch?v=uoftpl3Bj6w
Man mano che diventa più evidente che la generazione di viste coerenti attraverso la manipolazione dello spazio latente solo può essere una ricerca simile all’alchimia, un numero crescente di documenti emerge che incorporano informazioni 3D basate su CGI in un flusso di lavoro GAN come vincolo stabilizzante e normalizzante.
L’elemento CGI può essere rappresentato da primitive 3D intermedie come un Modello Lineare Multi-Persona Skinned (SMPL), o adottando tecniche di inferenza 3D in un modo simile a NeRF, dove la geometria viene valutata dalle immagini o video sorgente.
Un nuovo lavoro lungo queste linee, rilasciato questa settimana, è Reti Adversarie Generative Consistenti Multi-View per Sintesi di Immagini 3D (MVCGAN), una collaborazione tra ReLER, AAII, University of Technology Sydney, l’Accademia DAMO di Alibaba Group e l’Università di Zhejiang.

Pose facciali nuove e robuste generate da MVCGAN su immagini derivate dal set di dati CELEBA-HQ. Fonte: https://arxiv.org/pdf/2204.06307.pdf
MVCGAN incorpora una rete di radianza generativa (GRAF) in grado di fornire vincoli geometrici in una rete adversaria generativa, raggiungendo alcuni dei più autentici risultati di posizionamento di qualsiasi approccio basato su GAN.
Tuttavia, il materiale supplementare per MVCGAN rivela che ottenere la coerenza del volume, della disposizione, della posizione e del comportamento dei capelli è un problema che non può essere affrontato facilmente attraverso vincoli basati su geometria 3D esternamente imposta.

Dal materiale supplementare non pubblicato al momento della scrittura, vediamo che mentre la sintesi della posizione facciale da MVCGAN rappresenta un notevole progresso rispetto allo stato attuale dell’arte, la coerenza temporale dei capelli rimane un problema.
Poiché i flussi di lavoro CGI “semplici” trovano ancora una sfida nella ricostruzione temporale dei capelli, non c’è ragione di credere che approcci convenzionali basati sulla geometria di questo tipo porteranno una sintesi dei capelli coerente nello spazio latente nel prossimo futuro.
Stabilizzazione dei capelli con Reti Neurali Convolutive
Tuttavia, un prossimo documento di tre ricercatori dell’Istituto di Tecnologia Chalmers in Svezia potrebbe offrire un ulteriore progresso nella simulazione neurale dei capelli.

A sinistra, la rappresentazione dei capelli stabilizzata da CNN, a destra, la verità di base. Fonte: https://www.youtube.com/watch?v=AvnJkwCmsT4
Intitolato Filtraggio dei capelli in tempo reale con Reti Neurali Convolutive, il documento sarà pubblicato per il simposio i3D all’inizio di maggio.
Il sistema comprende una rete basata su autoencoder in grado di valutare la risoluzione dei capelli, compresa l’auto-ombreggiatura e tenendo conto della spessore dei capelli, in tempo reale, in base a un numero limitato di campioni stocastici generati da OpenGL.
L’approccio rappresenta un numero limitato di campioni con trasparenza stocastica e quindi addestra una U-net per ricostruire l’immagine originale.

Sotto MVCGAN, una CNN filtra fattori di colore campionati stocasticamente, evidenziando, tangenti, profondità e alfa, assemblando i risultati sintetizzati in un’immagine composita.
La rete è addestrata su PyTorch, convergendo in un periodo di sei a dodici ore, a seconda del volume della rete e del numero di caratteristiche di input. I parametri addestrati (pesi) vengono quindi utilizzati nell’implementazione in tempo reale del sistema.
I dati di addestramento vengono generati rappresentando diverse centinaia di immagini per stili di capelli dritti e ondulati, utilizzando distanze e pose casuali, nonché condizioni di illuminazione diverse.

Esempi vari di input di addestramento.
La traslucenza dei capelli attraverso i campioni viene mediata da immagini rappresentate con trasparenza stocastica a risoluzione sovracampionata. I dati di alta risoluzione originali vengono campionati per adattarsi ai limiti della rete e dell’hardware, e successivamente ricampionati, in un flusso di lavoro tipico di autoencoder.
L’applicazione di inferenza in tempo reale (il software “live” che sfrutta l’algoritmo derivato dal modello addestrato) utilizza una miscela di NVIDIA CUDA con cuDNN e OpenGL. Le caratteristiche di input iniziali vengono scaricate nei buffer di colore multisample di OpenGL, e il risultato viene instradato a tensori cuDNN prima dell’elaborazione nella CNN. Quei tensori vengono quindi copiati in una texture “live” di OpenGL per l’imposizione nell’immagine finale.
Il sistema in tempo reale funziona su una NVIDIA RTX 2080, producendo una risoluzione di 1024×1024 pixel.
Poiché i valori del colore dei capelli sono completamente disaccoppiati nei valori finali ottenuti dalla rete, cambiare il colore dei capelli è un compito banale, sebbene gli effetti come gradienti e strisce rimangano una sfida futura.

Gli autori hanno rilasciato il codice utilizzato nelle valutazioni del documento su GitLab. Controlla il video supplementare per MVCGAN qui sotto.
Conclusione
Navigare lo spazio latente di un autoencoder o di un GAN è ancora più simile alla navigazione che alla guida di precisione. Solo in questo periodo recente stiamo iniziando a vedere risultati credibili per la generazione di pose di geometrie “più semplici” come i volti, in approcci come NeRF, GAN e framework di autoencoder non deepfake (2017).
La significativa complessità architettonica dei capelli umani, combinata con la necessità di incorporare modelli fisici e altre caratteristiche per le quali gli approcci attuali di sintesi di immagini non hanno alcuna disposizione, indica che la sintesi dei capelli è improbabile che rimanga un componente integrato nella sintesi facciale generale, ma richiederà reti dedicate e separate di una certa sofisticazione – anche se tali reti potrebbero eventualmente essere incorporate in framework di sintesi facciale più ampi e complessi.
Pubblicato per la prima volta il 15 aprile 2022.













