RANSAC 简记

RANSAC 简记

明天面试,准备一下基础知识。

RANSAC全称随机采样一致性,我的研究方向是三维点云处理,之前在做地面滤波的时候会经常用到这个算法来模拟地面。
首先,RANSAC算法里面由内点和外点组成,内点也就是我们所设置的theshold内的点。

RANSAC 简记_第1张图片

如上图,我们在拟合直线的时候,依次进行的步骤是:

1.随机从所有点中选取一个子集,这个子集点的个数就是你所要你和模型的参数量的个数,比如直线,则需要两个点,平面,需要三个点。
2.解出模型参数后,即 y = ax + b。

RANSAC 简记_第2张图片

3.计算模型后,就要计算其他点同不同意这个模型,即 看其他点是否离这个直线的距离在阈值内,远的就不支持,求每个点到直线的距离,依据与阈值的比较确定是否是内外点,然后计算出内点的数量。
4.重复1-3的步骤,最后选择内点最多的点。

那么我们什么时候停止拟合呢?

一般情况下,会设置迭代次数,达到迭代次数后就停止,然后把内点数量最多的模型输出,那么我们如何确定迭代次数呢?由如下情况,要了解一个概念就是,选择N的时候,想要找到迭代多少次才能达到包含全部内点的概率达到90%或者99%(自己指定),这就确定了N的数量。

下面是选择N的一个公式:
RANSAC 简记_第3张图片其中,e是外点占总数据的比例,s是确定模型参数所需要的点数,N就是迭代次数了,P是想要达到多大的概率,即想要迭代多少次能够得到90%的可能性包含所有的inlier点。
结论如下:

RANSAC 简记_第4张图片
以上。

你可能感兴趣的:(机器学习)