Vai al contenuto

SCAN · 2026-10-12 · 11 MIN DI LETTURA

Gaussian splatting: cos'è, a che punto è, e dove serve davvero

Tre anni dal paper di Inria: come funziona un campo di gaussiane, perché gira in tempo reale, cosa non sa fare, e dove si incastra in una pipeline di rilievo che deve anche misurare.

Nel luglio 2023 quattro ricercatori tra Inria e il Max Planck Institute — Bernhard Kerbl, Georgios Kopanas, Thomas Leimkühler e George Drettakis — presentano a SIGGRAPH un lavoro intitolato 3D Gaussian Splatting for Real-Time Radiance Field Rendering. In tre anni quella tecnica è passata da codice accademico a estensione ratificata di glTF, e ha cambiato il modo in cui si discute di acquisizione 3D.

Vale la pena capire cosa sia davvero, perché è il tipo di tecnologia che viene raccontata male in entrambe le direzioni: c'è chi la presenta come la fine della fotogrammetria e chi la liquida come un effetto. Non è né l'una né l'altra cosa.

Il problema che risolve

Fino al 2020 ricostruire una scena da fotografie significava, in pratica, produrre una mesh: triangoli e texture. Poi arrivano i NeRF (Mildenhall e colleghi, 2020), che ribaltano l'approccio. Invece di costruire geometria si allena una rete neurale a rispondere a una domanda: da questo punto, guardando in questa direzione, che colore vedo e quanto è densa la materia? Il risultato cattura riflessi, trasparenze e volumi che una mesh perde per strada.

Il problema dei NeRF è il costo. La scena vive dentro i pesi di una rete, quindi per generare un'immagine bisogna lanciare raggi attraverso il volume e interrogare la rete decine di volte per ogni pixel. Ore di addestramento, e un rendering che nel 2020 era lontanissimo dal tempo reale. Instant-NGP di NVIDIA (2022) ha abbattuto quei tempi con strutture a griglia hash, ma la natura del calcolo è rimasta quella.

Il gaussian splatting cambia la domanda. Invece di una funzione continua da interrogare usa una rappresentazione esplicita: un insieme di primitive che si disegnano con la scheda video come si è sempre fatto. Da lì viene il salto prestazionale.

Cosa c'è dentro una gaussiana

La scena è una nuvola di ellissoidi sfocati, sovrapposti, semitrasparenti. Ciascuno è una gaussiana tridimensionale anisotropa e porta con sé quattro gruppi di parametri.

I parametri di una gaussiana: centro, semiassi, quaternione di rotazione, opacità e armoniche sferiche, per un totale di 62 numeri in virgola mobile nel formato PLY

Posizione. Il centro dell'ellissoide, la media della distribuzione: tre numeri.

Forma e orientamento. La matrice di covarianza descrive quanto la gaussiana si allarga e in che direzione. Ottimizzarla direttamente non funziona, perché durante la discesa del gradiente si finisce fuori dallo spazio delle matrici valide. La si fattorizza allora in scala (tre numeri, i semiassi) e rotazione (un quaternione, quattro numeri), e si ricompone a ogni passo. È il motivo per cui nei formati di scambio trovate SCALE e ROTATION separati invece di sei coefficienti di covarianza.

Opacità. Quanto la gaussiana contribuisce rispetto a ciò che le sta dietro: un valore.

Colore direzionale. Qui sta l'eredità dei NeRF. Il colore non è fisso, è espresso con armoniche sferiche: una base di funzioni sulla sfera che descrive come il colore cambia a seconda della direzione da cui si guarda. Il grado zero è il colore diffuso, uguale da ogni parte; i gradi superiori aggiungono la variazione angolare, ed è così che un riflesso su una superficie lucida si sposta mentre giri intorno all'oggetto. L'implementazione di riferimento usa per impostazione predefinita il terzo grado, cioè sedici coefficienti per canale: 48 numeri per gaussiana di solo colore.

Sommando tutto, una gaussiana nel file PLY prodotto dall'implementazione originale occupa 62 valori in virgola mobile, tre dei quali sono normali che il metodo non usa e che restano lì per compatibilità con il formato. Un ambiente di medie dimensioni si assesta su qualche milione di gaussiane: il conto si fa presto.

Come si allena

Il punto di partenza è fotogrammetria classica. Le immagini passano per una pipeline structure from motion, tipicamente COLMAP, che stima le pose delle camere e restituisce una nuvola sparsa di punti. Quei punti diventano le prime gaussiane, inizializzate piccole e isotrope.

Poi comincia l'ottimizzazione. Il rendering è differenziabile: si disegna la scena da una posizione di camera nota, si confronta il risultato con la fotografia vera, si calcola l'errore e lo si propaga all'indietro fino ai parametri di ogni gaussiana. Posizioni, scale, rotazioni, opacità e coefficienti armonici si aggiustano insieme, iterazione dopo iterazione.

La parte che fa funzionare tutto è la densificazione adattiva.

