A Robust RGB-D SLAM System With Points andLines for Low Texture Indoor Environments阅读

用RGBD相机做了个点-线特征的SLAM,构建了一个统一的优化模型来同时最小化点和线的重投影误差,进一步扩展到BA(后端部分),在这个统一优化模型中,提出了一个基于PnP和PnL的离群点精化算法,主要针对点对线的离群问题。

III. SYSTEM OVERVIEW

包含三个部分,tracking,local mapping和loop closure,这三个部分就是比较基础的,原文也只是简单的介绍。

IV. POINT AND LINE-BASED SLAM METHODS

A. PnP 和 PnL

PnP算法和PnL算法算是基础内容了,就不详细讲解了。关键看本文提出的Line-Based Inliers Refinement Method:

这个是PnP的线性公式,因为线段是由两个端点组成的,因此可以把两个三维端点组成的三维线段用同样的公式表示。相机的位姿可以通过最小化以下目标函数进行迭代优化:

其中是一个2n✖2n的对角矩阵,wi由x决定为0或者1,当wi为0是代表对应的点是一个外点,当wi为1是代表对应的点是一个内点。在初始时,所有的wi都为1,因此W(x)最开始是一个单位矩阵。

使得作为残差向量,对于第i条线段,则是对应的代数误差,设定一个阈值,当代数误差小于该阈值时,则判定为内点,即wi=1,反之为0,由此矩阵W(x)即可不停的更新,而阈值由以下式子确定:

,ρ是一个系数,代表了K%的最低值的边界处对应的代数误差。在本文中,取ρ=2,K=25取得了最鲁棒的效果。

 B. 点-线的优化模型

1)基于线的重投影误差

 和是线段L的两个端点的世界坐标,因此是在当前相机平面上两个点对应的二维投影坐标,K和T是内参和外参,l是当前相机平面上和L匹配的线段。因此平面上的单个端点和平面上的线段l之间的误差可以用点到线的距离表示:

λ表示对应点到线的归一化系数,可以用下式表示:

是平面上线段l的端点坐标, 是他们对应的三维齐次坐标。

对于n条线段,每个线段的两个端点,可得到总的误差:

在实际情况中,线段两个端点的误差公式实际上是一样的,所以上式可以简化为:

2)点-线重投影误差目标函数

对于m个点,PnP的误差表示:

所以把线和点的误差函数加起来就变成了:

 接下来就可以用迭代算法来解决优化问题,本文使用了g2o来搞定。

V. TRACKING

A. 点和线的特征提取

简单来说就是点特征提取用了ORB,线特征提取用了LSD,传统方法了。

 B. 点和线的数据关联(就是点和点的匹配,线和线的匹配)

点匹配用的FLANN,线匹配用了Line Band Descriptor (LBD)

C. 位姿结算

如图,先用点特征匹配解算(OpenCV里面的solvePnPRansac)得到一组内点和初始的位姿,然后用本文的LBIR把不属于线段的外点去除,然后用统一的点线优化模型得到最终的位姿。

后面的VI. LOCAL MAPPING和VII. LOOP CLOSURE AND MAPPING就不看了,大差不差了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值