码迷,mamicode.com
首页 > 其他好文 > 详细

ORB-SLAM简介(三)之地图初始化

时间:2016-03-11 01:03:29      阅读:491      评论:0      收藏:0      [点我收藏+]

标签:

单目SLAM地图初始化的目标是构建初始的三维点云。由于不能仅仅从单帧得到深度信息,因此需要从图像序列中选取两帧以上的图像,估计摄像机姿态并重建出三维点云。

地图初始化的一种方法为追踪一个已知物体。单帧图像的每一个点都对应于空间的一条射线。通过不同角度不同位置扫描同一个物体,期望能够将三维点的不确定性缩小到可接受的范围。

另一种方法基于假设空间存在一个平面物体,选取两帧不同位置的图像,通过计算Homography或者Essential matrix来估计位姿。这类方法在视差较小或者平面上的点靠近某个主点时效果不好。

第三种方法是根据两帧之间的特征点匹配计算Fundamental matrix,进一步估计位姿。这种方法要求存在不共面的特征点。

ORB-SLAM的作者提出了一种基于统计的模型选择方法。该方法优先选择第三种方法,并期望在场景退化情形下自动选择第二种方法。如果选取的两帧不满足要求,放弃这两帧并重新初始化。

第一步:提取特征点并匹配,若匹配点足够多,尝试第二步。

第二步:利用匹配的特征点分别计算方法二和方法三。在每步迭代中,根据symmetric transfer errors分别计算两个模型的得分。如果模型内点数不够多,则放弃该模型。

第三步:根据一定的准则选择模型。

第四步:根据选择的模型计算位姿。

第五步:Full bundle adjustment。

由于ORB-SLAM对初始化的要求较高,因此初始化时可以选择一个特征丰富的场景,移动摄像机给它提供足够的视差。另外,由于坐标系会附着在初始化成功的那帧图像的位置,因此每次初始化不能保证在同一个位置。

ORB-SLAM简介(三)之地图初始化

标签:

原文地址:http://www.cnblogs.com/luyb/p/5260785.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!