MAC-I$^2$: Learned Metrics-Aware Covariance for Robust Visual-Inertial Fusion in Initialization and Calibration
Xiang Fei, Yuheng Qiu, Can Xu, Yutian Chen, Ruogu Li, Xingxing Zuo, Wenshan Wang, Sebastian Scherer
cs.RO
2026-09-07
MAC-I2为视觉位姿和IMU预积分都预测度量感知协方差,用来做视觉惯性初始化与标定。EuRoC成功率99.9%,重力误差0.418°,VBR上仍有80%。
视觉惯性融合的核心是给相机和 IMU 各写一份信任。VINS-Mono 把视觉残差钉在约 1.5 像素,IMU 噪声用出厂参数往前传;ORB-SLAM3 按金字塔层给同一层特征同一份信息矩阵。环境一变,光照、动态物体、弱纹理、运动模式都在变,这份固定信任还按旧的来,不可靠的测量就会被过度加权。
MAC-VO 已经能给每个特征匹配一份「度量感知」协方差:预测的不确定度跟真实匹配噪声量级对齐,不只是特征之间比谁更自信。AirIMU 能学 IMU 测量不确定度,但作者证明它在未见序列上会过度自信。还没有工作把两边都做成度量感知,再放进同一次融合。
视觉这边不直接融原始特征。MAC-VO 的位姿图优化收敛后,用特征三维协方差和位姿扰动雅可比,把信息矩阵的逆当成相对位姿协方差。这份视觉模型只在合成数据 TartanAir 上训练,欧氏数据集上不再微调。
惯性这边有一个观察:偏置校正之后,预积分误差在窗口开头陡升,后面变慢。标准预积分从零协方差起步,吃不到这个形状。AirIMU 靠 GRU 在序列开头抬噪声,分段实时预积分时 GRU 一复位,这段补偿就对不上。MAC-I2 改成可学习的初始协方差 Σ0,不确定度分支去掉 GRU、只留和校正分支共享的 CNN。每个片段都从 Σ0 开传,开头的噪声膨胀就稳定出现。训练用高斯负对数似然,让预测协方差跟着误差走;再把训练集拆开,冻结其余参数,只在留出子集上微调 Σ0 和不确定度解码器,用来治未见序列上的过度自信。
展示系统是视觉惯性初始化与标定。有学习 IMU 时,网络输出校正后的预积分,不再显式估偏置。没有学习 IMU 时,走标准预积分并估陀螺偏置。最后用度量感知协方差加权视觉相对位姿残差和 IMU 预积分残差,联合优化重力、速度、偏置和相机-IMU 外参。
EuRoC 上每段 2.5 秒、10 个关键帧。带学习 IMU 的 MAC-I2 平均重力误差 0.418°、速度 RMSE 0.018 m/s,成功率 0.999。最强重力基线 DRT-t 是 1.137°,最强速度基线 VINS-Fusion 是 0.031 m/s。没有学习 IMU 时重力 0.889°、速度仍是 0.018 m/s,成功率同样 0.999。难序列 V103 上 VINS-Mono 成功率只有 0.040,Stereo-NEC 到 0.537,MAC-I2 是 1.00。
VBR 更差的动态大场景上,表 II 只报了无学习 IMU 的版本:成功率 0.803,平均重力 1.136°、速度 0.191 m/s。ORB-SLAM3 成功率 0.561,VINS-Mono 0.080。TUM-VI 的剧烈六自由度标定序列上,VINS-Mono 多数试次跟丢,MAC-I2 外参估计稳定。消融里视觉和 IMU 协方差都换成单位阵,机体系旋转误差从 0.215° 升到 0.362°;换成 AirIMU 协方差,重力误差从 0.418° 升到 0.611°。
VIO 初始化失败是整条状态估计链条的常见断点。这篇把「该信视觉还是信 IMU」从调参改成对真实噪声量级的回归,EuRoC 上几乎段段能起来,VBR 上也能从个位数成功率拉到八成。对还在用固定像素噪声和 IMU 手册参数的系统,这是可替换的加权模块,不是又一个前端特征。当前交付的是初始化与标定,不是完整 VIO。
IMU 模型按传感器训练,类似一次标定,换设备要重训;没有设备数据时只能走原始 IMU 工作流。VBR 主表没有带学习 IMU 的结果,80% 成功率对应的是视觉协方差加标准预积分。视觉模型只在 TartanAir 上训,TUM-VI 鱼眼上只验证了协方差是否还度量感知,没有完整初始化表。成功标准在 EuRoC 是重力小于 2°、速度小于 0.1 m/s,门槛不算严。完整里程计和 SLAM 留作后续。