1 算法简介
RANSAC(Random Sample Consesus)中文翻译为随机采样一致性,是利用一组包含异常数据的样本数据集计算得到数学模型参数的方法。
若我们已知一个数据的数学模型,然后通过采集数据的方式计算模型参数。采集的数据中存在正确数据(inliers,可以被模型描述的数据)和异常数据(outliers,不符合模型的数据,噪声)。我们可以利用RANSAC算法得到不错的模型参数,且噪声对求解结果的影响比较小。
2 数学原理
RANSAC的数学原理如下:对于数量为N的样本集,其中正确数量为M,则每一次获取到正确数据的概率p=M/N,计算模型参数需要K个数据,则一次性得到K个正确数据的概率为p^K(概率很低);反之至少存在一个错误数据的概率为(1-p^K)。若重复抽取L次,则L组数据中都存在错误数据的概率为(1-p^K)^L,注意这里当L足够大时,这个概率就会变得很小,也就意味着L组数据中至少有一组正确数据的概率为1-(1-p^K)^L,会变得足够大。直观解释就是抽取次数越多,抽到一组正确数据的概率就会越大。
一般RANSAC的实现代码中有一个输入参数称为置信度P&#