EKLT

Gehrig 2020 · Paper

One-line summary — EKLT brings Lucas-Kanade (KLT) style feature tracking to event cameras: features are initialized on standard frames and then tracked asynchronously between frames using events, via a generative event model in a maximum-likelihood framework, giving high-rate, blur-free tracks that plug into conventional feature-based pipelines.

Problem

KLT tracking is the workhorse front-end of feature-based VO/VIO: it tracks feature patches between consecutive frames by minimizing photometric error under brightness constancy. At high speeds this breaks down — features move many pixels between frames, motion blur destroys patch appearance, and the minimization diverges. Events fire with microsecond latency and no blur, carrying exactly the missing inter-frame motion signal — but the same scene pattern produces different events depending on motion direction, so establishing event correspondences across time is hard. EKLT sidesteps this by using the motion-independent frame as the reference and the motion-dependent events as measurements.

Method & architecture

An ideal event camera triggers an event ek=(xk,yk,tk,pk)e_k = (x_k, y_k, t_k, p_k) when the log-brightness LL at pixel uk\mathbf{u}_k changes by a contrast threshold ±C\pm C:

ΔL(uk,tk)=L(uk,tk)L(uk,tkΔtk)=pkC,\Delta L(\mathbf{u}_k, t_k) = L(\mathbf{u}_k, t_k) - L(\mathbf{u}_k, t_k - \Delta t_k) = p_k C,

with polarity pk{1,+1}p_k \in \{-1,+1\}. Accumulating polarities over an interval τ\tau gives an observed brightness-increment image ΔL(u)=tkτpkCδ(uuk)\Delta L(\mathbf{u}) = \sum_{t_k \in \tau} p_k C\, \delta(\mathbf{u} - \mathbf{u}_k). For small τ\tau, the generative model says increments are caused by gradients moving with optic flow v\mathbf{v}:

ΔL(u)L(u)v(u)τ,\Delta L(\mathbf{u}) \approx -\nabla L(\mathbf{u}) \cdot \mathbf{v}(\mathbf{u})\, \tau,

so motion parallel to an edge produces no events, and motion perpendicular produces them at the highest rate. The predicted increment from the frame L^\hat{L} (given at t=0t=0) under a candidate warp W\mathbf{W} is ΔL^(u;p,v)=L^(W(u;p))vτ\Delta \hat{L}(\mathbf{u}; \mathbf{p}, \mathbf{v}) = -\nabla \hat{L}(\mathbf{W}(\mathbf{u};\mathbf{p})) \cdot \mathbf{v}\, \tau. Assuming Gaussian error, maximum likelihood reduces to least-squares registration; since CC is unknown, EKLT compares unit-norm patches over the patch domain P\mathcal{P}:

minp,vΔL(u)ΔL(u)ΔL^(u;p,v)ΔL^(u;p,v)L2(P)2,\min_{\mathbf{p},\mathbf{v}} \left\| \frac{\Delta L(\mathbf{u})}{\|\Delta L(\mathbf{u})\|} - \frac{\Delta \hat{L}(\mathbf{u};\mathbf{p},\mathbf{v})}{\|\Delta \hat{L}(\mathbf{u};\mathbf{p},\mathbf{v})\|} \right\|^2_{L^2(\mathcal{P})},

which cancels CC and τ\tau. The warp is a rigid-body motion in the image plane, W(u;p)=R(p)u+t(p)\mathbf{W}(\mathbf{u};\mathbf{p}) = \mathrm{R}(\mathbf{p})\mathbf{u} + \mathbf{t}(\mathbf{p}) with (R,t)SE(2)(\mathrm{R}, \mathbf{t}) \in SE(2), optimized with Ceres. The pipeline: detect Harris corners on the frame, extract intensity patches and L^\nabla \hat{L}; then for each incoming event, accumulate it into the patches it touches; once NeN_e events have been collected on a patch, minimize the objective to update p\mathbf{p} and v\mathbf{v}, reset the patch, and repeat. Tracking is therefore asynchronous — updates occur whenever NeN_e events arrive (typically ~10× the frame rate), and each patch is tracked independently against its frame template, with implicit pixel-to-pixel data association (no event-to-feature ICP correspondences). Monitoring the minimum cost detects track loss and triggers re-initialization on a new frame.

Results

Why it matters for SLAM

EKLT is the most practical entry point for event cameras into existing SLAM systems: rather than replacing the whole pipeline, it upgrades only the feature tracker, extending a classical VIO front-end into speed regimes where frame-based KLT loses its tracks. It also crystallized the “events + frames are complementary” principle at the feature level, the same philosophy Ultimate-SLAM applies at the estimator level and EDS applies to direct methods.