
# FAST-LIEO2：快速且紧密耦合的激光雷达-惯性-事件里程计

吴江 📧、王子瑞 📧、吴静 📧、陈一鸣 📣（IEEE Fellow）、贾振中 📣（IEEE会员）以及周博宇 📣

摘要—在走廊和隧道等几何退化环境中，由于约束不足，激光雷达-惯性里程计常常会出现漂移现象；而在高动态范围光照和严重运动模糊条件下，传统相机提供的视觉约束也不可靠。事件相机具备微秒级的时间分辨率和高动态范围特性，能够在光照条件恶劣和运动速度快的场景下为状态估计提供额外的信息源。在本研究中，我们提出了FAST-LIEO2（以及可选RGB融合的FAST-LIEVO2），这是一种紧密耦合的激光雷达-惯性-事件（-RGB）里程计框架，它通过顺序更新的误差状态迭代卡尔曼滤波器（ESIKEF）来融合激光雷达、事件以及可选的视觉测量数据，从而实现高效且稳定的多模态状态估计。为了缓解高活跃区域中的过度累积问题，同时保留低活跃区域的结构信息，我们设计了活动自适应平滑时间面（AS-TS），该面能够根据事件活跃程度调整时间衰减参数。我们还进一步维护两个事件子图，并设计了从粗到精的分层事件更新策略：先进行帧间几何对齐，再进行帧与地图间的边缘对齐，以此提升先验位姿校正能力并扩大收敛域。在公开基准数据集和自行采集的数据集上的实验表明，FAST-LIEO2在多种结构和光照条件下，其精度和鲁棒性均优于对比的多传感器SLAM基线算法，同时还能实现出色的实时性能。

关键词—SLAM、传感器融合、定位。

## 一、引言

近年来，SLAM技术的进步显著提升了机器人在未知环境中的定位与建图能力。

吴江、吴静、贾振中和周博宇任职于南方科技大学机械与能源工程系，中国深圳，邮编518055（电子邮箱：<mailto:wuj@sustech.edu.cn>）。

在先前未知的环境中，现有单传感器系统往往无法在恶劣条件下提供精确且稳健的位姿估计[^1]。例如，激光雷达在走廊、隧道或单墙场景等退化环境中常常缺乏足够的几何约束，容易出现漂移现象[^2]；而RGB相机在高动态范围光照和严重运动模糊条件下往往无法提供有效的视觉约束[^3]。为了克服单传感器系统的局限性，多传感器融合SLAM受到了越来越多的关注[^4]。通过结合互补的模态，融合系统能够提升可观测性，并缓解单个传感器的暂时性性能下降问题。大多数现有方法以RGB相机作为主要视觉传感器，并在光度恒定假设下执行数据关联和优化[^5]。然而，在复杂光照和快速运动条件下，这一假设往往不成立。

相比之下，事件相机产生的是由亮度变化触发的异步事件流[^6]。凭借微秒级的时间分辨率和高动态范围，它们能够在光照不佳、光线对比强烈以及快速运动的环境下提供可靠的信息，在复杂光照和剧烈运动条件下的状态估计方面展现出巨大潜力[^7]。然而，由于事件数据是异步生成的，其噪声特性和数据关联策略与传统视觉系统有所不同。因此，将事件相机集成到多传感器融合SLAM中的关键挑战在于：开发出计算效率高且便于优化的事件表示方法，同时设计出在不同事件活跃度下都能保持稳定的可靠测量模型和更新策略。

为应对这些挑战，我们提出了FAST-LIEO2（以及支持可选RGB融合的FAST-LIEVO2），这是一种快速且紧耦合的激光雷达-惯性-事件（-RGB）里程计框架，它充分利用了各传感器的互补优势，以提升在复杂环境中的鲁棒性。我们的主要贡献总结如下：

1) 我们提出了一种用于事件测量对齐的活动自适应平滑时间面（AS-TS）方法，该方法利用基于计数的局部活动程度来调整时间衰减参数，从而在边缘稳定性与响应性之间取得平衡。

2) 借助AS-TS提供的稳定边缘表示，我们维护了两个事件子图，并设计了从粗到精的事件更新机制：先通过帧间对齐进行早期位姿校正，再通过帧与地图间的边缘对齐来实现精细化修正。

---

3) 我们将IMU、激光雷达、事件以及可选的RGB测量数据整合到一个紧耦合的多传感器滤波框架中，从而实现不同维度测量数据的统一融合。

4) 我们在公开基准数据集和自行采集的数据集上对所提方法进行了评估，结果证明其在多种场景下均具备高精度和强鲁棒性。

本文的其余部分安排如下：第二节回顾了有关激光雷达-视觉-惯性SLAM和基于事件的SLAM的相关研究；第三节详细介绍了所提出的框架；第四节报告了在公开基准数据集和自行采集数据集上的实验结果；第五节对全文进行总结。

### A. 激光雷达-视觉-惯性SLAM

### II. 相关工作

![Image](images/9a02fee52db7bb5f65ba82f11e75bc3f1e50f8b896e41750a21e6367eaa6935f.jpg)

激光雷达-视觉-惯性SLAM/里程计技术已被广泛研究，旨在提升在复杂环境中的鲁棒性，现有方法主要分为基于优化的方法和基于滤波的方法。基于优化的方法如LVI-SAM [^4]，将激光雷达-惯性和视觉-惯性约束建模为因子图，并通过滑动窗口和全局优化来求解，通常还包含对退化情况的处理。VILENS [^8]则联合优化激光雷达特征（如直线和平面）、视觉特征以及IMU预积分结果，以维持长期一致性。基于滤波的方法以误差状态形式进行高速更新。R2LIVE [^9]利用迭代卡尔曼滤波器融合激光雷达、视觉和IMU数据，还可选择性地通过低速率图优化来精炼关键帧。FAST-LIVO [^10]通过激光雷达-图像关联，将几何残差与稀疏光度残差相结合。R3LIVE [^5]采用两阶段视觉更新策略，先进行帧间跟踪，再进行帧到地图的光度对齐；R3LIVE++ [^11]则通过光度校准和在线曝光时间估计进一步提升了鲁棒性。基于这些思路，FAST-LIVO2 [^12]利用顺序测量更新和共享地图结构提高了效率。尽管这些方法能有效利用激光雷达、视觉和惯性约束之间的互补性，但由于它们依赖RGB图像和光度一致性，因此对光照变化较为敏感，这也促使本研究采用事件相机。

### B. 基于事件的SLAM

基于事件的SLAM依赖于稳健的事件表示和多传感器融合[^7]。现有方法大致可分为直接对齐和基于特征的约束构建两类。直接对齐方法，如ESVO [^13]，能够将事件表示与三维结构对齐，在快速运动和高动态范围场景下表现稳健。不过，在长序列或高分辨率序列中，其建图成本会显著上升，且固定的时间衰减机制可能导致空间上不均匀的边缘表示。借助惯性先验辅助的IMU-aided ESVO [^14]提升了收敛速度，而ESVO2 [^15]则引入了自适应累积（AA）事件表示方式——该方式受自适应全局衰减过程（AGDP）[^16]的启发，能够监测局部事件动态并终止区域性事件累积，从而实现高效的轮廓点采样与立体映射。

<div style="text-align: center;">Fig. 1. System overview of FAST-LIEO2. FAST-LIEO2 is configurable as LIEO2 or LIEVO2 (with optional visual measurement).</div>

相比之下，基于特征的方法，如ES-VIO [^17]和Ultimate SLAM [^18]，会从事件特征中构建约束，通常依赖滑动窗口或因子图优化技术。除了相机-惯性测量单元融合外，FAST-LIEO [^19]还将基于时间同步的事件观测数据纳入基于滤波的激光雷达-惯性测量单元-事件融合流程，但其在帧到地图的对齐过程中对先验位姿误差较为敏感。

受这些观察结果的启发，我们提出了AS-TS方法，用于在空间非均匀事件活动条件下，为紧密耦合的激光雷达–惯性测量单元–事件相机里程计获取稳定的、适应活动特性的事件表示。现有的适应活动特性的事件表示方法在估计和使用事件活动的方式上各不相同。AGDP [^16]利用从事件间时间戳间隔中估计出的全局活动来调整时间衰减和事件权重；而ESVO2中的AA [^15]则将AGDP中基于事件活动的自适应思想扩展到区域事件累积层面——即利用局部事件活动来终止累积过程，并生成用于轮廓点采样的事件计数图。遵循这种适应活动特性的思路，AS-TS在固定的滤波同步融合区间内，根据区域事件计数来估计局部活动，并将其映射为逐单元格的自适应衰减参数，从而形成用于多模态ESIKF残差计算的边缘一致性场。基于AS-TS，我们进一步维护事件子图，并设计了从粗到精的事件更新流程：先进行帧间校正，再进行帧到地图的对齐。

