Open Source Robotics

Eine kuratierte Sammlung hochwertiger Open-Source-Robotikprojekte, Werkzeuge und Software für die Robotik-Community.

Surfel

  • Auch genannt: surface element
  • Kategorie: Sensing › 3D maps & reconstruction
  • Schlagwörter: mapping, slam, 3d-reconstruction, lidar, 3d-perception

Ein Oberflächenelement: eine kleine orientierte Scheibe mit Position, Normale und Radius, oft mit Farbe, Konfidenz und Zeitstempeln, die zum Aufbau dichter 3D-Karten dient.

Definition

Ein Surfel, kurz für Surface Element (Oberflächenelement), ist eine kleine flache Scheibe, die ein Stück einer Oberfläche annähert. Jedes Surfel speichert mindestens eine 3D-Position, einen Normalenvektor und einen Radius, und Kartierungssysteme fügen meist Felder wie Farbe, einen Konfidenz- oder Stabilitätswert sowie die Zeitpunkte der Erzeugung und der letzten Aktualisierung hinzu. Surfels wurden im Jahr 2000 von Pfister und Kollegen als Rendering-Primitiv in der Computergrafik eingeführt und später für die dichte 3D-Rekonstruktion und SLAM mit Tiefenkameras und LiDAR übernommen.

Eine Surfel-Karte liegt zwischen einer rohen Punktwolke und einem Mesh oder einer volumetrischen Karte. Anders als einfache Punkte tragen Surfels Orientierung und Ausdehnung, sodass sie als geschlossen wirkende Oberfläche gerendert und über Punkt-zu-Ebene-Abstände mit neuen Messungen verglichen werden können. Anders als ein abgeschnittenes vorzeichenbehaftetes Distanzfeld (Truncated Signed Distance Field) auf einem Voxelgitter benötigen sie weder ein festes Volumen noch eine feste Auflösung, und sie lassen sich einzeln verschieben. Diese letzte Eigenschaft ist für SLAM wichtig: Wenn eine Loop Closure die Trajektorie korrigiert, verformen Systeme wie ElasticFusion die Surfel-Karte mit einem Deformationsgraphen, statt ein Volumen neu aufzubauen.

In einer typischen Surfel-SLAM-Pipeline wird die aktuelle Karte aus der geschätzten Sensorpose gerendert, oft auf der GPU, um ein Modellbild aus Positionen und Normalen zu erzeugen. Der neue Frame wird an diesem Rendering ausgerichtet, was eine schnelle projektive Datenassoziation für eine Registrierung nach Art von ICP ergibt. Messungen, die zu einem vorhandenen Surfel passen, aktualisieren es durch gewichtete Mittelung und erhöhen seine Konfidenz; nicht zugeordnete Messungen erzeugen neue Surfels, und selten bestätigte Surfels werden entfernt. SuMa und SuMa++ wenden dieses Schema auf rotierendes LiDAR an und verwenden Entfernungsbilder zum Rendern, und SuMa++ fügt jedem Surfel semantische Labels hinzu, um bewegte Objekte herauszufiltern.

Warum es wichtig ist

Surfels liefern eine dichte, bearbeitbare Oberflächenkarte, die schnelle Registrierung unterstützt und sich nach einer Loop Closure ohne Neuaufbau korrigieren lässt. Sie sind eine verbreitete Wahl in dichtem RGB-D- und LiDAR-SLAM, und ähnliche orientierte Scheiben tauchen in neueren neuronalen und Gauß-basierten Szenenrepräsentationen auf.

Wichtige Anwendungen

  • Dichtes RGB-D-SLAM und 3D-Rekonstruktion in Innenräumen
  • LiDAR-SLAM für Fahrten und Kartierung im Freien
  • Semantische Kartierung mit Klassenlabels pro Surfel
  • Punktbasiertes Rendering gescannter Szenen
  • Kartenverformung nach einer Loop Closure

In der Praxis

Ein Team, das einen Häuserblock mit einem rotierenden LiDAR auf einem Auto kartiert, verwendet ein surfelbasiertes SLAM-System. Für jeden neuen Scan rendert das System die aktuelle Surfel-Karte an der vorhergesagten Pose in ein Entfernungsbild, richtet den Scan mit Punkt-zu-Ebene-ICP daran aus und fusioniert dann zugeordnete Punkte in vorhandene Surfels, während es für nicht zugeordnete Bereiche neue hinzufügt. Die Ingenieure stimmen die Stabilitätsschwelle ab, die entscheidet, wann einem Surfel vertraut wird, sowie die Regeln zum Entfernen von Surfels, die nicht mehr beobachtet werden, da sonst wegfahrende geparkte Autos in der Karte verbleiben würden. Semantische Labels aus einem Segmentierungsnetz werden an jedes Surfel angehängt, damit Punkte auf bewegten Fahrzeugen von der Registrierung ausgeschlossen werden können.

Häufige Missverständnisse

  • Ein Surfel ist nur ein Punkt — es hat außerdem eine Normale und einen Radius, die es zu einer kleinen orientierten Scheibe machen statt zu einer Stichprobe ohne Ausdehnung
  • Surfel-Karten sind Meshes — Surfels sind nicht miteinander verbunden und haben keine explizite Topologie zwischen Nachbarn
  • Surfels brauchen ein festes Voxelgitter — sie existieren im kontinuierlichen Raum, was einer ihrer Vorteile gegenüber volumetrischen Karten ist
  • Jeder beobachtete Punkt wird zu einem dauerhaften Surfel — die Fusion führt wiederholte Beobachtungen zusammen und entfernt nicht bestätigte Surfels

Wer das wissen sollte

  • Ingenieure für SLAM und 3D-Kartierung
  • Entwickler für LiDAR- und RGB-D-Wahrnehmung
  • Ingenieure für Computergrafik und Rendering
  • Kartierungsteams im autonomen Fahren

Verwandte Technologien

  • ElasticFusion
  • SuMa
  • TSDF-Fusion (TSDF Fusion)
  • Punktbasiertes Rendering (Point-Based Rendering)
  • 2D Gaussian Splatting

Verwandte Begriffe

  • Point Cloud
  • SLAM
  • Iterative Closest Point
  • Range Image
  • Signed Distance Field
  • 3D Gaussian Splatting

Verwandte Projekte

  • LingBot-Map: Streaming 3D reconstruction from one camera: pose and depth for every frame, live
  • oomwoo: Open-source DIY robot vacuum: 3D-printed, ROS2 + 2D LiDAR, fully local.
  • Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
  • OpenDroneMap: Open-source photogrammetry toolkit that turns drone images into maps and 3D models
  • FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry from HKU-MARS, published in IEEE T-RO
  • DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required

Diese Website benötigt JavaScript. Bitte aktivieren Sie JavaScript, um unsere Open-Source-Robotikprojekte zu erkunden.