Show HN: Gaussian Splat einer Erdbeere
(superspl.at)- Strawberry ist eine von danylyon auf SuperSplat veröffentlichte herunterladbare 3D-Erdbeerszene; die Lizenz ist als CC BY 4.0 angegeben
- Die Szenendaten werden mit 46.530 Einträgen und einer Dateigröße von 22,94 MB angezeigt; der Veröffentlichungszeitpunkt wird mit vor 13 Stunden angegeben
- Die Aufnahme erfolgte aus 90 Perspektiven, wobei pro Perspektive 88 Focus-Stacking-Bilder verwendet wurden
- Die Ausrüstung bestand aus einer Nikon Z8 Vollformatkamera, f/7.1, 1/160 Sekunde, ISO 100, einem Laowa 180mm Makroobjektiv, LED-Licht und Bluescreen-Hintergrund
- Das Training wurde mit slang-splat durchgeführt; COLMAP und ein COLMAP-Datensatz werden zusammen bereitgestellt
Szenenüberblick
- Strawberry ist eine auf SuperSplat veröffentlichte 3D-Erdbeerszene; veröffentlicht wurde sie von danylyon
- Die Szenendaten werden mit 46.530 Einträgen angezeigt, die Dateigröße mit 22,94 MB
- Der Veröffentlichungszeitpunkt wird mit vor 13 Stunden angegeben, und die Szene kann heruntergeladen werden
- Die Lizenz ist als CC BY 4.0 angegeben
Aufnahmebedingungen
- Die Erdbeerszene wurde aus 90 Perspektiven aufgenommen, wobei pro Perspektive 88 Focus-Stacking-Bilder verwendet wurden
- Als Aufnahmeausrüstung und -einstellungen sind Nikon Z8, Vollformat, f/7.1, 1/160 Sekunde, ISO 100 und ein Laowa 180mm Makroobjektiv angegeben
- Die Beleuchtung bestand aus LED-Licht, der Hintergrund aus einem Bluescreen
Training und Daten
- Das Training wurde mit slang-splat durchgeführt
- Als verwendete Software ist COLMAP angegeben
- Ein COLMAP-Datensatz wird ebenfalls bereitgestellt und ist auf Patreon kostenlos verfügbar
Nutzungsbedingungen
- Die Szene kann unter der CC BY-Lizenz heruntergeladen werden
- Es wird ausdrücklich darauf hingewiesen, dass eine Quellenangabe keine Pflicht, sondern eine als Dank empfohlene Geste ist
- Es wird erläutert, dass dieses Werk auch ohne Quellenangabe genutzt werden kann
1 Kommentare
Hacker-News-Kommentare
2011 habe ich PlayCanvas entwickelt, um Videospiele auszuführen, und 2026 führe ich damit Erdbeeren aus
Wow, totaler Zeitfresser. Am Ende bin ich hier gelandet, und es ist wunderschön: https://superspl.at/scene/ff1d0393
Trotzdem war ich ziemlich verblüfft, als ich entdeckt habe, dass man die Treppe hochlaufen kann. Zum Rennen braucht man Shift
An den Szenengrenzen wäre Clipping dringend nötig. Mit Apps wie Scaniverse kann man Bounding Boxes hinzufügen und so weit entfernte Punkte entfernen, die normalerweise schlecht rekonstruiert sind
Wenn man ein aktuelles iPhone mit LiDAR-Scanner hat, ist das sehr zu empfehlen. Man kann sein Haus oder seinen Garten wie ein Puppenhaus rendern, und es ist überraschend nützlich, um Wände oder andere Strukturen zu planen und auszumessen
Eine wirklich tolle Szene mit ziemlich guter Auflösung, in der man sich frei bewegen kann
Ich habe [1] gelesen, weiß aber immer noch nicht genau, worauf ich da eigentlich schaue. Ich vermute, es ist ein 3D-Modell, rekonstruiert aus vielen hochauflösenden Fotos
[1] https://en.wikipedia.org/wiki/Gaussian_splatting
Es gibt kein Mesh und kein Modell. Die sichtbare Oberfläche der Erdbeere kann aus Klecksen bestehen, die physisch weit voneinander entfernt sind, obwohl sie optisch wie eine Oberfläche wirken
Deshalb nennt man so etwas ein Radiance Field. Es modelliert Licht statt Geometrie
In der Praxis kann man Position und Rotation der Kleckse einschränken, damit sie besser zur geometrischen Form der Erdbeere passen
Wichtig ist, dass es keine definierte geometrische Oberfläche gibt, also kein Mesh. Außerdem ist es ziemlich schwierig, gute Splats zu erzeugen, weil man aus vielen verschiedenen Winkeln sehr viele Fotos machen muss, während schlechte Splats sehr leicht entstehen. Aber wenn es gut gemacht ist, ist es beeindruckend
Wunderschön
Was ich an Gaussian Splatting mag, ist die Art, wie es degradiert. Statt abrupt abzubrechen oder bei einem Level-of-Detail-Wechsel Kugeln in Würfel zu verwandeln, wird es allmählich immer „traumartiger“. Die Grundform bleibt erhalten, nur die Details nehmen ab
Zum Beispiel diese Szene: https://superspl.at/scene/e721ea7c
Wenn man sich auf den Baum zubewegt, verschwimmt die Umgebung, als würde sich das Gewebe der Realität auflösen
https://bayardrandel.com/gaussographs
Neuere Arbeiten gibt es auf Instagram
https://www.instagram.com/bayardrandel/
Die zusätzliche „falsche Detailtiefe“, die man beim Zoomen erwarten würde, ist nicht da; stattdessen wirkt es, als würde man durch die Haut in ein imaginiertes Inneres eindringen
Je weniger Kohärenz da ist, desto schwerer und unvorhersehbarer wird auch die Erkundung
Mehr als gewöhnliche 3D-Modelle scheint es der Art zu entsprechen, wie der Geist räumliche Informationen speichert und verarbeitet
Wenn man nur ein verschwommenes Bild sieht und nichts geladen wird oder funktioniert, sollte man in der JavaScript-Konsole nachsehen, ob dort "WebGL not supported" steht
Das hier ist auch interessant: https://github.com/apple/ml-sharp
Ein Apple-Modell, das aus einem einzelnen Bild Gaussian Splats erzeugt. Auf einem M1 Pro dauert das etwa 30 Sekunden
Wenn man sich zu weit bewegt, bricht es zusammen, aber für ein leichtes Hin-und-her-Wackeln oder für die Perspektive des zweiten Auges in VR ist es hervorragend. Es sieht viel besser aus als mein früherer Ansatz aus Tiefenkarte + Vertex-Shader, den ich in https://github.com/combatwombat/tiefling verwende
Allerdings sind die Gewichte von ml-sharp mit 2.6GB etwas zu groß, um es im Browser laufen zu lassen
Inzwischen scheint es auf iDevices und Macs deutlich schneller als 30 Sekunden zu laufen
Ich habe Gaussian Splatting erst vor ein paar Wochen entdeckt, und vielleicht ist das eine lustige, naive oder dumme Frage. Gibt es Fortschritte bei dynamischer Beleuchtung, oder ist das zumindest theoretisch möglich?
Aber alles, was über diffuse Reflexion hinausgeht, macht es schwer, genaue Materialien zu bekommen
KI-basiertes Relighting dürfte aber bald gut funktionieren
Es könnte sich anfühlen, als würde man Echtzeitbeleuchtung aus einer alten Game-Engine auf ziemlich moderne Assets legen. So wie in der Quake-2/3-Ära
Oder vielleicht könnte man aus den Splats ein spärliches Voxel-Volumen erzeugen und so etwas wie einen „Occlusion-Pre-Pass“ machen, bei dem jedes Voxel einen lichtabsorbierenden Voxel-Opacity-Wert bekommt. Das wäre gar nicht so weit weg von moderner vorab berechneter Global Illumination
Nur zur Einordnung: Ich bin kein Rendering-Experte, nur ein Geek, der früher mit OpenGL herumgespielt hat
Einfach wow!
Beim Stöbern auf der Website hat mich diese Szene noch mehr beeindruckt: https://superspl.at/scene/c67edb74
Einige andere verlinkte Beispiele in den Kommentaren konnte ich erkunden und verwenden, daher ist das merkwürdig
Wenn ich Chrome richtig gelesen habe, sind Website und Daten zusammen 171MB groß
Wenn meine Rechnung stimmt, entspricht das ungefähr 40 Sekunden Bandbreite bei der höchsten Netflix-Bitrate
Je nachdem, wie seltsam man ist, fühlt man sich dabei wie Quasimodo oder wie Gott
Dadurch bin ich in ein Rabbit Hole geraten und schließlich bei dieser Firma gelandet, die Gaussian-Splat-Videos macht: https://www.4dv.ai/. Interessant
Es wirkt wie ein wunderschönes kleines Miniaturmodell. Es ist toll, Gaussian Splatting nicht nur bei großen Szenen, sondern auch bei kleinen, detailreichen Objekten zu sehen
Was mich an dieser Erdbeere wahrscheinlich am meisten interessiert, ist der eher langweilige Aspekt der Lizenz. Dort steht sinngemäß: „Man kann sie unter einer CC-BY-Lizenz herunterladen, aber Namensnennung ist nicht verpflichtend, wir würden uns nur darüber freuen.“ Ich bin kein Jurist, aber wenn etwas unter CC-BY lizenziert ist, kann man die BY-Anforderung in der Beschreibung doch eigentlich nicht einfach aufheben
Wenn man die Namensnennung optional machen will, müsste man dann nicht eine freizügigere Lizenz wie CC0 verwenden und nur um Namensnennung bitten?
Bis zu einem gewissen Grad stimmt das. In Ländern wie Frankreich ist das Recht auf Namensnennung grundsätzlich unveräußerlich, sodass der Urheber auch nach einem dauerhaften Verzicht später wieder auf Namensnennung bestehen kann
In den USA kann die Partei, die von einer Vertragsklausel profitiert, diese Klausel in der Regel ignorieren oder darauf verzichten. Ob man das dann noch „CC BY“ nennen sollte, ist diskutabel, weil die Namensnennung dort ja der Kern ist
Trotzdem erscheint es legitim, etwas unter CC BY zu lizenzieren und diese Anforderung unmittelbar danach ausdrücklich zu erlassen