Stereo Plane SLAM Based on Intersecting Lines
Abstract
文中提出一种在双目相机的面类型的视觉SLAM方案,通过俩个线性特征信息来构建一个plane元素信息,通过获取3D空间内的端点和线性特征信息的方向向量来构建plane元信息,这样可以有效的减少误差偏移信息以及提升系统的效果。
Introduction
传统的视觉里程计系统采用的是点类型以及线性特征信息,通过LSD以及LBD方法对线性特征信息来实现特征信息的匹配操作,由于利用line类型的特征信息可以构建出plane类型的特征信息,因此,通过俩个line类型的特征信息来构建plane类型的特征信息是一种有效且可行的方案。
恩文的主要贡献如下:
- 一种基于线性特征信息构建plane元的视觉SLAM;
- 一种结合点和面元特征的视觉SLAM;
- 可以运行主流的数据集。
Related Work
介绍了一系列基于不同类型特征信息的视觉SLAM的成功方案,主要的特征类型主要有基于point、line、plane三种。
Plane features from interscting lines
这一部分主要是通过对图像信息中的线性特征信息对应的端点信息和方向向量进行几何信息的匹配判断,通过有效的线性特征信息来构建完整的plane类型的特征信息。
A. Notations
各种特征信息的表示方法:
- Point: p = ( x , y , z , 1 ) \bold p=(x,y,z,1) p=(x,y,z,1);
- Line: l = ( p s , p e , n l ) \bold l=(\bold p_s,\bold p_e,\bold n_l) l=(ps,pe,nl)其中的参数分别表示线性特征信息的端点和对应的方向向量;
- Plane: π ( n T , d ) T \pi(\bold n^T,\bold d)^T π(nT,d)T其中的参数分别表示面元信息对应的法向量和距离原点的距离。
B. Line Detection and Computation
通过LSD和LBD来匹配左右视图信息中对应的线性特征信息,匹配对应的端点信息,通过视差信息来恢复端点对应的空间坐标信息从而恢复对应的line的空间位置信息。
C. Plane Computation
为了获取对应的面元信息,需要选取具有足够代表性的线性特征信息来构建对应的plane特征信息,一般情况下平行的线性特征信息在一个平面中,但是共面的平行线性特征信息依旧不好确定,于是以下是文中给出的选取对应的线性特征信息应满足的要求:
- 线性特征之间的角度应该足够大(大于10度);
- 俩个特征线中心点之间的距离小于线性特帧本身的长度;
- 俩个线性特征对应的四个端点信息应该在一个平面上。
于是plane的参数信息可以通过以上选取的线性特征信息来计算:
通过俩个线性特征信息的方向向量信息来计算plane的法向量
n
π
=
n
l
i
×
n
l
j
\bold n_{\pi}=\bold n_{li}\times \bold n_{lj}
nπ=nli×nlj四个线性特征信息对应的端点在plane法向量上的投影长度分别为
d
k
=
−
n
π
⋅
(
p
k
x
,
p
k
y
,
p
k
z
)
T
\bold d_k=-\bold n_{\pi}\cdot(p_{kx},p_{ky},p_{kz})^T
dk=−nπ⋅(pkx,pky,pkz)T对应的长度信息的差值为
D
=
M
a
x
(
d
k
)
−
M
i
n
(
d
k
)
D=Max(d_k)-Min(d_k)
D=Max(dk)−Min(dk)为了满足第三个条件信息要保证差异信息D足够的小(5cm)。
SLAM system based on computed planes
该系统建立在传统的ORB_SLAM系统之上,为了有效的恢复相机的位姿信息需要结合Point和Plane类型的特征信息来实现整个视觉SLAM系统。
A. System Overview
整个系统需要首先获取点呵呵线性特征信息,并通过描述信息进行匹配,之后结合生成的plane类型的特征信息来实现整个系统的完整执行。
B. Optimization Formulation
通常SLAM系统的优化是构建系统的最小二乘,使得对应最小二乘值最小化来实现对系统的优化处理。由于整个系统是结合了Point和Plane俩种类型的特征信息的,因此对应的最小二乘公式为
C
∗
,
P
∗
,
L
∗
=
{
C
,
P
,
L
}
a
r
g
m
i
n
∑
c
i
,
p
j
∣
∣
e
(
c
i
,
p
j
)
∣
∣
∑
i
j
2
+
∑
c
i
,
l
k
∣
∣
e
(
c
i
,
l
k
)
∣
∣
∑
i
k
2
C^*,P^*,L^*=_{\{C,P,L\}}^{argmin}\sum_{c_i,p_j}||e(c_i,p_j)||^2_{\sum_{ij}}+\sum_{c_i,l_k}||e(c_i,l_k)||^2_{\sum_{ik}}
C∗,P∗,L∗={C,P,L}argminci,pj∑∣∣e(ci,pj)∣∣∑ij2+ci,lk∑∣∣e(ci,lk)∣∣∑ik2其中C、P、L分别表示的是位置信息、Point信息和Plane信息。
C. Measurement Error
通过对Point和Plane类型的特征信息的重投影误差最小化来实现系统的高精度运行。
D. Data Association
对于特征信息的匹配问题,点类型的特征信息通过对应的描述子信息来匹配,plane特征信息通过对应的四个端点来实现匹配、对于plane类型的特征信息只要对应的端点距离满足阈值就算和空间地图信息匹配成功。
Evaluation
Conclusions
文中通过引入plane类型的特征信息来提升视觉SLAM系统的运行效果,通过本文的一大创新之处是利用双目相机获取到视图信息而非常用的RGBD信息。这样有效的提高了系统的鲁棒性和精度。