### III. 系统描述

图1展示了FAST-LIEO2框架的架构。在惯性测量单元传播之后，激光雷达、事件以及可选的视觉测量数据会按照激光雷达、事件、视觉更新的顺序，在ESIKF内依次融合。为了支持特定模态的更新，所有关联子图都是根据特定模态的标准从全局激光雷达地图中选取的。由于激光雷达、事件和视觉测量依赖于不同的测量模型、数据关联准则以及地图维护策略，因此针对各自的测量模型会分别维护独立的子图。激光雷达测量采用密集平面子图，并利用点到平面残差来更新状态；事件测量则利用AS-TS来表示事件边缘，同时维护全局和局部的事件子图以实现配准，并执行从粗到精的更新流程——先进行帧间几何

---

配准，再进行帧到地图的边缘配准。可选的视觉测量会维护稀疏子图，并通过稀疏直接patch对齐来优化状态。

在我们的系统中，系统状态定义为：

 $$ \mathbf{x}\triangleq\begin{bmatrix}G\mathbf{R}_{I}^{T}&G\mathbf{p}_{I}^{T}&G\mathbf{v}_{I}^{T}&\mathbf{b}_{g}^{T}&\mathbf{b}_{a}^{T}&G\mathbf{g}^{T}\end{bmatrix}^{T} $$

该状态包含了全局坐标系下的惯性测量单元方向$^G\mathbf{R}_I^T$、位置$^G\mathbf{p}_I^T$和速度$^G\mathbf{v}_I^T$，以及陀螺仪$\mathbf{b}_g^T$和加速度计偏差$\mathbf{b}_a^T$和重力矢量$^G\mathbf{g}^T$。

为了在这个非欧几里得状态空间上施加扰动并计算差异，我们采用了遵循$\boxplus/\boxminus$定义的[^20]运算符。对于$\mathcal{M} = SO(3) \times \mathbb{R}^n$，本文所使用的运算符定义如下：

 $$ (\mathbf{R},\mathbf{a})\boxplus(\mathbf{r},\mathbf{b})\triangleq(\mathbf{R}\operatorname{E x p}(\mathbf{r}),\mathbf{a}+\mathbf{b}) $$

 $$ (\mathbf{R}_{1},\mathbf{a})\boxminus(\mathbf{R}_{2},\mathbf{b})\triangleq\left(\mathrm{Log}(\mathbf{R}_{2}^{\top}\mathbf{R}_{1}),\mathbf{a}-\mathbf{b}\right) $$

其中$\mathbf{r} \in \mathbb{R}^3$和$\mathbf{a}, \mathbf{b} \in \mathbb{R}^n$。$\text{Exp}(\cdot)$和$\text{Log}(\cdot)$分别表示$\mathfrak{so}(3)$与$\text{SO}(3)$之间的指数和对数映射。

### A. 顺序更新的误差状态迭代卡尔曼滤波器

我们假设激光雷达、惯性测量单元、事件相机和RGB相机在时间上同步，且外部参数已离线标定。我们首先执行惯性测量单元前向传播，以得到状态先验$p(\mathbf{x})$：

 $$ \mathbf{x}\boxminus\hat{\mathbf{x}}\sim\mathcal{N}\big(0,\hat{\mathbf{P}}\big) $$

其中$\tilde{P}$为传播后的协方差。各模态的测量模型可表示为：

 $$ \begin{aligned}\begin{bmatrix}\mathbf{y}_{l}\\\mathbf{y}_{eg}\\\mathbf{y}_{ee}\\\mathbf{y}_{c}\end{bmatrix}&=\begin{bmatrix}\mathbf{h}_{l}(\mathbf{x},\boldsymbol{\epsilon}_{l})\\\mathbf{h}_{eg}(\mathbf{x},\boldsymbol{\epsilon}_{eg})\\\mathbf{h}_{ee}(\mathbf{x},\boldsymbol{\epsilon}_{ee})\\\mathbf{h}_{c}(\mathbf{x},\boldsymbol{\epsilon}_{c})\end{bmatrix}\end{aligned} $$

其中，$\mathbf{y}_l$、$\mathbf{y}_{eg}$、$\mathbf{y}_{ee}$ 和 $\mathbf{y}_c$ 分别表示激光雷达数据、帧间事件、帧到地图的事件以及可选的RGB测量值，而 $\epsilon_l$、$\epsilon_{eg}$、$\epsilon_{ee}$ 和 $\epsilon_c$ 则是它们对应的测量噪声。由于这些模态提供的测量值在条件上相互独立且维度不同，我们采用顺序更新的ESIKF来避免维度不匹配问题，同时为模块设计提供更大的灵活性。

具体来说，我们通过四次顺序贝叶斯更新来获得对x的后验分布。从IMU传播的先验 $p(\mathbf{x})$ 开始，我们依次融入激光雷达测量值 $\mathbf{y}_l$、帧间几何测量值 $\mathbf{y}_{eg}$、帧到地图边缘的测量值 $\mathbf{y}_{ee}$ 以及可选的RGB测量值 $\mathbf{y}_c$，最终得到 $p(\mathbf{x} \mid \mathbf{y}_l, \mathbf{y}_{eg}, \mathbf{y}_{ee}, \mathbf{y}_c)$：

 $$ \begin{aligned}p(\mathbf{x}\mid\mathbf{y}_{l},\mathbf{y}_{eg},\mathbf{y}_{ee},\mathbf{y}_{c})&\propto p(\mathbf{y}_{c}\mid\mathbf{x})p(\mathbf{x}\mid\mathbf{y}_{l},\mathbf{y}_{eg},\mathbf{y}_{ee})\\ \propto p(\mathbf{y}_{c}\mid\mathbf{x})p(\mathbf{y}_{ee}\mid\mathbf{x})&p(\mathbf{y}_{eg}\mid\mathbf{x})p(\mathbf{y}_{l}\mid\mathbf{x})p(\mathbf{x})\end{aligned} $$

按照 [^12] 中所述的顺序更新ESIKF方法，我们将第 $\kappa$ 次迭代估计记为 $\hat{\mathbf{x}}^{\kappa}$，其对应的协方差为 $\hat{\mathbf{x}}^{0} = \hat{\mathbf{x}}$。我们以 $\hat{\mathbf{x}}^{\kappa}$ 为中心，利用一阶泰勒展开对式(5)中的非线性测量函数进行线性化，得到如下形式（以激光雷达为例：

事件或RGB测量值同样适用此形式：

 $$ \mathbf{y}\mid\mathbf{x}\simeq\underbrace{\mathbf{h}(\hat{\mathbf{x}}^{\kappa},\mathbf{0})}_{\mathbf{r}^{\kappa}}+\mathbf{H}^{\kappa}\delta\mathbf{x}^{\kappa}+\mathbf{L}^{\kappa}\mathbf{v} $$

其中，$\delta \mathbf{x}^{\kappa} = \mathbf{x} \boxminus \hat{\mathbf{x}}^{\kappa}$、$\mathbf{r}^{\kappa}$ 是观测值与预测测量值之间的残差，$\mathbf{L}^{\kappa} \mathbf{v} \sim \mathcal{N}(\mathbf{0}, \mathbf{R})$ 为测量噪声。$\mathbf{H}^{\kappa}$ 和 $\mathbf{L}^{\kappa}$ 分别是相对于 $\delta \mathbf{x}^{\kappa}$ 和 $\mathbf{v}$ 的雅可比矩阵。

将先验 $p(\mathbf{x})$ 与上述似然函数结合，并应用最大后验估计，即可得到标准的误差状态迭代卡尔曼滤波更新公式：

 $$ \mathbf{K}=\left((\mathbf{H}^{\kappa})^{\mathsf{T}}\mathbf{R}^{-1}\mathbf{H}^{\kappa}+\hat{\mathbf{P}}^{-1}\right)^{-1}(\mathbf{H}^{\kappa})^{\mathsf{T}}\mathbf{R}^{-1} $$

 $$ \hat{\mathbf{x}}^{\kappa+1}=\hat{\mathbf{x}}^{\kappa}\boxplus\left(-\mathbf{K}\mathbf{r}^{\kappa}-(\mathbf{I}-\mathbf{K}\mathbf{H}^{\kappa})(\hat{\mathbf{x}}^{\kappa}\boxminus\hat{\mathbf{x}})\right) $$

收敛之后，$\hat{\mathbf{x}}^{\kappa+1}$ 及其协方差便给出了 $p(\mathbf{x} | \mathbf{y})$ 的后验均值和协方差。

### B. 激光雷达测量

