EKLT

Gehrig 2020 · 论文

一句话总结 —— EKLT把Lucas-Kanade(KLT)风格的特征跟踪引入事件相机:特征在标准帧上初始化,然后在帧之间通过事件进行异步跟踪,依靠一个在最大似然框架下的生成式事件模型实现,得到的是可直接接入传统基于特征流水线的高速率、无模糊轨迹。

问题

KLT跟踪是基于特征的VO/VIO的核心前端:它通过在亮度恒定假设下最小化光度误差,在连续帧之间跟踪特征patch。在高速运动下这会失效——特征在帧间移动多个像素,运动模糊破坏了patch的外观,最小化过程发散。事件以微秒级延迟触发且无模糊,恰好携带了帧间缺失的运动信号——但同一场景模式在不同运动方向下会产生不同的事件,因此在时间上建立事件对应关系十分困难。EKLT绕开了这个问题,把与运动无关的帧作为参照,把依赖运动的事件作为测量值。

方法与架构

一个理想的事件相机在像素 uk\mathbf{u}_k 处的对数亮度 LL 变化达到对比度阈值 ±C\pm C 时,会触发一个事件 ek=(xk,yk,tk,pk)e_k = (x_k, y_k, t_k, p_k):

Δ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,

其中极性 pk{1,+1}p_k \in \{-1,+1\}。在一个区间 τ\tau 内累积极性,得到一张观测到的亮度增量图 ΔL(u)=tkτpkCδ(uuk)\Delta L(\mathbf{u}) = \sum_{t_k \in \tau} p_k C\, \delta(\mathbf{u} - \mathbf{u}_k)。对于较小的 τ\tau,生成式模型认为增量是由沿光流 v\mathbf{v} 移动的梯度引起的:

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

因此平行于边缘的运动不产生事件,而垂直于边缘的运动以最高速率产生事件。基于帧 L^\hat{L}(在 t=0t=0 时给定)在候选变形 W\mathbf{W} 下的预测增量Δ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。假设误差为高斯分布,最大似然估计退化为最小二乘配准;由于 CC 未知,EKLT在patch域 P\mathcal{P} 上比较单位范数的patch:

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})},

这样就抵消了 CCτ\tau。变形是图像平面内的刚体运动,W(u;p)=R(p)u+t(p)\mathbf{W}(\mathbf{u};\mathbf{p}) = \mathrm{R}(\mathbf{p})\mathbf{u} + \mathbf{t}(\mathbf{p}),(R,t)SE(2)(\mathrm{R}, \mathbf{t}) \in SE(2),用Ceres优化求解。流水线为:在帧上检测Harris角点,提取强度patch和 L^\nabla \hat{L};然后对每一个到来的事件,将其累积到它所触及的patch中;一旦某个patch积累了 NeN_e 个事件,就对目标函数进行最小化以更新 p\mathbf{p}v\mathbf{v},重置该patch,并重复该过程。因此跟踪是异步的——每当积累到 NeN_e 个事件就会发生更新(通常约为帧率的10倍),且每个patch都独立地与自己的帧模板进行跟踪,具有隐式的逐像素数据关联(没有事件到特征的ICP对应关系)。监测最小代价可以检测跟踪丢失,并触发在新帧上的重新初始化。

实验结果

对SLAM的意义

EKLT是事件相机接入现有SLAM系统最实用的入口:它不替换整个流水线,而只升级特征跟踪器,把经典的VIO前端扩展到帧间KLT会跟丢的速度范围。它还在特征层面确立了”事件+帧是互补的”这一原则,同样的理念在估计器层面体现为Ultimate-SLAM,在直接法层面体现为EDS。

相关条目