Event Camera
- 又稱: dynamic vision sensor, DVS, neuromorphic camera, silicon retina
- 類別: Sensing › Exteroceptive
- 標籤: computer-vision, sensors, neuromorphic, high-speed-perception, drones
一種視覺感測器,其像素各自把亮度變化回報為帶時間戳記的事件,而不是輸出完整影格,因而具有極精細的時間解析度、高動態範圍,且沒有動態模糊。
定義
事件相機(Event camera)不以固定的影格率擷取影像。每個像素獨立運作,當它所看到的光強度取對數後,自上一次事件以來的變化超過設定閾值時,就會觸發一個事件。一個事件帶有像素座標、微秒等級解析度的時間戳記,以及表示亮度是上升還是下降的極性。輸出是一個非同步的資料流,其速率取決於場景變化的多寡:靜止相機前的靜止場景幾乎不會產生輸出,快速運動則會產生極高的事件速率。
第一種廣為使用的此類感測器,是 Lichtsteiner、Posch 與 Delbruck(2008)的動態視覺感測器(DVS),其靈感來自視網膜對變化作出反應的方式。後來的設計如 DAVIS 也能從同一個像素陣列讀出一般的強度影格,ATIS 類型的感測器則加入逐像素的強度量測。由於每個像素反應的是相對於自身近期歷程的對數強度,事件相機能同時處理極亮與極暗的區域;又因為沒有共用的曝光時間,快速運動不會讓輸出模糊。與高影格率運作的影格相機相比,其延遲與耗電也較低。
代價是標準的電腦視覺演算法無法直接套用。各種方法要不是逐一處理事件,例如逐事件濾波器;就是在短時間視窗內把事件累積成事件影格、時間曲面或體素網格,再送進傳統或以學習為基礎的處理流程。事件相機雜訊較多,對市電供電燈具的閃爍敏感,解析度通常低於影格相機,而且主要對相對感測器移動的邊緣作出反應,因此無紋理區域與沿著邊緣方向的運動幾乎不會產生訊號。它們用於高速追蹤、快速旋轉下的視覺里程計,以及低光源或高對比的場景,通常與一台影格相機和一個 IMU 搭配使用。
為何重要
快速機器人上的許多感知失效,源自影格相機的動態模糊、過曝或曝光不足的影像,以及延遲。事件相機消除了這些失效模式,讓機器人在自旋與快速機動期間,或在明暗交錯的場景中,仍能持續追蹤特徵。
主要應用
- 快速運動中的視覺里程計與 SLAM
- 無人機的低延遲障礙物偵測與避障
- 高速物體與特徵追蹤
- 高動態範圍與低光源場景中的視覺
- 光流估測
實際應用
失去一片螺旋槳的四旋翼,可以靠繞垂直軸快速自旋來保持可控,但在這樣的轉速下,影格相機的影像會模糊,在昏暗光線下更是如此,特徵追蹤也隨之失效。針對這個問題的研究比較了以影格為基礎的處理流程與使用事件相機的流程:事件在短時間視窗內累積,在此表示中偵測並追蹤特徵,再把軌跡連同 IMU 資料送到視覺慣性里程計後端。設定感測器時,需要用閃爍或移動的圖樣校正內部參數(靜止的棋盤格不會產生事件),將時間戳記與 IMU 同步,並調整對比閾值與偏壓設定,在靈敏度與雜訊之間取得平衡。室內燈光閃爍會產生假事件,必須在追蹤前濾除。
常見誤解
- 事件相機只是非常快的影格相機 — 它沒有影格;每個像素以非同步方式回報變化,因此靜止的場景幾乎不會產生輸出
- 事件相機看得到場景中的一切 — 它們反應的是亮度變化,主要發生在移動的邊緣,因此無紋理的表面與沿著邊緣方向的運動幾乎不會產生訊號
- 事件是乾淨的資料 — 各像素的閾值不同,背景雜訊與燈光閃爍會產生假事件,濾波是每個實用處理流程的一部分
誰需要了解
- 從事快速移動機器人的感知工程師
- 無人機自主化研究人員
- 神經型態感測領域的電腦視覺研究人員
- 狀態估測工程師
相關技術
- DAVIS 感測器(DAVIS Sensor)
- 時間曲面(Time Surfaces)
- 脈衝神經網路(Spiking Neural Networks)
- 神經型態運算(Neuromorphic Computing)
- 以事件為基礎的光流(Event-Based Optical Flow)
相關術語
相關專案
- 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
影片
- Event Cameras: a New Way of Sensing - Davide Scaramuzza - ICCP 2024 Keynote: UZH Robotics and Perception Group