为了补偿激光雷达扫描过程中的运动失真，我们采用反向传播方法将每个点校正到扫描结束时刻 [^21]。随后，无失真的激光雷达点 $^L p_i^m$ 会借助第k次激光雷达迭代更新时的状态估计值 $\hat{\mathbf{x}}^{\kappa}$ 被转换到全局坐标系下：

 $$ {^{G}}\hat{\mathbf{p}}_{i}^{k}={^{G}}\hat{\mathbf{T}}_{I}^{k}{^{I}}\mathbf{T}_{L}{^{L}}\mathbf{p}_{i}^{m} $$

在激光雷达测量建模中，我们维护一个密集体素地图，每个平面体素存储有平面中心 $\mathbf{q}_i$、法线 $\mathbf{n}_i$ 以及它们的协方差 $\Sigma_{\mathbf{n},\mathbf{q}}$。对于全局坐标系下的每个点，我们会在密集体素地图中查找其对应的根体素或子体素。若找不到对应的体素，或者检索到的体素不表示平面，则该点会被丢弃。此时，针对 $\mathbf{h}_l(\mathbf{x}, \epsilon_l)$ 的测量模型 $L\mathbf{p}_i^m$ 便由点到平面的一致性来定义：

 $$ 0=\left(\mathbf{n}_{i}\boxminus\delta\mathbf{n}_{i}\right)^{T}\left(^{G}\mathbf{T}_{I}{}^{I}\mathbf{T}_{L}\left({}^{L}\mathbf{p}_{i}^{m}-\delta{}^{L}\mathbf{p}_{i}^{m}\right)-\left(\mathbf{q}_{i}-\delta\mathbf{q}_{i}\right)\right) $$

其中，测量不确定性 $\epsilon_l$ 来源于激光雷达点的测量噪声 $\delta^L \mathbf{p}_i^m$，以及平面参数估计的不确定性，包括平面法线噪声 $\delta \mathbf{n}_i$ 和平面中心噪声 $\delta \mathbf{q}_i$。

### C. 事件测量

1) 事件表示：大多数事件相机SLAM系统采用时间面（TS）[^22]，其中每个像素存储一个具有固定时间衰减参数的指数衰减值。然而，使用恒定的时间衰减参数往往会在真实场景中导致空间不平衡：事件率高的区域容易产生过厚的边缘和冗余积累，而活动度低的区域则可能出现边缘断裂和响应不足的问题。为解决这一问题，我们构建了自适应活动度的平滑时间面（AS-TS）：它根据当前滤波同步融合区间内的事件计数来估计局部活动度，并将该活动度映射为逐单元自适应的衰减参数。随后将得到的AS-TS用作跨模态ESIKF测量更新的边缘一致性场。

---

具体而言，图像平面被划分为大小为$s \times s$的正方形单元，由j索引。在第k次事件更新时，计数区间$\Delta t$内单元j中的事件数记为$N_{k}^{j}$，相应的局部事件率为$r_{k}^{j} = N_{k}^{j}/\Delta t$。我们通过指数移动平均（EMA）来平滑活动度估计值：

 $$ \lambda_{k}^{j}=(1-\alpha)\lambda_{k-1}^{j}+\alpha r_{k}^{j} $$

其中k表示事件更新的索引，$\alpha$为EMA系数。基于$\lambda_{k}^{j}$，我们为每个单元定义了一个自适应的时间衰减参数$\tau_{k}^{j}$：该参数与活动度成反比，且被限定在指定范围内：

 $$ \tau_{k}^{j}=clip\left(\frac{\gamma}{\lambda_{k}^{j}+\varepsilon},\tau_{\min},\tau_{\max}\right) $$

其中$\tau_{\min}$和$\tau_{\max}$分别为衰减参数的下限和上限。标量$\gamma$用于控制从局部事件活动度$\lambda_{k}^{j}$到时间衰减参数$\tau_{k}^{j}$的映射的整体灵敏度。常数$\varepsilon$是一个小的正稳定项（单位与$\lambda_{k}^{j}$相同），用于避免当$\lambda_{k}^{j}$趋近于零时出现数值问题。本文中默认的AS-TS参数配置为$s = 16$像素、$\alpha = 0.1$、$\gamma = 200$、$\varepsilon = 1$、$\tau_{\min} = 20$毫秒以及$\tau_{\max} = 50$毫秒。这些默认AS-TS参数是根据各参数的功能作用和初步经验测试选定的稳健工作点，并非针对特定实验场景调优所得；除参数敏感性分析外，所有实验均使用相同的参数。

在参考时间$t_k$，设$t_{\text{last}}(\mathbf{u})$表示像素$\mathbf{u}$处最近一次事件的时间戳。AS-TS的定义如下：

 $$ \mathcal{S}_{k}(\mathbf{u},t_{k})=\exp\left(-\frac{t_{k}-t_{\mathrm{l a s t}}(\mathbf{u})}{\tau_{k}^{j}}\right) $$

为了后续的图像处理，我们构建了无极性的负AS-TS，并将其像素值重新映射到[^0] [^255]。无极性负AS-TS的定义为：

 $$ \mathcal{S}_{k}^{n}(\mathbf{u},t_{k})\triangleq255.0\left(1-\mathcal{S}_{k}(\mathbf{u},t_{k})\right) $$

最后，对$S_k^n$进行高斯平滑处理以提升迭代状态更新的收敛性，AS-TS生成流程总结在算法1中。

2) 事件子图维护：我们维护一个全局半稠密事件子图和一个用于事件对齐的局部事件子图，两者均为从全局激光雷达图中选取的事件相关子集。我们并未将事件关联状态嵌入到稠密激光雷达图中，而是单独维护事件子图，从而将事件特定的地图管理与激光雷达点云地图解耦。事件子图仅保留与近期激活的AS-TS像素相关的激光雷达点，排除了对事件对齐无意义的几何点。在时刻$t_k$进行每次状态更新后，最新的激光雷达点会被投影到负AS-TS图像$S_k^n$上，而位于近期激活像素上的点会被插入到全局事件子图中，每个像素仅保留最近的点。

每次事件更新时，全局事件子图中的点会利用当前状态估计被投影到当前的负AS-TS图像上，随后在事件相机视野内的点会通过最新的激光雷达扫描结果进一步验证。仅有符合条件的点

```pseudo
// Algorithm 1: AS-TS Generation.

Input: Event stream in interval  $\Delta t$, previous activity  $\lambda_{k-1}^j$.
Output: Negative AS-TS map  $\mathcal{S}_k^n$.
```

将图像平面划分为大小为$s \times s$的单元格j；
对每个单元格j执行以下操作

统计$N_k^j$范围内的事件数$\Delta t$，并计算局部速率$r_k^j = N_k^j / \Delta t$；
更新平滑后的活动度：$\lambda_k^j = (1 - \alpha) \lambda_{k-1}^j + \alpha r_k^j$；
计算自适应衰减量：
$\tau_k^j = \text{clip} \left( \frac{\gamma}{\lambda_k^j + \varepsilon}, \tau_{\text{min}}, \tau_{\text{max}} \right)$；
对每个像素$\mathbf{u} \in \text{cell } j$执行以下操作

 $\left[ \mathcal{S}_k(\mathbf{u}, t_k) = \exp \left( -\frac{t_k - t_{\text{last}}(\mathbf{u})}{\tau_k^j} \right) \right]$;
 $\mathcal{S}_k^n(\mathbf{u}, t_k) \triangleq 255.0 \cdot (1 - \mathcal{S}_k(\mathbf{u}, t_k))$;

对$\mathcal{S}_k^n$应用高斯平滑处理；
返回$\mathcal{S}_k^n$

具有有效且一致的激光雷达深度的点会被保留下来以构成局部事件子图。为了减轻全局事件子图中的误差累积，我们会在每次更新后利用当前的局部事件子图进行基于一致性的剪枝操作。局部事件子图中的点会随着更新的位姿被重新投影到负AS-TS图像上。由于低像素值代表最新的边缘位置，落在高像素值区域的点会被视为噪声或动态异常点，其在全局事件子图中对应的点也会被移除。

3) 帧间几何测量模型：FAST-LIEO [^19]通过直接的帧到地图对齐方式来更新事件信息。因此，更新过程严重依赖于位姿先验。当初始误差较大时，投影得到的地图边缘可能与正确的事件边缘相差甚远，进而导致局部线性化失效，限制了有效的收敛范围。为了在保持实时性能的同时降低对较大初始误差的敏感性，我们设计了一种粗到精的两阶段事件更新机制，该机制会在每次事件更新时执行。第一阶段利用连续AS-TS帧间的帧到帧几何约束来提供粗略校正并建立可靠的对应关系；第二阶段则在事件子图上执行帧到地图的边缘对齐以优化估计结果。

