RANSAC在SLAM中的作用

一、概念及算法框架

  RANSAC是“RANdom SAmple Consensus(随机抽样一致)”的缩写。它可以从一组包含“局外点”的观测数据集中,通过迭代方式估计数学模型的参数。它是一种不确定的算法——它有一定的概率得出一个合理的结果;为了提高概率必须提高迭代次数。
RANSAC的基本假设是:
(1)数据由“局内点”组成,例如:数据的分布可以用一些模型参数来解释;
(2)“局外点”是不能适应该模型的数据;
(3)除此之外的数据属于噪声。

算法框架:
1.首先先随机假设一小组局内点为初始值。然后用此局内点拟合一个模型,此模型适应于假设的局内点,所有的未知参数都能从假设的局内点计算得出。
2.用1中得到的模型去测试所有的其它数据,如果某个点适用于估计的模型,认为它也是局内点,将局内点扩充。
3.如果有足够多的点被归类为假设的局内点,那么估计的模型就足够合理。
4.然后,用所有假设的局内点去重新估计模型,因为此模型仅仅是在初始的假设的局内点估计的,后续有扩充后,需要更新。
5.最后,通过估计局内点与模型的错误率来评估模型。
整个这个过程为迭代一次,此过程被重复执行固定的次数,(每次都要重现采样,估计模型)每次产生的模型有两个结局:
1、要么因为局内点太少,还不如上一次的模型,而被舍弃,
2、要么因为比现有的模型更好而被选用。

二、SLAM中的相机位姿估计

  假设有一对2D点,可以通过对极几何恢复出相机的位姿。
在这里插入图片描述
对极几何约束为在这里插入图片描述
x1和x2都是归一化平面上的坐标(不是像素坐标),
定义本质矩阵E,在这里插入图片描述
则相机位姿估计的问题变成了以下两步:
1、根据匹配对的像素位置求出E或者F。
2、根据E或者F求取R和t。
E或F的求解通常使用八点法。

  除了本质矩阵和基础矩阵,二视图几何中还存在单应矩阵,它描述了两个平面之间的映射关系,若场景中的特征点都落在同一平面上,则可以通过单应矩阵来估计相机的位姿。通过单应矩阵,可以直接得到图像坐标之间的关系。
在这里插入图片描述
其中:
在这里插入图片描述
同样可以先根据匹配点计算 H,然后将它分解以计算旋转和平移。

三、RANSAC的应用

  RANSAC是一种算法,用来辅助求解或者使求解精度更高的方法,并不是直接能够求解位姿,它是一种思想。就是说解决问题的模型以及约束是问题本来就有的。RANSAC只是去除了一些错误匹配或者噪声(称为局外点)。

1、利用RANSAC计算基础矩阵

在这里插入图片描述

2、利用RANSAC计算单应矩阵

在这里插入图片描述

参考:https://blog.csdn.net/robinhjwy/article/details/79174914
《视觉SLAM十四讲》
https://blog.csdn.net/weixin_46877907/article/details/113881034
http://www.voidcn.com/article/p-anvzllki-dx.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值