Nel panorama della grafica computerizzata, la sintesi in tempo reale di scene tridimensionali dinamiche in risoluzione 4K è un obiettivo ambizioso e complesso. Di recente, alcuni metodi hanno mostrato una qualità di rendering davvero impressionante. Uno degli ostacoli principali è tuttavia rappresentato dalla limitata velocità di rendering quando si lavora con immagini ad alta risoluzione. Per superare questa sfida, un team di ricercatori ha sviluppato una soluzione innovativa denominata 4K4D: spieghiamo di che cosa si tratta.
Per sintesi in tempo reale di immagini tridimensionali ci riferiamo al processo di generazione e visualizzazione di immagini 3D a partire da un flusso a sua volta acquisito in realtime. Si pensi a un video “in presa diretta” o alla riproduzione di un contenuto multimediale.
4K4D: cos’è e come funziona la tecnologia che permette di produrre viste dinamiche di scene 3D in 4K
L’obiettivo principale di 4K4D è la sintesi in tempo reale ad alta fedeltà di viste dinamiche di scene 3D a risoluzione 4K. Il cuore di 4K4D è una nuova modalità di rappresentazione chiamata “4D point cloud“: essa si basa su una griglia di caratteristiche 4D, fornendo una struttura organizzata che facilita l’ottimizzazione dei punti.
I “punti” ai quali si riferiscono i ricercatori sono utilizzati nella rappresentazione delle immagini per posizionare ed effettuare il rendering di una superficie o di un oggetto nello spazio tridimensionale. Nel contesto di 4K4D, questi punti sono parte della rappresentazione della scena tridimensionale. Ogni punto può avere proprietà come posizione, raggio e densità, che vengono utilizzate per modellare la geometria della scena.
Il sito ufficiale del progetto illustra brevemente le finalità dello stesso e i risultati raggiunti. Lo studio approfondito è consultabile cliccando qui.
Perché si parla di 4D se la tecnologia offre una sintesi computerizzata in tre dimensioni?
Nella sigla 4K4D, il termine “4D” si riferisce alla quarta dimensione. Essa aggiunge un elemento temporale alla rappresentazione tridimensionale di una scena.
Le coordinate spaziali (lunghezza, larghezza, altezza) definiscono la struttura tridimensionale di un oggetto o di una scena. Tuttavia, quando si aggiunge la dimensione temporale (la quarta dimensione, appunto), è possibile catturare e rappresentare il movimento e i cambiamenti nella scena nel tempo. Nell’ambito di 4K4D, la rappresentazione 4D coinvolge la sintesi di viste dinamiche di scene 3D in tempo reale, consentendo di catturare e rappresentare non solo la struttura tridimensionale, ma anche la dinamica nel tempo.
Come funziona la tecnologia 4K4D
Per realizzare una sintesi computerizzata di una scena ad alta qualità, il processo su cui si basa 4K4D inizia con l’applicazione dell’algoritmo di “space-carving“. Tale algoritmo estrae una sequenza iniziale di nuvole di punti dalla scena oggetto di elaborazione. Il modello ottenuto è poi riutilizzato per rappresentare la geometria e l’aspetto della scena.
Per definire la complessa rappresentazione 4K4D a partire da video RGB multi-view, i ricercatori hanno usato un algoritmo di “depth peeling” differenziabile (più avanti spieghiamo cosa significa). L’approccio consente un apprendimento efficace dei dettagli della scena, consentendo a 4K4D di adattarsi dinamicamente alle variazioni della visuale e delle condizioni di illuminazione.
Il depth peeling è una tecnica utilizzata per estrarre più strati di informazioni dalla scena. Se si hanno oggetti trasparenti sovrapposti, il depth peeling consente di separarli in strati distinti basati sulla loro profondità. La differenziabilità è una proprietà che indica la possibilità di calcolare derivate rispetto a variabili indipendenti. In questo contesto, rendere l’algoritmo di depth peeling differenziabile significa permettere il calcolo delle derivate rispetto ai parametri del modello o alle caratteristiche della scena.
Prestazioni senza paragoni: fino a 80 fps su un dataset 4K, oltre 400 fps su immagini Full HD 1080p
Le tecniche di ottimizzazione che richiedono il calcolo delle derivate si riferiscono a metodi di ottimizzazione utilizzati per addestrare o regolare i parametri di un modello in modo che si adatti meglio ai dati di addestramento. Questi metodi sfruttano le derivate delle funzioni di perdita rispetto ai parametri del modello per aggiornare i parametri in modo iterativo durante il processo di addestramento. Durante l’addestramento di un modello, viene definita una funzione di perdita che misura la discrepanza tra le previsioni del modello e i valori desiderati. Il calcolo delle derivate indica quanto la funzione di perdita cambia rispetto a ciascun parametro del modello. Le derivate forniscono una guida su come aggiornare i parametri per ridurre la perdita.
Il risultato è impressionante: gli esperimenti sin qui condotti hanno evidenziato che la rappresentazione 4K4D può essere resa a oltre 400 frame per secondo (fps) su un dataset specifico a una risoluzione di 1080p e a 80 fps su un altro dataset 4K, utilizzando una GPU RTX 4090. Ciò rappresenta un salto significativo rispetto ai metodi precedenti, con un aumento della velocità di rendering di 30 volte e una qualità complessiva che ha pochi paragoni.
Il team che ha lavorato su 4K4D promette che a breve condividerà sul repository GitHub ufficiale tutto il codice sorgente utile a riprodurre quanto realizzato, con la possibilità di implementare la tecnologia nelle proprie applicazioni. L’idea è infatti quella di mettere a fattor comune la tecnologia 4K4D in modo che chiunque possa beneficiarne ed utilizzarla per sviluppare nuovi progetti innovativi.
Le immagini nell’articolo sono tratte dal materiale pubblicato sul sito ufficiale del progetto 4K4D.