滤波 vs 图优化:延迟与稀疏性决定后端
从信息结构、延迟预算和回环能力对比 EKF/ESKF 与因子图,说明量产 SLAM 常见的混合架构形态。

1. 「图优化更准所以全上」很危险
后端选型若只看精度,会忽略延迟、稀疏性、回环频率和嵌入式算力。我听过最危险的话:「图优化比滤波准,所以全上图优化。」滤波没有被淘汰,适用的问题规模变了——100Hz IMU 融合与全局回环不是同一种计算结构。
2. 两种计算结构
滤波(EKF/ESKF/IEKF):维护 ,每步更新 –,n = 状态维数;新观测立刻更新,延迟固定;旧信息压缩进 ,无法「撤回」。
图优化(Batch / Incremental Smoothing):保留因子历史(或滑窗 + 边缘化);稀疏 Cholesky / iSAM2 利用 Hessian 稀疏性;可批量处理回环、反复 relinearize;延迟随窗口/图大小增长,精度上限更高。
3. 各自的后端画像
滤波适合 100Hz+ IMU、内存固定、MCU 级算力;缺点是状态增广(EKF-SLAM 每加路标 涨维)、线性化不一致(inconsistency)、大回环需额外 PGO。现代 VIO 前端几乎都是 ESKF/IEKF;后端才用因子图做 occasional relinearization 或 PGO——评审「全图优化 VIO」时要分清前端滤波与后端 BA 的分工,很多开源栈名义上图优化,实时 pose 仍来自滤波外推。
图优化自然插回环边、鲁棒核与 switchable constraints 成熟;全图 BA 不可实时,但 Local BA + PGO 在 keyframe 策略下可行——ORB-SLAM、LIO-SAM、Cartographer 后端都是图优化,它们用 keyframe 策略控制图大小,而不是每帧进图。
4. 混合架构:量产常见形态
高频 IMU → ESKF/预积分 → 前端位姿 @ 30–100Hz
↓
关键帧 → 局部 BA / 滑窗优化 @ 5–10Hz
↓
回环 → PGO / iSAM2 @ 事件驱动控制回路要低延迟 pose → 滤波输出;地图一致性 → 图优化后台。TF 策略:odom 平滑高频,map 允许回环后跳变。不是妥协,是各取所长。回环后若把 map→odom 跳变直接喂给控制器而不做过渡,车会急刹——产品上要定义 map 更新后的外推策略,这属于滤波/图分工之外的系统集成问题。
5. 决策表与延迟预算
| 需求 | 倾向 |
|---|---|
| <5ms 延迟、MCU | ESKF / 互补滤波 |
| VIO 100Hz 前端 | 预积分 + ESKF |
| 视觉/LiDAR + 回环 | Local BA + PGO |
| 多会话长期地图 | iSAM2 / 增量平滑 |
| 纯 2D 激光、回环少 | 滤波够用(gmapping 系) |
100Hz IMU ESKF 单步 <1ms;10 keyframe Local BA Ceres ~5–15ms;iSAM2 增量 update 10–100ms。产品要求 pose 100Hz、优化 10Hz → 双线程 + 外推,不能每 IMU 步做 BA。Fixed-lag smoother(5s 窗口 ISAM2)是滤波与全图之间的折中:长时间任务可 periodic 把 lag 边缘 marginalize 成 prior 再续跑,避免图无限增长。
6. 容易想错的地方
「滤波不能回环」——能,需子地图匹配 + 位姿图,不是滤波本身不行。「图优化一定慢」——10 keyframe × 200 路标 Local BA,Ceres 几毫秒可完成。扫地机:滤波 + occasional PGO;无人机 VIO:ESKF 100Hz + 滑窗 BA 5Hz;仓储 AMR:scan matching + iSAM2。
长时间运行后滤波协方差 trace 持续下降而 ATE 仍在漂,是典型的虚假收敛——图优化侧则看回环后边残差 Chi2 是否健康。选型评审应带同一条 bag 的延迟曲线和回环后 ATE 改善量,而不是只比论文表格。
7. 验收
- 前端延迟:sensor time → pose publish
- 后端优化耗时 vs keyframe 频率
- 回环后 ATE 改善量
- 内存占用随运行时间增长曲线
- 长时间运行协方差是否虚假收敛(滤波特有)
没有「高级低级」,只有算力、延迟、回环频率的匹配。评审时带同一条 bag 的双线程 trace:前端 pose 发布 jitter 与后端 BA 阻塞是否相关——若相关,先拆线程和队列,再争论该用 ESKF 还是 iSAM2。2D 激光 gmapping 系在回环稀少、算力紧的场景仍够用,不必为了「架构先进」硬上图优化。后端选型文档应写清 pose 输出频率、回环频率与最大图规模三者的硬约束,再对照上表选型——缺任一约束,讨论滤波还是图优化都容易空谈。
相关
也可以看看
johan's blog