北理工用神经 ODE 学 IMU 偏置演化,视觉中断 10 秒定位误差降 25%

LBDU-VIO: Learned Bias Dynamics and Uncertainty for Visual-Inertial Odometry with Unreliable Vision

Qizhi Guo, Junning Lyu, Defu Lin, Shaoming He

cs.RO

2026-09-30

北理工把 MSCKF 的随机游走偏置换成神经 ODE、逐样本预测 IMU 噪声;EuRoC 视觉中断 10 秒时定位误差比最强基线低 25.1%,训练只需位姿标签。

这篇在解决什么

无人机上的 VIO 靠两条腿走路:相机以约 20 Hz 的低频修正累积漂移,IMU 以 200 Hz 在两次视觉更新之间推算状态。视觉一旦不可靠(运动模糊、低纹理、相机短暂掉线),估计器只能依赖 IMU,IMU 的建模误差会迅速累积成大漂移。根子在传统 MSCKF 对 IMU 的两个简化:陀螺仪和加速度计偏置按随机游走演化,测量噪声离线标定后固定不变。低成本 MEMS IMU 的真实误差不长这样,偏置随机体运动起伏,噪声随振动变化,模型失配直接吃掉精度。

已有的学习式改进大多把网络放在 IMU 积分外面:当预处理给原始数据降噪,窗口级校正把系统性偏置和随机噪声混在一起;或者只在关键帧级别预测偏置,两次更新之间仍退回随机游走。学习到的量始终没进 IMU 速率的积分内部。

方法

LBDU-VIO 把两个学习模块直接塞进 MSCKF 的传播步,让它们同时影响预测均值和协方差。

偏置动力学用神经 ODE 学。偏置是 ODE 的状态,右端项是小网络(陀螺仪、加速度计各一个残差 MLP,隐藏层最多 512),输入是当前偏置、插值后的 IMU 测量及其导数。IMU 离散采样,先用因果三次 Hermite 样条插值,ODE 才能在采样点之间取值;实现用 IMU 速率的显式欧拉积分(步长 5 ms),每个采样点吐一个偏置估计,减掉后再传播导航状态。它直接替换滤波器里的随机游走,误差状态卡尔曼滤波对应的雅可比块也从学到的向量场现算。

不确定度模型管噪声。CNN 加两层 GRU 的时序编码器读一段原始 IMU 窗口,两个 MLP 解码器输出陀螺仪、加速度计各三轴的噪声方差,经 exp 映射保证为正,拼成对角协方差,逐采样点替换协方差传播里写死的噪声参数。

训练分三段,只用位姿监督,不需要偏置真值标签:先用姿态误差训陀螺仪偏置动力学,冻结后用速度、位置误差训加速度计偏置,再全部冻结,用负对数似然经可微分预积分和协方差递归训不确定度模型。损失里加曲率正则,惩罚相邻偏置导数的差分,防止学出无谓的抖动。

最关键的设计选择是位置:两个学习量在每个 IMU 采样点上参与状态更新,视觉量到来之前,均值和协方差都已被学习模型塑形,而不是隔在预处理或因子层外面。

结果

常规条件(视觉持续可用)下,单目的 LBDU-VIO 在两个数据集的平均 APE、AOE 上均排第一:

方法EuRoC APE (m)EuRoC AOE (°)TUM-VI 房间 APE (m)
S-MSCKF(双目)0.1993.0770.127
MSCEqF0.3293.2750.235
Brossard0.1631.8880.079
VIO-IPNet0.1541.7600.229
LBDU-VIO0.1331.6900.060

EuRoC 上平均 APE 比最强基线 VIO-IPNet 低 13.6%;TUM-VI 上比表中最好的单目基线低 24.1%,比双目 S-MSCKF 低 52.8%。

视觉中断实验更能说明问题。在五条 EuRoC 测试序列第 50 秒起删除 1/2/3/5/10 秒相机数据(IMU 不动),每个时长下 LBDU-VIO 的平均 RPE 和 ROE 都是最低:RPE 比各时长各自最强的基线低 13.2%–26.7%,10 秒时为 0.140 m 对 0.187 m(低 25.1%);ROE 优势随中断变长收窄,10 秒时只剩 4.4%。MH 04 序列 10 秒中断后轨迹 APE 为 2.74 m,对比 Brossard 的 3.55 m、VIO-IPNet 的 7.61 m;图像恢复后 10 秒内的恢复期 RPE 为 0.413 m,比 Brossard 低 46.7%。TUM-VI room4 同样 10 秒中断,平均 APE 0.1349 m,比最强基线低 29.8%。合成视觉退化(水平像素偏移渐增至 10 px,约 1.25°)下,中位数 APE RMSE 0.101 m,比最好基线低 33.3%。

消融(3 秒中断,五序列平均)把两个模块拆开:原始 IMU 加固定噪声平均 APE 0.249 m;换学习偏置后 0.158 m(降 36.5%);再加不确定度模型 0.111 m(再降 29.7%)。只加不确定度、偏置不修,几乎没用(0.249→0.240 m)。均值校正和协方差建模要配套才见效,与 AirIMU 的观察一致。

为什么重要

这是一份「学习模块怎么进滤波器」的干净样本:MSCKF 的视觉更新原封不动,只替换惯性传播内部的偏置动力学与噪声参数;训练只要位姿标签,不需要辅助传感器标偏置真值,做状态估计的人可以直接搬。收益结构也清楚:常规条件下改进温和,回报集中在视觉退化和中断场景,单目打赢双目基线,对传感器与算力预算敏感的无人机平台有实际意义。属于渐进改进,但每一步都有消融撑着。

局限与存疑

作者自己承认:10 秒量级的纯惯性传播仍然困难,ROE 优势缩到 4.4%;更长中断和更不结构化的退化留给未来。没验证的地方:训练测试在同一数据集内切分(EuRoC 六训五测、TUM-VI 三训三测),没有跨数据集、跨 IMU 型号的实验,换传感器还能不能用存疑;TUM-VI 只用三条室内 room 序列;视觉退化是合成像素平移,不是真实模糊或光照变化;全文没报在线推理耗时,机载实时性只能靠网络很小间接推断。序列层面也不全赢:MH 02 的最低 APE 还是双目 S-MSCKF,V1 03 的 AOE 比 MSCEqF 最优值高 49.8%。另外正文在 TUM-VI 上把 Brossard 和 VIO-IPNet 两个基线名写反了(所引百分比与表格列对不上),结论不变,引用数字时需对照表格。

术语

原文与代码

社区讨论

相关论文

全部论文解读