Open Source Robotics

Una raccolta curata di progetti, strumenti e software di robotica open source di alta qualità per la comunità della robotica.

Event Camera

  • Detto anche: dynamic vision sensor, DVS, neuromorphic camera, silicon retina
  • Categoria: Sensing › Exteroceptive
  • Tag: computer-vision, sensors, neuromorphic, high-speed-perception, drones

Un sensore di visione i cui pixel segnalano in modo indipendente le variazioni di luminosità come eventi con timestamp invece di fotogrammi completi, offrendo una temporizzazione molto fine, un'elevata gamma dinamica e assenza di mosso.

Definizione

Una telecamera a eventi (event camera) non acquisisce immagini a una frequenza di fotogrammi fissa. Ogni pixel funziona in modo indipendente e genera un evento quando il logaritmo dell'intensità luminosa che vede è cambiato più di una soglia prefissata dal suo ultimo evento. Un evento contiene le coordinate del pixel, un timestamp con risoluzione dell'ordine del microsecondo e una polarità che indica se la luminosità è aumentata o diminuita. L'uscita è un flusso asincrono la cui frequenza dipende da quanto cambia la scena: una scena statica davanti a una telecamera ferma non produce quasi nulla, mentre un moto rapido produce una frequenza di eventi molto elevata.

Il primo sensore di questo tipo a diffondersi ampiamente è stato il sensore di visione dinamica (DVS) di Lichtsteiner, Posch e Delbruck (2008), ispirato al modo in cui la retina risponde al cambiamento. Progetti successivi come DAVIS leggono anche fotogrammi di intensità convenzionali dalla stessa matrice di pixel, e i sensori di tipo ATIS aggiungono misure di intensità per pixel. Poiché ogni pixel risponde all'intensità logaritmica rispetto al proprio passato recente, le telecamere a eventi gestiscono insieme scene con regioni molto luminose e molto scure e, poiché non esiste un tempo di esposizione condiviso, il moto rapido non produce mosso nell'uscita. Anche la latenza e il consumo energetico sono bassi rispetto alle telecamere a fotogrammi che funzionano ad alta frequenza.

Il prezzo è che gli algoritmi standard di visione artificiale non si applicano direttamente. I metodi elaborano gli eventi uno alla volta, per esempio con filtri evento per evento, oppure li accumulano su brevi finestre in frame di eventi, superfici temporali o griglie di voxel che possono alimentare pipeline convenzionali o apprese. Le telecamere a eventi sono rumorose, sensibili allo sfarfallio delle luci alimentate dalla rete elettrica, offrono di solito una risoluzione inferiore rispetto alle telecamere a fotogrammi e rispondono soprattutto ai bordi che si muovono rispetto al sensore, quindi le regioni prive di texture e il moto lungo un bordo danno poco segnale. Si usano per il tracciamento ad alta velocità, l'odometria visiva sotto rotazioni rapide e le scene in condizioni di scarsa luce o ad alto contrasto, spesso insieme a una telecamera a fotogrammi e a un'IMU.

Perché è importante

Molti guasti della percezione sui robot veloci derivano dal mosso, da immagini saturate o sottoesposte e dalla latenza delle telecamere a fotogrammi. Le telecamere a eventi eliminano questi modi di guasto, il che consente di continuare a tracciare le feature durante rotazioni e manovre rapide o in scene che mescolano luce intensa e ombra.

Applicazioni principali

  • Odometria visiva e SLAM durante il moto rapido
  • Rilevamento ed evitamento degli ostacoli a bassa latenza per i droni
  • Tracciamento ad alta velocità di oggetti e feature
  • Visione in scene ad alta gamma dinamica e in condizioni di scarsa luce
  • Stima del flusso ottico

In pratica

Un quadricottero che perde un'elica può restare controllabile ruotando velocemente attorno al proprio asse verticale, ma a quella velocità di rotazione le immagini di una telecamera a fotogrammi risultano mosse, soprattutto con poca luce, e il tracciamento delle feature si interrompe. I lavori su questo problema confrontano una pipeline basata sui fotogrammi con una che usa una telecamera a eventi: gli eventi vengono accumulati in brevi finestre, le feature vengono rilevate e tracciate in quella rappresentazione, e le tracce vengono passate insieme ai dati dell'IMU a un back-end di odometria visivo-inerziale. La messa a punto del sensore comporta la calibrazione dei parametri intrinseci con un pattern lampeggiante o in movimento (una scacchiera statica non produce eventi), la sincronizzazione dei timestamp con l'IMU e la regolazione delle soglie di contrasto e delle impostazioni di bias per bilanciare sensibilità e rumore. Le luci interne che sfarfallano generano eventi spuri che vanno filtrati prima del tracciamento.

Idee sbagliate comuni

  • Una telecamera a eventi è solo una telecamera a fotogrammi molto veloce — non ha fotogrammi; ogni pixel segnala le variazioni in modo asincrono, quindi una scena statica non produce quasi alcuna uscita
  • Le telecamere a eventi vedono tutto nella scena — rispondono alle variazioni di luminosità, soprattutto sui bordi in movimento, quindi le superfici prive di texture e il moto lungo un bordo danno poco segnale
  • Gli eventi sono dati puliti — le soglie variano da pixel a pixel, il rumore di fondo e lo sfarfallio delle luci producono eventi spuri, e il filtraggio fa parte di ogni pipeline pratica

Chi dovrebbe saperlo

  • Ingegneri della percezione che lavorano su robot in moto rapido
  • Ricercatori dell'autonomia dei droni
  • Ricercatori di visione artificiale nel sensing neuromorfico
  • Ingegneri della stima dello stato

Tecnologie correlate

  • Sensore DAVIS (DAVIS Sensor)
  • Superfici temporali (Time Surfaces)
  • Reti neurali spiking (Spiking Neural Networks)
  • Calcolo neuromorfico (Neuromorphic Computing)
  • Flusso ottico basato su eventi (Event-Based Optical Flow)

Termini correlati

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

Progetti correlati

  • 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

Video

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

Questo sito richiede JavaScript. Attiva JavaScript per esplorare i nostri progetti di robotica open source.