假设在时刻$t_{k-1}$，我们有一组成功跟踪的地图点$\mathcal{P} = \{G\mathbf{p}_i^e, G\mathbf{p}_2^e, \ldots, G\mathbf{p}_i^e\}$。我们将它们投影到之前的负AS-TS图像上，得到对应的像素坐标$\mathbf{u}_{1_{k-1}}$、$\mathbf{u}_{2_{k-1}}$、$\ldots$、$\mathbf{u}_{i_{k-1}}$。接着，在两张连续的负AS-TS图像$\mathcal{S}_{k-1}^n$和$\mathcal{S}_k^n$上，利用Lucas-Kanade光流法跟踪这些像素，从而估算它们在当前帧中的位置，记为$\mathbf{u}_1^f$、$\mathbf{u}_2^f$、$\ldots$、$\mathbf{u}_{i_k}^f$。基于这些对应关系并考虑测量不确定性，我们利用跟踪点的几何投影误差构建帧到帧几何测量模型$\mathbf{h}_{eg}(\mathbf{x}, \epsilon_{eg})$：

 $$ 0=\left(\mathbf{u}_{i_{k}}^{f}-\delta\mathbf{u}_{i_{k}}^{f}\right)-\left(\boldsymbol{\pi}_{e}\left({}^{E}\mathbf{T}_{I}{}^{G}\mathbf{T}_{I_{k}}^{-1}{}^{G}\mathbf{p}_{i}^{e}\right)-\delta\mathbf{u}_{i_{k}}\right) $$

其中，$^G\mathbf{T}_{I_k}$ 表示从 IMU 坐标系 $I_k$ 到全局坐标系 G 在时刻 $t_k$ 的坐标变换（及其逆变换）。

---

该变换可将一个点在 G 坐标系中转换到 $I_k)$，而 $^E\mathbf{T}_I$ 则是固定的 IMU-事件相机外参。投影算子 $\pi_e(\cdot)$ 会将以事件相机坐标系 E 表示的三维点投影到 AS-TS 图像平面上。测量噪声 $\epsilon_{eg}$ 源于光流跟踪噪声 $\delta\mathbf{u}_{i_k}^f$ 以及相机模型的投影不确定性 $\delta\mathbf{u}_{i_k}$。

4) 帧到地图边缘测量模型：在完成帧间更新后，每次事件更新都会利用局部事件子图进行帧到地图的边缘对齐。在构建帧到地图的事件测量模型时，我们避免了显式的特征提取与匹配过程，而是将 AS-TS 图像视为可微的边缘一致性场。由于新触发的事件边缘在图像中表现为稳定的低值带，因此事件子图中保存的 3D 边缘点 $^G p_i^e$ 在当前位姿估计下投影到图像平面后应与这些带状区域对齐。对于每个有效的地图点 $^G p_i^e$，帧到地图边缘测量值 $\mathbf{h}_{ee}(\mathbf{x}, \epsilon_{ee})$ 定义如下，其中的 $\epsilon_{ee}$ 源自 AS-TS 图像的不确定性 $\delta S_k^n$：

   $$ \begin{array}{r}{0=\mathcal{S}_{k}^{n}\big(\boldsymbol{\pi}_{e}\big({\boldsymbol\pi}_{I}^{e}\mathbf{T}_{I}^{}\cdot{}^{G}\mathbf{T}_{I_{k}}^{-1}\cdot{}^{G}\mathbf{p}_{i}^{e}\big)\mathrm{,~}t_{k}\big)-\delta\mathcal{S}_{k}^{n}}\end{array} $$

### D. 视觉测量

视觉测量采用 FAST-LIVO 中的稀疏直接光度对齐方法 [^10]。通过将图像划分为网格并选取具有较高图像梯度的代表性激光雷达投影点来维护稀疏视觉子图，每个点都与图像金字塔中的参考块相关联。对于每个可见的地图点，会选取最近的视点块 $\mathbf{Q}_n$，而 RGB 测量模型 $\mathbf{h}_c(\mathbf{x}, \boldsymbol{\epsilon}_c)$ 则会最小化参考块与当前图像之间的光度残差：

 $$\mathbf{0}=\left(I_{k}\left(\boldsymbol{\pi}_{c}\binom{I}{\mathbf{T}_{C}^{-1}{}^{G}}\mathbf{T}_{I_{k}}^{-1}{}^{G}\mathbf{p}_{i}^{v}\right)\right)-\delta I_{k}-\mathbf{A}_{n}\left(\mathbf{Q}_{n}-\delta\mathbf{Q}_{n}\right)$$

其中，$^G\mathbf{p}_i^v$、$^I\mathbf{T}_C$、$\pi_c(\cdot)$、$I_k(\cdot)$ 和 $\mathbf{A}_n$ 分别表示视觉子图点、相机-IMU 外参、相机投影模型、当前图像金字塔以及从 $\mathbf{Q}_n$ 到图像金字塔的仿射变换。噪声 $\epsilon_c$ 来源于当前图像的不确定性 $\delta I_k$ 以及块的不确定性 $\delta \mathbf{Q}_n$。

### IV. 实验与结果

我们在公开基准测试集及自行采集的数据集上，将 FAST-LIEO2 与最先进的多传感器 SLAM 系统进行了对比评估。我们还利用自行采集的数据集来评估其在复杂场景下的性能。所有实验均在配备 AMD Ryzen 7 9700X CPU 和 32 GB RAM 的 Ubuntu 20.04 台式机上开展。

### A. 基准测试实验

1) 实验设置：我们在ECMD [^23]和VECtor [^24]数据集上评估所提出的系统。ECMD实验使用Tunnel_e_a/b/c、Urban_day_e_b和Urban_night_e_a场景，配备左侧DVXplorer事件相机（640 × 480分辨率）、左侧RGB相机（1920 × 1200分辨率）、Velodyne HDL-32E激光雷达以及Xsens-MTi-30惯性测量单元；VECtor实验则使用Units_dolly1、School_dolly1和Corridors_dolly1场景，配备左侧Prophesee Gen3 CD事件相机、左侧FLIR Grasshopper3相机、Ouster OS0-128激光雷达以及XSens MTi-30 AHRS惯性测量单元。我们将所提系统与FAST-LIEO [^19]、FAST-LIVO2 [^12]、FAST-LIO2 [^21]、R3LIVE [^5]、ESVIO [^17]、ESVO2 [^15]以及Ultimate SLAM [^18]进行对比，同时开展基于TS的消融实验。之所以选择FAST-LIEO而非FAST-LIEVO作为直接基线，是因为二者采用相同的激光雷达-惯性测量单元-事件数据配置，便于对所提出的事件相关改进进行可控评估。由于FAST-LIEVO和FAST-LIEVO2采用了类似的可选稀疏直接视觉更新机制，因此通过FAST-LIEO2与FAST-LIEVO2的对比来分析视觉融合的影响，不再将FAST-LIEVO列为额外基线。所有方法均使用EVO [^25]工具，对照各数据集提供的参考轨迹进行评估，表I中报告了ATE（均方根误差）和ARE（均方根误差）数值。FAST-LIEO2与FAST-LIEVO2在大多数序列上均取得了最佳的ATE结果，且ARE表现也具有竞争力，同时在ECMD和VECtor数据集上均能保持稳定运行。

对于ECMD数据集而言，尽管已有关于PTP/GNSS同步及相机-惯性测量单元时间偏移校准的报告，但部分已发布的视频流中仍存在残余的时间不一致性和非均匀的视觉采样问题，这些问题可能会破坏基于滤波的多传感器融合过程。因此，我们采用了固定的离线时间偏移补偿作为经验性修正措施，该补偿参数首先依据已发布的时间戳关系确定，随后再根据跨模态一致性和滤波器稳定性进行优化。Tunnel_e_a/b/c场景下RGB相机与惯性测量单元的偏移量分别为0.14秒、0.13秒和0.12秒，而Urban_day_e_b和Urban_night_e_a场景下该偏移量为0秒。所有ECMD序列中DVXplorer（左侧）相机与惯性测量单元的偏移量被设定为1.5秒，这一数值仅作为经验性的流对齐偏移量，并非实际的事件相机延迟或官方硬件校准结果。由于Urban_day_e_b和Urban_night_e_a场景中RGB采样的不规律性更明显，且时间戳残余不一致性问题更严重，导致FAST-LIVO2在LIVO模式下无法稳定运行，因此在这两个序列上以LIO模式对其进行评估。对于VECtor数据集，由于提供了可靠的同步配置，所有实验均遵循数据集发布的默认设置。

2) 评估结果：ECMD序列的初始速度高达约20米/秒，因此系统的初始化和早期估计较为困难。如图2所示，FAST-LIEO2通过采用AS-TS机制和由粗到细的事件更新策略，提供了稳定的边缘约束和早期位姿校正，从而相比FAST-LIEO取得了更好的性能。FAST-LIO2和FAST-LIVO2的短期漂移较大，而R3LIVE、ESVIO、ESVO2以及Ultimate SLAM在初始化不精确时极易出现运行失败的情况。在VECtor数据集上，FAST-LIEO2在所有三个室内序列中均能保持稳定运行，而ESVIO的漂移程度大于基于激光雷达的基线方法，ESVO2的漂移现象十分严重，Ultimate SLAM则全程无法正常运行，主要原因是在低纹理或弱边缘区域中，事件与视觉数据的关联或直接事件对齐效果较差。FAST-LIEO2与FAST-LIEVO2的对比进一步表明，视觉测量在特定条件下确实能发挥积极作用。在ECMD场景中，高速运动、粗略的同步机制以及非均匀的视觉采样会削弱稀疏直接视觉残差的有效性；而在VECtor场景中，由于运动更为平缓，

