Open Source Robotics

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

Event Camera

  • Auch genannt: dynamic vision sensor, DVS, neuromorphic camera, silicon retina
  • Kategorie: Sensing › Exteroceptive
  • Schlagwörter: computer-vision, sensors, neuromorphic, high-speed-perception, drones

Ein Bildsensor, dessen Pixel Helligkeitsänderungen unabhängig voneinander als zeitgestempelte Ereignisse statt als ganze Bilder melden, was sehr feine Zeitauflösung, hohen Dynamikumfang und keine Bewegungsunschärfe ergibt.

Definition

Eine Ereigniskamera (event camera) nimmt keine Bilder mit fester Bildrate auf. Jedes Pixel arbeitet unabhängig und löst ein Ereignis aus, wenn sich der Logarithmus der Lichtintensität, die es sieht, seit seinem letzten Ereignis um mehr als einen eingestellten Schwellwert geändert hat. Ein Ereignis enthält die Pixelkoordinaten, einen Zeitstempel mit einer Auflösung im Mikrosekundenbereich und eine Polarität, die angibt, ob die Helligkeit gestiegen oder gefallen ist. Die Ausgabe ist ein asynchroner Strom, dessen Rate davon abhängt, wie stark sich die Szene ändert: Eine statische Szene vor einer statischen Kamera erzeugt fast nichts, während schnelle Bewegung eine sehr hohe Ereignisrate erzeugt.

Der erste weit verbreitete Sensor dieser Art war der Dynamic Vision Sensor (DVS) von Lichtsteiner, Posch und Delbruck (2008), inspiriert von der Art, wie die Netzhaut auf Veränderung reagiert. Spätere Bauformen wie DAVIS lesen aus demselben Pixelarray auch konventionelle Intensitätsbilder aus, und Sensoren vom Typ ATIS ergänzen Intensitätsmessungen pro Pixel. Da jedes Pixel auf die logarithmische Intensität relativ zu seiner eigenen jüngsten Vergangenheit reagiert, kommen Ereigniskameras mit Szenen zurecht, die sehr helle und sehr dunkle Bereiche zugleich enthalten, und da es keine gemeinsame Belichtungszeit gibt, verwischt schnelle Bewegung die Ausgabe nicht. Latenz und Leistungsaufnahme sind im Vergleich zu Bildkameras mit hoher Rate ebenfalls gering.

Der Preis ist, dass Standardalgorithmen der Computer Vision nicht direkt anwendbar sind. Methoden verarbeiten Ereignisse entweder einzeln, etwa in Filtern, die Ereignis für Ereignis arbeiten, oder akkumulieren sie über kurze Fenster zu Ereignisbildern, Time Surfaces oder Voxelgittern, die konventionelle oder gelernte Pipelines speisen können. Ereigniskameras sind verrauscht, empfindlich gegenüber dem Flimmern netzbetriebener Lampen, bieten meist eine geringere Auflösung als Bildkameras und reagieren hauptsächlich auf Kanten, die sich relativ zum Sensor bewegen, sodass texturlose Bereiche und Bewegung entlang einer Kante wenig Signal liefern. Sie werden für Hochgeschwindigkeits-Tracking, visuelle Odometrie bei schneller Rotation sowie für Szenen mit wenig Licht oder hohem Kontrast eingesetzt, oft zusammen mit einer Bildkamera und einer IMU.

Warum es wichtig ist

Viele Wahrnehmungsfehler bei schnellen Robotern rühren von Bewegungsunschärfe, über- oder unterbelichteten Bildern und der Latenz von Bildkameras her. Ereigniskameras beseitigen diese Fehlerbilder und ermöglichen es, Merkmale auch während Drehungen und schneller Manöver oder in Szenen mit grellem Licht und Schatten weiter zu verfolgen.

Wichtige Anwendungen

  • Visuelle Odometrie und SLAM bei schneller Bewegung
  • Hinderniserkennung und -vermeidung mit geringer Latenz für Drohnen
  • Hochgeschwindigkeits-Tracking von Objekten und Merkmalen
  • Sehen in Szenen mit hohem Dynamikumfang und wenig Licht
  • Schätzung des optischen Flusses

In der Praxis

Ein Quadrocopter, der einen Propeller verliert, kann regelbar bleiben, indem er sich schnell um seine Hochachse dreht, doch bei dieser Drehrate verwischen die Bilder einer Bildkamera, besonders bei schwachem Licht, und das Merkmals-Tracking bricht zusammen. Arbeiten zu diesem Problem vergleichen eine bildbasierte Pipeline mit einer, die eine Ereigniskamera nutzt: Ereignisse werden über kurze Fenster akkumuliert, Merkmale werden in dieser Darstellung erkannt und verfolgt, und die Spuren werden zusammen mit IMU-Daten an ein Backend für visuell-inertiale Odometrie übergeben. Zur Einrichtung des Sensors gehören die Kalibrierung der intrinsischen Parameter mit einem blinkenden oder bewegten Muster (ein statisches Schachbrett erzeugt keine Ereignisse), die Synchronisation der Zeitstempel mit der IMU und die Abstimmung der Kontrastschwellen und Bias-Einstellungen, um Empfindlichkeit und Rauschen auszubalancieren. Flackernde Innenbeleuchtung erzeugt Störereignisse, die vor dem Tracking herausgefiltert werden müssen.

Häufige Missverständnisse

  • Eine Ereigniskamera ist nur eine sehr schnelle Bildkamera — sie hat keine Bilder; jedes Pixel meldet Änderungen asynchron, daher erzeugt eine statische Szene fast keine Ausgabe
  • Ereigniskameras sehen alles in der Szene — sie reagieren auf Helligkeitsänderungen, meist an bewegten Kanten, daher liefern texturlose Flächen und Bewegung entlang einer Kante wenig Signal
  • Ereignisse sind saubere Daten — die Schwellwerte variieren zwischen Pixeln, Hintergrundrauschen und Lichtflimmern erzeugen Störereignisse, und Filterung gehört zu jeder praktischen Pipeline

Wer das wissen sollte

  • Wahrnehmungsingenieure, die an schnell bewegten Robotern arbeiten
  • Forscher zur Autonomie von Drohnen
  • Computer-Vision-Forscher im Bereich neuromorpher Sensorik
  • Ingenieure für Zustandsschätzung

Verwandte Technologien

  • DAVIS-Sensor (DAVIS Sensor)
  • Time Surfaces
  • Gepulste neuronale Netze (Spiking Neural Networks)
  • Neuromorphes Rechnen (Neuromorphic Computing)
  • Ereignisbasierter optischer Fluss (Event-Based Optical Flow)

Verwandte Begriffe

  • RGB Camera
  • Visual-Inertial Odometry
  • Visual Odometry
  • IMU
  • UAV

Verwandte Projekte

  • ArduPilot: World's most trusted open-source autopilot for drones, planes, rovers, and submarines
  • PX4 Autopilot: Open-source flight control software for drones and other unmanned vehicles
  • OpenDroneMap: Open-source photogrammetry toolkit that turns drone images into maps and 3D models
  • QGroundControl: Cross-platform ground control station for mission planning and drone flight monitoring
  • DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required
  • pySLAM: Hybrid Python/C++ visual SLAM pipeline with classic and deep-learning front-ends

Videos

  • Event Cameras: a New Way of Sensing - Davide Scaramuzza - ICCP 2024 Keynote: UZH Robotics and Perception Group

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