一、算法原理
随机样本一致性(Random Sample Consensus RANSAC) 是一种迭代计算方法,用于从包含异常值的观察数据中估计出数学模型参数,因此也可以理解为一种异常值检测方法。RANSAC的一个基本假设是,数据由内点("inliers")和外点("outliers")组成,其中内点是在一定误差范围内可以通过一些模型参数来解释的数据,外点是不符合模型的数据。RANSAC的另一个假设是,随机选取的样本数据都是内点,存在一个可以估计模型参数的过程,该模型可以最佳地解释或拟合该数据。
二、实现步骤
- step1 从原始数据集Q中随机选择子集q,q为假设的内点(子集q一般为最小子集,如:直线选取两个点,圆选择三个点,平面选择三个点)
- step2 依据子集q估计模型参数
- step3 遍历数据集Q中除子集q外的所有数据,如果数据点在给定误差以内,则标记为内点,否则标记为外点
- step4 所有内点组成一致集,如果一致集中点的个数满足给定阈值,则用一致集中所有内点重新估计模型参数