---

<div style="text-align: center;">TABLEI</div>

<div style="text-align: center;">RMSE ON ECMD AND VECTOR BENCHMARK SEQUENCES. EACH ENTRY REPORTS ATE(RMSE, M) / ARE(RMSE, DEG)</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Dataset</td><td style='text-align: center; word-wrap: break-word;'>Sequence</td><td style='text-align: center; word-wrap: break-word;'>FAST-LIEO2(ours)</td><td style='text-align: center; word-wrap: break-word;'>FAST-LIEO2(TS)</td><td style='text-align: center; word-wrap: break-word;'>FAST-LIEO2(ours)</td><td style='text-align: center; word-wrap: break-word;'>FAST-LIEO2</td><td style='text-align: center; word-wrap: break-word;'>FAST-LIEO</td><td style='text-align: center; word-wrap: break-word;'>FAST-LIVO2</td><td style='text-align: center; word-wrap: break-word;'>FAST-LIO2</td><td style='text-align: center; word-wrap: break-word;'>R3LIVE</td><td style='text-align: center; word-wrap: break-word;'>ESVIO</td><td style='text-align: center; word-wrap: break-word;'>ESVO2</td><td style='text-align: center; word-wrap: break-word;'>Ultimate SLAM</td></tr><tr><td rowspan="5">ECMD</td><td style='text-align: center; word-wrap: break-word;'>Tunnel_e_a</td><td style='text-align: center; word-wrap: break-word;'>0.806 / 3.81</td><td style='text-align: center; word-wrap: break-word;'>1.009 / 3.76</td><td style='text-align: center; word-wrap: break-word;'>0.721 / 5.23</td><td style='text-align: center; word-wrap: break-word;'>2.249 / 4.57</td><td style='text-align: center; word-wrap: break-word;'>4.850 / 5.72</td><td style='text-align: center; word-wrap: break-word;'>5.282 / 5.02</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Tunnel_e_b</td><td style='text-align: center; word-wrap: break-word;'>0.476 / 3.45</td><td style='text-align: center; word-wrap: break-word;'>0.825 / 3.57</td><td style='text-align: center; word-wrap: break-word;'>1.270 / 3.67</td><td style='text-align: center; word-wrap: break-word;'>23.065 / 4.67</td><td style='text-align: center; word-wrap: break-word;'>12.366 / 5.43</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Tunnel_e_c</td><td style='text-align: center; word-wrap: break-word;'>1.177 / 6.45</td><td style='text-align: center; word-wrap: break-word;'>1.208 / 6.73</td><td style='text-align: center; word-wrap: break-word;'>1.389 / 8.51</td><td style='text-align: center; word-wrap: break-word;'>2.839 / 9.85</td><td style='text-align: center; word-wrap: break-word;'>27.500 / 10.78</td><td style='text-align: center; word-wrap: break-word;'>47.700 / 9.56</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Urban_day_e_b</td><td style='text-align: center; word-wrap: break-word;'>2.920 / 3.72</td><td style='text-align: center; word-wrap: break-word;'>3.687 / 3.77</td><td style='text-align: center; word-wrap: break-word;'>3.097 / 5.63</td><td style='text-align: center; word-wrap: break-word;'>3.933 / 5.08</td><td style='text-align: center; word-wrap: break-word;'>3.577 / 5.68</td><td style='text-align: center; word-wrap: break-word;'>5.197 / 6.65</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Urban_night_e_a</td><td style='text-align: center; word-wrap: break-word;'>0.726 / 4.05</td><td style='text-align: center; word-wrap: break-word;'>0.749 / 4.06</td><td style='text-align: center; word-wrap: break-word;'>0.857 / 4.35</td><td style='text-align: center; word-wrap: break-word;'>1.234 / 4.67</td><td style='text-align: center; word-wrap: break-word;'>1.747 / 4.05</td><td style='text-align: center; word-wrap: break-word;'>1.835 / 6.32</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td></tr><tr><td rowspan="3">VECtor</td><td style='text-align: center; word-wrap: break-word;'>Units_dolly1</td><td style='text-align: center; word-wrap: break-word;'>0.200 / 1.66</td><td style='text-align: center; word-wrap: break-word;'>0.202 / 1.64</td><td style='text-align: center; word-wrap: break-word;'>0.148 / 1.61</td><td style='text-align: center; word-wrap: break-word;'>0.207 / 1.34</td><td style='text-align: center; word-wrap: break-word;'>0.249 / 1.86</td><td style='text-align: center; word-wrap: break-word;'>0.305 / 2.20</td><td style='text-align: center; word-wrap: break-word;'>0.179 / 1.25</td><td style='text-align: center; word-wrap: break-word;'>1.515 / 4.57</td><td style='text-align: center; word-wrap: break-word;'>14.174 / 121.20</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>School_dolly1</td><td style='text-align: center; word-wrap: break-word;'>0.170 / 1.65</td><td style='text-align: center; word-wrap: break-word;'>0.172 / 1.65</td><td style='text-align: center; word-wrap: break-word;'>0.167 / 1.64</td><td style='text-align: center; word-wrap: break-word;'>0.269 / 1.94</td><td style='text-align: center; word-wrap: break-word;'>0.189 / 1.70</td><td style='text-align: center; word-wrap: break-word;'>0.180 / 1.20</td><td style='text-align: center; word-wrap: break-word;'>0.203 / 1.40</td><td style='text-align: center; word-wrap: break-word;'>0.341 / 2.36</td><td style='text-align: center; word-wrap: break-word;'>20.776 / 134.85</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Corridors_dolly1</td><td style='text-align: center; word-wrap: break-word;'>0.165 / 1.85</td><td style='text-align: center; word-wrap: break-word;'>0.150 / 2.10</td><td style='text-align: center; word-wrap: break-word;'>0.143 / 1.81</td><td style='text-align: center; word-wrap: break-word;'>0.169 / 1.97</td><td style='text-align: center; word-wrap: break-word;'>0.171 / 2.89</td><td style='text-align: center; word-wrap: break-word;'>0.196 / 3.38</td><td style='text-align: center; word-wrap: break-word;'>0.149 / 1.85</td><td style='text-align: center; word-wrap: break-word;'>0.958 / 3.13</td><td style='text-align: center; word-wrap: break-word;'>8.816 / 109.46</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'>fail</td></tr></table>

![Image](images/8b49c4e6c618fdf2667326d0711f08240220c87620250d6e8af65af47e852cd2.jpg)

<div style="text-align: center;">Fig. 2. Mapping results of FAST-LIEO2 and FAST-LIO2 on the ECMD Urban_day_e_b sequence. The blue lines are the estimated path.</div>

<div style="text-align: center;">TABLE II</div>

