Gaussian Splatting
Esplora il Gaussian Splatting per la ricostruzione fotorealistica di scene 3D. Scopri come abilita il rendering in tempo reale e si integra con Ultralytics YOLO26 per la visione.
Il Gaussian Splatting è una moderna tecnica di rasterizzazione utilizzata nella computer grafica e nella computer vision per ricostruire scene 3D fotorealistiche a partire da un insieme di immagini 2D. A differenza della modellazione 3D tradizionale che si basa su mesh poligonali, o dei recenti progressi dell'IA come i Neural Radiance Fields (NeRF) che usano reti neurali per approssimare una scena, il Gaussian Splatting rappresenta una scena come una raccolta di milioni di distribuzioni gaussiane 3D (ellissoidi). Questo metodo consente il rendering in tempo reale a frame rate elevati (spesso superiori a 100 FPS) mantenendo un'eccezionale fedeltà visiva, risolvendo un importante collo di bottiglia nelle prestazioni riscontrato nei precedenti metodi di sintesi delle viste.
Link to this sectionCome funziona il Gaussian Splatting#
L'idea centrale ruota attorno alla rappresentazione esplicita dello spazio 3D piuttosto che implicita. In un tipico workflow, il processo inizia con una point cloud sparsa generata da una serie di foto utilizzando una tecnica chiamata Structure from Motion (SfM). Ogni punto in questa nuvola viene quindi inizializzato come una gaussiana 3D.
Durante il training process, il sistema ottimizza diversi parametri per ogni gaussiana:
- Posizione: Le coordinate 3D (X, Y, Z) nella scena.
- Covarianza: Determina la forma e la rotazione dell'ellissoide (ad esempio, quanto è allungato o inclinato lo "splat").
- Opacità: Quanto la gaussiana appare trasparente o solida (valore alfa).
- Colore: Rappresentato utilizzando le Spherical Harmonics, che consentono al colore di cambiare a seconda dell'angolo di visione, catturando riflessi realistici ed effetti di luce.
Il termine "splatting" si riferisce al processo di rasterizzazione in cui queste gaussiane 3D vengono proiettate, o "splattate", sul piano camera 2D per formare un'immagine. Questa proiezione è completamente differenziabile, il che significa che è possibile utilizzare algoritmi standard di gradient descent per ridurre al minimo la differenza tra l'immagine renderizzata e la foto originale di riferimento.
Link to this sectionGaussian Splatting vs. NeRF#
Sebbene entrambe le tecniche mirino a generare nuove viste di una scena, differiscono fondamentalmente nell'architettura e nelle prestazioni. NeRF (Neural Radiance Fields) codifica una scena all'interno dei pesi di una neural network. Il rendering di un NeRF richiede di interrogare questa rete milioni di volte per ogni singolo frame (ray marching), il che è computazionalmente costoso e lento.
Al contrario, il Gaussian Splatting utilizza una rappresentazione esplicita (l'elenco delle gaussiane). Ciò gli consente di utilizzare un'efficiente rasterizzazione basata su tile, simile al modo in cui i videogiochi renderizzano la grafica. Di conseguenza, il Gaussian Splatting è significativamente più veloce da addestrare e renderizzare rispetto ai NeRF, rendendolo più praticabile per le applicazioni consumer e l'real-time inference.
Link to this sectionApplicazioni nel mondo reale#
La velocità e la qualità del Gaussian Splatting hanno aperto nuove porte in diversi settori:
- Turismo virtuale e immobiliare: I creatori possono catturare un museo, un sito storico o una casa in vendita utilizzando un drone o uno smartphone. Il Gaussian Splatting consente agli utenti remoti di esplorare questi spazi in Virtual Reality (VR) con 6 gradi di libertà (6DoF), vedendo dettagli fini come i riflessi sui pavimenti in legno che la fotogrammetria tradizionale potrebbe perdere.
- Simulazione automobilistica: Le aziende che sviluppano autonomous vehicles hanno bisogno di enormi quantità di dati per testare i loro algoritmi di percezione. Il Gaussian Splatting può ricostruire isolati urbani del mondo reale dai dati dei sensori, creando un ambiente di simulazione fotorealistico. All'interno di questi ambienti, modelli di visione come Ultralytics YOLO26 possono essere testati per assicurarsi che identifichino correttamente i pericoli in complessi scenari 3D.
Link to this sectionPreprocessing per lo Splatting con la computer vision#
Affinché il Gaussian Splatting funzioni in modo efficace, le immagini di addestramento devono solitamente essere statiche. Gli oggetti in movimento (come pedoni o auto) nelle foto sorgente possono causare artefatti chiamati "floaters". Le pipeline avanzate utilizzano l'instance segmentation per mascherare automaticamente questi elementi dinamici prima di addestrare il modello splat.
La Ultralytics Platform consente ai team di gestire dataset e addestrare modelli che possono assistere in questa fase di preprocessing. Ecco come si potrebbe utilizzare un modello di segmentazione per creare maschere per un dataset destinato alla ricostruzione 3D:
from ultralytics import YOLO
# Load the YOLO26 segmentation model
model = YOLO("yolo26n-seg.pt")
# Run inference on an image from the scan dataset
# Class 0 is 'person' in COCO - we mask them out to keep the scene static
results = model.predict("scan_frame_001.jpg", classes=[0])
# Save the generated mask to exclude the person from the 3D reconstruction
for result in results:
result.save_masks("scan_frame_001_mask.png")Link to this sectionSignificato nell'IA e tendenze future#
Il Gaussian Splatting rappresenta uno spostamento nella computer vision verso metodi ibridi che combinano l'apprendibilità del Deep Learning con l'efficienza della classica computer grafica. Questa tecnica è in rapida evoluzione, con i ricercatori che esplorano modi per comprimere le dimensioni dei file (che possono essere grandi) e integrarla con l'generative AI per creare risorse 3D da prompt testuali. Poiché gli acceleratori hardware come le GPUs continuano a migliorare, è probabile che il Gaussian Splatting diventi lo standard per catturare e renderizzare il mondo reale in forma digitale.






