🗒️ 3d-research indice lezione 03 EN · IT

Lezione 03

Il forward pass: compositing volumetrico

Come milioni di blob diventano un pixel — e perché è la stessa equazione di NeRF.

Per renderizzare, il 3DGS proietta ogni gaussiana sullo schermo (la matematica EWA della lezione 02, riusata come layer), le ordina per profondità e le compone front-to-back. Il colore di un pixel è:

$$C \;=\; \sum_{i} c_i\,\alpha_i' \prod_{j<i} \big(1-\alpha_j'\big), \qquad \alpha_i' = \alpha_i\,\exp\!\Big(-\tfrac12 (\mathbf x-\boldsymbol\mu_i')^{\!\top} \Sigma'^{-1} (\mathbf x-\boldsymbol\mu_i')\Big)$$

Il prodotto \(\prod_{j<i}(1-\alpha_j')\) è la trasmittanza \(T_i\): quanta luce «sopravvive» a tutto ciò che sta davanti. Ogni gaussiana contribuisce con peso \(w_i = \alpha_i' \, T_i\): tanto se è opaca e non è occlusa, poco altrimenti.

Fig. 1 — interattiva. Un raggio attraversa tre gaussiane. Sopra: la scena (trascina i blob per riordinarli!). Al centro: la trasmittanza \(T(s)\) che crolla a ogni blob. Sotto: il colore che si accumula lungo il raggio. Nota l'asimmetria dell'occlusione: porta il blob blu davanti a tutti e alza la sua α — gli altri quasi spariscono dal colore finale.
Il ponte con NeRF — questa è esattamente l'equazione del volume rendering di NeRF, discretizzata. NeRF e 3DGS ottimizzano lo stesso funzionale, con due discretizzazioni opposte del campo di radianza: NeRF è euleriano (campo continuo nei pesi di una MLP, interroghi lo spazio con ray marching — centinaia di query per pixel), 3DGS è lagrangiano (il campo è portato da particelle esplicite: un sort + blending, real-time). Da questa scelta di coordinate discendono tutte le differenze pratiche: velocità, editabilità, e la possibilità di fare LoD/streaming per regione di spazio.

Perché conta per il training

Ogni operazione qui — footprint gaussiano, prodotto di trasmittanze, somma pesata — è differenziabile nei parametri \((\mu_i, \Sigma_i, \alpha_i, c_i)\). È questo che permette alla lezione 04 di esistere: il gradiente della loss fotometrica può risalire dal pixel fino a ogni singola gaussiana, attraverso questa formula.