<div style="text-align: center;">PARAMETER SENSITIVITY OF AS-TS ON VECTOR. EACH ENTRY REPORTS ATE(RMSE, M) / ARE(RMSE, DEG).</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Parameter</td><td style='text-align: center; word-wrap: break-word;'>Setting</td><td style='text-align: center; word-wrap: break-word;'>Units</td><td style='text-align: center; word-wrap: break-word;'>School</td><td style='text-align: center; word-wrap: break-word;'>Corridors</td><td style='text-align: center; word-wrap: break-word;'>Avg</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Default</td><td style='text-align: center; word-wrap: break-word;'>Default</td><td style='text-align: center; word-wrap: break-word;'>0.200/1.66</td><td style='text-align: center; word-wrap: break-word;'>0.170/1.65</td><td style='text-align: center; word-wrap: break-word;'>0.165/1.85</td><td style='text-align: center; word-wrap: break-word;'>0.178/1.72</td></tr><tr><td rowspan="3">$[\tau_{\min}, \tau_{\max}]$</td><td style='text-align: center; word-wrap: break-word;'>[^5] [^20]</td><td style='text-align: center; word-wrap: break-word;'>0.185/1.64</td><td style='text-align: center; word-wrap: break-word;'>0.470/1.79</td><td style='text-align: center; word-wrap: break-word;'>0.165/1.97</td><td style='text-align: center; word-wrap: break-word;'>0.273/1.80</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>[^20] [^80]</td><td style='text-align: center; word-wrap: break-word;'>0.197/1.64</td><td style='text-align: center; word-wrap: break-word;'>0.173/1.58</td><td style='text-align: center; word-wrap: break-word;'>0.161/2.48</td><td style='text-align: center; word-wrap: break-word;'>0.177/1.90</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>[^50] [^100]</td><td style='text-align: center; word-wrap: break-word;'>4.639/3.35</td><td style='text-align: center; word-wrap: break-word;'>0.166/1.99</td><td style='text-align: center; word-wrap: break-word;'>1.147/3.46</td><td style='text-align: center; word-wrap: break-word;'>1.984/2.93</td></tr><tr><td rowspan="2">$\gamma$</td><td style='text-align: center; word-wrap: break-word;'>100</td><td style='text-align: center; word-wrap: break-word;'>0.162/1.65</td><td style='text-align: center; word-wrap: break-word;'>0.182/1.62</td><td style='text-align: center; word-wrap: break-word;'>0.148/1.79</td><td style='text-align: center; word-wrap: break-word;'>0.164/1.68</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>300</td><td style='text-align: center; word-wrap: break-word;'>0.202/1.64</td><td style='text-align: center; word-wrap: break-word;'>0.173/1.57</td><td style='text-align: center; word-wrap: break-word;'>0.154/2.11</td><td style='text-align: center; word-wrap: break-word;'>0.176/1.78</td></tr><tr><td rowspan="2">$\varepsilon$</td><td style='text-align: center; word-wrap: break-word;'>0.1</td><td style='text-align: center; word-wrap: break-word;'>0.202/1.70</td><td style='text-align: center; word-wrap: break-word;'>0.173/1.57</td><td style='text-align: center; word-wrap: break-word;'>0.170/1.73</td><td style='text-align: center; word-wrap: break-word;'>0.182/1.67</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>10</td><td style='text-align: center; word-wrap: break-word;'>0.201/1.63</td><td style='text-align: center; word-wrap: break-word;'>0.176/1.58</td><td style='text-align: center; word-wrap: break-word;'>0.133/1.89</td><td style='text-align: center; word-wrap: break-word;'>0.170/1.70</td></tr><tr><td rowspan="2">s</td><td style='text-align: center; word-wrap: break-word;'>8</td><td style='text-align: center; word-wrap: break-word;'>0.194/1.61</td><td style='text-align: center; word-wrap: break-word;'>0.175/1.58</td><td style='text-align: center; word-wrap: break-word;'>0.162/1.78</td><td style='text-align: center; word-wrap: break-word;'>0.177/1.66</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>24</td><td style='text-align: center; word-wrap: break-word;'>0.200/1.65</td><td style='text-align: center; word-wrap: break-word;'>0.173/1.58</td><td style='text-align: center; word-wrap: break-word;'>0.147/1.89</td><td style='text-align: center; word-wrap: break-word;'>0.173/1.71</td></tr><tr><td rowspan="2">$\alpha$</td><td style='text-align: center; word-wrap: break-word;'>0.05</td><td style='text-align: center; word-wrap: break-word;'>0.238/2.49</td><td style='text-align: center; word-wrap: break-word;'>0.177/1.58</td><td style='text-align: center; word-wrap: break-word;'>0.145/1.82</td><td style='text-align: center; word-wrap: break-word;'>0.187/1.96</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>0.5</td><td style='text-align: center; word-wrap: break-word;'>0.203/1.64</td><td style='text-align: center; word-wrap: break-word;'>0.175/1.57</td><td style='text-align: center; word-wrap: break-word;'>0.143/1.92</td><td style='text-align: center; word-wrap: break-word;'>0.174/1.71</td></tr></table>

更好的同步性和均匀照明条件下，视觉测量能提供有效的补充约束。因此，FAST-LIEVO2能够在可靠的时间和光照条件下提升精度。

3) 参数敏感性分析：为了分析AS-TS的参数敏感性，我们对三个VECtor序列开展了单因素逐一测试。如表II所示，默认设置并非对每个序列都最优，但始终能取得接近最佳的精度。时间衰减范围$[\tau_{\min}, \tau_{\max}]$的影响最为显著：时间衰减范围过短可能导致边缘断裂和响应不足，比如在School_dolly1序列中，在[^5]和[^20]条件下就会出现这种情况；而时间衰减范围过长则会保留过时的事件并使边缘变粗，从而在Units_dolly1和Corridors_dolly1序列中造成性能下降，在[^50]和[^100]条件下尤为明显，这类走廊状或面向墙壁的片段会使激光雷达约束变弱，此时视觉测量就更显重要。相比之下，由于$\gamma$的裁剪作用，$\varepsilon$和$\tau_k^j$的敏感性较低，而s和$\alpha$仅通过局部活动估计对精度产生轻微影响。

![Image](images/60e98e4810f36cfb0af89cd9e3279bf8fa3e31000e702cdd7320ac482c0021f1.jpg)

<div style="text-align: center;">Fig. 3. Self-collected dataset setup: (a) handheld platform; (b) loop sequence with coincident start/end poses.</div>

总体而言，AS-TS在合理的超参数变化下表现稳定，但当事件约束至关重要时，不合适的时间衰减范围会导致性能下降。

### B. 自采集数据集实验

1) 自采集数据集：我们在校园规模的环境中采集数据。该数据集包含九个序列，其中三个为室内序列、四个为室外序列，还有两个为室内-室外-室内（ioi）过渡序列。前缀为ug、coe、cob、trb和cn2的序列分别是在地下停车场、工程学院、商学院、第三科研楼以及第二食堂附近区域采集的。这些序列用于评估在不同结构和光照条件下的鲁棒性。如图3(a)所示，数据采集平台配备了DAVIS346事件相机（346×260）、海康威视MV-CA013-A0UC RGB相机（1280×1024）以及Livox Avia激光雷达。如图3(b)所示，对于标注为“loop”的序列，我们采用固定支架来确保起始和终止姿态一致，并通过端到端误差来量化累积漂移量。

2) 评估结果：由于所评估的系统中均不包含回环闭合功能，我们基于起始帧和最终帧之间的相对位姿，在自采集数据集上评估端到端的平移和旋转误差。我们将FAST-LIEO2与FAST-LIEO [^19]、FAST-LIVO2 [^12]、FAST-LIO2 [^21]、R3LIVE [^5]以及Ultimate SLAM [^18]进行对比，同时还开展了一项将AS-TS替换为标准TS的消融实验。如表III所示，FAST-LIEO2在所有序列上都能稳定收敛，且整体性能最优，在六个序列上实现了最低的平移误差，在五个序列上取得了最低的旋转误差。在其余序列上，它仍能取得接近最优方法的具有竞争力的结果，证明了其在不同结构和光照条件下的鲁棒性。

---

<div style="text-align: center;">TABLE III</div>