Densificazione adattiva: una gaussiana troppo piccola viene clonata, una troppo grande viene divisa in due, una diventata quasi trasparente viene eliminata

Ogni poche centinaia di iterazioni l'algoritmo guarda dove il gradiente è alto, cioè dove la ricostruzione sbaglia, e interviene in due modi opposti. Se una gaussiana è troppo piccola per coprire una zona di dettaglio, la clona. Se invece è grande e sta cercando di rappresentare da sola una regione complessa, la divide in due più piccole. In parallelo, le gaussiane diventate troppo trasparenti vengono eliminate. La nuvola cresce dove serve dettaglio e si dirada dove non serve, senza che nessuno decida a priori quante primitive usare.

I tempi dipendono dalla scena e dalla scheda: si parla di minuti per una ricostruzione già leggibile e di decine di minuti per arrivare alla qualità del paper.

Perché gira in tempo reale

Il rendering non lancia raggi: proietta.

Confronto tra ray marching e proiezione: il NeRF interroga la rete decine di volte per pixel, il gaussian splatting proietta ogni gaussiana sul piano immagine e compone

Ogni gaussiana tridimensionale, vista da una certa camera, si proietta sul piano immagine come una gaussiana bidimensionale, cioè un'ellisse sfocata. È una tecnica con una storia lunga in grafica, l'EWA splatting formalizzato da Zwicker e colleghi nel 2001; il contributo del 2023 è averla resa differenziabile e averle costruito intorno un rasterizzatore che sfrutta bene l'hardware.

Il rasterizzatore divide lo schermo in riquadri, assegna a ciascuno le gaussiane che lo toccano, le ordina per profondità e le compone dalla più vicina alla più lontana con alpha blending. Ordinamento e composizione sono operazioni che le GPU fanno da trent'anni.

Sui numeri conviene essere precisi, perché le fonti ufficiali non concordano: la pagina del progetto di Inria parla di almeno cento fotogrammi al secondo a 1080p, il repository di riferimento è più prudente e dichiara almeno trenta. In pratica dipende dalla scena, dal numero di gaussiane e dalla scheda. In entrambi i casi si parla di tempo reale, che era il punto.

C'è una conseguenza pratica che conta più delle prestazioni: il gaussian splatting è una rappresentazione, non un modello addestrato. Si può ispezionare, tagliare, unire, comprimere, spostare. Un NeRF è una scatola nera; un campo di gaussiane è un elenco di oggetti con coordinate.

A che punto siamo nel 2026

Tre anni di lavoro collettivo hanno prodotto più varianti di quante abbia senso elencarne. Le direzioni che contano sono cinque.

Geometria. Le gaussiane sono volumi sfocati, e ricavarne una superficie precisa è innaturale. Il 2D Gaussian Splatting schiaccia le primitive in dischi orientati, che aderiscono meglio alle superfici e danno normali più sensate; da lì l'estrazione di mesh diventa praticabile. È la linea di ricerca più rilevante per chi il dato 3D lo deve poi lavorare.

Tempo. Il 4DGS aggiunge la dimensione temporale: gaussiane che si spostano e cambiano, cioè video volumetrico. È la direzione che interessa cinema, sport e performance, e anche quella che fa esplodere le dimensioni dei dati.

Peso. Un PLY grezzo è enorme, e la compressione è diventata un campo a sé. Il formato SPZ, rilasciato da Niantic con licenza MIT, sta circa dieci volte sotto il PLY corrispondente. Lo ottiene quantizzando: posizioni in virgola fissa a 24 bit, rotazioni a 10 bit per componente conservando solo le tre più piccole del quaternione e ricavando la quarta, scale a 8 bit in scala logaritmica, colore a 8 bit per canale e armoniche a cinque o quattro bit a seconda del grado. Ogni scelta è una rinuncia misurata a precisione che l'occhio non vede.

Acquisizione in movimento. Diverse pipeline SLAM costruiscono il campo di gaussiane mentre il sensore si muove, invece che in post-produzione. È la strada verso l'acquisizione in tempo reale con dispositivi portatili.

Illuminazione. Nel modello base la luce è cotta dentro i coefficienti armonici: la scena porta con sé l'illuminazione del giorno in cui è stata fotografata e non si può cambiare. Separare materiale e luce per poter rilluminare è un problema aperto, con risultati promettenti e nessuna soluzione generale.

Lo standard è arrivato

La notizia più concreta del 2026 non è un paper, è un formato. A febbraio Khronos ha annunciato la release candidate di KHR_gaussian_splatting, estensione di glTF 2.0 sviluppata con Autodesk, Cesium/Bentley, Esri, Huawei, Niantic Spatial, NVIDIA e XGRIDS; l'estensione è poi stata ratificata.

Tecnicamente fa una cosa semplice e ben pensata: usa le primitive a punti di glTF e vi aggancia gli attributi che servono — ROTATION come quaternione, SCALE, OPACITY e i coefficienti armonici, con il grado zero obbligatorio e i gradi superiori opzionali. Un visualizzatore che non sa cosa siano gli splat legge comunque il file come nuvola di punti invece di rifiutarlo.

