1. 核心摘要
这篇笔记整理自 FAST-LIVO2 on Resource-Constrained Platforms (arXiv:2501.13876)。针对边缘计算设备(如 ARM 平台),作者对 FAST-LIVO2 进行了深度剪枝和优化。核心策略包括退化感知的自适应帧选择器和序列化 ESIKF 更新,在 Hilti 数据集上实现了 33% 的速度提升和 47% 的内存减少,且精度仅损失 3cm。
2. 关键概念/术语
- Degeneration-aware Selector (退化感知选择器):一种机制,能够识别当前运动是否处于退化状态(如匀速直线运动或纯旋转),从而智能决定是否丢弃视觉帧以节省算力。
- Sequential Update (序列化更新):在卡尔曼滤波中,不一次性处理所有测量值,而是分批次或按顺序更新状态,降低单次矩阵运算的维度。
- Long-term Visual Map (长期视觉地图):为了平衡内存,将地图分为局部高精度的统一地图和全局的长期稀疏地图。
资源受限平台优化策略
3. 详细内容整理
3.1 优化策略
- 计算优化:
- 引入自适应视觉帧选择器。如果系统检测到 LiDAR 状态估计良好且无退化风险,会主动跳过部分视觉帧的处理,减少 CPU 占用。
- ESIKF 序列更新:将大规模的矩阵求逆操作拆解,降低峰值计算量。
- 内存优化:
- 双层地图结构:
- 局部统一视觉-LiDAR 地图:用于当前的精确实时跟踪。
- 长期视觉地图:仅存储关键信息,用于闭环或重定位,大幅降低 RAM 占用。
- 双层地图结构:
3.2 实验结果
- 平台:验证了 x86 和 ARM (嵌入式) 平台。
- 性能对比:相比原版 FAST-LIVO2,运行时间减少 33%,内存占用减少 47%。
- 精度权衡:在 Hilti 数据集上,RMSE 仅增加了 3cm,这对于大多数机器人导航任务是完全可接受的。
4. 关键知识点详解
4.1 序列化更新 (Sequential Update) 的数学原理
标准的 Kalman Filter 更新步骤涉及计算卡尔曼增益 $K$: \(K = P H^T (H P H^T + R)^{-1}\) 当测量维度($H$ 的行数)很大时(例如同时融合数百个 LiDAR 点和视觉像素),$(H P H^T + R)$ 的求逆非常耗时。
序列化更新利用了测量值之间的独立性假设,将观测 $z$ 分为 $z_1, z_2, … z_n$。
- 先用 $z_1$ 更新状态 $x$ 和协方差 $P$。
- 得到新的 $x’, P’$ 后,再用 $z_2$ 进行更新。
- 这样避免了构建巨大的观测矩阵,显著降低了计算复杂度,特别适合算力有限的嵌入式 CPU。
💬 评论互动