<div style="text-align: center;">END-TO-END POSE ERROR ON EACH SELF-COLLECTED SEQUENCE. EACH ENTRY REPORTS TRANSLATION ERROR (M) / ROTATION ERROR (DEG)</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Sequence</td><td style='text-align: center; word-wrap: break-word;'>FAST-LIEO2(ours)</td><td style='text-align: center; word-wrap: break-word;'>FAST-LIEO2(TS)</td><td style='text-align: center; word-wrap: break-word;'>FAST-LIEO2(ours)</td><td style='text-align: center; word-wrap: break-word;'>FAST-LIEO</td><td style='text-align: center; word-wrap: break-word;'>FAST-LIEO2</td><td style='text-align: center; word-wrap: break-word;'>FAST-LIVO2</td><td style='text-align: center; word-wrap: break-word;'>FAST-LIO2</td><td style='text-align: center; word-wrap: break-word;'>R3LIVE</td><td style='text-align: center; word-wrap: break-word;'>Ultimate SLAM</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>cob-2f-loop</td><td style='text-align: center; word-wrap: break-word;'>0.004 / 0.89</td><td style='text-align: center; word-wrap: break-word;'>5.530 / 9.70</td><td style='text-align: center; word-wrap: break-word;'>2.274 / 1.28</td><td style='text-align: center; word-wrap: break-word;'>0.006 / 1.11</td><td style='text-align: center; word-wrap: break-word;'>0.029 / 1.45</td><td style='text-align: center; word-wrap: break-word;'>0.131 / 1.11</td><td style='text-align: center; word-wrap: break-word;'>2.208 / 3.32</td><td style='text-align: center; word-wrap: break-word;'>36.734 / 123.87</td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ug-loop</td><td style='text-align: center; word-wrap: break-word;'>0.003 / 0.06</td><td style='text-align: center; word-wrap: break-word;'>0.004 / 0.06</td><td style='text-align: center; word-wrap: break-word;'>0.003 / 0.04</td><td style='text-align: center; word-wrap: break-word;'>0.108 / 0.40</td><td style='text-align: center; word-wrap: break-word;'>0.052 / 0.11</td><td style='text-align: center; word-wrap: break-word;'>0.219 / 0.40</td><td style='text-align: center; word-wrap: break-word;'>0.166 / 0.41</td><td style='text-align: center; word-wrap: break-word;'>16.389 / 115.05</td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>coe-5f-loop</td><td style='text-align: center; word-wrap: break-word;'>0.017 / 2.34</td><td style='text-align: center; word-wrap: break-word;'>0.334 / 2.30</td><td style='text-align: center; word-wrap: break-word;'>0.485 / 2.95</td><td style='text-align: center; word-wrap: break-word;'>0.059 / 2.03</td><td style='text-align: center; word-wrap: break-word;'>1.557 / 2.53</td><td style='text-align: center; word-wrap: break-word;'>6.463 / 7.98</td><td style='text-align: center; word-wrap: break-word;'>0.044 / 2.14</td><td style='text-align: center; word-wrap: break-word;'>19.683 / 168.76</td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>cob-ioi-loop</td><td style='text-align: center; word-wrap: break-word;'>0.010 / 2.48</td><td style='text-align: center; word-wrap: break-word;'>1.317 / 5.42</td><td style='text-align: center; word-wrap: break-word;'>0.772 / 2.57</td><td style='text-align: center; word-wrap: break-word;'>6.914 / 6.94</td><td style='text-align: center; word-wrap: break-word;'>1.066 / 3.26</td><td style='text-align: center; word-wrap: break-word;'>4.363 / 7.71</td><td style='text-align: center; word-wrap: break-word;'>22.169 / 13.35</td><td style='text-align: center; word-wrap: break-word;'>40.344 / 71.05</td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>coe-ioi-loop</td><td style='text-align: center; word-wrap: break-word;'>0.019 / 0.25</td><td style='text-align: center; word-wrap: break-word;'>1.584 / 7.43</td><td style='text-align: center; word-wrap: break-word;'>0.852 / 0.41</td><td style='text-align: center; word-wrap: break-word;'>1.550 / 2.85</td><td style='text-align: center; word-wrap: break-word;'>0.008 / 0.43</td><td style='text-align: center; word-wrap: break-word;'>5.995 / 5.51</td><td style='text-align: center; word-wrap: break-word;'>16.800 / 26.25</td><td style='text-align: center; word-wrap: break-word;'>11.587 / 41.45</td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>cn2-loop</td><td style='text-align: center; word-wrap: break-word;'>0.038 / 0.83</td><td style='text-align: center; word-wrap: break-word;'>3.183 / 1.52</td><td style='text-align: center; word-wrap: break-word;'>0.030 / 1.05</td><td style='text-align: center; word-wrap: break-word;'>26.152 / 9.86</td><td style='text-align: center; word-wrap: break-word;'>1.387 / 2.11</td><td style='text-align: center; word-wrap: break-word;'>3.612 / 0.91</td><td style='text-align: center; word-wrap: break-word;'>7.858 / 11.69</td><td style='text-align: center; word-wrap: break-word;'>fail</td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>coe-loop</td><td style='text-align: center; word-wrap: break-word;'>0.033 / 1.45</td><td style='text-align: center; word-wrap: break-word;'>1.587 / 10.59</td><td style='text-align: center; word-wrap: break-word;'>0.041 / 1.77</td><td style='text-align: center; word-wrap: break-word;'>3.376 / 1.70</td><td style='text-align: center; word-wrap: break-word;'>1.570 / 2.38</td><td style='text-align: center; word-wrap: break-word;'>5.906 / 1.02</td><td style='text-align: center; word-wrap: break-word;'>3.188 / 1.19</td><td style='text-align: center; word-wrap: break-word;'>22.717 / 120.90</td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>trb-loop</td><td style='text-align: center; word-wrap: break-word;'>0.011 / 0.38</td><td style='text-align: center; word-wrap: break-word;'>2.832 / 1.92</td><td style='text-align: center; word-wrap: break-word;'>0.006 / 0.25</td><td style='text-align: center; word-wrap: break-word;'>1.269 / 0.30</td><td style='text-align: center; word-wrap: break-word;'>0.852 / 1.40</td><td style='text-align: center; word-wrap: break-word;'>1.935 / 1.03</td><td style='text-align: center; word-wrap: break-word;'>33.861 / 14.82</td><td style='text-align: center; word-wrap: break-word;'>90.579 / 25.43</td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>trb-deg-loop</td><td style='text-align: center; word-wrap: break-word;'>0.007 / 0.24</td><td style='text-align: center; word-wrap: break-word;'>0.007 / 0.25</td><td style='text-align: center; word-wrap: break-word;'>0.016 / 0.25</td><td style='text-align: center; word-wrap: break-word;'>1.396 / 2.13</td><td style='text-align: center; word-wrap: break-word;'>2.761 / 1.33</td><td style='text-align: center; word-wrap: break-word;'>18.842 / 8.16</td><td style='text-align: center; word-wrap: break-word;'>11.125 / 33.47</td><td style='text-align: center; word-wrap: break-word;'>19.893 / 111.65</td><td style='text-align: center; word-wrap: break-word;'></td></tr></table>

![Image](images/869e584a296ce7ab48d6efb57da17a0b3feb58023ab65a22522002244242fa16.jpg)

<div style="text-align: center;">Fig. 4. Results in LiDAR-degenerate scenes: (a) outdoor degenerate scene; (b) and (c) compare FAST-LIEO2 and FAST-LIO2 in (a); (d) and (e) compare FAST-LIEO2 and FAST-LIO2 in an indoor degenerate scene.</div>

对于FAST-LIEVO2而言，视觉更新在条件满足时才会体现出优势。它在ug-loop、cn2-loop、coe-loop、trb-deg-loop和trb-loop等几个序列上的表现与FAST-LIEVO2相近甚至更优，这些场景下视觉观测结果相对可靠。然而，在光照变化强烈的序列中，包括coe-5f-loop、cob-ioi-loop、coe-ioi-loop以及带有阳光照射的玻璃墙走廊和黑暗封闭走廊的半开放式cob-2f-loop，曝光差异和光度不一致性会降低稀疏的直接视觉残差质量。在此类情况下，FAST-LIEVO2会避免不可靠的视觉更新，从而实现更稳定的里程计计算。

3) AS-TS消融实验：表I和表III中的FAST-LIEO2(TS)用标准TS替换了AS-TS，采用与FAST-LIEO中相同的固定30毫秒衰减参数[^19]。在公开的ECMD基准测试中，AS-TS在所有五个序列上的ATE均低于固定衰减TS基线；例如，在Tunnel_e_b序列上ATE从0.825米降至0.476米，在Urban_day_e_b序列上从3.687米降至2.920米。在VECtor数据集上，AS-TS与TS的差异较小，这主要归因于VECtor序列运动更规律且同步性更好。在自行采集的数据集上，非均匀事件活动场景下AS-TS带来的提升更为明显。例如，用TS替换AS-TS后，coe-5f-loop序列上的平移误差从0.017米增至0.334米，cn2-loop序列上从0.038米增至3.183米，coe-loop序列上从0.033米增至1.587米，cob-2f-loop序列上则从0.004米增至5.530米。这些结果表明

![Image](images/2b811d0cf05974a134e2ec1556a824d81d0e6b16c5a66c5d4e2b18b4f086334e.jpg)

<div style="text-align: center;">Fig. 5. FAST-LIEO2 mapping under challenging illumination: (a) coe-5f-loop, (b) coe-ioi-loop; (a1)–(a3) and (b1)–(b3) show lighting conditions.</div>

固定的时间衰减会导致事件表示在空间上不平衡，进而削弱对齐约束。

4) 复杂场景测试：我们进一步在激光雷达退化、HDR以及大规模户外场景下对FAST-LIEO2进行了评估。在激光雷达退化的trb-deg-loop序列中，如表III及图4(b)(c)所示，FAST-LIEO2的端到端平移误差从FAST-LIO2的18.842米降低至0.007米。图4(d)(e)展示了一个室内激光雷达退化场景：面对走廊墙壁时，FAST-LIO2会出现明显漂移，而FAST-LIEO2则能借助事件测量保持稳定。在光照条件复杂的场景下，FAST-LIEO2在cob-2f-loop、coe-5f-loop、cob-ioi-loop和coe-ioi-loop等HDR序列上都能可靠收敛；如表III及图5所示，尽管存在强烈的光照变化，它仍能保持较低的漂移量，而多个基线算法却出现了米级误差。这证明了在高动态范围条件下事件测量的优势。在大规模户外实验中，我们在轨迹总长度超过2公里的coe-loop、cn2-loop和trb-loop序列上对FAST-LIEO2进行了评估。表III显示，FAST-LIEO2在这三个序列上均能可靠收敛，且误差低于基线算法。图6进一步展示了FAST-LIEVO2的彩色点云，证实了其在大规模场景下的长距离一致性与建图能力。

---

