Gaussian Splatting
Entdecke Gaussian Splatting für die fotorealistische Rekonstruktion von 3D-Szenen. Erfahre, wie es Echtzeit-Rendering ermöglicht und sich für Computer Vision in Ultralytics YOLO26 integrieren lässt.
Gaussian Splatting ist eine moderne Rasterisierungstechnik aus der Computergrafik und Computer Vision, mit der sich fotorealistische 3D-Szenen aus einer Reihe von 2D-Bildern rekonstruieren lassen. Anders als bei der herkömmlichen 3D-Modellierung mit Polygonnetzen oder bei neueren Fortschritten der künstlichen Intelligenz wie Neuronalen Strahlungsfeldern (NeRF), die neuronale Netze zur Annäherung an eine Szene verwenden, stellt Gaussian Splatting eine Szene als Ansammlung von Millionen 3D-Gauß-Verteilungen (Ellipsoiden) dar. Diese Methode ermöglicht Echtzeit-Rendering mit hohen Bildraten (oft über 100 FPS) bei gleichzeitig außergewöhnlicher visueller Detailtreue und beseitigt damit einen großen Leistungsengpass früherer Verfahren zur Synthese neuer Ansichten.
So funktioniert Gaussian Splatting#
Die zentrale Idee besteht darin, den 3D-Raum explizit statt implizit darzustellen. In einem typischen Arbeitsablauf beginnt der Prozess mit einer dünn besetzten Punktwolke, die aus einer Reihe von Fotos mithilfe einer als Struktur aus Bewegung (SfM) bezeichneten Technik erzeugt wird. Jeder Punkt dieser Wolke wird anschließend als 3D-Gauß-Verteilung initialisiert.
Während des Trainingsprozesses optimiert das System mehrere Parameter für jede Gauß-Verteilung:
- Position: Die 3D-Koordinaten (X, Y, Z) in der Szene.
- Kovarianz: Sie bestimmt die Form und Drehung des Ellipsoids (z. B. wie stark der „Splat“ gedehnt oder geneigt ist).
- Deckkraft: Wie transparent oder undurchsichtig die Gauß-Verteilung erscheint (Alpha-Wert).
- Farbe: Sie wird mithilfe von Kugelflächenfunktionen dargestellt, sodass sich die Farbe abhängig vom Betrachtungswinkel ändern kann und realistische Reflexionen und Beleuchtungseffekte erfasst werden.
Der Begriff „Splatting“ bezeichnet den Rasterisierungsprozess, bei dem diese 3D-Gauß-Verteilungen auf die 2D-Kameraebene projiziert oder „gesplattet“ werden, um ein Bild zu erzeugen. Diese Projektion ist vollständig differenzierbar, sodass sich standardmäßige Gradientenabstiegsverfahren verwenden lassen, um den Unterschied zwischen dem gerenderten Bild und dem ursprünglichen Referenzfoto zu minimieren.
Gaussian Splatting im Vergleich zu NeRF#
Beide Techniken zielen darauf ab, neue Ansichten einer Szene zu erzeugen, unterscheiden sich jedoch grundlegend in Architektur und Leistung. NeRF (Neuronale Strahlungsfelder) codiert eine Szene in den Gewichten eines neuronalen Netzes. Für das Rendern eines NeRF muss dieses Netz für jedes einzelne Bild Millionen Mal abgefragt werden (Ray Marching), was rechenintensiv und langsam ist.
Im Gegensatz dazu verwendet Gaussian Splatting eine explizite Darstellung (die Liste der Gauß-Verteilungen). Dadurch kann es eine effiziente, kachelbasierte Rasterisierung nutzen, ähnlich wie Videospiele Grafiken rendern. Folglich lässt sich Gaussian Splatting deutlich schneller trainieren und rendern als NeRFs, wodurch es für Anwendungen im Endkundenbereich und Echtzeit-Inferenz besser geeignet ist.
Anwendungen in der Praxis#
Die Geschwindigkeit und Qualität von Gaussian Splatting haben in verschiedenen Branchen neue Möglichkeiten eröffnet:
- Virtueller Tourismus und Immobilien: Kreative können ein Museum, eine historische Stätte oder ein zum Verkauf stehendes Haus mit einer Drohne oder einem Smartphone erfassen. Gaussian Splatting ermöglicht es Nutzern aus der Ferne, diese Orte in der Virtuellen Realität (VR) mit 6 Freiheitsgraden (6DoF) zu erkunden und feine Details wie Reflexionen auf Hartholzböden zu sehen, die bei der herkömmlichen Photogrammetrie möglicherweise verloren gehen.
- Automobilsimulation: Unternehmen, die autonome Fahrzeuge entwickeln, benötigen große Datenmengen, um ihre Wahrnehmungsalgorithmen zu testen. Gaussian Splatting kann reale Stadtblöcke aus Sensordaten rekonstruieren und so eine fotorealistische Simulationsumgebung erzeugen. In diesen Umgebungen lassen sich Bildverarbeitungsmodelle wie Ultralytics YOLO26 testen, um sicherzustellen, dass sie Gefahren in komplexen 3D-Szenarien korrekt erkennen.
Vorverarbeitung für Splatting mit Computer Vision#
Damit Gaussian Splatting effektiv funktioniert, müssen die Trainingsbilder in der Regel statisch sein. Bewegte Objekte (wie Fußgänger oder Autos) in den Quellfotos können Artefakte verursachen, die als „Floaters“ bezeichnet werden. Fortschrittliche Pipelines verwenden Instanzsegmentierung, um diese dynamischen Elemente vor dem Training des Modells für Gaussian Splatting automatisch zu maskieren.
Die Ultralytics Platform ermöglicht es Teams, Datensätze zu verwalten und Modelle zu trainieren, die diese Vorverarbeitungsphase unterstützen können. So kann ein Segmentierungsmodell verwendet werden, um Masken für einen Datensatz zu erstellen, der für die 3D-Rekonstruktion vorgesehen ist:
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")Bedeutung für die künstliche Intelligenz und zukünftige Entwicklungen#
Gaussian Splatting steht in der Computer Vision für eine Entwicklung hin zu hybriden Methoden, die die Lernfähigkeit des Deep Learning mit der Effizienz klassischer Computergrafik verbinden. Diese Technik entwickelt sich rasant weiter. Forschende untersuchen Möglichkeiten, die Dateigrößen (die beträchtlich sein können) zu reduzieren und Gaussian Splatting mit generativer künstlicher Intelligenz zu verbinden, um aus Texteingaben 3D-Assets zu erstellen. Da sich Hardwarebeschleuniger wie GPUs weiter verbessern, wird Gaussian Splatting wahrscheinlich zum Standard für die Erfassung und Darstellung der realen Welt in digitaler Form werden.









