[TOC]
1. RANSA 是一种随机参数估计算法
- 抽出样本子集→估计模型参数→计算偏差→阈值比较→重复迭代→评判因子→迭代结束
1. 具体使用过程:
-
RANSAC从样本中随机抽选出一个样本子集,
-
使用最小方差估计算法对这个子集计算模型参数,
-
然后计算所有样本与该模型的偏差,
-
再使用一个预先设定好的阂值与偏差比较(当偏差小于阂值时,该样本点属于模型内样本点(inliers),文中简称局内点或内点,否则为模型外样木点(outliers))
-
记录下当前的inliers的个数,然后重复这一过程。
-
每一次重复都记录当前最佳的模型参数(所谓最佳即是inl}ers的个数最多,此时对应的inliers个数为best_ ninliers)
-
计算一个迭代结束评判因子,据此决定是否迭代结束(每次迭代的末尾都会根据期望的误差率、best_ninliers ,总样本个数、当前迭代次数)
-
迭代结束后,最佳模型参数就是最终的模型参数估计值。
2. 缺点
理论上可以剔除outliers的影响,并得到全局最优的参数估计。
1.缺点 需要设定阈值
当模型具有明显的物理意义时,这个阂值还比较容易设定,
但是若模型比较抽象时,这个阑值就不那么容易设定了,
而且固定闭值不适用于样本动态变化的应用
- 缺点 迭代运行次数由运行期决定
不能预知迭代的确切次数(当然迭代次数的范围是可以预测的)。
除此之外,RANSAC只能从一个特定数据集中估计一个模型,当两个(或者更多个)模型存在时,RANSAC不能找到别的模型。
网友评论