EVO
Rebecq 2017 · 论文
一句话总结 — EVO是开创性的基于事件的视觉里程计系统:一个纯几何的并行跟踪与建图流水线,仅依靠事件流即可估计6自由度相机运动并重建半稠密三维地图,在标准CPU上能实时达到每秒数百个位姿的处理速度。
问题
在EVO之前,基于事件的自运动估计仅局限于受限场景——仅旋转运动、带有人工黑白图案的平面场景、已知地图或位姿、附加RGB-D传感器,或依赖亮度图像进行特征检测。唯一涵盖通用场景的先前系统(Kim 2016)需要重建图像亮度并对深度进行正则化,要求使用GPU,且仅进行了定性评估。核心困难在于事件不携带绝对亮度信息,因此经典的特征匹配和光度对齐方法都无法直接应用。EVO瞄准的是最一般的场景——6自由度运动、自然三维场景、仅使用事件——采用一种从不估计亮度的CPU实时几何方法。
方法与架构
采用PTAM风格的跟踪与建图模块交替分离设计,二者互为输入输出:
- 通过图像到模型对齐进行跟踪:一张二值事件图像 (最近触发事件的像素)与模板 进行配准—— 是半稠密三维地图从某参考位姿投影而来,经高斯平滑( 像素)处理后,近似于到投影边缘的距离函数。直接VO中的光度误差被替换为一种几何边缘对齐误差,采用逆合成Lucas-Kanade方法进行最小化:
其中三维刚体扭曲为 , 是像素 处已知的地图深度,位姿用旋量 参数化,。逆合成方法使依赖于 的导数可以预先计算,并在大量事件图像间复用。
- 事件图像构建:每张图像聚合 个事件( 地图点数的70%,约2000个事件,在1-3百万事件/秒的速率下仅跨越0.6-2毫秒);流上的滑动窗口设定位姿的输出速率。跟踪采用随机像素批次上的随机梯度下降法(300-500个像素,最多5个epoch)——由于连续的事件图像相差不到一个像素,因此不需要粗到细的金字塔。
- 通过EMVS进行建图:事件作为射线反投影到一个视差空间图像(DSI)中——这是一个以关键帧为中心的投影体素网格,具有50个在逆深度上均匀分布的深度平面;每个体素统计穿过其中的射线数量。射线密度的局部最大值标记出三维边缘:DSI被压缩为深度+置信度图,再自适应阈值化为半稠密深度图,并经过滤(15×15中值滤波、半径离群点去除)转换为点云。整个过程不涉及亮度信息,也不涉及显式数据关联。
- 关键帧机制与交互:当到上一关键帧的距离除以平均场景深度超过约15%时,就创建新的关键帧;DSI根据最近的2M个事件重新计算并增量式精化,每10万个事件提取一次更新后的点云,而跟踪则在此期间继续基于前一张地图进行。系统初始化假设最初 秒内场景为正对平面。
- 可选的亮度恢复:利用线性化的事件生成模型 (亮度变化达到对比度阈值 )加上泊松重建,EVO的输出可以生成HDR、超分辨率、无模糊的亮度图像——但整条流水线本身并不需要这些图像。
实验结果
- 数据来自DAVIS传感器(240×180像素,约130 dB动态范围,微秒级分辨率);帧仅用于可视化。真值来自Optitrack动作捕捉系统。
- 单关键帧、剧烈运动(高达780°/秒,且序列中途开关了房间灯光):在35米轨迹上平均误差为2°旋转和2厘米平移——相对位置误差为0.057%。
- 多关键帧轨迹:在30米轨迹上平移漂移6厘米、旋转漂移约3°——相对位置误差为0.2%——且没有使用光束法平差或位姿精化。
- 计算性能:在Intel Core i7-4810MQ @ 2.80 GHz上,EVO处理速度约为150万事件/秒,计算超过每秒500个位姿;在中等速度下运行速度为实时的1.25-3倍,在高速运动下最差情况也只比实时慢2倍。
- 在车流繁忙的街道上进行了剧烈运动和移动物体(行人、自行车)的定性室外实验,以及HDR序列——这些都是标准相机VO会失效的条件。
对SLAM的意义
EVO为基于事件的SLAM确立了范式:它证明了经典的跟踪与建图分解方式在过渡到一种截然不同的传感器时依然适用,只要前端围绕事件几何进行重新设计——用边缘对齐取代光度误差,用射线密度投票取代对应关系匹配。几乎所有后续的事件里程计系统都是相对于EVO来定位自身的:ESVO将这一思想扩展到立体视觉(解决了单目尺度不确定性问题),Ultimate-SLAM加入了帧和IMU以提升在各种条件下的鲁棒性,而DEVO这样的学习式系统则将其作为经典基线谱系加以利用。