1. 课程导入
视觉惯性融合定位(Visual-Inertial Odometry,VIO)是移动机器人、无人机、AR/VR 设备实现自主定位的核心技术之一。它把相机提供的视觉观测与 IMU 提供的高频惯性测量在同一个估计框架内融合,输出连续、平滑、尺度可观的六自由度位姿。与单纯视觉里程计相比,VIO 在快速运动、纹理缺失、光照突变等场景下更稳健;与纯惯性导航相比,VIO 能持续抑制零偏漂移。理解 VIO 的定位,本质上要理解“两个传感器如何互补、在什么坐标系下互补、以什么方式互补”。
一、VIO 的定义与核心原理
VIO 的输入是图像序列与 IMU 的角速度、加速度测量,输出是载体在局部世界坐标系下的位置、姿态和速度。其核心原理可以概括为三点:
- 视觉提供环境约束:通过特征点、光流或直接法像素灰度,建立帧间几何关系,恢复相机运动与三维结构。
- IMU 提供运动先验:以 100~1000 Hz 的高频积分预测短时运动,弥补图像 10~60 Hz 的低频与运动模糊问题。
- 联合优化或滤波:把视觉重投影误差与 IMU 预积分残差放入同一目标函数,估计位姿、速度、零偏和外参。
从数学形式看,VIO 常被建模为最大后验估计问题。视觉残差约束“看到的世界是否一致”,IMU 残差约束“运动是否符合惯性积分”,二者通过状态量耦合。若用 r_vis 表示视觉重投影残差,r_imu 表示 IMU 预积分残差,则优化目标可写为:
min_X Σ ||r_vis(X)||²_Σvis + Σ ||r_imu(X)||²_Σimu
X = {p, q, v, ba, bg, ...}
其中 p 为位置,q 为姿态四元数,v 为速度,ba、bg 分别为加速度计和陀螺仪零偏。这个表达式是后续所有 VIO 工程实现的共同骨架。
二、发展历程:从滤波到优化,从稀疏到稠密
VIO 的发展大致经历三个阶段。早期以滤波方法为主,如 MSCKF 将视觉观测作为状态约束,避免把三维路标加入状态向量,计算量可控,适合机载实时运行。随后,基于关键帧的滑动窗口优化成为主流,OKVIS、VINS-Mono、ORB-SLAM3 等系统把 IMU 预积分与视觉重投影统一到非线性优化中,精度和一致性显著提升。近年来,直接法、稠密建图、学习增强特征以及事件相机融合不断出现,VIO 正从“定位模块”走向“感知—定位—建图一体化”。
| 阶段 | 代表方法 | 核心特点 | 典型问题 |
|---|---|---|---|
| 滤波时代 | MSCKF、EKF-VIO | 状态维数低,实时性好 | 线性化误差、一致性不足 |
| 优化时代 | OKVIS、VINS-Mono | 滑动窗口 + IMU 预积分 | 计算量、初始化敏感 |
| 多源融合时代 | ORB-SLAM3、学习增强 VIO | 多地图、多传感器、鲁棒性强 | 工程复杂度高、标定要求高 |
三、应用场景:从无人机到 AR 眼镜
VIO 的典型应用场景包括:无人机室内外自主飞行与避障;地面机器人在 GNSS 拒止环境中的定位;AR/VR 头显的六自由度跟踪与手势交互;手机端视觉惯性 SLAM;自动驾驶中作为组合导航的补充。不同场景对 VIO 的要求不同:无人机强调轻量与高频,AR 强调低延迟与低漂移,机器人强调鲁棒性与长期一致性。工程中必须根据场景选择传感器配置、前端策略和后端规模。
四、课程学习路线图与常见误区
本课程共 30 章,建议按“基础—核心—工程—进阶”四段推进:
- 基础段:坐标系、旋转表示、IMU 噪声模型、相机模型与标定。
- 核心段:视觉前端、IMU 预积分、VIO 初始化、滑动窗口优化、边缘化。
- 工程段:时间同步、外参标定、故障检测、回环与全局优化、嵌入式部署。
- 进阶段:多传感器融合、学习增强 VIO、事件相机与鲁棒性评估。
初学者常见误区有三:一是把 VIO 当成“视觉 + IMU 简单平均”,忽视联合估计中的耦合关系;二是跳过标定直接调参,导致外参和时间偏移误差被误判为算法问题;三是只关注精度指标,忽略实时性、内存和失效恢复。复盘时应优先检查时间同步、标定质量、初始化状态和观测质量,再讨论后端模型。
从本章开始,你将逐步掌握从传感器原始数据到稳定位姿输出的完整链路。理解 VIO 的定义、发展脉络和应用边界,是后续所有工程实践的前提。