第 6 期 刘浩敏, 等: 基于单目视觉的同时定位与地图构建方法综述 857
可利用线性方程的稀疏结构高效求解.
由于 V-SLAM 需要进行图像特征的匹配, 因
此其稳定性严重依赖于场景特征的丰富程度. 例
如, 相机拍摄一面纯色的白墙, 那么仅从图像无法
恢复出相机的运动. 加入其他传感器信息能很大
程度地解决这一问题. 目前最常用的是在 V-S LAM 中
结合 IMU 数据(加速度、角速度). 这样的 SLAM 称
为 VIN(visual-aided inertial navigation)或 VI-SLAM
(visual-inertial SLAM). 将相邻 2 帧
1
(, )
ii
CC
间的所有
IMU 数据标记为集合
i
1
{}
i
n
zz
, VI-SLAM 方
法
[11-13]
一般求解优化如下目标函数
11
,
11
1
1
1
ˆ
argmin ( , )
( , )
ij
mn
i
mn
ij ij
CC
ij
m
ii i
i
hC
fCZ C
XX
Xx
(5)
与目标函数(4)相比, VI-SLAM 引入了一个运动方
程, 其中
(,)
ii
CZ 为
i
作用于
i
C 后的运动参数,
i
为运动方程的协方差矩阵. 常见的运动方程有
连续时间系统(Continuous Time System)
[14]
、预积分
(Preintegration)方程
[15]
等. 通常, VI-SLAM 需要求
解每一时刻的运动速度
i
v 和 IMU 数据的偏移量
i
b ,
即
(,,,)
iiiii
C Rpvb.
类似的原理同样可应用于其他传感器数据,
如引入GPS数据
G
i
p , 只需在能量函数中再引入一项
11
,
11
11
1
11
ˆ
argmin ( , )
ˆ
( , )
ij
mn
i
i
mn
ij ij
CC
ij
mm
G
ii i i i
ii
hC
fCZ C
XX
Xx
pp
(6)
这里假设 GPS 观测值符合高斯分布
ˆ
~(, )
GG
iii
Npp Λ .
2 代表性单目 V-SLAM 系统
目前, 国际上主流的 V-SLAM 方法大致可以
分为 3 类: 基于滤波器、基于关键帧 BA 和基于直
接跟踪的 V-SLAM. 本节通过几个代表性的单目
V-SLAM 系统介绍这些方法, 并分析其优劣.
2.1 基于滤波器的 V-SLAM
基于滤波器的 V-SLAM 的基本思想如下: 将
每一时刻
t 的系统状态用一个高斯概率模型表达,
ˆ
~(,)
ttt
NxxP,
ˆ
t
x 为当前时刻系统状态估计值,
t
P 为该估计值误差的协方差矩阵. 系统状态由一
个滤波器不断更新. 不同的状态设计和滤波方式
衍生出不同的SLAM系统. 本节介绍 2 款基于滤波
器的 SLAM 系统 MonoSLAM
[16]
和 MSCKF
[17]
.
MonoSLAM 是由 Davison 等发明的第一个成
功基于单目摄像头的纯视觉 SLAM 系统. MonoSLAM
的状态
t
x 由 t 时刻的相机运动参数
t
C 和所有三维
点位置
1 n
X 构成, 每一时刻的相机方位均带有
一个概率偏差(如图 2a 所示); 同样, 每个三维点位
置也带有一个概率偏差, 可以用一个三维椭球表
示, 椭球中心为估计值, 椭球体积表明不确定程度
(如图 2b 所示); 不同场景点之间, 以及场景点和
t
C 之间均有概率关联. 在此概率模型下, 场景点
投影至图像的形状为一个投影概率椭圆(如图 2c
a. 相机运动模型
b. 场景点概率分布
c. 主动式特征匹配
图 2 MonoSLAM 的相机运动模型和三维点跟踪
[16]