摘要
在曼哈顿世界中的结构特征能够表达场景中的平行,正交以及共面信息。通过充分地应用这些结构化特征,我们提出了一个新的单目SLAM系统,能够提供相机位姿和三维地图的精确位姿估计。本文主要的贡献在于基于结构化特征的优化框架,其包含三个新的优化策略:1. 一个使用三维线段平行于正交性质的优化策略;2. 基于共面性质的平移量优策略。3. 一个同时使用平行性质,正交性质和共面性质的三维线段优化方法,以获取精确的三维地图。
引言
基于非结构化特征的SLAM方法已经很成熟,对环境的适应性更好。结构化特征具有较强的启发性,但是对环境的要求较高。
由于线段本身存在不能被经常完整的检测到,被部分遮挡的问题,以及之前的基于线段的SLAM方法没有利用好线段之间的结构化关系,所以得到的结果并没有比单纯的点特征方法要好。
曼哈顿假设的应用:每个结构化的三维线段在某个主要方向上是互相平行的。平行的线段在相机平面上会产生消失点。位于一个平面上的三维点集和线段与平面的法线是垂直的。
本文的主要贡献:
Problem Formulation
A. Overview of the proposed system
本文的方法首先使用非结构化的特征的PL-SLAM方法得到一个粗略的相机位姿和三维地图,但是不可避免的会存在累积误差。为了提高系统的精度,我们提出基于结构化约束的优化框架。
B. Structural Constraint of Parallelism and Orthogonality
我们使用
D
=
{
d
k
}
k
=
1
3
D=\{\mathbf{d_k}\}_{k=1}^3
D={dk}k=13表示世界坐标系下相互垂直的三个主方向。给定场景中一个三维平行线段的类别,这些线段必须与其中一个方向
d
k
\mathbf{d_k}
dk相对准。三维线段之间的平行性可以用消失点VP来表示,一系列消失点可以表示为
V
i
=
{
v
k
i
}
k
=
1
3
V_i=\{\mathbf{v}_k^i\}_{k=1}^3
Vi={vki}k=13,对应的图像
I
i
I_i
Ii和位姿
P
i
P_i
Pi,已知内参矩阵
K
K
K,方向
d
k
\mathbf{d_k}
dk与消失点VP
v
k
i
=
[
v
x
k
i
,
v
y
k
i
,
1
]
T
\mathbf{v}_k^i=[vx_k^i,vy_k^i,1]^T
vki=[vxki,vyki,1]T之间的关系为
v
k
i
∝
K
R
i
d
k
\mathbf{v}_k^i \propto \mathbf{KR_id_k}
vki∝KRidk
令
δ
k
i
\delta_k^i
δki表示相机光心到消失点的向量,则有
δ
k
i
=
K
−
1
v
k
i
\delta_k^i=\mathbf{K^{-1}v_k^i}
δki=K−1vki,我们有如下约束
δ
k
i
∝
d
k
i
∝
R
i
d
k
\delta_k^i \propto \mathbf{d_k^i}\propto\mathbf{R_id_k}
δki∝dki∝Ridk
另外,第三个消失点可以通过另外两个消失点的叉乘来计算。
C. 共面约束
M
M
M个三维线段
L
=
{
L
m
}
m
=
1
M
L=\{\mathbf{L}_m\}_{m=1}^M
L={Lm}m=1M位于一个平面
π
\pi
π上,满足
L
m
π
=
0
\mathbf{L_m \pi}=0
Lmπ=0
这里的意思是说,对于一个位于线段上的点,将其映射到下一帧的相应的线段上,满足上述约束。对于共面的点也同样适合。
这里要注意,对于相机坐标系中的平面,其存在仿射变换。
Rotation Optimization
A. 消失点的提取和主导方向的初始化
B. 基于全局binding的绝对旋转优化
其思想就是世界坐标系下的主方向投影到当前的相机平面上,其方向应该和
δ
k
i
\delta_k^i
δki是平行的,根据此构造能量函数进行非线性优化
关于消失点帮助提升SLAM性能的资料,可以参考证明消失点和摄像机光心的连线与空间平行线平行? - 王小龙的回答 - 知乎
总结:本文是一篇关于消失点约束,共面约束,以及三维线段之间的平行、正交约束在SLAM系统中的应用的很好的文章,较为深刻的介绍了如何将这些几何约束进行建模并应用到SLAM系统的思想。
- 关于消失点的约束
文章中认为场景中有三个主要的方向,通过当前的旋转估计可以将主导方向变换到相机坐标系下的主导方向,这个方向应该和消失点的方向是平行的,由此可以构造约束:
然后该消失点的方向可以进一步用于约束相对旋转估计。其思想是,
i
i
i帧上的消失点的方向经过旋转变换到
j
j
j帧上,其应该和
j
j
j帧的消失点的方向是共面的,即二者的叉乘等于0.