Avatar della testa gaussiana: una sintesi.  C’è stata una recente esplosione di… |  di Jack Saunders |  Dicembre 2023

 | Intelligenza-Artificiale

Diagramma del metodo per avatar con codec gaussiano riaccendibili. Immagine riprodotta direttamente dal documento arxiv.

Avatar codec gaussiani riaccendibili. Shunsuke Saito, Gabriele Schwartz, Tommaso Simone, Junxuan Li, Giljoo Nam. Prestampa Arxiv, 6 dicembre 2023. Collegamento

Il prossimo articolo è probabilmente quello che ha generato più clamore. È un documento proveniente dai laboratori di realtà di Meta. Oltre ad essere animabili, è anche possibile modificare l’illuminazione di questi modelli, rendendoli più facili da comporre in scene diverse. Dato che si tratta di Meta e Meta ha fatto una grande scommessa sul “metaverso”, mi aspetto che questo possa portare a un prodotto abbastanza presto. Il documento si basa sui già popolari avatar codec, utilizzando la suddivisione gaussiana.

Raccordo in rete

Sfortunatamente, l’algoritmo di ricostruzione della mesh utilizzato da Meta è un po’ più complesso e si basa su diversi documenti precedenti dell’azienda. È sufficiente dire, tuttavia, che possono ricostruire una mesh tracciata con topologia coerente con coerenza temporale su più frame. Per fare questo usano un impianto di cattura molto costoso e complesso.

Formazione CVAE – Prima delle gaussiane

Il CVAE si basa su questa versione del documento “Modelli di aspetto profondamente riilluminabili per volti animabili”. Immagine riprodotta dal carta.

L’approccio precedente a Meta si basa su un CVAE (Conditional Variational Autoencoder). Questo prende la mesh tracciata e la trama media e le codifica in un vettore latente. Questo viene quindi decodificato (dopo la riparametrizzazione) nella mesh e viene utilizzata una serie di funzionalità per riprodurre la texture. L’obiettivo di questo articolo è utilizzare un modello simile ma con gaussiane.

CVAE con gaussiani

Per estendere questo modello allo splatting gaussiano è necessario apportare alcune modifiche. L’encoder, invece, no. Questo codificatore accetta ancora i vertici V della mesh tracciata e una texture media. La geometria e l’aspetto dell’avatar vengono decodificati separatamente. La geometria è rappresentata utilizzando una serie di gaussiane. Una delle parti più interessanti dell’articolo è la rappresentazione delle gaussiane in uno spazio UV. Qui viene definita una mappa texture uv per il modello mesh, ciò significa che ogni pixel nella mappa texture (texel) corrisponde a un punto sulla superficie mesh. In questo articolo, ogni texel definisce una gaussiana. Invece di una posizione assoluta, ogni gaussiana di texel è definita dal suo spostamento dalla superficie della mesh, ad esempio il texel mostrato è una gaussiana che è legata al sopracciglio e si muove con esso. Ogni texel ha anche un valore per la rotazione, la scala e l’opacità, nonché la rugosità (σ) e i coefficienti SH per il colore RGB e il monocromatico.

L’immagine sul lato sinistro rappresenta la geometria sulla destra. Ogni texel rappresenta una gaussiana. Immagine riprodotta direttamente dal documento arxiv.

Oltre alle gaussiane, il decodificatore prevede anche una mappa normale della superficie e mappe di visibilità. Questi sono tutti combinati utilizzando approssimazioni dell’equazione di rendering per l’illuminazione. Quella che segue è una spiegazione molto approssimativa che quasi certamente è sbagliata/mancante poiché non sono un esperto di illuminazione.

Da sinistra a destra: mappe normali, mappe di illuminazione speculare, mappa di fulmini diffusi, albedo e aspetto illuminato finale. Immagine riprodotta direttamente dal documento arxiv.

La componente diffusa della luce viene calcolata utilizzando le armoniche sferiche. Ogni gaussiana ha un’albedo (ρ) e coefficienti SH (d). Solitamente i coefficienti SH vengono rappresentati solo fino al 3° ordine, tuttavia ciò non è sufficiente per rappresentare le ombre. Per bilanciare questo con il risparmio di spazio, gli autori utilizzano coefficienti RGB di 3° ordine ma quelli monocromatici (scala di grigi) di 5° ordine. Oltre all’illuminazione diffusa, l’articolo modella anche le specularità (ad esempio la riflessione) assegnando una rugosità a ciascuna gaussiana e utilizzando le mappe normali decodificate. Se sei interessato a sapere esattamente come funziona, ti consiglio di leggere l’articolo e i materiali supplementari.

Infine, un decodificatore separato prevede anche i vertici della mesh del modello. Tutti i modelli vengono addestrati insieme utilizzando le perdite di ricostruzione sia a livello di immagine che a livello di mesh. Vengono inoltre utilizzate diverse perdite di regolarizzazione. Il risultato è un avatar di altissima qualità con controllo sull’espressione e sull’illuminazione.

TLDR; Rappresenta le gaussiane come immagini dello spazio UV, decomponi l’illuminazione e modellala esplicitamente e migliora gli avatar del codec utilizzando questa rappresentazione gaussiana.

Fonte: towardsdatascience.com

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *