1 Punkte von GN⁺ 2023-12-14 | 1 Kommentare | Auf WhatsApp teilen
  • SMERF ist ein View-Synthesis-Verfahren für die Echtzeit-Erkundung großer 3D-Szenen im Webbrowser und zielt auf Flächen von bis zu 300m² sowie eine volumetrische Auflösung von 3,5mm³ ab
  • Die Szene wird in mehrere unabhängige Submodelle aufgeteilt; je nach Kameraursprung werden nur die benötigten Modelle ausgewählt, was Rechenaufwand und Speicherverbrauch beim Rendering reduziert
  • Zunächst wird offline ein Zip-NeRF-Radiance Field trainiert, anschließend wird es anhand der Unterschiede zwischen RGB-Vorhersagen und Volume-Rendering-Gewichten in SMERF destilliert, um die Qualität zu steigern
  • Bei der Echtzeit-Synthese neuer Ansichten erzielte es Verbesserungen von 0,78dB auf Standard-Benchmarks und 1,78dB bei großen Szenen; Frame-Rendering ist um Größenordnungen schneller als bei aktuellen Radiance-Field-Modellen
  • Unterstützt browserbasierte 6DOF-Navigation, sodass große Szenen auch auf Consumer-Geräten wie normalen Smartphones und Laptops in Echtzeit erkundet werden können

Engpässe bei der Echtzeit-Erkundung großer Szenen

  • Verfahren zur Echtzeit-View-Synthesis haben sich rasant weiterentwickelt und ermöglichen inzwischen fotonahe Szenen-Renderings bei interaktiven Framerates
  • Dennoch bleibt ein deutlicher Zielkonflikt zwischen expliziten Szenenrepräsentationen, die gut zur Rasterisierung passen, und Ray-Marching-basierten Neural Fields bestehen
    • Moderne Neural-Field-Verfahren übertreffen explizite Repräsentationen bei der Qualität, sind für Echtzeit-Anwendungen aber rechnerisch teuer
  • SMERF ist ein View-Synthesis-Ansatz, der bei großen Szenen die höchste Genauigkeit unter Echtzeitverfahren anstrebt
    • Räume bis zu 300m²
    • 3,5mm³ volumetrische Auflösung
    • 6DOF-Navigation im Webbrowser
    • Echtzeit-Rendering auf normalen Smartphones und Laptops

Submodellbasierte Repräsentation und Destillations-Training

  • Große Szenen mit mehreren Räumen werden in mehrere unabhängige Submodelle aufgeteilt, um ausreichende Ausdrucksstärke zu erreichen
    • Jedes Submodell wird einem anderen Bereich der Szene zugewiesen
    • Während des Renderings wird anhand des Kameraursprungs ausgewählt, welche Submodelle verwendet werden
  • Um komplexe ansichtsabhängige Effekte zu handhaben, enthält jedes Submodell zusätzliche Kopien rasterausgerichteter deferred MLP-Parameter
    • Diese Parameter werden bezogen auf den Kameraursprung trilinear interpoliert
  • Jedes Submodell repräsentiert die gesamte Szene, modelliert jedoch nur die ihm zugeordneten Rasterzellen in hoher Auflösung
    • Umgesetzt wird dies durch Kontraktion der lokalen Koordinaten pro Submodell
  • Die Bildtreue wird durch Destillation (distillation) erhöht
    • Zunächst wird Zip-NeRF, ein aktuelles Offline-Radiance-Field, trainiert
    • Die RGB-Farbvorhersagen des Lehrer-Modells werden als Supervisionssignal für SMERF verwendet
    • Die volumetrischen Dichtewerte des vortrainierten Lehrers werden genutzt, um die Differenz der Volume-Rendering-Gewichte von Lehrer und Schüler zu minimieren

Performance-Ergebnisse und veröffentlichte Materialien

  • SMERF übertrifft den bisherigen Stand der Technik bei der Echtzeit-Synthese neuer Ansichten
    • 0,78dB Verbesserung auf Standard-Benchmarks
    • 1,78dB Verbesserung bei großen Szenen
    • Frame-Rendering ist um Größenordnungen schneller als bei aktuellen Radiance-Field-Modellen
  • Die Demo des interaktiven Echtzeit-Viewers umfasst die Szenen Berlin, NYC, Alameda, London, Gardenvase, Bicycle, Kitchen Lego, Stump, Office Bonsai, Full Living Room, Kitchen Counter, Treehill & Flower
  • Als öffentliche Materialien stehen Paper, Video und Code bereit
  • SMERF-Modelle werden aus Zip-NeRF-Checkpoints destilliert, die auf Szenen von Mip-NeRF 360 und Zip-NeRF trainiert wurden
    • Beide Datensätze und Checkpoints sind unter der Lizenz CC-BY 4.0 veröffentlicht
    • Mip-NeRF-360-Checkpoints werden für quantitative und qualitative Ergebnisse verwendet; Zip-NeRF-Checkpoints werden für 50.000 steps trainiert
    • Das Zip-NeRF-Fisheye-Material umfasst Alameda, Berlin, London und NYC, wird für qualitative Ergebnisse verwendet und für 100.000 steps trainiert
    • Das entzerrte Zip-NeRF-Material wird für quantitative Ergebnisse verwendet und für 100.000 steps trainiert

1 Kommentare

 
GN⁺ 2023-12-14
Hacker-News-Kommentare
  • Im Berliner Demo sieht der Badezimmerspiegel an der Wand so aus, als würde er in die Küche nebenan führen
    Der Tiefenschätzungsalgorithmus scheint Parallaxe zu verwenden, und das wirkt wie ein Effekt, der entsteht, wenn der Spiegel mit einem Fenster verwechselt wird
    Auf der Küchenseite entsteht ein verschwommener Klumpen, als würde die Rückseite des Spiegels in die Küche hineinragen, aber durch diese Unschärfe hindurch kann man beide Räume sehen
    Ziemlich unheimlich, als wäre man ein Geist, der durch Wände geht

    • Beim Kühlschrank in der NYC-Szene ändern sich die spiegelnden Lichteffekte je nach Blickwinkel sehr flüssig, und wenn man „in“ den Kühlschrank hineingeht, erzeugt er in Wirklichkeit die gesamte verschwommene grauweißliche 3D-Szene
      Das ahmt den Effekt des an Metall reflektierten Fensterlichts erstaunlich genau nach, und aus dem Kühlschrank heraus kann man den ganzen Raum „nach draußen“ sehen
      Dasselbe gilt für den Ganzkörperspiegel im Schlafzimmer derselben Szene: Hinter dem Spiegel wird ein virtueller Spiegelraum erzeugt, sodass beim Hineinsehen ein Tiefeneindruck entsteht
      Ein sehr cooles und einzigartiges Ergebnis dieser Technik
    • Wenn man in das Bücherregal hineingeht, ist auch das ultimative Matthew-McConaughey-Erlebnis möglich
    • Wenn man im Berliner Wohnzimmer mit noclip durch den Fernseher geht, fühlt es sich angenehm unheimlich an
    • Bei stark reflektierenden Oberflächen hat es genau dieselbe Schwäche wie die Fotogrammetrie
  • Mein Gott, wirklich erstaunlich
    Matterport könnte das aufgreifen und groß machen, oder es könnte ein Startup entstehen, das den Immobilienmarkt aufmischt
    Kaum zu glauben, dass das auf einem Smartphone so flüssig läuft
    Als Feedback fände ich einen Modus natürlicher, in dem man sich mit Kompass und Gyro des Smartphones bewegt
    Während man mit den Fingern steuert, war es etwas seltsam herauszufinden, wie man sich in den xyz-Dimensionen bewegen muss
    Wie andere schon gesagt haben, wäre ein VR-Modus gewaltig

    • Ich weiß nicht, ob das wirklich die Funktion ist, die der Immobilienmarkt will
      Dass man sorgfältig inszenierte und ausgewählte Fotos verwendet, hat den Grund, Menschen dazu zu bringen, die Immobilie tatsächlich besichtigen zu kommen
      Ich glaube kaum, dass man sich in ein Haus verliebt, nur weil man es in Virtual Reality gesehen hat
    • Danke für das Feedback
      Ich denke, die User Experience der Bewegung lässt sich weiter verbessern
      Eine Aufgabe für einen anderen Tag
  • Läuft sogar auf einem zwei Jahre alten S21 FE beeindruckend gut
    Besonders beeindruckend war, dass beim Erkunden des Raums immer mehr Bilder nachgestreamt wurden, und auch die TV-Reflexionen im Berliner Demo waren hervorragend
    Allerdings dauerte es ziemlich lange, alle Bilder zu laden, und die Szene wurde nicht gerendert, bevor nicht alle rund 40 anfänglichen Bilder geladen waren
    Ich frage mich, ob ein partielles Rendering beginnen kann, sobald Bilder eintreffen, oder ob vor dem ersten großen Rendering alles abgewartet werden muss

    • Es ist eigentlich ungenau, die derzeit geladenen Elemente „Bilder“ zu nennen
      MERF, eine frühere Version dieses Ansatzes, speicherte Merkmalsvektoren in PNG-Bildern, aber hier wurden sie durch binäre Arrays ersetzt
      Leider müssen all diese Arrays geladen werden, um das erste Bild rendern zu können
      Wie schon angemerkt, ist die große Payload-Größe von SMERF allerdings eine Schwäche
      Wenn wir einen Weg finden, sie um das Zehnfache zu komprimieren, wäre das Erlebnis komplett anders
  • Wirklich erstaunlich. Ausgehend vom fulllivingroom-Demo habe ich ein paar Fragen
    Ich persönlich bevorzuge einen FPS-Modus

    1. Wie viele Eingabebilder gibt es?
    2. Wie lange dauert es, ein solches Modell zu berechnen?
    3. Wie lange dauert es, inklusive mehrerer Schritte usw., es als Browser-Modell vorzubereiten?
    4. Wurde es auch in VR ausprobiert?
    • Freut mich, dass es dir gefällt
      1. Wenn ich mich richtig erinnere, ungefähr 100–150 Bilder
        Diese Szene ist Teil des mip-NeRF-360-Benchmarks und kann auf der Projektseite heruntergeladen werden: https://jonbarron.info/mipnerf360/
      2. Je nach Szene dauert es etwa 12 bis 48 Stunden
        Für das Training werden 8x V100 oder 16x A100 verwendet
      3. Die Zeit für die Asset-Vorbereitung ist in 2) enthalten
        Ich habe keine genaue Aufschlüsselung, aber grob etwa 50/50
      4. Noch nicht
        Ein motivierter Hacker könnte aber wohl den JavaScript-Code anpassen und es selbst ausprobieren
        Wenn man die Browser-DevTools öffnet, ist der gesamte Code da
    • Nicht exakt dasselbe wie das, wonach du gefragt hast, aber ich habe kürzlich ein VR-Beispiel mit Gaussian Splatting gesehen
      Spannende Zeiten
      https://twitter.com/gracia_vr/status/1731731549886787634
      https://www.gracia.ai
  • „Researchers create open-source platform for Neural Radiance Field development“ (2023)
    https://news.ycombinator.com/item?id=36966076
    Included Methods und Third-party Methods von NeRF Studio:
    https://docs.nerf.studio/#supported-methods
    Neural Radiance Field:
    https://en.wikipedia.org/wiki/Neural_radiance_field

  • Ich verfolge diese Technik über Two Minute Papers und freue mich auf den Tag, an dem ich sie selbst ausprobieren kann
    Mein Großvater ist vor zwei Jahren gestorben, und rückblickend habe ich Fotos gemacht, als hätte ich sie genau für so ein Demo aufgenommen
    Tolle Arbeit

    • Der Traum ist, dass es einfach und natürlich wird, 3D-Erinnerungen festzuhalten, so wie man mit dem Smartphone 2D-Fotos macht
      Irgendwann wird das möglich sein
  • Wirklich beeindruckende Arbeit, und es ist ziemlich erstaunlich, das im mobilen Webbrowser zu sehen.
    Als ich mir die NYC-Szene auf dem Desktop in höchster Qualität angesehen habe, war ich überrascht, dass die Qualität zum Beispiel bei der Theke und den Gegenständen auf den Regalen ziemlich niedrig war.
    Deshalb habe ich das Lego-Modell geöffnet, und dort war es extrem detailreich, sodass es nicht wie eine grundsätzliche Grenze der Methode wirkt.
    Ich frage mich, ob das an der Qualität der Eingabefotos liegt oder ob es einen anderen Grund gibt.

    • Der Einfluss der räumlichen Auflösung ist größer.
      Je größer der Raum wird, desto mehr Voxel werden benötigt, um eine feste Auflösung, zum Beispiel 1 mm^3, beizubehalten.
      Ab einem gewissen Punkt muss man die räumliche Auflösung aufgeben, um größere Szenen darzustellen.
      Die zweite Einschränkung ist das Teacher-Modell, das für die Distillation verwendet wird.
      Zip-NeRF(https://jonbarron.info/zipnerf/) ist gut, aber nicht perfekt.
      Die Obergrenze der Rekonstruktionsqualität von SMERF wird durch Zip-NeRF als Teacher bestimmt.
  • Es scheint einen Markt dafür zu geben, dass Immobilienmakler Fotos hochladen und daraus einen Walkthrough für ein zum Verkauf stehendes Haus erstellen.

  • Ich frage mich, ob es eine Open-Source-Toolchain gibt, um solche navigierbaren 3D-Walkthroughs zu erfassen, zu verarbeiten und zu hosten.
    So etwas wie ein Open-Source-Matterport zum Beispiel.

    • Soweit ich weiß, gibt es das noch nicht.
      Der aktuelle Ablauf ist ungefähr so: mit einer DSLR aufnehmen, mit COLMAP die Kameraparameter schätzen, mit einer Codebase das Teacher-Modell trainieren, mit unserer Codebase SMERF trainieren und das Modell dann in einem Web-Viewer rendern.
      Klingt nach einer Chance.
    • Eine Toolchain für die Erfassung ist nicht unbedingt nötig, man braucht nur die Daten.
      Man kann die Daten jetzt sammeln und sie später verarbeiten, wenn bessere Tools verfügbar sind.
      Leitfäden für Photogrammetrie und NeRF-Aufnahmen lassen sich im Großen und Ganzen direkt auf die dafür nötige Arbeit anwenden.
  • Was man bei solchen Dingen sieht, kommt einer sehr präzisen, einzelnen navigierbaren 3D-Bilddarstellung nahe.
    Was ich bisher noch nicht gesehen habe, sind Merkmale und Objekterkennung, Blocking und Extraktion.
    Wenn effizientere und streamingfähige Codecs nötig werden, hoffe ich, dass damit ganz natürlich auch Strukturen gefragt sind, die sich leichter analysieren lassen.

    • 3D-Verständnis steckt noch in einem sehr frühen Stadium.
      In diesem Bereich gibt es gute Forschung, aber der Weg ist noch weit.
      Bei SMERF geht es um „Novel View Synthesis“, also das Rendern realistischer Bilder aus neuen Blickwinkeln, und nicht um semantisches Verständnis oder Segmentierung.
    • Meinst du so etwas? https://jumpat.github.io/SA3D/
      Ich habe es gefunden, indem ich bei DuckDuckGo nach „nerf sam segment 3d“ gesucht habe.
    • Schau dir die LERF-Arbeit des NerfStudio-Teams von UC Berkeley an.
      SMERF behandelt ein anderes Problem, aber es gibt definitiv Möglichkeiten, semantische Informationen und Erkennung zu integrieren.