Unscharfe Gaussian Splats: Ursachen und wie man sie findet

Ein Gaussian Splat ist ein 3D-Modell aus Millionen kleiner, weicher Farbflecken, den Splats, das ein Computer aus vielen Fotos lernt. Dieses Lernen nennt man Training. Ein solches Modell wird unscharf, wenn es zu wenige Splats hat oder wenn die Bilder, aus denen es lernt, nicht genau zueinander passen. Die Ursachen liegen meist an einer von fünf Stellen: in der Aufnahme, bei den berechneten Kamerapositionen, bei der Linse, im Training oder im Viewer, der das fertige Modell anzeigt.
Weil alle diese Fehler im fertigen Bild ähnlich aussehen, nämlich weich, verschwommen oder doppelt, findet man die Ursache am schnellsten, wenn man die Kette von vorne nach hinten prüft. Wer gleich an den Symptomen dreht, repariert oft das Falsche.
Wie ein Gaussian Splat überhaupt scharf wird
Ein Gaussian Splat ist ein 3D-Modell, das aus Millionen kleiner, weicher und farbiger Flecken besteht, den Splats. Der Computer lernt diese Flecken aus Fotos oder einem Video: Er berechnet ein Bild aus genau der Position, an der ein echtes Foto entstanden ist, vergleicht beides und verschiebt die Flecken so lange, bis sein Bild dem Foto möglichst gleicht. Wie das im Detail funktioniert, steht in Gaussian Splatting erklärt.
Für ein scharfes Ergebnis müssen deshalb zwei Dinge stimmen. Erstens braucht das Modell genug Splats, vor allem an Kanten und feinen Mustern, denn ein einzelner großer Fleck kann keine scharfe Kante darstellen. Zweitens müssen alle Bilder zueinander passen. Zeigen zwei Bilder dieselbe Kante an leicht verschiedenen Stellen, kann das Modell nicht beide gleichzeitig erfüllen. Es legt dann an beiden Stellen halbdurchsichtige Flecken an, und die Kante wird weich oder doppelt.
1. Ursachen in der Aufnahme
Bewegungsunschärfe
Wenn sich die Kamera bewegt, während der Verschluss offen ist, verwischt das Bild. Bei Videos ist die Verschlusszeit oft so lang, dass jedes Einzelbild leicht verwischt ist, auch wenn das Video beim Abspielen scharf wirkt. Das Modell lernt dann die verwischten Bilder und wird selbst weich.
Abhilfe schafft eine kurze Verschlusszeit. Wir nehmen mit 1/250 Sekunde auf und gehen nie über 1/120. Damit die Bilder trotzdem hell genug sind, brauchen die Räume genug Licht, deshalb sind bei der Aufnahme alle Lampen an.
Zu wenige Blickwinkel
Das Modell erkennt die Form eines Raums aus den Unterschieden zwischen den Bildern. Je mehr Richtungen eine Stelle zeigen, desto genauer wird sie. Liegen zwischen zwei Bildern große Abstände, muss das Modell die Lücke erraten, und geratene Stellen sind weich.
Das spricht für viele Bilder in kurzen Abständen statt weniger Bilder in sehr hoher Auflösung. Wer zum Beispiel alle drei Sekunden ein Bild macht und dabei langsam geht, hat rund einen Meter zwischen zwei Aufnahmen. Bei einem Bild pro halbe Sekunde sind es 15 bis 20 Zentimeter. Dazu kommt die Höhe: Wer nur auf Augenhöhe filmt, hat keine Blicke unter den Tisch und auf den Schrank. Wir filmen deshalb auf drei Höhen.
Wechselnde Belichtung und Farbe
Die meisten Kameras passen Helligkeit und Weißabgleich automatisch an. Für Fotos ist das praktisch, für ein 3D-Modell ist es ein Problem: Dieselbe Wand ist dann in einem Bild heller und im nächsten dunkler. Das Modell versucht, beides gleichzeitig zu treffen, und das Ergebnis wird fleckig und unruhig.
Die Lösung ist eine feste Einstellung für die ganze Aufnahme: Belichtung, Empfindlichkeit (ISO) und Weißabgleich, also die Einstellung, welche Farbe als Weiß gilt, manuell, und zwar so, dass auch der dunkelste Raum noch genug Licht bekommt.
Bewegung in der Szene
Alles, was sich während der Aufnahme bewegt oder verändert, sieht das Modell in verschiedenen Zuständen. Typisch sind Menschen und Haustiere, Türen, die zwischendurch geschlossen werden, Vorhänge im Luftzug und laufende Fernseher. Im Modell entstehen daraus Schleier und halbdurchsichtige Geisterbilder. Wie man eine Wohnung davor bewahrt, steht in Wohnung für den 3D-Scan vorbereiten.
Spiegel und große Glasflächen
Ein Spiegel zeigt einen Raum, den es nicht gibt. Das Modell kann das nicht unterscheiden und baut den gespiegelten Raum hinter die Wand. Wo der Spiegel aus verschiedenen Winkeln Verschiedenes zeigt, entstehen außerdem unscharfe Flecken. Kleine Spiegel hängt man deshalb vor der Aufnahme ab.
Bildverbesserung in der Kamera
Kameras schärfen Bilder nach und unterdrücken Rauschen, und zwar in jedem Bild ein bisschen anders. Für das Modell sind das wieder Widersprüche. Schärfen und Rauschunterdrückung sollten deshalb so niedrig wie möglich eingestellt sein.
2. Ursachen bei den Kamerapositionen
Bevor das Modell lernen kann, muss der Computer für jedes Bild wissen, wo die Kamera stand und wohin sie zeigte. Das berechnet ein Verfahren namens Structure from Motion: Es sucht markante Punkte, verfolgt sie über viele Bilder und rechnet daraus die Positionen zurück.
Liegt eine Position nur ein paar Millimeter oder Bruchteile eines Grads daneben, passen die Bilder nicht mehr genau zueinander, und nahe Kanten werden weich oder doppelt. Zwei Werte zeigen, ob die Positionen taugen:
- Der Anteil der Bilder mit Position. Findet das Verfahren für einen Teil der Bilder keine Position, fehlen dem Modell Blickwinkel. Wir verlangen mindestens 95 %.
- Der mittlere Reprojektionsfehler. Er gibt an, wie weit ein berechneter Punkt im Bild von der Stelle entfernt liegt, an der er tatsächlich zu sehen ist. Werte um einen Pixel sind gut, wir lassen höchstens 1,5 Pixel zu.
3. Ursachen bei der Linse
Weitwinkel- und Fischaugenlinsen verzerren das Bild stark, am Rand am meisten. Kennt die Software diese Verzerrung nicht genau, rechnet sie jeden Bildpunkt in eine leicht falsche Richtung um. Der Fehler wächst zum Bildrand hin, und dort werden Kanten weich.
Die Abhilfe heißt Kalibrieren: genau bestimmen, wie die Linse das Bild verzerrt. Bei Handys und normalen Kameras erledigt das die Software für die Kamerapositionen nebenbei. Bei Fischaugenlinsen lohnt sich eine eigene, genauere Kalibrierung.
Bei 360°-Kameras kommt die Naht dazu: Die zwei Linsen sitzen einige Zentimeter auseinander, das zusammengesetzte Panorama tut aber so, als säßen sie an einem Punkt. Nahe Gegenstände an der Naht erscheinen dadurch doppelt. Ursache und Lösung stehen ausführlich in Ghosting bei 360°-Aufnahmen.
4. Ursachen im Training
Das Modell wächst nicht
Das Training beginnt mit einer groben Punktwolke, also einigen zehntausend Punkten, die die Form der Räume grob nachzeichnen, und soll dann wachsen. Überall, wo dem Modell noch Details fehlen, teilt es Splats in kleinere auf oder legt neue an. Dieser Schritt heißt Verdichtung. Bleibt er aus, hat das Modell am Ende zu wenige Splats, und jede Kante bleibt weich.
Ob ein Splat geteilt wird, entscheidet das Training nach einer einfachen Regel. Es schaut, wie stark und in welche Richtung der Splat in jedem Bild verschoben werden müsste, und bildet daraus einen Durchschnitt über alle Bilder, in denen er zu sehen ist. Ist der Durchschnitt groß genug, wird geteilt.
Bei Aufnahmen mit einer 360°-Kamera funktioniert diese Regel schlecht. Eine 360°-Kamera schaut in jedem Moment in alle Richtungen, deshalb sieht ein Stück Wand nicht zwanzig, sondern tausende Bilder. Aus so vielen Blickwinkeln will der Splat gleichzeitig in alle Richtungen, und im Durchschnitt heben sich die Richtungen auf, ungefähr wie bei einem Tauziehen, bei dem an allen Seiten gleich stark gezogen wird. Der Durchschnitt bleibt winzig, und die Grenze zum Teilen wird fast nie erreicht.
In einem Testlauf mit 360°-Aufnahmen ist das Modell so von 540.000 Startpunkten auf 200.000 Splats geschrumpft, statt auf ein bis drei Millionen zu wachsen. Die Lösung ist in der Forschung bekannt und heißt AbsGS: Statt der Richtung wird nur die Stärke gemittelt, und die kann sich nicht aufheben. Einige Trainingsprogramme bieten das als Einstellung an, oft unter dem Namen „absgrad“ oder „absolute gradient“.
Ob die Verdichtung greift, sieht man an einer einfachen Zahl: Am Ende sollte das Modell ein Vielfaches der Startpunkte haben. Bei uns bricht die Berechnung ab, wenn es nicht mindestens das Dreifache erreicht.
Splats an der falschen Stelle
Manchmal wächst das Modell zwar, legt die neuen Splats aber nicht an die Oberflächen, sondern verteilt sie in den leeren Raum. Im fertigen Rundgang schweben dann Flecken in der Luft, sogenannte Floater, und davor sieht alles trüb aus. Solche Splats lassen sich nach dem Training beim Aufräumen entfernen, mit automatischen Filtern und von Hand in einem Editor wie SuperSplat. Wie das geht, steht in Gaussian Splatting selbst machen. Wenn es sehr viele sind, ist das aber ein Hinweis, dass Bilder oder Positionen nicht zueinander passen.
5. Ursachen nach dem Training
Zu kräftiges Aufräumen
Nach dem Training wird das Modell aufgeräumt: Floater und Reste außerhalb der Wohnung werden entfernt, bei 360°-Kameras auch Reste der Person, die die Kamera getragen hat. Das geschieht mit Filtern, die Splats nach Größe, Deckkraft oder Lage aussortieren, und von Hand in einem Editor. Ist dieser Schritt zu grob eingestellt, nimmt er echte Teile mit, zum Beispiel einen Türrahmen, der nah am Laufweg stand. Dann fehlen Kanten, und die Stelle wirkt verwaschen.
Der Viewer zeigt eine gröbere Fassung
Damit ein Rundgang im Browser flüssig läuft, zeigt der Viewer, also das Programm, das den Rundgang auf der Website darstellt, nicht immer alle Splats in voller Detailstufe. Entfernte Bereiche kommen in einer gröberen Fassung mit weniger, größeren Splats, und auf langsamen Leitungen kann es dauern, bis die feine Fassung geladen ist. Wenn das Modell selbst scharf ist und nur der Rundgang weich wirkt, liegt es am Viewer. Mehr dazu in Gaussian Splatting im Browser.
Warum Kennzahlen täuschen
Für die Qualität eines Splats gibt es eine Kennzahl, auf die fast alle schauen. Sie heißt PSNR und vergleicht das berechnete Bild Pixel für Pixel mit dem Foto, höher ist besser. Das Problem: Sie mittelt über das ganze Bild. Ein großer Teil einer Wohnung besteht aus Wänden, Decken und Böden, und eine weiße Wand sieht auch dann fast aus wie im Foto, wenn sie unscharf ist. Die Kanten, an denen man die Unschärfe sieht, gehen im Durchschnitt unter.
Ein ordentlicher PSNR ist deshalb kein Beweis für ein scharfes Bild. Zuverlässiger ist der direkte Vergleich: das berechnete Bild in voller Größe neben das Originalfoto legen, genau an den Stellen mit den meisten Details.
So grenzt man die Ursache ein
Die Prüfung läuft am besten in der Reihenfolge, in der die Daten entstehen:
- Originalbilder bei 100 % ansehen, also in voller Größe, ohne Verkleinerung. Sind Kanten schon dort verwischt, liegt es an der Aufnahme.
- Helligkeit und Farbe vergleichen. Sieht dieselbe Wand in verschiedenen Bildern verschieden aus, war die Belichtung nicht fest.
- Kamerapositionen prüfen. Wie viele Bilder haben eine Position bekommen, und wie groß ist der mittlere Reprojektionsfehler, also der Abstand zwischen berechnetem und tatsächlichem Bildpunkt? COLMAP zeigt beide Werte mit dem Befehl
model_analyzer. - Die Zahl der Splats verfolgen. Wächst das Modell im Training auf ein Vielfaches der Startpunkte, oder bleibt es klein?
- Berechnetes Bild neben das Foto legen, bei 100 % und an detailreichen Stellen.
- Viewer gegen das berechnete Bild vergleichen. Ist nur der Rundgang weich, liegt es an Detailstufen oder Ladezeit.
Bei Horama laufen die Schritte 3 und 4 als automatische Prüfungen. Fällt eine davon durch, wird nicht weitergerechnet, weil alles, was danach kommt, auf einer schlechten Grundlage aufbauen würde.
Häufige Fragen
Warum ist mein Gaussian Splat verschwommen?
Meist hat das Modell zu wenige Splats, oder die Bilder passen nicht genau zueinander. Häufige Gründe sind Bewegungsunschärfe, automatische Belichtung, ungenaue Kamerapositionen, eine nicht kalibrierte Linse und bei 360°-Aufnahmen eine Verdichtung, die kaum greift.
Wie viele Splats braucht eine Wohnung?
Das hängt von Größe und Detailreichtum ab. Ein scharfes Modell einer Wohnung hat in der Regel einige Millionen Splats. Wichtiger als eine feste Zahl ist, dass das Modell im Training deutlich über die Zahl der Startpunkte hinauswächst.
Was ist ein guter Reprojektionsfehler?
Werte um einen Pixel sind gut. Liegt der Mittelwert deutlich über 1,5 Pixeln, passen die Kamerapositionen nicht genau genug, und nahe Kanten werden weich oder doppelt.
Hilft eine höhere Auflösung gegen Unschärfe?
Nur, wenn dafür nicht die Zahl der Blickwinkel sinkt. Viele Bilder in kurzen Abständen bringen einem Gaussian Splat mehr als wenige Bilder in sehr hoher Auflösung.
Was ist AbsGS?
Eine Änderung an der Verdichtung beim Gaussian Splatting. Sie wertet nur die Stärke der Bildfehler aus und nicht ihre Richtung. Dadurch wachsen Modelle auch dann, wenn jede Stelle aus sehr vielen Blickwinkeln gesehen wird, wie bei einer 360°-Kamera.