Per chi consegna dati a un cliente questo cambia parecchio. Fino a ieri uno splat si consegnava in un PLY con attributi non standard, sperando che il software di destinazione lo interpretasse. Ora esiste un contenitore dichiarato, con un comportamento di ripiego definito.

Sul fronte software: Unity ha un plugin maturo, quello di Aras Pranckevičius, che legge anche SPZ; per Unreal esistono più soluzioni, tra cui quelle di Volinga e XGRIDS; Cesium ha portato gli splat dentro 3D Tiles con livelli di dettaglio gerarchici per scene grandi; sul web i visualizzatori si contano a decine, e SuperSplat di PlayCanvas ha reso normale l'editing.

Cosa non sa fare

Questa è la parte che di solito manca nelle presentazioni.

Non è geometria. Un campo di gaussiane non ha superfici, spigoli, spessori. Non ci si misura sopra una distanza con la stessa affidabilità di una nuvola di punti da laser scanner, non si estrae una sezione, non si verifica una tolleranza. Le varianti orientate alle superfici migliorano la situazione, non la ribaltano.

L'illuminazione è quella del giorno dello scatto. Portare uno splat in una scena XR con una sua luce significa, oggi, accettare che l'oggetto si trascini dietro le ombre di un altro contesto.

Riflessi e trasparenze reggono finché non ci si avvicina. Le armoniche sferiche approssimano bene la variazione angolare del colore, ma un vetro o un metallo lucido visti da posizioni molto diverse da quelle fotografate rivelano l'inganno.

Le viste mancanti si vedono. Dove non ci sono fotografie il campo inventa: gaussiane sospese nel vuoto, i cosiddetti floater. È un difetto che si corregge acquisendo meglio, non in post.

Il peso è reale. Anche compresso, un ambiente di qualità resta un file importante da far scaricare a un browser.

Dove lo usiamo, e dove no

Il nostro Scan Lab lavora con fotogrammetria, laser scanner e luce strutturata, e consegna dati che devono reggere a un collaudo: precisione dichiarata, verifica su punti di controllo indipendenti, formati aperti. In quel contesto il gaussian splatting non sostituisce niente. Chi vi propone uno splat al posto di una nuvola di punti per documentare un bene culturale vi sta proponendo un'altra cosa con lo stesso nome.

Dove invece è la tecnica migliore disponibile:

Contesto e ambiente per esperienze XR. Se serve che un ambiente reale faccia da scena dentro un'applicazione interattiva, uno splat lo restituisce con una fedeltà che una mesh decimata non raggiunge, a un costo compatibile con il tempo reale. È il caso in cui l'aspetto conta e la misura no.

Vegetazione, superfici complesse, spazi ampi. Tutto ciò che alla fotogrammetria tradizionale fa produrre mesh sporche — foglie, reti, oggetti sottili, ambienti con molta profondità — il campo di gaussiane lo rende meglio, perché non deve decidere dove finisce una superficie.

Divulgazione e accesso. Per far entrare qualcuno in un luogo dal browser, come abbiamo fatto per l'Abbazia di Scurcola, la resa di uno splat è un'altra categoria rispetto a un modello alleggerito. Con l'avvertenza che la ricostruzione scientifica e la restituzione visiva restano due consegne diverse.

Sopralluoghi e documentazione rapida. Mezz'ora di riprese e si ha un ambiente navigabile. Non per il progetto esecutivo: per decidere dove tornare a misurare.

Il modo sensato di usarlo, nella nostra esperienza, è affiancarlo: il laser scanner e la fotogrammetria danno la geometria certificata, il campo di gaussiane dà l'aspetto. Sono due livelli della stessa acquisizione, non due alternative.

Cosa aspettarsi

Le due cose da guardare nei prossimi mesi sono la rilluminazione e l'estrazione di superfici. Se diventano affidabili, il gaussian splatting smette di essere un livello visivo e diventa un formato di acquisizione a tutti gli effetti, con la geometria che ne esce come sottoprodotto. Fino ad allora resta quello che è: il modo più efficiente che conosciamo per riportare l'aspetto di un luogo dentro uno schermo, in tempo reale.

Che non è poco, considerando che tre anni fa non esisteva.


Lavoriamo su acquisizione 3D e ambienti navigabili: cosa fa Scan, oppure raccontateci il caso e vi diciamo quale tecnica ha senso, compresa quella di non usarne nessuna delle due.

Fonti: Kerbl, Kopanas, Leimkühler, Drettakis, 3D Gaussian Splatting for Real-Time Radiance Field Rendering, SIGGRAPH 2023 · implementazione di riferimento, Inria GRAPHDECO · Khronos, annuncio dell'estensione glTF · specifica KHR_gaussian_splatting · formato SPZ, Niantic

ALTRI ARTICOLI

HAI UN PROGETTO
SIMILE?

RACCONTACELO — TI AIUTIAMO A INQUADRARLO

PARLIAMONE →