![Image](images/69d1bbfeb9641eb2a891cba48828c8730c283b5dc67a1209bc5bb08d295a1001.jpg)

<div style="text-align: center;">Fig. 6. Large-scale experiments: (a) satellite-view trajectories of cn2-loop, trb-loop, and coe-loop; (b)-(d) FAST-LIEVO2 colored point clouds.</div>

<div style="text-align: center;">TABLE IV AVERAGE RUNTIME PER UPDATE (MEAN (STD), MS)</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td colspan="2">Event update</td><td rowspan="6">LiDAR update</td><td rowspan="6">Visual update</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Event submap construction</td><td style='text-align: center; word-wrap: break-word;'>0.74 (0.45)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Event geometric update</td><td style='text-align: center; word-wrap: break-word;'>0.38 (0.44)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Event edge update</td><td style='text-align: center; word-wrap: break-word;'>0.08 (0.02)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Global map integration</td><td style='text-align: center; word-wrap: break-word;'>0.27 (0.13)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Outlier removal</td><td style='text-align: center; word-wrap: break-word;'>0.02 (0.02)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Total time</td><td style='text-align: center; word-wrap: break-word;'>1.50 (1.02)</td><td style='text-align: center; word-wrap: break-word;'>7.99 (6.99)</td><td style='text-align: center; word-wrap: break-word;'>23.59 (12.99)</td></tr></table>

5) 实时性能分析：表IV报告了表III中九个序列的平均每次更新运行时间，括号内的数值表示各序列间的标准差。其中事件更新、激光雷达更新和视觉更新的平均耗时分别为1.50毫秒、7.99毫秒和23.59毫秒，证实了其实时性能。在事件更新过程中，大部分计算资源用于局部地图构建（0.74毫秒）和事件几何更新（0.38毫秒），其余组件带来的开销极小。激光雷达更新和视觉更新的标准差较大，反映出它们对场景结构以及运动和观测复杂度的敏感性。

### 五、结论

我们提出了FAST-LIEO2/FAST-LIEVO2，这是一个紧密耦合的激光雷达-惯性测量单元-事件（-RGB）里程计框架。AS-TS通过根据局部事件活动调整时间衰减参数，缓解了固定衰减TS的空间不平衡问题；而全局和局部事件子图则支持从粗到精的事件更新，用于帧间先验校正以及帧到地图的精细化处理。激光雷达、事件数据以及可选的视觉测量数据会在ESIKF中依次融合。在公开数据集和自行采集的数据集上进行的实验表明，该系统在结构退化、高动态范围光照以及大规模户外环境中均表现出良好的鲁棒性。不过，在事件约束较弱或多种模态数据同时退化的情况下，系统性能可能会下降。未来的工作将聚焦于退化检测和自适应加权策略的研究。

## 参考文献

[^1]: C. Cadena et al., “Past, present, and future of simultaneous localization and mapping: Toward the robust-perception age,” IEEE Trans. Robot., vol. 32, no. 6, pp. 1309–1332, Dec. 2016.

[^2]: J. Hatleskog and K. Alexis, “Probabilistic degeneracy detection for point-to-plane error minimization,” IEEE Robot. Automat. Lett., vol. 9, no. 12, pp. 11234–11241, Dec. 2024.

[^3]: Z. Zhang, C. Forster, and D. Scaramuzza, “Active exposure control for robust visual odometry in HDR environments,” in Proc. IEEE Int. Conf. Robot. Autom., 2017, pp. 3894–3901.

[^4]: T. Shan, B. Englot, C. Ratti, and D. Rus, "LVI-SAM: Tightly-coupled LiDAR-visual-inertial odometry via smoothing and mapping," in Proc. IEEE Int. Conf. Robot. Autom., 2021, pp. 5692–5698.

[^5]: J. Lin and F. Zhang, "R3LIVE: A robust, real-time, RGB-colored, lidar-inertial-visual tightly-coupled state estimation and mapping package," in Proc. IEEE Int. Conf. Robot. Autom., 2022, pp. 10672–10678.

[^6]: C. Brandli, R. Berner, M. Yang, S.-C. Liu, and T. Delbruck, “A $240 \times 180$ 130 dB $3 \mu s$ latency global shutter spatiotemporal vision sensor,” IEEE J. Solid-State Circuits, vol. 49, no. 10, pp. 2333–2341, Oct. 2014.

[^7]: G. Gallego et al., “Event-based vision: A survey,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 44, no. 1, pp. 154–180, Jan. 2022.

[^8]: D. Wisth, M. Camurri, and M. Fallon, "VILENS: Visual, inertial, LiDAR, and leg odometry for all-terrain legged robots," IEEE Trans. Robot., vol. 39, no. 1, pp. 309–326, Feb. 2023.

[^9]: J. Lin, C. Zheng, W. Xu, and F. Zhang, “R $^{2}$LIVE: A robust, real-time, LiDAR-inertial-visual tightly-coupled state estimator and mapping,” IEEE Robot. Automat. Lett., vol. 6, no. 4, pp. 7469–7476, Oct. 2021.

[^10]: C. Zheng, Q. Zhu, W. Xu, X. Liu, Q. Guo, and F. Zhang, "FAST-LIVO: Fast and tightly-coupled sparse-direct LiDAR-inertial-visual odometry," in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., 2022, pp. 4003–4009.

[^11]: J. Lin and F. Zhang, “R $^{3}$LIVE++: A robust, real-time, radiance reconstruction package with a tightly-coupled LiDAR-inertial-visual state estimator,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 46, no. 12, pp. 11168–11185, Dec. 2024.

[^12]: C. Zheng et al., “FAST-LIVO2: Fast, direct LiDAR-inertial-visual odometry,” IEEE Trans. Robot., vol. 41, pp. 326–346, 2025.

[^13]: Y. Zhou, G. Gallego, and S. Shen, “Event-based stereo visual odometry,” IEEE Trans. Robot., vol. 37, no. 5, pp. 1433–1450, Oct. 2021.

[^14]: J. Niu, S. Zhong, and Y. Zhou, “IMU-aided event-based stereo visual odometry,” in Proc. IEEE Int. Conf. Robot. Automat., 2024, pp. 11977–11983.

[^15]: J. Niu, S. Zhong, X. Lu, S. Shen, G. Gallego, and Y. Zhou, “ESVO2: Direct visual-inertial odometry with stereo event cameras,” IEEE Trans. Robot., vol. 41, pp. 2164–2183, 2025.

[^16]: U. M. Nunes, R. Benosman, and S.-H. Ieng, “Adaptive global decay process for event cameras,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit., 2023, pp. 9771–9780.

[^17]: P. Chen, W. Guan, and P. Lu, “ESVIO: Event-based stereo visual inertial odometry,” IEEE Robot. Automat. Lett., vol. 8, no. 6, pp. 3661–3668, Jun. 2023.

[^18]: A. R. Vidal, H. Rebecq, T. Horstschaefer, and D. Scaramuzza, “Ultimate SLAM? Combining events, images, and IMU for robust visual SLAM in HDR and high-speed scenarios,” IEEE Robot. Automat. Lett., vol. 3, no. 2, pp. 994–1001, Apr. 2018.

[^19]: Z. Wang, Y. Ge, K. Dong, I.-M. Chen, and J. Wu, “FAST-LIEO: Fast and real-time LiDAR-inertial-event-visual odometry,” IEEE Robot. Automat. Lett., vol. 10, no. 2, pp. 1680–1687, Feb. 2025.

[^20]: C. Hertzberg, R. Wagner, U. Frese, and L. Schröder, “Integrating generic sensor fusion algorithms with sound state representations through encapsulation of manifolds,” Inf. Fusion, vol. 14, no. 1, pp. 57–77, 2013.

[^21]: W. Xu, Y. Cai, D. He, J. Lin, and F. Zhang, “FAST-LIO2: Fast direct LiDAR-inertial odometry,” IEEE Trans. Robot., vol. 38, no. 4, pp. 2053–2073, Aug. 2022.

[^22]: X. Lagorce, G. Orchard, F. Galluppi, B. E. Shi, and R. B. Benosman, “HOTS: A hierarchy of event-based time-surfaces for pattern recognition,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 39, no. 7, pp. 1346–1359, Jul. 2017.

[^23]: P. Chen et al., “ECMD: An event-centric multisensory driving dataset for SLAM,” IEEE Trans. Intell. Veh., vol. 9, no. 1, pp. 407–416, Jan. 2024.

[^24]: L. Gao et al., “VECtor: A versatile event-centric benchmark for multi-sensor SLAM,” IEEE Robot. Automat. Lett., vol. 7, no. 3, pp. 8217–8224, Jul. 2022.

[^25] M. Grupp，“evo：用于评估里程计和SLAM的Python软件包”，2017年。[在线]。可访问：<https://github.com/MichaelGrupp/evo>
