Event cameras (DVS)

イベントカメラ、すなわちDynamic Vision Sensor (DVS) は、すべてのピクセルが独立かつ非同期に動作する生体模倣型カメラである。固定レートで完全な輝度フレームを取得する代わりに、各ピクセルはその位置における対数輝度を監視し、変化がコントラスト閾値を超えた瞬間にイベントを発火する。出力は画像の連続ではなく、マイクロ秒単位の時間分解能を持つスパースで連続的なイベントストリームである。

イベント生成モデル

各イベントはタプル

ek=(xk,tk,pk)e_k = (\mathbf{x}_k, t_k, p_k)

であり、xk=(uk,vk)\mathbf{x}_k = (u_k, v_k) はピクセル座標、tkt_k はタイムスタンプ(マイクロ秒分解能)、pk{+1,1}p_k \in \{+1, -1\} は輝度が上昇したか下降したかを示す極性である。発火条件は以下の通りである。

ΔL(x,t)=L(x,t)L(x,tlast)+C    p=+1\Delta L(\mathbf{x}, t) = L(\mathbf{x}, t) - L(\mathbf{x}, t_{\text{last}}) \geq +C \;\Rightarrow\; p = +1 ΔL(x,t)=L(x,t)L(x,tlast)C    p=1\Delta L(\mathbf{x}, t) = L(\mathbf{x}, t) - L(\mathbf{x}, t_{\text{last}}) \leq -C \;\Rightarrow\; p = -1

ここで L=logL = \log 輝度、C0.1C \approx 0.10.50.5 はセンサーのファームウェアで設定されるコントラスト閾値である。比較が対数空間で行われるため、センサーは相対的な輝度変化に応答する——これが巨大なダイナミックレンジをもたらす所以である。

イベントはどこから来るのか——動くエッジ

短い時間間隔では、あるピクセルにおける輝度変化は輝度恒常性の線形化によって良く近似される。

ΔL(x)L(x)v(x)Δt\Delta L(\mathbf{x}) \approx -\nabla L(\mathbf{x}) \cdot \mathbf{v}(\mathbf{x})\, \Delta t

つまり、変化は画像勾配とオプティカルフローの内積に等しい。この式には2つの読み方があり、イベントベースビジョンの多くを駆動している。

この設計の実用的な帰結

フレームカメラ対イベントカメラ

特性フレームカメライベントカメラ (DVS)
出力固定レートの完全な画像スパースな非同期イベントストリーム
時間分解能約10〜100 ms約1 µs
ダイナミックレンジ約60 dB140 dB以上
モーションブラーあり(露光による)なし
絶対輝度ありなし(変化のみ)
データレート一定(解像度×fps)シーンの活動量に応じて変化

ハードウェアの現況

一般的なハードウェアには、iniVationのDAVISファミリーやProphesee Metavisionセンサー(Sony製造のIMX636世代を含む)がある。DAVISの設計はSLAMにとって特に重要である。なぜなら、共有光学系の背後にある一つのチップ上で、DVSと標準的なフレームセンサー(APS)、そしてIMUを共存させており、一つのデバイスから完全に位置合わせされたイベント、フレーム、慣性データを提供するからである。これはまさに、Ultimate-SLAMのような融合システムやEKLTのようなハイブリッドトラッカーの背後にあるハードウェアの前提である。

ハードウェアなしに始めるには、Gallego 2020のサーベイが標準的な読み物であり、Event Camera DatasetとMVSEC/DSECが標準的なベンチマークであり、ESIMやv2eのようなシミュレータは通常のビデオから合成イベントを生成する——これはDEVOのような学習型システムが用いる訓練データの経路である。コミュニティ管理のAwesome-Event-based-Visionリポジトリはこれらすべてを索引している。

SLAMにおける意義

イベントカメラは、フレームベースの視覚SLAMが破綻するまさにその条件——高速な動き(モーションブラー)、高ダイナミックレンジのシーン(飽和)、低照度——に対応する。そのマイクロ秒単位のレイテンシは、30〜60 Hzを大きく超えるレートでの状態推定を可能にし、これはクアッドロータのような機敏なロボットにとって重要である。しかし、まったく異なる出力形式のため、古典的なSLAMフロントエンドを直接適用することはできず、このセンサーを中心に新しいアルゴリズムの一群(EVO、ESVO、EKLT、Ultimate-SLAM、DEVO)を開発する必要があった。

関連ノート