Scopri lo splatting gaussiano per la ricostruzione fotorealistica di scene 3D. Scopri come consente il rendering in tempo reale e si integra con Ultralytics per la visione.
Lo splatting gaussiano è una moderna tecnica di rasterizzazione utilizzata nella computer grafica e nella visione artificiale per ricostruire scene 3D fotorealistiche da una serie di immagini 2D. A differenza della modellazione 3D tradizionale che si basa su mesh poligonali, o dei recenti progressi dell'intelligenza artificiale come i Neural Radiance Fields (NeRF) che utilizzano reti neurali per approssimare una scena, lo splatting gaussiano rappresenta una scena come una raccolta di milioni di distribuzioni gaussiane 3D (ellissoidi). Questo metodo consente il rendering in tempo reale ad alti frame rate (spesso superiori a 100 FPS) mantenendo un'eccezionale fedeltà visiva, risolvendo un importante collo di bottiglia delle prestazioni riscontrato nei precedenti metodi di sintesi della vista .
L'idea centrale ruota attorno alla rappresentazione esplicita dello spazio 3D piuttosto che implicita. In un flusso di lavoro tipico, il processo inizia con una nuvola di punti 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 processo di addestramento, il sistema ottimizza diversi parametri per ciascuna gaussiana:
Il termine "splatting" si riferisce al processo di rasterizzazione in cui queste distribuzioni gaussiane 3D vengono proiettate, o "splattate", sul piano della telecamera 2D per formare un'immagine. Questa proiezione è completamente differenziabile, il che significa che è possibile utilizzare algoritmi standard di discesa del gradiente per ridurre al minimo la differenza tra l'immagine renderizzata e la foto originale di riferimento.
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 rete neurale. Il rendering di un NeRF richiede milioni di interrogazioni a questa rete per ogni singolo fotogramma (ray marching), il che è computazionalmente costoso e lento.
Al contrario, Gaussian Splatting utilizza una rappresentazione esplicita (l'elenco delle distribuzioni gaussiane). Ciò consente di utilizzare una rasterizzazione efficiente basata su tessere, simile a quella utilizzata dai videogiochi per il rendering della grafica. Di conseguenza, Gaussian Splatting è notevolmente più veloce da addestrare e renderizzare rispetto ai NeRF, rendendolo più praticabile per le applicazioni consumer e l' inferenza in tempo reale.
La velocità e la qualità dello splatting gaussiano hanno aperto nuove porte in vari settori industriali:
Affinché lo splatting gaussiano funzioni in modo efficace, le immagini di addestramento devono essere statiche. Gli oggetti in movimento (come pedoni o automobili) nelle foto di origine possono causare artefatti chiamati "floater". Le pipeline avanzate utilizzano la segmentazione delle istanze per mascherare automaticamente questi elementi dinamici prima di addestrare il modello di splatting.
Ultralytics consente ai team di gestire set di dati e addestrare modelli che possono essere d'aiuto in questa fase di pre-elaborazione. Ecco come si potrebbe utilizzare un modello di segmentazione per creare maschere per un set di dati 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")
Il Gaussian Splatting rappresenta un cambiamento nella visione artificiale verso metodi ibridi che combinano l'apprendibilità del Deep Learning con l' efficienza della computer grafica classica. 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' IA generativa per creare risorse 3D da prompt di testo. Con il continuo miglioramento degli acceleratori hardware come le GPU, lo Gaussian Splatting è destinato a diventare lo standard per catturare e riprodurre il mondo reale in forma digitale.